{"version":3,"sources":["Core/ExternalLinksConfirmationDialog.ts"],"names":["define","require","exports","Object","defineProperty","value","ExternalLinksConfirmationDialog","[object Object]","this","internalLinkSelector","internalLinksExceptions","linkList","getInternalLinks","links","jQuery","filter","not","window","location","host","undefined","length","i","contentOfHrefAttribute","$","attr","isLinkInInternalLinksList","push","localLinkregex","RegExp","pageItemLinks","test","forEach","link","off","on","e","preventDefault","val","dxPopup","show","key","closest","internalLinks","internalLinkContent","internalLinkContentAsString","toString","split","compareLinkHref","internalLinkList","isInInternalLinks","each","index","toLowerCase"],"mappings":"AAAAA,OAAO,CAAC,UAAW,WAAY,SAAUC,EAASC,GAC9C,aACAC,OAAOC,eAAeF,EAAS,aAAc,CAAEG,OAAO,IACtDH,EAAQI,qCAAkC,EAqF1CJ,EAAQI,gCApFR,MACIC,cACIC,KAAKC,qBAAuB,wBAC5B,IACIC,EADAC,EAAW,GAEfD,EAA0BF,KAAKI,iBAAiBJ,KAAKC,sBACrD,IAAII,EAAQC,OAAO,KAAKC,OAAO,8CAC1BC,IAAI,WAAaC,OAAOC,SAASC,KAAO,MAAMH,IAAI,qBACvD,GAAaI,MAATP,GAAsBA,EAAMQ,OAAS,EACrC,GAA+BD,MAA3BV,GAAwCA,EAAwBW,OAAS,EACzE,IAAK,IAAIC,EAAI,EAAGA,EAAIT,EAAMQ,OAAQC,SAECF,KAD3BG,EAAyBC,EAAEX,EAAMS,IAAIG,KAAK,UACFF,EAAuBF,OAAS,IACnDb,KAAKkB,0BAA0BH,EAAwBb,IAExEC,EAASgB,KAAKH,EAAEX,EAAMS,WAMlCX,EAASgB,KAAKd,GAGtB,IAAIe,EAAiB,IAAIC,OAAO,cAC5BC,EAAgBhB,OAAO,KAAKC,OAAO,mBAClCC,IAAI,WAAaC,OAAOC,SAASC,KAAO,MAC7C,GAAqBC,MAAjBU,GAA8BA,EAAcT,OAAS,EACrD,GAA+BD,MAA3BV,GAAwCA,EAAwBW,OAAS,EACzE,IAAK,IAAIC,EAAI,EAAGA,EAAIQ,EAAcT,OAAQC,IAAK,CAC3C,IAAIC,OAC2BH,KAD3BG,EAAyBC,EAAEM,EAAcR,IAAIG,KAAK,UACVF,EAAuBF,OAAS,IACnEO,EAAeG,KAAKR,IACAf,KAAKkB,0BAA0BH,EAAwBb,IAExEC,EAASgB,KAAKH,EAAEM,EAAcR,WAO9CX,EAASgB,KAAKG,GAGtBnB,EAASqB,QAAQC,IACbT,EAAES,GAAMC,MAAMC,GAAG,QAAS,SAAUC,GAChCA,EAAEC,iBACFb,EAAE,wBAAwBc,IAAId,EAAEhB,MAAMiB,KAAK,SAC7BD,EAAE,0BAA0Be,QAAQ,YAC5CC,WAGdhB,EAAE,kBAAkBW,GAAG,UAAW,SAAUC,GAC1B,UAAVA,EAAEK,MACFL,EAAEC,iBACFb,EAAE,wBAAwBc,IAAId,EAAEhB,MAAMkC,QAAQ,KAAKjB,KAAK,SAC1CD,EAAE,0BAA0Be,QAAQ,YAC5CC,UAIlBjC,iBAAiBE,GACb,IAAIkC,EAAgB,GAChBC,EAAsBpB,EAAEf,GAAsB6B,MAClD,GAA2BlB,MAAvBwB,EAAkC,CAClC,IAAIC,EAA8BD,EAAoBE,WAClDD,EAA4BxB,OAAS,IACrCsB,EAAgBE,EAA4BE,MAAM,OAG1D,OAAOJ,EAEXpC,0BAA0ByC,EAAiBC,GACvC,IAAIC,GAAoB,EAOxB,OANA1B,EAAEyB,GAAkBE,KAAK,SAAUC,EAAO/C,GACtC,GAAI2C,EAAgBK,gBAAkBhD,EAAMyC,WAAWO,cAEnD,OADAH,GAAoB,GACb,IAGRA","sourcesContent":["import Interfaces = require(\"./Interfaces\");\n\nexport class ExternalLinksConfirmationDialog implements Interfaces.IExternalLinksConfirmationDialog { \n private internalLinkSelector = '#internalLinksStorage';\n constructor() {\n var linkList = [];\n var internalLinksExceptions = [];\n internalLinksExceptions = this.getInternalLinks(this.internalLinkSelector);\n\n var links = jQuery('a').filter('[href^=\"http\"], [href^=\"//\"], .btn-primary')\n .not('[href*=\"' + window.location.host + '\"]').not('[href=\"/contact\"]');\n\n if (links != undefined && links.length > 0) {\n if (internalLinksExceptions != undefined && internalLinksExceptions.length > 0) {\n for (let i = 0; i < links.length; i++) {\n var contentOfHrefAttribute = $(links[i]).attr('href');\n if (contentOfHrefAttribute !== undefined && contentOfHrefAttribute.length > 0) {\n var isInternalLink = this.isLinkInInternalLinksList(contentOfHrefAttribute, internalLinksExceptions);\n if (!isInternalLink) {\n linkList.push($(links[i]));\n }\n }\n }\n } else {\n linkList.push(links);\n }\n }\n \n var localLinkregex = new RegExp('^\\/[A-Za-z]');\n var pageItemLinks = jQuery('a').filter('.page-item-link')\n .not('[href*=\"' + window.location.host + '\"]');\n\n if (pageItemLinks != undefined && pageItemLinks.length > 0) {\n if (internalLinksExceptions != undefined && internalLinksExceptions.length > 0) {\n for (let i = 0; i < pageItemLinks.length; i++) {\n var contentOfHrefAttribute = $(pageItemLinks[i]).attr('href');\n if (contentOfHrefAttribute !== undefined && contentOfHrefAttribute.length > 0) {\n if (!localLinkregex.test(contentOfHrefAttribute)) {\n var isInternalLink = this.isLinkInInternalLinksList(contentOfHrefAttribute, internalLinksExceptions);\n if (!isInternalLink) {\n linkList.push($(pageItemLinks[i]));\n }\n }\n }\n }\n } else {\n linkList.push(pageItemLinks);\n }\n }\n\n linkList.forEach(link => {\n\n $(link).off().on(\"click\", function (e) {\n\n e.preventDefault();\n\n $('#externalLinkStorage').val($(this).attr('href'));\n\n const popup = $(\"#external-link-warning\").dxPopup(\"instance\");\n popup.show();\n\n });\n });\n\n $('img.image-link').on(\"keydown\", function (e) {\n if (e.key === \"Enter\") {\n\n e.preventDefault();\n\n $('#externalLinkStorage').val($(this).closest('a').attr('href'));\n\n const popup = $(\"#external-link-warning\").dxPopup(\"instance\");\n popup.show();\n }\n });\n } \n\n private getInternalLinks(internalLinkSelector: string) {\n var internalLinks = [];\n var internalLinkContent = $(internalLinkSelector).val();\n \n if (internalLinkContent != undefined) {\n var internalLinkContentAsString = internalLinkContent.toString();\n if (internalLinkContentAsString.length > 0) {\n internalLinks = internalLinkContentAsString.split(\"\\n\");\n } \n }\n\n return internalLinks;\n }\n\n private isLinkInInternalLinksList(compareLinkHref: string, internalLinkList: string[]) {\n var isInInternalLinks = false;\n\n $(internalLinkList).each(function (index, value) {\n if (compareLinkHref.toLowerCase() === value.toString().toLowerCase()) {\n isInInternalLinks = true;\n return false;\n }\n });\n return isInInternalLinks;\n }\n}"],"file":"ExternalLinksConfirmationDialog.js"}