{"version":3,"file":"5250_d76af51f9759411f1673.bundle.js","mappings":"oKASA,SAASA,KACL,QAAiBC,SAAU,QAAS,qBAAqB,KACrD,8BAAwBC,MAAK,EAAGC,oBAAqBA,EAAeC,cAAa,KAGrF,QAAiBH,SAAU,QAAS,sBAAsB,CAACI,EAASC,KAC3D,IAAUC,SAKfD,EAAEE,iBACF,8BAAwBN,MAAK,EAAGC,qBAC5BA,EAAeC,aAAaF,MAAK,IAAMC,EAAeM,mBAAkB,KANxEC,SAASC,KAAO,UAOlB,KAGN,QAAiBV,SAAU,QAAS,mBAAmB,CAACI,EAASO,KAC7DA,EAAMJ,iBACN,IAEIK,EAAS,CAAEC,OAFFT,EAAQU,QAAQC,OAEEC,OADlBZ,EAAQU,QAAQG,WAG7B,+BAAgChB,MAAK,EAAGiB,gBAAiBA,EAAWC,aAAaP,IAAQ,KAG7F,QAAiBZ,SAAU,QAAS,eAAeI,IAC/C,+BAAsBH,MAAK,EAAGmB,kBAAmBA,EAAajB,WAAWC,EAAQU,QAAQO,UAAWjB,EAAQU,QAAQQ,eAAc,KAGtI,QAAiBtB,SAAU,QAAS,oBAAqBI,IACrD,+BAAwCH,MAAK,EAAGsB,sBAC5C,IAAIC,EAAYpB,EAAQU,QAAQW,OAC5BC,EAAYtB,EAAQU,QAAQa,UAChCJ,EAAgBA,gBAAgBC,EAAWE,EAAU,GACvD,KAGN,QAAiB1B,SAAU,QAAS,yBAAyB,CAACI,EAASO,KACnEA,EAAMJ,iBACN,wDAA6BN,MAAK,EAAG2B,gBAAiBA,EAAWC,eAAezB,IAAS,KAG7F,QAAiBJ,SAAU,QAAS,CAAC,sBAAuB,oBAAoBI,IAC5EA,EAAQ0B,UAAW,EACnB,+BAA0B7B,MAAK,EAAG8B,eAC9BA,EAASC,cAAc/B,MAAK,IAAMG,EAAQ0B,UAAW,GAAM,GAC7D,KAGN,QAAiB9B,SAAU,QAAS,mBAAmB,CAACI,EAASO,KAC7DA,EAAMJ,iBACN,sIAAiCN,MAAK,EAAGgC,aAAcA,EAAQC,eAAevB,EAAOP,IAAS,KAGlG,QAAiBJ,SAAU,QAAS,gBAAiBI,IACjD,wDAAsBH,MAAK,EAAGkC,cAAeA,EAASC,oBAAoBhC,IAAS,KAGvF,QAAiBJ,SAAU,QAAS,mCAAoCI,IACpE,IAAIoB,EAAYpB,EAAQU,QAAQG,UAC5BoB,EAASjC,EAAQU,QAAQC,OACzBuB,EAAQlC,EAAQU,QAAQyB,MAE5B,0EAAwCtC,MAAK,EAAEuC,8BAC3CA,EAAwBC,KAAK,CAAEjB,YAAWc,QAAOD,UAAS,GAC5D,IAGNK,GACJ,CAEA,SAASA,IACL,IAAK,IAAIC,KAAQ3C,SAAS4C,iBAAiB,eACvC,kEAAqB3C,MAAK,EAAG4C,cAAeA,EAASF,KAGrD3C,SAAS8C,cAAc,mBACvB,wDAA8B7C,MAAK,EAAG8C,oBAAqBA,MAG3D/C,SAAS8C,cAAc,qBACvB,+BAA8B7C,MAAK,EAAG+C,iBAAkBA,MAG5D,IAAK,IAAIC,KAASjD,SAAS4C,iBAAiB,gBACxC,+BAA0B3C,MAAK,EAAGiD,eAAgBA,EAAUD,KAG5DjD,SAAS8C,cAAc,uBACvB,2BAAyB7C,MAAK,EAAGkD,mBAAoBA,MAGzD,IAAK,IAAIC,KAAQpD,SAAS4C,iBAAiB,2BACvC,+BAAqC3C,MAAK,EAAGoD,0BACzCA,EAAoBD,EAAK,IAIjC,IAAK,IAAIA,KAAQpD,SAAS4C,iBAAiB,2BACvC,+BAAoB3C,MAAKqD,IACLA,EAAOC,QACbC,OAAO,CACbC,UAAWL,EACXM,4BAA6B,QAC7BC,aAAa,GACf,IAIV,IAAK,IAAIP,KAAQpD,SAAS4C,iBAAiB,yCAA0C,CACjF,GAAI,KAAYgB,IAAIR,EAAM,eAAiB,KAAYQ,IAAIR,EAAM,2BAC7D,SAGJ,KAAYS,IAAIT,EAAM,2BAA2B,GAEjD,IAAIU,EAAO9D,SAAS4C,iBAAiBQ,EAAKtC,QAAQiD,YAC9CC,EAAKhE,SAAS4C,iBAAiBQ,EAAKtC,QAAQmD,UAC5CC,EAAaC,OAAOf,EAAKtC,QAAQoD,aAAe,EAEpD,6BACCjE,MAAK,KAAM,OAAQ,CAAEmE,QAAS,kCAC9BnE,MAAK,IAAM,iCACXA,MAAKqD,IACF,IACIe,EADaf,EAAOC,QACAC,OAAOJ,EAAM,CACjCkB,SAAS,EACTC,MAAO,CAACT,EAAK,GAAGU,MAAOR,EAAG,GAAGQ,OAC7BC,MAAO,CACHC,IAAKC,KAAKC,MAAMT,OAAOf,EAAKtC,QAAQ4D,KAAOR,GAC3CW,IAAKF,KAAKG,KAAKX,OAAOf,EAAKtC,QAAQ+D,KAAOX,MAIlDG,EAAOU,GAAG,UAAU,KAChB,IAAIP,EAAQH,EAAOT,OACnB,QAASE,EAAMK,OAAOK,EAAM,IAAMN,IAClC,QAASF,EAAIG,OAAOK,EAAM,IAAMN,EAAW,IAG/CG,EAAOU,GAAG,OAAO,KACb,IAAK,IAAI3B,KAAQU,EACbV,EAAK4B,cAAc,IAAIC,MAAM,WAGjC,IAAK,IAAI7B,KAAQY,EACbZ,EAAK4B,cAAc,IAAIC,MAAM,UACjC,IAGJ,KAAYpB,IAAIT,EAAM,aAAciB,GACpC,KAAYa,OAAO9B,EAAM,0BAA0B,GAE3D,CAEIpD,SAAS8C,cAAc,sFACvB,+BAAkC7C,MAAK,EAAGkF,+BACtCA,GAA0B,GAItC,C,oECxKA,IAAIC,EAAWC,OAAOD,SAGlBE,EAAgBF,EAASE,cAGzBC,EAAYH,EAASG,UAQzB,SAASC,EAAeC,EAAIjB,EAAQ,KAAMkB,EAAe,MACrD,IAAIC,EAAQ,EAAEF,GAAIG,QAAQ,sBACtBC,EAAU,EAAEJ,GACZK,EAAU,EAAEL,GAAIM,KAAK,eACrBC,EAAsC,IAA7B,EAAEP,GAAIM,KAAK,eACpBE,EAAkB,EAAER,GAAIM,KAAK,0BAA4BV,OACzDa,EAAS,KACTC,EAAgB,KAChBC,EAAKT,EAAMI,KAAK,mBAChBM,EAAiB,EAAEZ,GAAI,GAAG3E,QAAQuF,eAgBtC,SAASC,EAAeT,EAASU,GAC7B,IAAIC,EAAWX,EAAQE,KAAK,uBAAyB,EAAEF,EAAQE,KAAK,wBAAwBU,OAASZ,EAAQE,KAAK,iBAC9GW,EAAWb,EAAQE,KAAK,uBAAyB,EAAEF,EAAQE,KAAK,wBAAwBU,OAASZ,EAAQE,KAAK,iBAE9GU,EAAOF,EAAOG,EAAWF,EACjB,KAARC,GACAZ,EAAQY,KAAKA,EAErB,CAtBIJ,IAAmBX,GACnB,IAAI1F,SAAS8C,cAAcuD,GAAgBzD,iBAAiB,yBACvD+D,QAAOtG,GAAKA,GAAKuG,OACjBC,SAAQxG,GAAKmF,EAAenF,GAAG,GAAO,KAG3CyF,GACAI,EAAS,EAAEJ,GACXK,EAAgB,EAAE,qCAAuCL,EAAU,MAAMgB,IAAI,EAAErB,MAE/ES,EAAS,EAAE,gGAAiGP,GAC5GQ,EAAgB,EAAE,uBAAwBR,GAAOmB,IAAI,EAAErB,KAa3DS,EAAOa,MAAK,WACR,IAAIC,EAAQ,EAAEJ,MACVK,EAAQ,EAAEL,MAAMhB,QAAQ,sBAE5B,GAAIqB,EAAMC,SAAWD,EAAME,GAAGxB,GAC1B,OAGJqB,EAAMI,YAAY,OAAQ5C,GAC1B,IAAI+B,EAAOS,EAAMK,SAAS,QAE1BC,YAAW,KACPhB,EAAeT,EAASU,EAAK,GAC9B,KAEHJ,EAAcY,MAAK,WACf,IAAIQ,EAAc,EAAEX,MAAMhB,QAAQ,uBAE9B2B,EAAYJ,GAAGxB,IAAW4B,EAAYL,QACtCI,YAAW,KACPhB,EAAe,EAAEM,MAAOL,EAAK,GAC9B,IAEX,IAEA,IAAIiB,EAAWR,EAAMjB,KAAK,iBACtB0B,EAAcT,EAAMjB,KAAK,oBACzB2B,EAAyC,GAA5BV,EAAMW,KAAK,cACxBH,IAAaE,GACb,+BAA0BzH,MAAK,EAAG2H,sBAC9BA,EAAgBJ,EAAUC,GACzBxH,MAAKwG,IACFO,EAAMP,KAAKA,GACXO,EAAMW,KAAK,aAAc,IACzB,QAAcX,GACdhH,SAAS6H,KAAK7C,cAAc,IAAIC,MAAM,wBAAwB,GAChE,IAINmB,IACAd,EAAcc,GAAMG,GAGpBA,GAAQP,GACRC,EAAgB6B,SAAS,CACrBC,IAAKf,EAAM,GAAGgB,wBAAwBD,IAAM,IACxDE,SAAU,UAGV,IAEA,IAAIC,EAAW,EAAEzC,GAAIM,KAAK,kBACrBL,GAAgBwC,GAAY3C,GAAaA,EAAU2C,IACpD3C,EAAU2C,GAAUzC,EAE5B,CAEA,SAAS0C,IACL,EAAEnI,UAAU+E,GAAG,QAAS,wBAAwB,SAAU1E,GAItD,GAAIA,EAAE+H,QAAQC,mBAAoB,OAE7BzB,KAAK0B,QAAQ,gCACdjI,EAAEE,iBAGN,IAAI+E,EAAgB,KAOpB,OANIsB,KAAK9F,QAAQwE,gBACbA,EAA8C,QAA9BsB,KAAK9F,QAAQwE,eAGjCE,EAAe,EAAEoB,MAAOtB,GAEjB,CAAE+C,oBAAoB,EACjC,IAEA,EAAErI,UAAU+E,GAAG,qBAAqB,SAAS1E,GACzC,IAAI+F,EAAK,EAAE/F,EAAEkI,QAAQxC,KAAK,mBAC1BT,EAAcc,IAAM,CACxB,IAEA,EAAEpG,UAAU+E,GAAG,sBAAsB,SAAS1E,GAC1C,IAAI+F,EAAK,EAAE/F,EAAEkI,QAAQxC,KAAK,mBAC1BT,EAAcc,IAAM,CACxB,GACJ,CA0DAf,OAAOG,eAAiBA,C,0DClMpBgD,EAAQ,CACXC,KAAM,YACL,QAAiBzI,SAAU,QAAS,uBAAuBI,IAC1D,IAAImI,EAAS,EAAEnI,GAAS2F,KAAK,sBAE7B,IAAI2C,EAAOH,EAAS,EAAEA,GAAQ9B,OAAS,EAAErG,GAAS2F,KAAK,gBACnD4C,EAAO,EAAEvI,GAASwF,QAAQ,sBAE1B,EAAExF,GAASiH,SAAS,QACvBmB,EAAMI,SAASF,EAAMC,GAAM,IAI5BH,EAAMI,SAASF,EAAMC,GAAM,EAAOvI,GAClC,EAAEA,GAASyI,SAAS,QAAO,KAG5B,QAAiB7I,SAAU,QAAS,uBAAuB,CAACI,EAASC,KACpEA,EAAEE,iBACF,EAAE,wBAAwBuI,YAAY,QACtC,EAAE,uBAAuBA,YAAY,OAAO,GAE9C,EACAF,SAAU,SAAUG,EAAKJ,EAAMK,GAC9B,IAAIC,EAAY,EAAEN,GAAMO,KAAK,6BAE7B,EAAE,wBAAwBJ,YAAY,QACtC,EAAE,uBAAuBA,YAAY,QAEjCE,IAIJC,EAAUxC,KAAK,gTAAkTsC,GACjUE,EAAUJ,SAAS,wBACnBI,EAAUJ,SAAS,QACnBI,EAAUJ,SAAS,QACpB,GAGD,S,8ECmHA,QA1JoB,CACnBM,QAAS,CACRC,QAAS,cAEVC,gBAAgB,EAChBC,IAAK,KACLb,KAAM,SAAUU,GAWf,OAVAI,OAAOC,OAAO5C,KAAKuC,QAASA,IAM5B,QAAiBnJ,SAAU,QAAS,4BAA4B,KAC/D4G,KAAK6C,oBAAoB,MAAM,EAAK,IAG9B7C,KAAK8C,UAAUzJ,MAAK,KAC1B2G,KAAK+C,kBAAiB,GAAO,EAAK,GAEpC,EACAC,iBAAkB,SAASC,EAAM3B,GAC5BtB,KAAKyC,eACRzC,KAAK0C,IAAIvE,GAAG8E,EAAM3B,GAInB7C,OAAOyE,iBAAiB,gBAAgB,IAAMlD,KAAK0C,IAAIvE,GAAG8E,EAAM3B,IACjE,EACAwB,QAAS,WACR,IAAIK,EAAOnD,KAGX,GAFAA,KAAK0C,KAAM,IAAI,KAA+BU,QAAQ,IAAMpD,KAAKuC,QAAQC,SAASa,SAE7ErD,KAAK0C,IAET,OADAY,QAAQC,IAAI,8BACLC,QAAQC,UAKhB,SAASC,IACRP,EAAKV,gBAAiB,EACtBhE,OAAOL,cAAc,IAAIC,MAAM,iBAE/B,IACC8E,EAAKT,IAAIiB,OAAO,uBACjB,CAAE,MACDL,QAAQC,IAAI,0CACb,CACD,CAOA,OAlBAvD,KAAKgD,iBAAiB,mBAAoBhD,KAAK4D,kBAa/C5D,KAAK0C,IAAImB,SAAQ,WAChBV,EAAKV,gBAAiB,EACtB/B,WAAWgD,EAAkB,IAC9B,IAEO1D,KAAK0C,IAAI/E,QAAQtE,KAAKqK,EAC9B,EACAE,iBAAkB,SAAUE,EAAO7C,EAAMzB,GAClC,iBAAkBf,OAKlB,kBAAmBsF,YAIrB3K,SAAS8C,cAAc,6CAII,WAA3B8H,aAAaC,WAChBF,UAAUG,cAAcC,mBAAmB9K,MAAK,SAAU+K,GACzDA,EAAc,GAAGR,iBAAiBE,EAAO,CAAE7C,KAAMA,EAAMF,KAAM,CAAEvB,GAAIA,GAAM6E,KAAM,6CAChF,IAEmC,UAA3BL,aAAaC,YACrBD,aAAaM,oBAAoBjL,MAAK,SAAU4K,GAC7B,WAAdA,GACHF,UAAUG,cAAcC,mBAAmB9K,MAAK,SAAU+K,GACvCA,EAAc,GAAGR,iBAAiBE,EAAO,CAAE7C,KAAMA,EAAMF,KAAM,CAAEvB,GAAIA,GAAM6E,KAAM,6CAClG,GAEF,MAxBAf,QAAQC,IAAI,qDA0Bd,EACAR,iBAAkB,SAAUwB,EAAqBC,GAChD,IAAIrB,EAAOnD,KACX,GAAM,iBAAkBvB,OAAxB,CAKA,GAA+B,WAA3BuF,aAAaC,YAAsD,UAA3BD,aAAaC,YAAkE,MAAxC,QAAU,2BAC5FD,aAAaM,oBAAoBjL,MAAK,SAAU4K,GAC/CX,QAAQC,IAAI,0CAA4CU,GAEtC,WAAdA,EACHd,EAAKN,oBAAoB,UAGzBM,EAAKN,oBAAoB,UAE3B,IAAG4B,OAAMhL,IACR6J,QAAQC,IAAI,kDAAoD9J,EAAEiL,WAAW,SAG1E,GAA+B,WAA3BV,aAAaC,YAA2BO,EAAY,CAC5D,IAAIG,EAA+D,MAAxC,QAAU,2BAAoC,SAAW,UACpFxB,EAAKN,oBAAoB8B,GAAsB,GAAO,EACvD,CAEA,GAA+B,WAA3BX,aAAaC,YAA2BM,EAAqB,EAEhE,QAAW,CACVT,MAAO,sCACPc,QAAS,yJACTC,QAAS,KAAM,QAAY,wBAAyB,UAAU,IAEhE,CA5BA,MAFCvB,QAAQC,IAAI,qDA+Bd,EACAV,oBAAqB,SAAUiC,EAAMC,EAAKC,GAC7B,UAARF,IACH,QAAY,6BAA8B,gBAAgB,IAC1D,QAAY,6BAA8B,iBAAiB,IAE3C,WAARA,IACR,QAAY,6BAA8B,gBAAgB,IAC1D,QAAY,6BAA8B,iBAAiB,KAG3D,QAAY,6BAA8B,8BAGvCE,IAIA5L,SAAS8C,cAAc,2CACtB6I,GACH/E,KAAK+C,kBAAiB,GAAM,GAG7BO,QAAQC,IAAI,0BACZ,QAAU,0BAA2B,IAAK,MAG1CD,QAAQC,IAAI,2BACZ,QAAU,0BAA2B,IAAK,KAE5C,E","sources":["webpack://tumarket/./js/global/lazyHub.js","webpack://tumarket/./js/global/readmore.js","webpack://tumarket/./js/hints/hints.js","webpack://tumarket/./js/notifications.js"],"sourcesContent":["import tumGlobal from \"../global\";\nimport { addEventDelegate, dataStorage, setValue } from \"./dom\";\nimport { loadLib } from \"./loadlib\";\n\n/**\n * Регистрирует события, которые работают глобально, и нужный для них код загружается по требованию, а не сразу\n * Если импортируется модуль, в котором есть функция init(), ее нужно запускать в самом модуле\n * Импортируемый модуль должен отвечать за какой-то один функционал, не стоит здесь импортировать целый скрипт страницы фирмы или вроде того\n */\nfunction initLazyModules() {\n addEventDelegate(document, 'click', '.toggleSearchMenu', () => {\n import(\"../searchMenu\").then(({ tum_searchMenu }) => tum_searchMenu.toggleMenu());\n });\n\n addEventDelegate(document, 'click', '.home-catalog-link', (element, e) => {\n if (!tumGlobal.isMob()) {\n location.href = \"/catalog\";\n return;\n };\n\n e.preventDefault();\n import(\"../searchMenu\").then(({ tum_searchMenu }) => {\n tum_searchMenu.toggleMenu().then(() => tum_searchMenu.scrollToCatalog());\n });\n });\n\n addEventDelegate(document, 'click', '.mod-ord-window', (element, event) => {\n event.preventDefault();\n var idFirm = element.dataset.firmid;\n var idProd = element.dataset.productid;\n var params = { idFirm: idFirm, idProd: idProd };\n\n import(\"../showCaseManagement\").then(({ management }) => management.getModalData(params));\n });\n\n addEventDelegate(document, 'click', '.toggleMenu', element => {\n import(\"../MainMenu\").then(({ tum_mainMenu }) => tum_mainMenu.toggleMenu(element.dataset.highlight, element.dataset.showReadmore));\n });\n\n addEventDelegate(document, 'click', '.editTopListDate', (element) => {\n import(\"../product/editTopListDate.js\").then(({ editTopListDate }) => {\n let productId = element.dataset.itemid;\n let previewId = element.dataset.previewid;\n editTopListDate.editTopListDate(productId, previewId);\n });\n });\n\n addEventDelegate(document, 'click', '.tum-miniatureCartBtn', (element, event) => {\n event.preventDefault();\n import(\"../cart/cartWidget\").then(({ cartWidget }) => cartWidget.showCartWidget(element));\n });\n\n addEventDelegate(document, 'click', ['.topbar-openCatalog', '.tu-showCatalog'], element => {\n element.disabled = true;\n import(\"../catalogItems\").then(({ catItems }) => {\n catItems.showCatalog().then(() => element.disabled = false);\n });\n });\n\n addEventDelegate(document, 'click', '.firm-edit-item', (element, event) => {\n event.preventDefault();\n import(\"../firm/firmStatusEdit\").then(({ firmStt }) => firmStt.editFirmStatus(event, element));\n });\n\n addEventDelegate(document, 'click', '.task-update', (element) => {\n import(\"../tasks.js\").then(({ tu_tasks }) => tu_tasks.updateButtonHandler(element));\n });\n\n addEventDelegate(document, 'click', '[data-edit-preview-connections]', (element) => {\n let productId = element.dataset.productid;\n let firmId = element.dataset.firmid;\n let ctuId = element.dataset.ctuid;\n\n import(\"../previews/connection_editor\").then(({previewConnectionEditor}) => {\n previewConnectionEditor.open({ productId, ctuId, firmId });\n });\n });\n\n refreshLazyModules();\n}\n\nfunction refreshLazyModules(){\n for (let crud of document.querySelectorAll('[data-crud]')) {\n import(\"../crud.js\").then(({ initCrud }) => initCrud(crud));\n }\n\n if (document.querySelector('.tu-modal-form')) {\n import(\"../form/form.modals\").then(({ initFormModals }) => initFormModals());\n }\n\n if (document.querySelector('[data-tu-select]')) {\n import(\"../global/tu_select\").then(({ initSelects }) => initSelects());\n }\n\n for (let timer of document.querySelectorAll('[data-timer]')) {\n import(\"../global/timer\").then(({ initTimer }) => initTimer(timer));\n }\n\n if (document.querySelector('[data-submit-form]')) {\n import(\"../global/form\").then(({ initFormUtils }) => initFormUtils());\n }\n\n for (let item of document.querySelectorAll('[data-highlight-search]')) {\n import(\"../global/highlight_search\").then(({ initHighlightSearch }) => {\n initHighlightSearch(item);\n });\n }\n\n for (let item of document.querySelectorAll('[data-slider-auto-init]')) {\n import(\"../slider\").then(module => {\n let tu_slider = module.default;\n tu_slider.create({\n container: item,\n mobLoadMoreChevronDirection: 'right',\n autoCycling: true\n });\n });\n }\n\n for (let item of document.querySelectorAll('[data-range-slider]:not(.noUi-target)')) {\n if (dataStorage.get(item, 'nouislider') || dataStorage.get(item, 'nouislider-initializing')) {\n continue;\n }\n\n dataStorage.put(item, 'nouislider-initializing', true);\n\n let from = document.querySelectorAll(item.dataset.fromTarget);\n let to = document.querySelectorAll(item.dataset.toTarget);\n let multiplier = Number(item.dataset.multiplier) || 1;\n\n import('nouislider/dist/nouislider.css')\n .then(() => loadLib({ cssLink: \"/template/nouislider-custom\" }))\n .then(() => import(\"nouislider\"))\n .then(module => {\n let nouislider = module.default;\n let slider = nouislider.create(item, {\n connect: true,\n start: [from[0].value, to[0].value],\n range: {\n min: Math.floor(Number(item.dataset.min) * multiplier),\n max: Math.ceil(Number(item.dataset.max) * multiplier)\n }\n });\n\n slider.on('change', () => {\n var value = slider.get();\n setValue(from, Number(value[0]) / multiplier);\n setValue(to, Number(value[1]) / multiplier);\n });\n\n slider.on('set', () => {\n for (let item of from) {\n item.dispatchEvent(new Event('change'));\n }\n \n for (let item of to) {\n item.dispatchEvent(new Event('change'));\n }\n });\n \n dataStorage.put(item, 'nouislider', slider);\n dataStorage.remove(item, 'nouislider-initializing');\n });\n }\n\n if (document.querySelector('[data-observe-visibility], [data-classes-when-shown], [data-classes-when-visible]')) {\n import('../intersectionObserver').then(({ initIntersectionObserver }) => {\n initIntersectionObserver();\n });\n }\n \n}\n\nexport { initLazyModules, refreshLazyModules };\n","import * as $ from \"jquery\";\nimport { initTuPopover } from \"./popover\";\n\nlet tumarket = window.tumarket;\n\n/** @type {Object.} */\nlet readmoreState = tumarket.readmoreState;\n\n/** @type {Object.) => void>} */\nlet callbacks = tumarket.callbacks;\n\n/**\n * \n * @param {JQuery} el \n * @param {boolean} [value]\n * @param {boolean} [skipCallback]\n */\nfunction toggleReadmore(el, value = null, skipCallback = null){\n let $wrap = $(el).closest(\".tum-readmore-wrap\");\n let $toggle = $(el);\n let $target = $(el).attr(\"data-target\");\n let scroll = $(el).attr('data-scroll') == '';\n let scrollContainer = $(el).attr('data-scroll-container') || window;\n let $texts = null;\n let $otherToggles = null;\n let id = $wrap.attr('data-readmoreid');\n let groupContainer = $(el)[0].dataset.groupContainer;\n\n if (groupContainer && !skipCallback) {\n [...document.querySelector(groupContainer).querySelectorAll(\".tum-readmore-toggle\")]\n .filter(e => e != this)\n .forEach(e => toggleReadmore(e, false, true));\n }\n\n if ($target) {\n $texts = $($target);\n $otherToggles = $('.tum-readmore-toggle[data-target=\"' + $target + '\"]').not($(el));\n } else {\n $texts = $(\".tum-readmore-0, .tum-readmore-1, .tum-readmore-2, .tum-readmore-inline, .tum-readmore-custom\", $wrap);\n $otherToggles = $(\".tum-readmore-toggle\", $wrap).not($(el));\n }\n\n function swapToggleHtml($toggle, show){\n let showHtml = $toggle.attr('data-showhtmltarget') ? $($toggle.attr('data-showhtmltarget')).html() : $toggle.attr('data-showhtml');\n let hideHtml = $toggle.attr('data-hidehtmltarget') ? $($toggle.attr('data-hidehtmltarget')).html() : $toggle.attr('data-hidehtml');\n\n let html = show ? hideHtml : showHtml;\n if (html != \"_\") {\n $toggle.html(html);\n }\n }\n\n $texts.each(function(){\n let $text = $(this);\n let _wrap = $(this).closest(\".tum-readmore-wrap\");\n\n if (_wrap.length && !_wrap.is($wrap)) {\n return;\n }\n\n $text.toggleClass(\"show\", value);\n let show = $text.hasClass(\"show\");\n\n setTimeout(() => {\n swapToggleHtml($toggle, show);\n }, 100);\n \n $otherToggles.each(function(){\n let _toggleWrap = $(this).closest(\".tum-readmore-wrap\");\n\n if (_toggleWrap.is($wrap) || !_toggleWrap.length) {\n setTimeout(() => {\n swapToggleHtml($(this), show);\n }, 100);\n }\n });\n\n let ajaxCode = $text.attr('data-ajaxcode');\n let ajaxOptions = $text.attr('data-ajaxoptions');\n let ajaxLoaded = $text.data('ajaxloaded') == 1;\n if (ajaxCode && !ajaxLoaded) {\n import(\"./ajaxComponent\").then(({ renderComponent }) => {\n renderComponent(ajaxCode, ajaxOptions)\n .then(html => { \n $text.html(html)\n $text.data('ajaxloaded', 1);\n initTuPopover($text);\n document.body.dispatchEvent(new Event(\"tum.component.loaded\"));\n });\n });\n }\n\n if (id) {\n readmoreState[id] = show;\n }\n\n if (show && scroll) {\n scrollContainer.scrollTo({\n top: $text[0].getBoundingClientRect().top - 150,\n\t\t\t\tbehavior: 'smooth'\n });\n }\n });\n\n let callback = $(el).attr('data-callback');\n if (!skipCallback && callback && callbacks && callbacks[callback]) {\n callbacks[callback](el);\n }\n}\n\nfunction initReadmore(){\n $(document).on(\"click\", \".tum-readmore-toggle\", function (e) {\n //если кликнуть на toggle, который находится внутри другого toggle, будет двойной вызов и в итоге ничего не отработает\n //но stopPropagation может вызвать проблемы в другом функционале, например сборе статистики при кликах\n //поэтому вместо этого явно проверяем, что ридмор уже обработан\n if (e.result?.readmore_processed) return;\n\n if (!this.matches('[data-dont-prevent-default]')) {\n e.preventDefault();\n }\n \n let readmoreState = null;\n if (this.dataset.readmoreState) {\n readmoreState = this.dataset.readmoreState == 'show';\n }\n\n toggleReadmore($(this), readmoreState);\n \n return { readmore_processed: true };\n });\n\n $(document).on('shown.bs.collapse', function(e){\n let id = $(e.target).attr('data-readmoreid');\n readmoreState[id] = true;\n });\n\n $(document).on('hidden.bs.collapse', function(e){\n let id = $(e.target).attr('data-readmoreid');\n readmoreState[id] = false;\n });\n}\n\n/**\n * простой ручной toggle для collapse без анимации. Можно использовать для сохранения состояния коллапсов при ререндере\n * @param {JQuery} element \n * @param {boolean} [value] \n * @param {JQuery} [container] \n */\nfunction toggleCollapse(element, value = null, container = null){\n let $collapseToggle = $(container || document).find(element);\n let $collapse = $($collapseToggle.attr('data-target'), container || document);\n\n let showIcons = [ '.fa-arrow-down', '.fa-chevron-down' ];\n let hideIcons = [ '.fa-arrow-up', '.fa-chevron-up' ];\n let $icon = $([showIcons, hideIcons].flatMap(e => e).join(', '), $collapseToggle);\n $icon.toggleClass(showIcons.join(', '), !value).toggleClass(hideIcons.join(', '), value);\n\n $collapseToggle.toggleClass('collapsed', !value);\n $collapse.toggleClass('show', value);\n\n let id = $collapse.attr('data-readmoreid');\n if (id && value !== null) readmoreState[id] = value;\n}\n\n/**\n * \n * @param {JQuery} container \n */\nfunction restoreReadmoreState(container) {\n for (let id in readmoreState){\n let $readmoreToggle = $(`.tum-readmore-wrap[data-readmoreid=${id}] .tum-readmore-toggle`, container).first();\n if ($readmoreToggle.length)\ttoggleReadmore($readmoreToggle, readmoreState[id]);\n\n let $collapse = $(`[data-toggle=\"collapse\"][data-readmoreid=\"${id}\"]`, container);\n if ($collapse.length) toggleCollapse($collapse, readmoreState[id], container);\n }\n}\n\n/**\n * \n * @param {string} id \n * @param {boolean} [value] \n * @returns \n */\nfunction toggleReadmoreById(id, value = null) {\n let $element = $(`[data-readmoreid=\"${id}\"]`);\n if ($element.hasClass('tum-readmore-wrap')) {\n let $toggle = $('.tum-readmore-toggle', $element).first();\n toggleReadmore($toggle, value);\n \n return;\n }\n\n if ($element.is('[data-toggle=collapse]')) {\n toggleCollapse($element, value);\n }\n}\n\nwindow.toggleReadmore = toggleReadmore;\n\nexport { initReadmore, toggleReadmore, restoreReadmoreState, toggleReadmoreById };","import * as $ from \"jquery\";\nimport \"./hints.css\";\nimport { addEventDelegate } from \"../global/dom\";\n\nvar hints = {\n\tinit: function () {\n\t\taddEventDelegate(document, 'click', '.tum-hints-showHint', element => {\n\t\t\tlet target = $(element).attr('data-contenttarget');\n\n\t\t\tvar text = target ? $(target).html() : $(element).attr(\"data-content\");\n\t\t\tvar elem = $(element).closest(\".tum-hints-hasHint\");\n\n\t\t\tif ($(element).hasClass(\"show\")) {\n\t\t\t\thints.showHint(text, elem, true);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\thints.showHint(text, elem, false, element);\n\t\t\t$(element).addClass(\"show\");\n\t\t});\n\n\t\taddEventDelegate(document, 'click', \".tum-hints-hideHint\", (element, e) => {\n\t\t\te.preventDefault();\n\t\t\t$(\".tum-hints-hintBlock\").removeClass(\"show\");\n\t\t\t$(\".tum-hints-showHint\").removeClass(\"show\");\n\t\t});\n\t},\n\tshowHint: function (txt, elem, close) {\n\t\tvar hintBlock = $(elem).find(\".tum-hints-hintBlock:last\");\n\n\t\t$(\".tum-hints-hintBlock\").removeClass(\"show\");\n\t\t$(\".tum-hints-showHint\").removeClass(\"show\");\n\n\t\tif (close) {\n\t\t\treturn;\n\t\t}\n\n\t\thintBlock.html('' + txt);\n\t\thintBlock.addClass('tum-hints-hintBorder');\n\t\thintBlock.addClass('mb-2');\n\t\thintBlock.addClass(\"show\");\n\t}\n};\n\nexport default hints;","import * as signalR from \"@microsoft/signalr\";\nimport { showDialog } from \"./global/dialog\";\nimport { getCookie, setCookie } from \"./global/cookie\";\nimport { addEventDelegate, toggleClass } from \"./global/dom\";\n\nvar notifications = {\n\toptions: {\n\t\thubName: \"signalRHub\"\n\t},\n\thubInitialized: false,\n\thub: null,\n\tinit: function (options) {\n\t\tObject.assign(this.options, options);\n\n\t\t// if ('serviceWorker' in navigator) {\n\t\t// \tnavigator.serviceWorker.register('/js/sw.js');\n\t\t// }\n\n\t\taddEventDelegate(document, 'click', \".tum-enableNotifications\", () => {\n\t\t\tthis.toggleNotifications(null, true);\n\t\t});\n\n\t\treturn this.initHub().then(() => {\n\t\t\tthis.askForPermission(false, true);\n\t\t})\n\t},\n\tregisterCallback: function(name, callback){\n\t\tif (this.hubInitialized) { \n\t\t\tthis.hub.on(name, callback);\n\t\t\treturn;\n\t\t}\n\t\t\n\t\twindow.addEventListener('signalRReady', () => this.hub.on(name, callback));\n\t},\n\tinitHub: function () {\n\t\tlet self = this;\n\t\tthis.hub = new signalR.HubConnectionBuilder().withUrl(\"/\" + this.options.hubName).build();\n\n\t\tif (!this.hub) {\n\t\t\tconsole.log(\"notification hub not found\");\n\t\t\treturn Promise.resolve();\n\t\t}\n\n\t\tthis.registerCallback('showNotification', this.showNotification);\n\n\t\tfunction startHubCallback() {\n\t\t\tself.hubInitialized = true;\n\t\t\twindow.dispatchEvent(new Event('signalRReady'));\n\n\t\t\ttry {\n\t\t\t\tself.hub.invoke(\"connectNotifications\");\n\t\t\t} catch {\n\t\t\t\tconsole.log(\"Failed to connect to push notifications\");\n\t\t\t}\n\t\t}\n\n\t\tthis.hub.onclose(function () {\n\t\t\tself.hubInitialized = false;\n\t\t\tsetTimeout(startHubCallback, 5000);\n\t\t});\n\n\t\treturn this.hub.start().then(startHubCallback);\n\t},\n\tshowNotification: function (title, body, id) {\n\t\tif (!(\"Notification\" in window)) {\n\t\t\tconsole.log(\"This browser does not support desktop notification\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (!('serviceWorker' in navigator)) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (document.querySelector(\".tum-enableNotifications .fa-toggle-off\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (Notification.permission == \"granted\") {\n\t\t\tnavigator.serviceWorker.getRegistrations().then(function (registrations) {\n\t\t\t\tregistrations[0].showNotification(title, { body: body, data: { id: id }, icon: \"/Content/images/tu.m/fav/prod/favicon.ico\" });\n\t\t\t});\n\t\t}\n\t\telse if (Notification.permission != \"denied\") {\n\t\t\tNotification.requestPermission().then(function (permission) {\n\t\t\t\tif (permission == \"granted\") {\n\t\t\t\t\tnavigator.serviceWorker.getRegistrations().then(function (registrations) {\n registrations[0].showNotification(title, { body: body, data: { id: id }, icon: \"/Content/images/tu.m/fav/prod/favicon.ico\" });\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t},\n\taskForPermission: function (showDisabledWarning, readCookie) {\n\t\tlet self = this;\n\t\tif (!(\"Notification\" in window)) {\n\t\t\tconsole.log(\"This browser does not support desktop notification\");\n\t\t\treturn;\n\t\t}\n\n\t\tif (Notification.permission != \"granted\" && Notification.permission != \"denied\" && getCookie(\"tum-enableNotifications\") != \"0\") {\n\t\t\tNotification.requestPermission().then(function (permission) {\n\t\t\t\tconsole.log(\"notifications - asking for permission: \" + permission);\n\n\t\t\t\tif (permission == \"granted\") {\n\t\t\t\t\tself.toggleNotifications(\"enable\");\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tself.toggleNotifications(\"disable\");\n\t\t\t\t}\n\t\t\t}).catch(e => {\n\t\t\t\tconsole.log(\"notifications - asking for permission - catch: \" + e.toString());\n\t\t\t});\n\t\t}\n\t\telse if (Notification.permission == \"granted\" && readCookie) {\n\t\t\tvar notificationsEnabled = getCookie(\"tum-enableNotifications\") == \"1\" ? \"enable\" : \"disable\";\n\t\t\tself.toggleNotifications(notificationsEnabled, false, true);\n\t\t}\n\n\t\tif (Notification.permission != \"granted\" && showDisabledWarning) {\n\t\t\tvar instr = \"Как разрешить пуш-уведомления от TU.Market\";\n\t\t\tshowDialog({\n\t\t\t\ttitle: \"Уведомления запрещены веб-браузером\",\n\t\t\t\tcontent: \"Чтобы включить push-уведомления, нужно разрешить их в вашем веб-браузере
\" + instr,\n\t\t\t\tonShown: () => toggleClass(\"#asModal .btn-primary\", \"d-none\", true)\n\t\t\t});\n\t\t}\n\t},\n\ttoggleNotifications: function (code, ask, updateButtonOnly) {\n\t\tif (code == \"enable\") {\n\t\t\ttoggleClass(\".tum-enableNotifications i\", \"fa-toggle-on\", true);\n\t\t\ttoggleClass(\".tum-enableNotifications i\", \"fa-toggle-off\", false);\n\t\t}\n\t\telse if (code == \"disable\") {\n\t\t\ttoggleClass(\".tum-enableNotifications i\", \"fa-toggle-on\", false);\n\t\t\ttoggleClass(\".tum-enableNotifications i\", \"fa-toggle-off\", true);\n\t\t}\n\t\telse {\n\t\t\ttoggleClass(\".tum-enableNotifications i\", \"fa-toggle-off fa-toggle-on\");\n\t\t}\n\n\t\tif (updateButtonOnly) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (document.querySelector(\".tum-enableNotifications .fa-toggle-on\")) {\n\t\t\tif (ask) {\n\t\t\t\tthis.askForPermission(true, false);\n\t\t\t}\n\n\t\t\tconsole.log(\"notifications enabled\");\n\t\t\tsetCookie(\"tum-enableNotifications\", \"1\", 30);\n\t\t}\n\t\telse {\n\t\t\tconsole.log(\"notifications disabled\");\n\t\t\tsetCookie(\"tum-enableNotifications\", \"0\", 30);\n\t\t}\n\t}\n};\n\nexport default notifications;"],"names":["initLazyModules","document","then","tum_searchMenu","toggleMenu","element","e","isMob","preventDefault","scrollToCatalog","location","href","event","params","idFirm","dataset","firmid","idProd","productid","management","getModalData","tum_mainMenu","highlight","showReadmore","editTopListDate","productId","itemid","previewId","previewid","cartWidget","showCartWidget","disabled","catItems","showCatalog","firmStt","editFirmStatus","tu_tasks","updateButtonHandler","firmId","ctuId","ctuid","previewConnectionEditor","open","refreshLazyModules","crud","querySelectorAll","initCrud","querySelector","initFormModals","initSelects","timer","initTimer","initFormUtils","item","initHighlightSearch","module","default","create","container","mobLoadMoreChevronDirection","autoCycling","get","put","from","fromTarget","to","toTarget","multiplier","Number","cssLink","slider","connect","start","value","range","min","Math","floor","max","ceil","on","dispatchEvent","Event","remove","initIntersectionObserver","tumarket","window","readmoreState","callbacks","toggleReadmore","el","skipCallback","$wrap","closest","$toggle","$target","attr","scroll","scrollContainer","$texts","$otherToggles","id","groupContainer","swapToggleHtml","show","showHtml","html","hideHtml","filter","this","forEach","not","each","$text","_wrap","length","is","toggleClass","hasClass","setTimeout","_toggleWrap","ajaxCode","ajaxOptions","ajaxLoaded","data","renderComponent","body","scrollTo","top","getBoundingClientRect","behavior","callback","initReadmore","result","readmore_processed","matches","target","hints","init","text","elem","showHint","addClass","removeClass","txt","close","hintBlock","find","options","hubName","hubInitialized","hub","Object","assign","toggleNotifications","initHub","askForPermission","registerCallback","name","addEventListener","self","withUrl","build","console","log","Promise","resolve","startHubCallback","invoke","showNotification","onclose","title","navigator","Notification","permission","serviceWorker","getRegistrations","registrations","icon","requestPermission","showDisabledWarning","readCookie","catch","toString","notificationsEnabled","content","onShown","code","ask","updateButtonOnly"],"sourceRoot":""}