{"version":3,"file":"assets/js/PriceModeAppShellIntegrationGross.js","mappings":"gIAAA,IAEcA,EAFd,WAEA,SAAcA,GACV,IAAOC,EAA4BC,EAAIC,2BAEvC,0BAcA,QAZW,EAAAC,qCAAP,WACSC,OAAOC,cAGRD,OAAOE,OACPF,OAAOE,MAAMC,YAAY,mBAAoBC,EAA2BC,kBAAkBC,KAAKC,WAAOC,EAE9G,EAEO,EAAAH,kBAAP,SAAyBI,GACrBC,EAA6BL,kBAAkBI,EACnD,EACJ,EAdA,GAAsB,EAAAL,2BAA0B,EAgBhD,8BA0EA,QA/DW,EAAAO,gDAAP,WACI,GAAKX,OAAOC,cAAiBS,EAA6BE,QAA1D,CAIA,IAAMC,EAAqBH,EAA6BE,QAAQE,cAAc,cAC1EC,EAAO,KAKX,GAHGF,IACCE,EAAOF,EAAMC,cAAc,UAE3BC,GAAQA,EAAKC,QAAQC,oBAA0D,QAApCF,EAAKC,QAAQC,mBACxDP,EAA6BQ,aAAc,EAC3CR,EAA6BL,kBAAkBK,EAA6BS,UAG5E,GAAIT,EAA6BE,QAAQQ,UAAUC,SAASX,EAA6BY,UACrFZ,EAA6BL,kBAAkBK,EAA6BS,UACzE,GAAIT,EAA6BE,QAAQQ,UAAUC,SAASX,EAA6Ba,YAC5Fb,EAA6BL,kBAAkBK,EAA6Bc,WACzE,CAEHd,EAA6BQ,aAAc,EAC3C,IAAIO,EAA8Bf,EAA6BgB,iBAC/DhB,EAA6BL,kBAAkBoB,E,EAG3D,EAEO,EAAApB,kBAAP,SAAyBI,GACjBC,EAA6BiB,mBAAqBlB,IAGtDC,EAA6BiB,iBAAmBlB,EAChDC,EAA6BkB,iBAAiBnB,GAC1CC,EAA6BQ,cAEzBR,EAA6BiB,mBAAqBjB,EAA6BS,IAC/ET,EAA6BE,QAAQQ,UAAUS,IAAInB,EAA6BY,UAEhFZ,EAA6BE,QAAQQ,UAAUS,IAAInB,EAA6Ba,aAIpFvB,OAAOE,OACPF,OAAOE,MAAM4B,UAAU,oDAAqD,MAEpF,EAGO,EAAAJ,eAAP,WACI,IAAIK,EAAO/B,OAAOC,aAAa+B,QAAQtB,EAA6BuB,8BAMpE,OALa,OAATF,IACAA,EAAOnC,EAA0BsC,4BAI9BH,CACX,EAEO,EAAAH,iBAAP,SAAwBO,GACpBnC,OAAOC,aAAamC,QAAQ1B,EAA6BuB,6BAA8BE,EAC3F,EAvEe,EAAAvB,QAAmByB,SAASC,gBAC5B,EAAAL,6BAAuC,YACvC,EAAAX,SAAmB,wBACnB,EAAAC,WAAqB,0BACrB,EAAAJ,IAAc,MACd,EAAAK,MAAgB,QAChB,EAAAG,iBAA2B,KAC3B,EAAAT,aAAuB,EAiE1C,C,CA1EA,GAAsB,EAAAR,6BAA4B,CA2ErD,CA9FD,CAAcf,EAAA,EAAAA,+BAAA,EAAAA,6BAA4B,KAgG1C0C,SAASE,iBAAiB,oBAAoB,WAC1C5C,EAA6BS,2BAA2BL,uCACxDJ,EAA6Be,6BAA6BC,iDAC9D,G,oGCpGc,EAAAb,6BAAA,EAAAA,2BAA0B,G,GCApC0C,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBlC,IAAjBmC,EACH,OAAOA,EAAaC,QAGrB,IAAIC,EAASL,EAAyBE,GAAY,CAGjDE,QAAS,CAAC,GAOX,OAHAE,EAAoBJ,GAAUG,EAAQA,EAAOD,QAASH,GAG/CI,EAAOD,OACf,CCtBA,QACI9C,2BAA2BoC,2BAA6B,QAC5D,O","sources":["webpack:///./typescript/PriceModeAppShellIntegration/PriceModeAppShellIntegration.ts","webpack:///./typescript/PriceModeAppShellIntegration/PriceModeSettings.ts","webpack:///webpack/bootstrap","webpack:///./PriceModeAppShellIntegration-Gross.ts"],"sourcesContent":["import * as pms from \"./PriceModeSettings\";\r\n\r\nexport module MPC_PricemodeSwitchingModule {\r\n import MpcPricemodeSettingModule = pms.MPC_PricemodeSettingModule;\r\n\r\n export abstract class PricemodeSwitchingListener {\r\n\r\n static initializePricemodeSwitchingListener(): void {\r\n if (!window.localStorage) {\r\n return;\r\n }\r\n if (window.shell) {\r\n window.shell.subscribeTo('PriceModeChanged', PricemodeSwitchingListener.onPriceModeChange.bind(this), undefined);\r\n } \r\n }\r\n\r\n static onPriceModeChange(newMode: string): void {\r\n PricemodeSwitchingController.onPriceModeChange(newMode);\r\n }\r\n }\r\n\r\n export abstract class PricemodeSwitchingController {\r\n\r\n private static domNode: Element = document.documentElement;\r\n private static SessionStoragePriceModeField: string = \"PriceMode\";\r\n private static NetClass: string = \"current-pricemode-net\";\r\n private static GrossClass: string = \"current-pricemode-gross\";\r\n private static Net: string = \"Net\";\r\n private static Gross: string = \"Gross\";\r\n private static currentPriceMode: string = null;\r\n private static isNonLegacy: boolean = false;\r\n\r\n static initializePricemodeByHtmlClassSendByApplication(): void {\r\n if (!window.localStorage || !PricemodeSwitchingController.domNode) {\r\n return;\r\n }\r\n\r\n const scope: HTMLElement = PricemodeSwitchingController.domNode.querySelector('.mpc-scope');\r\n let grid = null;\r\n\r\n if(scope)\r\n grid = scope.querySelector('.grid') as HTMLElement;\r\n\r\n if (grid && grid.dataset.portalmandanttoken && grid.dataset.portalmandanttoken === \"GLB\") {\r\n PricemodeSwitchingController.isNonLegacy = true;\r\n PricemodeSwitchingController.onPriceModeChange(PricemodeSwitchingController.Net);\r\n }\r\n else {\r\n if (PricemodeSwitchingController.domNode.classList.contains(PricemodeSwitchingController.NetClass)) {\r\n PricemodeSwitchingController.onPriceModeChange(PricemodeSwitchingController.Net);\r\n } else if (PricemodeSwitchingController.domNode.classList.contains(PricemodeSwitchingController.GrossClass)) {\r\n PricemodeSwitchingController.onPriceModeChange(PricemodeSwitchingController.Gross);\r\n } else {\r\n // this happens on MPC content service pages\r\n PricemodeSwitchingController.isNonLegacy = true;\r\n let priceModeFromSessionStorage = PricemodeSwitchingController.fetchPriceMode();\r\n PricemodeSwitchingController.onPriceModeChange(priceModeFromSessionStorage);\r\n }\r\n }\r\n }\r\n\r\n static onPriceModeChange(newMode: string): void {\r\n if (PricemodeSwitchingController.currentPriceMode === newMode) {\r\n return;\r\n }\r\n PricemodeSwitchingController.currentPriceMode = newMode;\r\n PricemodeSwitchingController.persistPriceMode(newMode);\r\n if (PricemodeSwitchingController.isNonLegacy) {\r\n\r\n if (PricemodeSwitchingController.currentPriceMode === PricemodeSwitchingController.Net)\r\n PricemodeSwitchingController.domNode.classList.add(PricemodeSwitchingController.NetClass);\r\n else\r\n PricemodeSwitchingController.domNode.classList.add(PricemodeSwitchingController.GrossClass);\r\n }\r\n\r\n // execute:\r\n if (window.shell) {\r\n window.shell.publishTo(\"ESPP1.ManualProductComparison.PriceModeClassAdded\", null);\r\n } \r\n }\r\n \r\n\r\n static fetchPriceMode(): string {\r\n let item = window.localStorage.getItem(PricemodeSwitchingController.SessionStoragePriceModeField);\r\n if (item === null) {\r\n item = MpcPricemodeSettingModule.espp_mpc_default_pricemode; // default price mode\r\n //console.log(\"nothing found in localStorage taking default PriceMode: \" + item);\r\n }\r\n\r\n return item;\r\n }\r\n\r\n static persistPriceMode(mode: string): void {\r\n window.localStorage.setItem(PricemodeSwitchingController.SessionStoragePriceModeField, mode);\r\n }\r\n }\r\n}\r\n\r\ndocument.addEventListener(\"DOMContentLoaded\", () => {\r\n MPC_PricemodeSwitchingModule.PricemodeSwitchingListener.initializePricemodeSwitchingListener();\r\n MPC_PricemodeSwitchingModule.PricemodeSwitchingController.initializePricemodeByHtmlClassSendByApplication();\r\n});","\r\nexport module MPC_PricemodeSettingModule {\r\n export let espp_mpc_default_pricemode: string;\r\n}","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","import * as pms from \"./typescript/PriceModeAppShellIntegration/PriceModeSettings\";\r\npms.MPC_PricemodeSettingModule.espp_mpc_default_pricemode = \"Gross\";\r\nimport \"./typescript/PriceModeAppShellIntegration/PriceModeAppShellIntegration.ts\""],"names":["MPC_PricemodeSwitchingModule","MpcPricemodeSettingModule","pms","MPC_PricemodeSettingModule","initializePricemodeSwitchingListener","window","localStorage","shell","subscribeTo","PricemodeSwitchingListener","onPriceModeChange","bind","this","undefined","newMode","PricemodeSwitchingController","initializePricemodeByHtmlClassSendByApplication","domNode","scope","querySelector","grid","dataset","portalmandanttoken","isNonLegacy","Net","classList","contains","NetClass","GrossClass","Gross","priceModeFromSessionStorage","fetchPriceMode","currentPriceMode","persistPriceMode","add","publishTo","item","getItem","SessionStoragePriceModeField","espp_mpc_default_pricemode","mode","setItem","document","documentElement","addEventListener","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__"],"sourceRoot":""}