Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/js/ui/notification-panel/dist/
Upload File :
Current File : /var/www/homesaver/www/bitrix/js/ui/notification-panel/dist/notification-panel.bundle.js.map

{"version":3,"file":"notification-panel.bundle.js","sources":["../src/notification-panel.js"],"sourcesContent":["import { Type, Dom, Tag, Text } from 'main.core';\nimport { Icon } from 'ui.icon-set.api.core';\nimport { EventEmitter } from 'main.core.events';\nimport { Popup, PopupWindowManager } from 'main.popup';\nimport 'ui.design-tokens';\nimport './style.css';\n\nexport type NotificationPanelOptions = {\n\tid: ?string,\n\tcontent: string | HTMLElement,\n\tbackgroundColor: ?string,\n\tleftIcon: ?Icon,\n\trightButtons: ?Array,\n\tshowCloseIcon: ?boolean,\n\tevents: ?{\n\t\tonShow: ?func,\n\t\tonHide: ?func,\n\t},\n};\n\nexport class NotificationPanel extends EventEmitter\n{\n\t#panel: ?HTMLElement = null;\n\t#popup: ?Popup = null;\n\t#container: HTMLElement;\n\toptions: NotificationPanelOptions;\n\n\tconstructor(options: NotificationPanelOptions)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('UI:NotificationPanel');\n\t\tthis.options = { ...this.getDefaultOptions(), ...Type.isPlainObject(options) ? options : {} };\n\t\tthis.options.id ??= Text.getRandom();\n\t}\n\n\tgetDefaultOptions(): NotificationPanelOptions\n\t{\n\t\treturn {\n\t\t\tbackgroundColor: '#F2FEE2',\n\t\t\tleftIcon: null,\n\t\t\trightButtons: [],\n\t\t\tshowCloseIcon: true,\n\t\t\tevents: {},\n\t\t};\n\t}\n\n\tgetContainer(): HTMLElement\n\t{\n\t\tif (this.#container)\n\t\t{\n\t\t\treturn this.#container;\n\t\t}\n\n\t\tthis.#container = Tag.render`\n\t\t\t<div class=\"ui-notification-panel__container\">\n\t\t\t\t${this.getContent()}\n\t\t\t\t${this.getFooter()}\n\t\t\t</div>\n\t\t`;\n\n\t\treturn this.#container;\n\t}\n\n\tgetButtonsContainer(buttons): HTMLElement\n\t{\n\t\tconst buttonsContainer = Tag.render`<div class=\"ui-notification-panel__buttons-container\"></div>`;\n\n\t\tbuttons.forEach((button) => {\n\t\t\tbutton.renderTo(buttonsContainer);\n\t\t});\n\n\t\treturn buttonsContainer;\n\t}\n\n\tgetContent(): HTMLElement\n\t{\n\t\tconst content = Tag.render`<div class=\"ui-notification-panel__content\"></div>`;\n\n\t\tif (this.options.leftIcon)\n\t\t{\n\t\t\tthis.options.leftIcon.size = 28;\n\t\t\tthis.options.leftIcon.renderTo(content);\n\t\t\tDom.append(\n\t\t\t\tTag.render`<div class=\"ui-notification-panel__left-icon-divider\"></div>`,\n\t\t\t\tcontent,\n\t\t\t);\n\t\t}\n\n\t\tif (Type.isElementNode(this.options.content))\n\t\t{\n\t\t\tDom.append(this.options.content, content);\n\t\t}\n\t\telse if (Type.isString(this.options.content))\n\t\t{\n\t\t\tDom.append(\n\t\t\t\tTag.render`<div class=\"ui-notification-panel__text\">${this.options.content}</div>`,\n\t\t\t\tcontent,\n\t\t\t);\n\t\t}\n\n\t\tDom.append(this.getFooter(), content);\n\n\t\treturn content;\n\t}\n\n\tgetFooter(): HTMLElement\n\t{\n\t\tconst footer = Tag.render`<div class=\"ui-notification-panel__footer\"></div>`;\n\n\t\tif (this.options.rightButtons)\n\t\t{\n\t\t\tDom.append(this.getButtonsContainer(this.options.rightButtons), footer);\n\t\t}\n\n\t\tif (this.options.showCloseIcon)\n\t\t{\n\t\t\tDom.append(this.getCloseButton(), footer);\n\t\t}\n\n\t\treturn footer;\n\t}\n\n\tgetCloseButton(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div \n\t\t\t\tclass=\"ui-notification-panel__close-button ui-icon-set --cross-45\"\n\t\t\t\tonclick=\"${this.hide.bind(this)}\"\n\t\t\t>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetPopup(): Popup\n\t{\n\t\tthis.#popup ??= PopupWindowManager.create({\n\t\t\tid: this.options.id,\n\t\t\tcontent: this.getContent(),\n\t\t\tbackground: this.options.backgroundColor,\n\t\t\ttargetContainer: this.#panel,\n\t\t\tclassName: 'ui-notification-panel__container',\n\t\t\tanimation: {\n\t\t\t\tshowClassName: 'ui-notification-panel__show',\n\t\t\t\tcloseClassName: 'ui-notification-panel__hide',\n\t\t\t\tcloseAnimationType: 'transition',\n\t\t\t},\n\t\t\tevents: {\n\t\t\t\tonShow: this.#handlePopupShow.bind(this),\n\t\t\t\tonClose: this.#handlePopupClose.bind(this),\n\t\t\t},\n\t\t\tzIndexOptions: {\n\t\t\t\talwaysOnTop: true,\n\t\t\t},\n\t\t});\n\n\t\treturn this.#popup;\n\t}\n\n\tshow(): void\n\t{\n\t\tif (!this.#panel)\n\t\t{\n\t\t\tthis.#createPanel();\n\t\t}\n\n\t\tthis.getPopup().show();\n\t}\n\n\thide(): void\n\t{\n\t\tthis.getPopup().close();\n\t}\n\n\t#createPanel(): void\n\t{\n\t\tthis.#panel = Tag.render`<div class=\"ui-notification-panel\" id=\"notification-panel-${this.options.id}\"></div>`;\n\t\tconst mainTable = document.body.querySelector('.bx-layout-table');\n\t\tDom.insertBefore(this.#panel, mainTable);\n\t}\n\n\t#handlePopupShow(): void\n\t{\n\t\tthis.options.events?.onShow?.();\n\t\tthis.emit('onShow');\n\t}\n\n\t#handlePopupClose(): void\n\t{\n\t\tthis.options.events?.onHide?.();\n\t\tthis.emit('onHide');\n\t}\n}\n"],"names":["NotificationPanel","EventEmitter","constructor","options","setEventNamespace","getDefaultOptions","Type","isPlainObject","id","Text","getRandom","backgroundColor","leftIcon","rightButtons","showCloseIcon","events","getContainer","Tag","render","getContent","getFooter","getButtonsContainer","buttons","buttonsContainer","forEach","button","renderTo","content","size","Dom","append","isElementNode","isString","footer","getCloseButton","hide","bind","getPopup","PopupWindowManager","create","background","targetContainer","className","animation","showClassName","closeClassName","closeAnimationType","onShow","onClose","zIndexOptions","alwaysOnTop","show","close","mainTable","document","body","querySelector","insertBefore","emit","onHide"],"mappings":";;;;;;;;;;;;;;AAAA,CAKqB;CAAA;CAAA;CAAA;CAAA;CAAA;AAerB,CAAO,MAAMA,iBAAiB,SAASC,6BAAY,CACnD;GAMCC,WAAW,CAACC,OAAiC,EAC7C;KAAA;KACC,KAAK,EAAE;KAAC;OAAA;;KAAA;OAAA;;KAAA;OAAA;;KAAA;OAAA;OAAA,OAPc;;KAAI;OAAA;OAAA,OACV;;KAAI;OAAA;OAAA;;KAOpB,IAAI,CAACC,iBAAiB,CAAC,sBAAsB,CAAC;KAC9C,IAAI,CAACD,OAAO,GAAG;OAAE,GAAG,IAAI,CAACE,iBAAiB,EAAE;OAAE,IAAGC,cAAI,CAACC,aAAa,CAACJ,OAAO,CAAC,GAAGA,OAAO,GAAG,EAAE;MAAE;KAC7F,yCAAI,CAACA,OAAO,EAACK,EAAE,+BAAf,cAAaA,EAAE,GAAKC,cAAI,CAACC,SAAS,EAAE;;GAGrCL,iBAAiB,GACjB;KACC,OAAO;OACNM,eAAe,EAAE,SAAS;OAC1BC,QAAQ,EAAE,IAAI;OACdC,YAAY,EAAE,EAAE;OAChBC,aAAa,EAAE,IAAI;OACnBC,MAAM,EAAE;MACR;;GAGFC,YAAY,GACZ;KACC,4CAAI,IAAI,2BACR;OACC,+CAAO,IAAI;;KAGZ,4CAAI,4BAAcC,aAAG,CAACC,MAAM,cAAC;;MAE3B,CAAoB;MACpB,CAAmB;;GAErB,GAHI,IAAI,CAACC,UAAU,EAAE,EACjB,IAAI,CAACC,SAAS,EAAE,CAEnB;KAED,+CAAO,IAAI;;GAGZC,mBAAmB,CAACC,OAAO,EAC3B;KACC,MAAMC,gBAAgB,GAAGN,aAAG,CAACC,MAAM,gBAAC,8DAA4D,EAAC;KAEjGI,OAAO,CAACE,OAAO,CAAEC,MAAM,IAAK;OAC3BA,MAAM,CAACC,QAAQ,CAACH,gBAAgB,CAAC;MACjC,CAAC;KAEF,OAAOA,gBAAgB;;GAGxBJ,UAAU,GACV;KACC,MAAMQ,OAAO,GAAGV,aAAG,CAACC,MAAM,gBAAC,oDAAkD,EAAC;KAE9E,IAAI,IAAI,CAACf,OAAO,CAACS,QAAQ,EACzB;OACC,IAAI,CAACT,OAAO,CAACS,QAAQ,CAACgB,IAAI,GAAG,EAAE;OAC/B,IAAI,CAACzB,OAAO,CAACS,QAAQ,CAACc,QAAQ,CAACC,OAAO,CAAC;OACvCE,aAAG,CAACC,MAAM,CACTb,aAAG,CAACC,MAAM,gBAAC,8DAA4D,IACvES,OAAO,CACP;;KAGF,IAAIrB,cAAI,CAACyB,aAAa,CAAC,IAAI,CAAC5B,OAAO,CAACwB,OAAO,CAAC,EAC5C;OACCE,aAAG,CAACC,MAAM,CAAC,IAAI,CAAC3B,OAAO,CAACwB,OAAO,EAAEA,OAAO,CAAC;MACzC,MACI,IAAIrB,cAAI,CAAC0B,QAAQ,CAAC,IAAI,CAAC7B,OAAO,CAACwB,OAAO,CAAC,EAC5C;OACCE,aAAG,CAACC,MAAM,CACTb,aAAG,CAACC,MAAM,gBAAC,4CAAyC,CAAuB,QAAM,GAA3B,IAAI,CAACf,OAAO,CAACwB,OAAO,GAC1EA,OAAO,CACP;;KAGFE,aAAG,CAACC,MAAM,CAAC,IAAI,CAACV,SAAS,EAAE,EAAEO,OAAO,CAAC;KAErC,OAAOA,OAAO;;GAGfP,SAAS,GACT;KACC,MAAMa,MAAM,GAAGhB,aAAG,CAACC,MAAM,gBAAC,mDAAiD,EAAC;KAE5E,IAAI,IAAI,CAACf,OAAO,CAACU,YAAY,EAC7B;OACCgB,aAAG,CAACC,MAAM,CAAC,IAAI,CAACT,mBAAmB,CAAC,IAAI,CAAClB,OAAO,CAACU,YAAY,CAAC,EAAEoB,MAAM,CAAC;;KAGxE,IAAI,IAAI,CAAC9B,OAAO,CAACW,aAAa,EAC9B;OACCe,aAAG,CAACC,MAAM,CAAC,IAAI,CAACI,cAAc,EAAE,EAAED,MAAM,CAAC;;KAG1C,OAAOA,MAAM;;GAGdC,cAAc,GACd;KACC,OAAOjB,aAAG,CAACC,MAAM,gBAAC;;;eAGP,CAAuB;;;GAGlC,GAHa,IAAI,CAACiB,IAAI,CAACC,IAAI,CAAC,IAAI,CAAC;;GAMlCC,QAAQ,GACR;KAAA;KACC,+FAAI,uFAAYC,6BAAkB,CAACC,MAAM,CAAC;OACzC/B,EAAE,EAAE,IAAI,CAACL,OAAO,CAACK,EAAE;OACnBmB,OAAO,EAAE,IAAI,CAACR,UAAU,EAAE;OAC1BqB,UAAU,EAAE,IAAI,CAACrC,OAAO,CAACQ,eAAe;OACxC8B,eAAe,0CAAE,IAAI,iBAAO;OAC5BC,SAAS,EAAE,kCAAkC;OAC7CC,SAAS,EAAE;SACVC,aAAa,EAAE,6BAA6B;SAC5CC,cAAc,EAAE,6BAA6B;SAC7CC,kBAAkB,EAAE;QACpB;OACD/B,MAAM,EAAE;SACPgC,MAAM,EAAE,4CAAI,sCAAkBX,IAAI,CAAC,IAAI,CAAC;SACxCY,OAAO,EAAE,4CAAI,wCAAmBZ,IAAI,CAAC,IAAI;QACzC;OACDa,aAAa,EAAE;SACdC,WAAW,EAAE;;MAEd,CAAC;KAEF,+CAAO,IAAI;;GAGZC,IAAI,GACJ;KACC,IAAI,yCAAC,IAAI,iBAAO,EAChB;OACC,4CAAI;;KAGL,IAAI,CAACd,QAAQ,EAAE,CAACc,IAAI,EAAE;;GAGvBhB,IAAI,GACJ;KACC,IAAI,CAACE,QAAQ,EAAE,CAACe,KAAK,EAAE;;CAqBzB;CAAC,yBAjBA;GACC,4CAAI,oBAAUnC,aAAG,CAACC,MAAM,gBAAC,6DAA0D,CAAkB,UAAQ,GAAxB,IAAI,CAACf,OAAO,CAACK,EAAE,CAAU;GAC9G,MAAM6C,SAAS,GAAGC,QAAQ,CAACC,IAAI,CAACC,aAAa,CAAC,kBAAkB,CAAC;GACjE3B,aAAG,CAAC4B,YAAY,yCAAC,IAAI,mBAASJ,SAAS,CAAC;CACzC;CAAC,6BAGD;GAAA;GACC,4BAAI,CAAClD,OAAO,CAACY,MAAM,qBAAnB,qBAAqBgC,MAAM,oBAA3B,qBAAqBA,MAAM,EAAI;GAC/B,IAAI,CAACW,IAAI,CAAC,QAAQ,CAAC;CACpB;CAAC,8BAGD;GAAA;GACC,6BAAI,CAACvD,OAAO,CAACY,MAAM,qBAAnB,sBAAqB4C,MAAM,oBAA3B,sBAAqBA,MAAM,EAAI;GAC/B,IAAI,CAACD,IAAI,CAAC,QAAQ,CAAC;CACpB;;;;;;;;"}