Your IP : 172.69.214.233


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

{"version":3,"file":"bundle.js","sources":["../src/collection.js","../src/item.js","../src/menu.js"],"sourcesContent":["import {Tag, Type} from 'main.core';\nimport {EventEmitter, BaseEvent} from 'main.core.events';\nimport {Item, type ItemOptions} from './item.js';\n\ntype CollectionOptions = {\n\titems: Array<ItemOptions>;\n};\n\nexport class Collection extends EventEmitter\n{\n\t#list: Array<Item> = [];\n\t#node: HTMLElement;\n\t#sync: boolean = false;\n\n\tconstructor(options: CollectionOptions = {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('ui:sidepanel:menu:collection');\n\t\tthis.setItems(options.items);\n\t}\n\n\t#addSilent(itemOptions: ItemOptions): Item\n\t{\n\t\tif (itemOptions.active)\n\t\t{\n\t\t\titemOptions.active = !this.hasActive();\n\t\t}\n\t\telse\n\t\t{\n\t\t\titemOptions.active = false;\n\t\t}\n\n\t\tconst item = new Item(itemOptions);\n\t\tthis.#list.push(item);\n\t\titem.subscribe('change:active', () => {\n\t\t\tif (item.isActive() && item.getCollection().isEmpty())\n\t\t\t{\n\t\t\t\tthis.syncActive(item);\n\t\t\t}\n\t\t});\n\t\titem.subscribe('sync:active', () => this.syncActive(item));\n\t\titem.subscribe('click', data => this.emit('click', data));\n\t\titem.subscribe('change', () => setTimeout(() => this.render(), 0));\n\n\t\treturn item;\n\t}\n\n\tsetActiveFirstItem(): void\n\t{\n\t\tconst item = this.list()[0];\n\t\tif (!item)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\titem.setActive(true);\n\t\titem.getCollection().setActiveFirstItem();\n\t}\n\n\tgetActiveItem(): Item\n\t{\n\t\treturn this.list().filter(item => item.isActive())[0];\n\t}\n\n\tsyncActive(excludeItem): Collection\n\t{\n\t\tif (this.#sync)\n\t\t{\n\t\t\treturn this;\n\t\t}\n\n\t\tthis.#sync = true;\n\t\tthis.list()\n\t\t\t.filter(otherItem => otherItem !== excludeItem)\n\t\t\t.forEach(otherItem => {\n\t\t\t\totherItem.getCollection().isEmpty()\n\t\t\t\t\t? otherItem.setActive(false)\n\t\t\t\t\t: otherItem.getCollection().syncActive(otherItem)\n\n\t\t\t})\n\t\t;\n\n\t\tthis.emit('sync:active');\n\t\tthis.#sync = false;\n\t\treturn this;\n\t}\n\n\tadd(itemOptions: ItemOptions): Item\n\t{\n\t\tconst item = this.#addSilent(itemOptions);\n\t\tthis.emit('change');\n\n\t\tif (this.#node)\n\t\t{\n\t\t\tthis.render();\n\t\t}\n\n\t\treturn item;\n\t}\n\n\tget(id: number | string): ?Item\n\t{\n\t\treturn this.list().filter(item => item.getId() === id)[0];\n\t}\n\n\tchange(id: number | string, options: ItemOptions): ?Item\n\t{\n\t\tconst foundItem = this.list().find((item: Item) => item.getId() === id);\n\n\t\tif (foundItem)\n\t\t{\n\t\t\tfoundItem.change(options);\n\n\t\t\treturn foundItem;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tremove(id: number | string)\n\t{\n\t\tconst foundItem = this.list().find((item: Item) => item.getId() === id);\n\t\tif (foundItem)\n\t\t{\n\t\t\tthis.emit('change');\n\n\t\t\tthis.#list = this.list().filter(otherItem => otherItem !== foundItem);\n\n\t\t\tfoundItem.remove();\n\t\t}\n\t}\n\n\tsetItems(items: Array<ItemOptions> = []): Collection\n\t{\n\t\tthis.#list = items.map(itemOptions => this.#addSilent(itemOptions));\n\t\tthis.emit('change');\n\n\t\tif (this.#node)\n\t\t{\n\t\t\tthis.render();\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tlist(): Array<Item>\n\t{\n\t\treturn this.#list;\n\t}\n\n\tisEmpty(): boolean\n\t{\n\t\treturn this.list().length === 0;\n\t}\n\n\thasActive(recursively: boolean = true): boolean\n\t{\n\t\tconst has = this.list().some(item => item.isActive());\n\t\tif (has)\n\t\t{\n\t\t\treturn true;\n\t\t}\n\n\t\tif (!recursively)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\n\t\treturn this.list().some(item => item.getCollection().hasActive());\n\t}\n\n\trender(): HTMLElement\n\t{\n\t\tif (!this.#node)\n\t\t{\n\t\t\tthis.#node = Tag.render`<div class=\"ui-sidepanel-menu-items\"></div>`;\n\t\t}\n\n\t\tthis.#node.innerHTML = '';\n\t\tthis.#list.forEach((item: Item) => this.#node.appendChild(item.render()));\n\n\t\treturn this.#node;\n\t}\n}\n","import {Tag, Type, Loc, Event, Dom} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport {Menu} from 'main.popup';\n\nimport {Collection} from './collection.js';\n\nexport type ItemOptions = {\n\tlabel: string;\n\tactive: ?boolean;\n\tnotice: ?boolean;\n\tonclick: ?Function;\n\tid: ?string;\n\titems: ?Array<ItemOptions>;\n\tactions?: Array<ActionOptions>\n};\n\ntype ActionOptions = {\n\tid: number | string;\n\tlabel: string,\n\tonclick: Function;\n}\n\nexport class Item extends EventEmitter\n{\n\t#id: ?string;\n\t#label: string;\n\t#active: ?boolean;\n\t#notice: ?boolean;\n\t#onclick: ?Function;\n\t#collection: Collection;\n\t#node: HTMLElement;\n\t#actions: Array<ActionOptions>\n\n\tconstructor(options: ItemOptions)\n\t{\n\t\tsuper(options);\n\n\t\tthis.setEventNamespace('ui:sidepanel:menu:item');\n\n\t\tthis.#collection = new Collection();\n\t\tthis.setLabel(options.label)\n\t\t\t.setActive(options.active)\n\t\t\t.setNotice(options.notice)\n\t\t\t.setId(options.id)\n\t\t\t.setItems(options.items)\n\t\t\t.setClickHandler(options.onclick)\n\t\t\t.setActions(options.actions)\n\t\t;\n\n\t\tthis.#collection.subscribe('sync:active', () => this.emit('sync:active'));\n\t\tthis.#collection.subscribe('click', event => this.emit('click', event));\n\t}\n\n\tsetLabel(label: string = ''): Item\n\t{\n\t\tif (this.#label === label)\n\t\t{\n\t\t\treturn this;\n\t\t}\n\n\t\tthis.#label = label;\n\t\tthis.#emitChange();\n\t\treturn this;\n\t}\n\n\tsetId(id: string): Item\n\t{\n\t\tif (this.#id === id)\n\t\t{\n\t\t\treturn this;\n\t\t}\n\n\t\tthis.#id = id;\n\t\tthis.#emitChange();\n\t\treturn this;\n\t}\n\n\tsetActive(mode: boolean = true): Item\n\t{\n\t\tmode = !!mode;\n\t\tif (this.#active === mode)\n\t\t{\n\t\t\treturn this;\n\t\t}\n\n\t\tthis.#active = mode;\n\t\tthis.#emitChange({active: this.#active}, 'active');\n\n\t\treturn this;\n\t}\n\n\tsetNotice(mode: boolean = false): Item\n\t{\n\t\tthis.#notice = !!mode;\n\t\tthis.#emitChange();\n\t\treturn this;\n\t}\n\n\tsetClickHandler(handler: Function): Item\n\t{\n\t\tthis.#onclick = handler;\n\t\treturn this;\n\t}\n\n\tsetActions(actions: Array<ActionOptions> = []): Item\n\t{\n\t\tthis.#actions = actions;\n\n\t\treturn this;\n\t}\n\n\tsetItems(items: Array<ItemOptions> = []): Item\n\t{\n\t\tthis.#collection.setItems(items || []);\n\t\tthis.#emitChange();\n\t\treturn this;\n\t}\n\n\tgetCollection(): Collection\n\t{\n\t\treturn this.#collection;\n\t}\n\n\tgetLabel(): string\n\t{\n\t\treturn this.#label;\n\t}\n\n\tgetId(): ?string\n\t{\n\t\treturn this.#id;\n\t}\n\n\tgetClickHandler(): ?Function\n\t{\n\t\treturn this.#onclick;\n\t}\n\n\tisActive(): boolean\n\t{\n\t\treturn this.#active;\n\t}\n\n\thasNotice(): boolean\n\t{\n\t\treturn this.#notice;\n\t}\n\n\thasActions(): boolean\n\t{\n\t\treturn this.#actions.length > 0;\n\t}\n\n\tchange(options: ItemOptions)\n\t{\n\t\tif (!Type.isUndefined(options.label))\n\t\t{\n\t\t\tthis.setLabel(options.label);\n\t\t}\n\n\t\tif (!Type.isUndefined(options.active))\n\t\t{\n\t\t\tthis.setActive(options.active);\n\t\t}\n\n\t\tif (!Type.isUndefined(options.notice))\n\t\t{\n\t\t\tthis.setNotice(options.notice);\n\t\t}\n\n\t\tif (!Type.isUndefined(options.id))\n\t\t{\n\t\t\tthis.setId(options.id);\n\t\t}\n\n\t\tif (!Type.isUndefined(options.items))\n\t\t{\n\t\t\tthis.setItems(options.items);\n\t\t}\n\n\t\tif (!Type.isUndefined(options.onclick))\n\t\t{\n\t\t\tthis.setClickHandler(options.onclick);\n\t\t}\n\n\t\tif (!Type.isUndefined(options.actions))\n\t\t{\n\t\t\tthis.setActions(options.actions);\n\t\t}\n\t}\n\n\tremove()\n\t{\n\t\tDom.remove(this.#node);\n\n\t\tthis.#node = null;\n\t}\n\n\t#emitChange(data = {}, type: string = null): void\n\t{\n\t\tthis.emit('change', data);\n\t\tif (type)\n\t\t{\n\t\t\tthis.emit('change:' + type, data);\n\t\t}\n\t}\n\n\t#handleClick(event: Event)\n\t{\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tthis.setActive(this.#collection.isEmpty() || !this.isActive());\n\t\tthis.emit('click', {item: this});\n\t\tif (Type.isFunction(this.#onclick))\n\t\t{\n\t\t\tthis.#onclick.apply(this);\n\t\t}\n\t}\n\n\t#showActionMenu(event: Event)\n\t{\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\tif (this.actionsMenu)\n\t\t{\n\t\t\tthis.actionsMenu.getPopupWindow().close();\n\n\t\t\treturn;\n\t\t}\n\n\t\tconst targetIcon: HTMLElement = event.currentTarget;\n\n\t\tDom.addClass(targetIcon, '--hover');\n\t\tDom.addClass(targetIcon.parentNode, '--hover');\n\n\t\tthis.actionsMenu = new Menu({\n\t\t\tid: `ui-sidepanel-menu-item-actions-${this.getId()}`,\n\t\t\tbindElement: targetIcon\n\t\t});\n\n\t\tthis.#actions.forEach((action: ActionOptions) => {\n\t\t\tthis.actionsMenu.addMenuItem({\n\t\t\t\ttext: action.label,\n\t\t\t\tonclick: (event, menuItem) => {\n\t\t\t\t\tmenuItem.getMenuWindow().close();\n\t\t\t\t\taction.onclick(this);\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\tthis.actionsMenu.getPopupWindow()\n\t\t\t.subscribe('onClose', () => {\n\t\t\t\tDom.removeClass(targetIcon, '--hover');\n\t\t\t\tDom.removeClass(targetIcon.parentNode, '--hover');\n\n\t\t\t\tthis.actionsMenu.destroy();\n\t\t\t\tthis.actionsMenu = null;\n\t\t\t})\n\t\t;\n\n\t\tthis.actionsMenu.show();\n\t}\n\n\trender(): HTMLElement\n\t{\n\t\tconst isEmpty = this.#collection.isEmpty();\n\n\t\tconst classes = [];\n\t\tif (this.#active)\n\t\t{\n\t\t\tif (isEmpty)\n\t\t\t{\n\t\t\t\tclasses.push('ui-sidepanel-menu-active');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tclasses.push('ui-sidepanel-menu-expand');\n\t\t\t}\n\t\t}\n\n\t\tconst actionText = Loc.getMessage('UI_SIDEPANEL_MENU_JS_' + (this.isActive() ? 'COLLAPSE' : 'EXPAND'));\n\t\tthis.#node = Tag.render`\n\t\t\t<li class=\"ui-sidepanel-menu-item ${classes.join(' ')}\">\n\t\t\t\t<a\n\t\t\t\t\tclass=\"ui-sidepanel-menu-link\"\n\t\t\t\t\tonclick=\"${this.#handleClick.bind(this)}\"\n\t\t\t\t\ttitle=\"${Tag.safe`${this.#label}`}\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"ui-sidepanel-menu-link-text\">${Tag.safe`${this.#label}`}</div>\n\t\t\t\t\t${!isEmpty ? `<div class=\"ui-sidepanel-toggle-btn\">${actionText}</div>` : ''}\n\t\t\t\t\t${this.#notice ? '<span class=\"ui-sidepanel-menu-notice-icon\"></span>' : ''}\n\t\t\t\t\t${\n\t\t\t\t\t\tthis.hasActions()\n\t\t\t\t\t\t\t? '<span class=\"ui-sidepanel-menu-action-icon ui-btn ui-btn-link ui-btn-icon-edit\"></span>'\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t</a>\n\t\t\t</li>\n\t\t`;\n\n\t\tif (this.hasActions())\n\t\t{\n\t\t\tEvent.bind(\n\t\t\t\tthis.#node.querySelector('.ui-sidepanel-menu-action-icon'),\n\t\t\t\t'click',\n\t\t\t\tthis.#showActionMenu.bind(this)\n\t\t\t);\n\t\t}\n\n\t\tif (!this.#collection.isEmpty())\n\t\t{\n\t\t\tDom.append(this.#collection.render(), this.#node);\n\t\t}\n\n\t\treturn this.#node;\n\t}\n}\n","import 'ui.fonts.opensans';\nimport './style.css';\nimport {Item, ItemOptions} from './item.js';\nimport {Collection} from './collection.js';\nimport {Tag} from 'main.core';\n\nexport {Item};\n\nexport type MenuOptions = {\n\titems: Array<ItemOptions>;\n};\n\nexport class Menu extends Collection\n{\n\t#node: HTMLElement;\n\n\tconstructor(options: MenuOptions = {})\n\t{\n\t\tsuper({items: options.items});\n\n\t\tif (!this.hasActive())\n\t\t{\n\t\t\tthis.setActiveFirstItem();\n\t\t}\n\t}\n\n\trender(): HTMLElement\n\t{\n\t\tconst itemsNode = super.render();\n\t\tif (!this.#node)\n\t\t{\n\t\t\tthis.#node = Tag.render`<ul class=\"ui-sidepanel-menu\"></ul>`;\n\t\t\tthis.#node.appendChild(itemsNode);\n\t\t}\n\n\t\treturn this.#node;\n\t}\n\n\trenderTo(target: HTMLElement): HTMLElement\n\t{\n\t\tconst node = this.render();\n\t\ttarget.appendChild(node);\n\t\treturn node;\n\t}\n}"],"names":["Collection","options","setEventNamespace","setItems","items","item","list","setActive","getCollection","setActiveFirstItem","filter","isActive","excludeItem","otherItem","forEach","isEmpty","syncActive","emit","itemOptions","render","id","getId","foundItem","find","change","remove","map","length","recursively","has","some","hasActive","Tag","innerHTML","appendChild","EventEmitter","active","Item","push","subscribe","data","setTimeout","setLabel","label","setNotice","notice","setId","setClickHandler","onclick","setActions","actions","event","mode","handler","Type","isUndefined","Dom","classes","actionText","Loc","getMessage","join","_classPrivateMethodGet","bind","safe","hasActions","Event","querySelector","append","type","preventDefault","stopPropagation","isFunction","apply","actionsMenu","getPopupWindow","close","targetIcon","currentTarget","addClass","parentNode","Menu","bindElement","action","addMenuItem","text","menuItem","getMenuWindow","removeClass","destroy","show","itemsNode","target","node"],"mappings":"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"}