Your IP : 172.70.80.239


Current Path : /var/www/element/data/www/revenuestory.ru/bitrix/js/ui/sidepanel/layout/dist/
Upload File :
Current File : /var/www/element/data/www/revenuestory.ru/bitrix/js/ui/sidepanel/layout/dist/bundle.js.map

{"version":3,"file":"bundle.js","sources":["../src/index.js"],"sourcesContent":["import 'ui.fonts.opensans';\nimport './style.css';\nimport 'sidepanel';\nimport {Dom, Tag, Type, BaseError, Event, Runtime} from 'main.core';\nimport {BaseEvent, EventEmitter} from 'main.core.events';\nimport {CloseButton, CancelButton, BaseButton} from 'ui.buttons';\nimport {Menu, type MenuOptions, Item as MenuItem} from 'ui.sidepanel.menu';\n\nconst UI = BX.UI;\nconst SidePanel = BX.SidePanel;\n\ntype DesignOptions = {\n\tmargin: ?boolean;\n\tsection: ?boolean;\n\talignButtonsLeft: ?boolean;\n};\n\ntype SidePanelMenuOptions = {\n\t...MenuOptions;\n\tcontentAttribute: ?string;\n};\n\ntype Options = {\n\textensions: ?Array<string>;\n\ttitle: ?string;\n\ttoolbar: ?Function;\n\tcontent: string|Element|Promise|BX.Promise;\n\tbuttons: ?Function;\n\tdesign: ?DesignOptions;\n\tmenu: ?SidePanelMenuOptions;\n};\n\nfunction prepareOptions(options: Options = {})\n{\n\toptions = Object.assign({}, options);\n\toptions.design = Object.assign({}, options.design || {});\n\toptions.design = {\n\t\tmargin: true,\n\t\tsection: true,\n\t\t...options.design,\n\t};\n\n\toptions.extensions = (options.extensions || []).concat([\n\t\t'ui.sidepanel.layout',\n\t\t'ui.buttons',\n\t]);\n\tif (options.toolbar)\n\t{\n\t\toptions.extensions.push('ui.buttons.icons');\n\t}\n\tif (options.design.section)\n\t{\n\t\toptions.extensions.push('ui.sidepanel-content');\n\t}\n\tif (options.menu)\n\t{\n\t\toptions.extensions.push('ui.sidepanel.menu');\n\t}\n\n\treturn options;\n}\n\nexport class Layout\n{\n\tstatic createContent(options: Options = {})\n\t{\n\t\toptions = prepareOptions(options);\n\t\treturn top.BX.Runtime\n\t\t\t.loadExtension(options.extensions)\n\t\t\t.then(() => (new Layout(options)).render())\n\t\t;\n\t}\n\n\tstatic createLayout(options: Options = {}): Promise\n\t{\n\t\toptions = prepareOptions(options);\n\n\t\treturn top.BX.Runtime\n\t\t\t.loadExtension(options.extensions)\n\t\t\t.then(() => new Layout(options))\n\t\t;\n\t}\n\n\t#container;\n\t#containerFooter;\n\t#options;\n\t#menu: Menu;\n\n\tconstructor(options: Options = {})\n\t{\n\t\tthis.#options = prepareOptions(options);\n\t\tconst menuOptions = this.#options.menu;\n\t\tif (menuOptions)\n\t\t{\n\t\t\tthis.#menu = new Menu(Object.assign(menuOptions));\n\t\t\tif (Type.isUndefined(menuOptions.contentAttribute))\n\t\t\t{\n\t\t\t\tmenuOptions.contentAttribute = 'data-menu-item-id';\n\t\t\t}\n\t\t\tif (menuOptions.contentAttribute)\n\t\t\t{\n\t\t\t\tthis.#menu.subscribe('click', (event: BaseEvent) => {\n\t\t\t\t\tthis.#onMenuItemClick((event.getData() || {}).item);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tgetContainer()\n\t{\n\t\tif (!this.#container)\n\t\t{\n\t\t\tthis.#container = Tag.render`<div class=\"ui-sidepanel-layout\"></div>`;\n\t\t}\n\t\treturn this.#container;\n\t}\n\n\tgetMenu(): Menu\n\t{\n\t\treturn this.#menu;\n\t}\n\n\tgetFooterContainer()\n\t{\n\t\tif (!this.#containerFooter)\n\t\t{\n\t\t\tthis.#containerFooter = Tag.render`<div class=\"ui-sidepanel-layout-footer\"></div>`;\n\t\t}\n\n\t\treturn this.#containerFooter;\n\t}\n\n\trender(content: string = '', promised: boolean = false)\n\t{\n\t\tif (this.#options.content && !promised)\n\t\t{\n\t\t\tcontent = this.#options.content();\n\t\t\tif (\n\t\t\t\tObject.prototype.toString.call(content) === \"[object Promise]\"\n\t\t\t\t|| (content.toString && content.toString() === \"[object BX.Promise]\")\n\t\t\t)\n\t\t\t{\n\t\t\t\treturn content.then(content => this.render(content, true));\n\t\t\t}\n\t\t}\n\n\t\tconst container = this.getContainer();\n\t\tcontainer.innerHTML = '';\n\n\t\t// HEADER\n\t\tif (this.#options.title)\n\t\t{\n\t\t\tconst title = Tag.safe`${this.#options.title}`;\n\t\t\tconst header = Tag.render`\n\t\t\t\t<div class=\"ui-sidepanel-layout-header\">\n\t\t\t\t\t<div class=\"ui-sidepanel-layout-title\">${title}</div>\n\t\t\t\t</div>\n\t\t\t`;\n\n\t\t\tif (Type.isFunction(this.#options.toolbar))\n\t\t\t{\n\t\t\t\tconst toolbar = Tag.render`<div class=\"ui-sidepanel-layout-toolbar\"></div>`;\n\t\t\t\tthis.#options.toolbar({...UI}).forEach(button => {\n\t\t\t\t\tif (button instanceof BaseButton)\n\t\t\t\t\t{\n\t\t\t\t\t\tbutton.renderTo(toolbar)\n\t\t\t\t\t}\n\t\t\t\t\telse if (Type.isDomNode(button))\n\t\t\t\t\t{\n\t\t\t\t\t\ttoolbar.appendChild(button);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthrow BaseError('Wrong button type ' + button);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\theader.appendChild(toolbar);\n\t\t\t}\n\n\t\t\tcontainer.appendChild(header);\n\t\t}\n\n\t\t// CONTENT\n\t\t{\n\t\t\tconst design = this.#options.design;\n\t\t\tconst classes = ['ui-sidepanel-layout-content'];\n\t\t\tconst styles = [];\n\t\t\tif (design.margin)\n\t\t\t{\n\t\t\t\tif (design.margin === true)\n\t\t\t\t{\n\t\t\t\t\tclasses.push('ui-sidepanel-layout-content-margin');\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tstyles.push('margin: ' + design.margin);\n\t\t\t\t}\n\t\t\t}\n\t\t\tlet contentElement = Tag.render`<div class=\"${classes.join(' ')}\" style=\"${styles.join('; ')}\"></div>`;\n\t\t\tcontainer.appendChild(contentElement);\n\n\t\t\tif (this.#menu)\n\t\t\t{\n\t\t\t\tthis.#menu.renderTo(contentElement);\n\t\t\t}\n\t\t\tcontentElement.appendChild(Tag.render`<div class=\"ui-sidepanel-layout-content-inner\"></div>`);\n\t\t\tcontentElement = contentElement.lastElementChild;\n\n\t\t\tif (design.section)\n\t\t\t{\n\t\t\t\tcontentElement.appendChild(Tag.render`<div class=\"ui-slider-section ui-sidepanel-layout-content-fill-height\"></div>`);\n\t\t\t\tcontentElement = contentElement.firstElementChild;\n\t\t\t}\n\t\t\tif (typeof content === 'string')\n\t\t\t{\n\t\t\t\tcontentElement.innerHTML = content;\n\t\t\t}\n\t\t\telse if (content instanceof Element)\n\t\t\t{\n\t\t\t\tcontentElement.appendChild(content);\n\t\t\t}\n\n\t\t\tif (this.#menu)\n\t\t\t{\n\t\t\t\tthis.#onMenuItemClick(this.#menu.getActiveItem(), contentElement);\n\t\t\t}\n\t\t}\n\n\t\t// FOOTER\n\t\tconst isButtonsUndefined = typeof this.#options.buttons === 'undefined';\n\t\tif (typeof this.#options.buttons === 'function' || isButtonsUndefined)\n\t\t{\n\t\t\tconst cancelButton = new CancelButton({onclick: () => SidePanel.Instance.close()});\n\t\t\tconst closeButton = new CloseButton({onclick: () => SidePanel.Instance.close()});\n\t\t\tconst defaults = {\n\t\t\t\t...UI,\n\t\t\t\tcancelButton,\n\t\t\t\tcloseButton,\n\t\t\t};\n\t\t\tif (isButtonsUndefined)\n\t\t\t{\n\t\t\t\tthis.#options.buttons = () => [closeButton];\n\t\t\t}\n\n\t\t\tconst buttonList = this.#options.buttons(defaults);\n\t\t\tif (buttonList && buttonList.length > 0)\n\t\t\t{\n\t\t\t\tcontainer.appendChild(Tag.render`<div class=\"ui-sidepanel-layout-footer-anchor\"></div>`);\n\n\t\t\t\tconst classes = ['ui-sidepanel-layout-buttons'];\n\t\t\t\tif (this.#options.design.alignButtonsLeft)\n\t\t\t\t{\n\t\t\t\t\tclasses.push('ui-sidepanel-layout-buttons-align-left');\n\t\t\t\t}\n\t\t\t\tconst buttons = Tag.render`<div class=\"${classes.join(' ')}\"></div>`;\n\t\t\t\tthis.getFooterContainer().appendChild(buttons);\n\t\t\t\tbuttonList.forEach(button => {\n\t\t\t\t\tif (button instanceof BaseButton)\n\t\t\t\t\t{\n\t\t\t\t\t\tbutton.renderTo(buttons)\n\t\t\t\t\t}\n\t\t\t\t\telse if (Type.isDomNode(button))\n\t\t\t\t\t{\n\t\t\t\t\t\tbuttons.appendChild(button);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthrow BaseError('Wrong button type ' + button);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tcontainer.appendChild(this.getFooterContainer());\n\t\t\t}\n\t\t}\n\n\t\tsetTimeout(()=> {\n\t\t\tthis.afterRender();\n\t\t});\n\t\treturn container;\n\t}\n\n\tafterRender()\n\t{\n\t\tthis.#adjustFooter();\n\n\t\tconst resizeHandler = Runtime.throttle(this.#adjustFooter, 300, this);\n\t\tEvent.bind(window, \"resize\", resizeHandler);\n\n\t\tconst topSlider = SidePanel.Instance.getTopSlider();\n\t\tif (topSlider)\n\t\t{\n\t\t\tEventEmitter.subscribeOnce(topSlider, 'SidePanel.Slider:onDestroy', () => {\n\t\t\t\tEvent.unbind(window, \"resize\", resizeHandler);\n\t\t\t});\n\t\t}\n\t}\n\n\t#getScrollWidth()\n\t{\n\t\tconst div = Tag.render`<div style=\"overflow-y: scroll; width: 50px; height: 50px; opacity: 0; pointer-events: none; position: absolute;\"></div>`\n\t\tdocument.body.appendChild(div);\n\t\tconst scrollWidth = div.offsetWidth - div.clientWidth\n\t\tDom.remove(div);\n\t\treturn scrollWidth;\n\t}\n\n\n\t#adjustFooter()\n\t{\n\t\tconst parentSet = this.getContainer().parentNode;\n\n\t\tif (parentSet.scrollWidth > parentSet.offsetWidth)\n\t\t{\n\t\t\tDom.style(this.getFooterContainer(), 'bottom', this.#getScrollWidth() + 'px');\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.style(this.getFooterContainer(), 'bottom', 0);\n\t\t}\n\t}\n\n\t#onMenuItemClick(item: MenuItem, container: HTMLElement = null)\n\t{\n\t\tif (!item)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst id = item.getId();\n\t\tlet attr = this.#options.menu.contentAttribute;\n\t\tif (!attr)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer = container || this.#container;\n\t\tlet nodes = container.querySelectorAll(`[${attr}]`);\n\t\tnodes = Array.prototype.slice.call(nodes);\n\t\tnodes.forEach(node => {\n\t\t\tnode.hidden = node.getAttribute(attr) !== id;\n\t\t});\n\t}\n}"],"names":["UI","BX","SidePanel","prepareOptions","options","Object","assign","design","margin","section","extensions","concat","toolbar","push","menu","Layout","top","Runtime","loadExtension","then","render","menuOptions","Menu","Type","isUndefined","contentAttribute","subscribe","event","getData","item","Tag","content","promised","prototype","toString","call","container","getContainer","innerHTML","title","safe","header","isFunction","forEach","button","BaseButton","renderTo","isDomNode","appendChild","BaseError","classes","styles","contentElement","join","lastElementChild","firstElementChild","Element","getActiveItem","isButtonsUndefined","buttons","cancelButton","CancelButton","onclick","Instance","close","closeButton","CloseButton","defaults","buttonList","length","alignButtonsLeft","getFooterContainer","setTimeout","afterRender","resizeHandler","throttle","Event","bind","window","topSlider","getTopSlider","EventEmitter","subscribeOnce","unbind","div","document","body","scrollWidth","offsetWidth","clientWidth","Dom","remove","parentSet","parentNode","style","id","getId","attr","nodes","querySelectorAll","Array","slice","node","hidden","getAttribute"],"mappings":"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"}