File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/ui/entity-catalog/dist/entity-catalog.bundle.js.map
Back
{"version":3,"file":"entity-catalog.bundle.js","sources":["../src/directives/feedback.js","../src/components/group.js","../src/components/group-list.js","../src/components/main-groups.js","../src/components/item-list-advice.js","../src/components/button.js","../src/components/item.js","../src/components/item-list.js","../src/components/stubs/empty-content.js","../src/stores/global-state.js","../src/components/main-content.js","../src/components/titlebar-filter.js","../src/components/search.js","../src/components/application.js","../src/entity-catalog.js"],"sourcesContent":["import {Event} from \"main.core\";\nimport \"ui.feedback.form\";\n\nexport const feedback = {\n\tbeforeMount(element: HTMLElement, bindings): void\n\t{\n\t\tEvent.bind(element, 'click', (event) => {\n\t\t\tevent.preventDefault();\n\n\t\t\tBX.UI.Feedback.Form.open(bindings.value);\n\t\t});\n\t}\n};\n","import { Type } from 'main.core';\nimport { GroupData } from '@/types/group';\n\nimport '../css/group.css';\n\nexport const Group = {\n\temits: ['selected', 'unselected'],\n\n\tname: 'ui-entity-catalog-group',\n\tprops: {\n\t\tgroupData: {\n\t\t\ttype: GroupData,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tcomputed: {\n\t\thasIcon(): boolean\n\t\t{\n\t\t\treturn Type.isStringFilled(this.groupData.icon);\n\t\t},\n\t},\n\tmethods: {\n\t\thandleClick()\n\t\t{\n\t\t\tthis.$emit(!this.groupData.selected ? 'selected' : 'unselected', this.groupData);\n\t\t},\n\t},\n\ttemplate: `\n\t\t<slot name=\"group\" v-bind:groupData=\"groupData\" v-bind:handleClick=\"handleClick\">\n\t\t\t<li \n\t\t\t\t:class=\"{\n\t\t\t\t\t'ui-entity-catalog__menu_item': true,\n\t\t\t\t\t'--active': groupData.selected,\n\t\t\t\t\t'--disabled': groupData.disabled\n\t\t\t\t}\"\n\t\t\t\t@click=\"handleClick\"\n\t\t\t>\n\t\t\t\t<span class=\"ui-entity-catalog__menu_item-icon\" v-if=\"hasIcon\" v-html=\"groupData.icon\"/>\n\t\t\t\t<span class=\"ui-entity-catalog__menu_item-text\">{{ groupData.name }}</span>\n\t\t\t</li>\n\t\t</slot>\n\t`,\n};","import { Group } from './group';\nimport type { GroupData } from '@/types/group';\n\nimport '../css/group-list.css';\n\nexport const GroupList = {\n\temits: ['groupSelected', 'groupUnselected'],\n\n\tname: 'ui-entity-selector-group-list',\n\tcomponents: {\n\t\tGroup,\n\t},\n\tprops: {\n\t\tgroups: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tmethods: {\n\t\thandleGroupSelected(group: GroupData)\n\t\t{\n\t\t\tthis.$emit('groupSelected', group);\n\t\t},\n\t\thandleGroupUnselected(group: GroupData)\n\t\t{\n\t\t\tthis.$emit('groupUnselected', group);\n\t\t}\n\t},\n\ttemplate: `\n\t\t<ul class=\"ui-entity-catalog__menu\">\n\t\t\t<Group\n\t\t\t\t:group-data=\"group\"\n\t\t\t\t:key=\"group.id\"\n\t\t\t\tv-for=\"group in groups\"\n\t\t\t\t@selected=\"handleGroupSelected\"\n\t\t\t\t@unselected=\"handleGroupUnselected\"\n\t\t\t>\n\t\t\t\t<template #group=\"groupSlotProps\">\n\t\t\t\t\t<slot\n\t\t\t\t\t\tname=\"group\"\n\t\t\t\t\t\tv-bind:groupData=\"groupSlotProps.groupData\"\n\t\t\t\t\t\tv-bind:handleClick=\"groupSlotProps.handleClick\"\n\t\t\t\t\t/>\n\t\t\t\t</template>\n\t\t\t</Group>\n\t\t</ul>\n\t`,\n}","import { Loc } from 'main.core';\nimport { GroupList } from './group-list';\n\nimport { GroupData } from '@/type/group';\n\nimport '../css/main-groups.css';\n\nexport const MainGroups = {\n\temits: ['groupSelected'],\n\n\tname: 'ui-entity-catalog-main-groups',\n\tcomponents: {\n\t\tGroupList,\n\t},\n\tprops: {\n\t\trecentGroupData: {\n\t\t\ttype: GroupData,\n\t\t\trequired: false,\n\t\t},\n\t\tgroups: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tshowRecentGroup: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tsearching: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t}\n\t},\n\tdata(): Object\n\t{\n\t\tconst recentGroup = this.getRecentGroup();\n\t\trecentGroup[0] = Object.assign(recentGroup[0], this.recentGroupData ?? {});\n\n\t\tlet selectedGroup = this.groups.find(group => group.selected) ?? null;\n\t\tif (!selectedGroup)\n\t\t{\n\t\t\tselectedGroup = recentGroup.find(group => group.selected) ?? null;\n\t\t}\n\n\t\treturn {\n\t\t\tshownGroups: this.groups,\n\t\t\tselectedGroup: null,\n\t\t\trecentGroup,\n\t\t};\n\t},\n\twatch: {\n\t\tselectedGroup(newGroup: ?GroupData)\n\t\t{\n\t\t\tconst newGroupId = newGroup ? newGroup.id : null;\n\n\t\t\tthis.shownGroups = this.shownGroups.map(groupList => groupList.map((group) => ({\n\t\t\t\t...group,\n\t\t\t\tselected: group.id === newGroupId,\n\t\t\t})));\n\n\t\t\tif (this.showRecentGroup && newGroupId !== this.recentGroup[0].id)\n\t\t\t{\n\t\t\t\tthis.recentGroup = [Object.assign(this.recentGroup[0], {selected: false})];\n\t\t\t}\n\n\t\t\tthis.$emit('groupSelected', newGroup);\n\t\t},\n\t},\n\tbeforeUpdate()\n\t{\n\t\tif (this.searching)\n\t\t{\n\t\t\tthis.shownGroups = this.shownGroups.map(groupList => groupList.map((group) => ({\n\t\t\t\t...group,\n\t\t\t\tselected: false,\n\t\t\t})));\n\n\t\t\tthis.recentGroup = [Object.assign(this.recentGroup[0], {selected: false})];\n\t\t}\n\t},\n\tmethods:{\n\t\tgetRecentGroup(): Array<GroupData>\n\t\t{\n\t\t\treturn [{\n\t\t\t\tid: 'recent',\n\t\t\t\tname: Loc.getMessage('UI_JS_ENTITY_CATALOG_GROUP_LIST_RECENT_GROUP_DEFAULT_NAME'),\n\t\t\t\ticon: `\n\t\t\t\t\t<svg width=\"18\" height=\"14\" viewBox=\"0 0 18 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t<path class=\"ui-entity-catalog__svg-icon-blue\" fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.369 13.2593C13.0305 13.2593 15.9986 10.2911 15.9986 6.62965C15.9986 2.9682 13.0305 0 9.369 0C6.00693 0 3.22939 2.50263 2.79764 5.74663H0L3.69844 9.44506L7.39687 5.74663H4.48558C4.90213 3.4276 6.93006 1.66789 9.369 1.66789C12.1093 1.66789 14.3308 3.88935 14.3308 6.62965C14.3308 9.36995 12.1093 11.5914 9.369 11.5914C9.2435 11.5914 9.11909 11.5867 8.99593 11.5776V13.249C9.11941 13.2558 9.2438 13.2593 9.369 13.2593ZM10.0865 4.01429H8.41983V8.18096H9.65978H10.0865H12.1195V6.56367H10.0865V4.01429Z\"></path>\n\t\t\t\t\t</svg>\n\t\t\t\t`,\n\t\t\t}];\n\t\t},\n\t\thandleGroupSelected(group: GroupData)\n\t\t{\n\t\t\tthis.selectedGroup = group;\n\t\t},\n\t\thandleRecentGroupSelected(group: GroupData)\n\t\t{\n\t\t\tgroup.selected = true;\n\t\t\tthis.selectedGroup = group;\n\t\t},\n\t\thandleGroupUnselected()\n\t\t{\n\t\t\tthis.selectedGroup = null;\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-entity-catalog__main-groups\">\n\t\t\t<div class=\"ui-entity-catalog__main-groups-head\">\n\t\t\t\t<slot name=\"group-list-header\"/>\n\t\t\t</div>\n\t\t\t<div class=\"ui-entity-catalog__recently\" v-if=\"showRecentGroup\">\n\t\t\t\t<GroupList\n\t\t\t\t\t:groups=\"recentGroup\"\n\t\t\t\t\t@groupSelected=\"handleRecentGroupSelected\"\n\t\t\t\t\t@groupUnselected=\"handleGroupUnselected\"\n\t\t\t\t>\n\t\t\t\t\t<template #group=\"groupSlotProps\">\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname=\"group\"\n\t\t\t\t\t\t\tv-bind:groupData=\"groupSlotProps.groupData\"\n\t\t\t\t\t\t\tv-bind:handleClick=\"groupSlotProps.handleClick\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</template>\n\t\t\t\t</GroupList>\n\t\t\t</div>\n\t\t\t<div class=\"ui-entity-catalog__main-groups-content\">\n\t\t\t\t<GroupList\n\t\t\t\t\t:groups=\"groupList\"\n\t\t\t\t\tv-for=\"groupList in shownGroups\"\n\t\t\t\t\t@groupSelected=\"handleGroupSelected\"\n\t\t\t\t\t@groupUnselected=\"handleGroupUnselected\"\n\t\t\t\t>\n\t\t\t\t\t<template #group=\"groupSlotProps\">\n\t\t\t\t\t\t<slot\n\t\t\t\t\t\t\tname=\"group\"\n\t\t\t\t\t\t\tv-bind:groupData=\"groupSlotProps.groupData\"\n\t\t\t\t\t\t\tv-bind:handleClick=\"groupSlotProps.handleClick\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</template>\n\t\t\t\t</GroupList>\n\t\t\t</div>\n\t\t\t<div class=\"ui-entity-catalog__main-groups-footer\">\n\t\t\t\t<slot name=\"group-list-footer\"/>\n\t\t\t</div>\n\t\t</div>\n\t`,\n};","import { Type, Dom } from 'main.core';\nimport { GroupData } from '@/types/group';\nimport { Advice } from 'ui.advice';\n\nexport const ItemListAdvice = {\n\tname: 'ui-entity-catalog-item-list-advice',\n\tprops: {\n\t\tgroupData: {\n\t\t\ttype: GroupData,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tcomputed: {\n\t\tgetAvatar: function(): string\n\t\t{\n\t\t\treturn (\n\t\t\t\tType.isStringFilled(this.groupData.adviceAvatar)\n\t\t\t\t\t? this.groupData.adviceAvatar\n\t\t\t\t\t: '/bitrix/js/ui/entity-catalog/images/ui-entity-catalog--nata.jpg'\n\t\t\t);\n\t\t},\n\t},\n\n\tmethods: {\n\t\trenderAdvice() {\n\t\t\tDom.clean(this.$refs.container);\n\n\t\t\tconst advice = new Advice({\n\t\t\t\tcontent: this.groupData.adviceTitle,\n\t\t\t\tavatarImg: this.getAvatar,\n\t\t\t\tanglePosition: Advice.AnglePosition.BOTTOM,\n\t\t\t});\n\n\t\t\tadvice.renderTo(this.$refs.container);\n\t\t},\n\t},\n\n\tmounted() {\n\t\tthis.renderAdvice();\n\t},\n\n\tupdated() {\n\t\tthis.renderAdvice();\n\t},\n\n\ttemplate: `\n\t\t<div ref=\"container\"></div>\n\t`,\n};","import { Loc, Type } from 'main.core';\nimport { BaseEvent } from 'main.core.events';\nimport { ButtonData } from '@/types/button';\n\nimport '../css/button.css';\n\nexport const Button = {\n\tname: 'ui-entity-catalog-button',\n\tprops: {\n\t\tbuttonData: {\n\t\t\ttype: ButtonData,\n\t\t\trequired: true,\n\t\t},\n\t\teventData: {\n\t\t\ttype: Object,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tcomputed: {\n\t\tbuttonText(): string\n\t\t{\n\t\t\treturn (\n\t\t\t\tType.isStringFilled(this.buttonData.text)\n\t\t\t\t\t? this.buttonData.text\n\t\t\t\t\t: Loc.getMessage('UI_JS_ENTITY_CATALOG_ITEM_DEFAULT_BUTTON_TEXT')\n\t\t\t);\n\t\t},\n\t},\n\tmethods: {\n\t\thandleButtonClick(pointerEvent)\n\t\t{\n\t\t\tconst event = new BaseEvent({\n\t\t\t\tdata: {\n\t\t\t\t\teventData: this.eventData,\n\t\t\t\t\toriginalEvent: pointerEvent,\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tif (Type.isFunction(this.buttonData.action))\n\t\t\t{\n\t\t\t\tthis.buttonData.action.call(this, event);\n\t\t\t}\n\t\t}\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-entity-catalog__option-btn-block\">\n\t\t\t<div \n\t\t\t\tclass=\"ui-entity-catalog__btn\"\n\t\t\t\t:class=\"{'--lock': buttonData.locked}\"\n\t\t\t\t@click=\"handleButtonClick\"\n\t\t\t>{{buttonText}}</div>\n\t\t</div>\n\t`\n};","import { Type } from 'main.core';\nimport { Button } from './button';\nimport { ItemData } from '@/types/item';\nimport { ButtonData } from '@/types/button';\n\nimport '../css/item.css';\n\nexport const Item = {\n\tname: 'ui-entity-catalog-item',\n\tcomponents:{\n\t\tButton,\n\t},\n\tprops: {\n\t\titemData: {\n\t\t\ttype: ItemData,\n\t\t\trequired: true,\n\t\t},\n\t},\n\tcomputed: {\n\t\tbuttonData(): ButtonData\n\t\t{\n\t\t\tif (!Type.isPlainObject(this.itemData.button))\n\t\t\t{\n\t\t\t\tthis.itemData.button = {};\n\t\t\t}\n\n\t\t\treturn this.itemData.button;\n\t\t}\n\t},\n\ttemplate: `\n\t\t<slot name=\"item\" v-bind:itemData=\"itemData\">\n\t\t\t<div class=\"ui-entity-catalog__option\">\n\t\t\t\t<div class=\"ui-entity-catalog__option-info\">\n\t\t\t\t\t<div class=\"ui-entity-catalog__option-info_name\">\n\t\t\t\t\t\t<span>{{itemData.title}}</span>\n\t\t\t\t\t\t<span class=\"ui-entity-catalog__option-info_label\" v-if=\"itemData.subtitle\">{{itemData.subtitle}}</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"ui-entity-catalog__option-info_description\">\n\t\t\t\t\t\t{{itemData.description}}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<Button :buttonData=\"buttonData\" :event-data=\"itemData\"/>\n\t\t\t</div>\n\t\t</slot>\n\t`,\n}\n","import { Item } from './item';\n\nimport '../css/item-list.css';\n\nexport const ItemList = {\n\tname: 'ui-entity-selector-item-list',\n\tcomponents: {\n\t\tItem,\n\t},\n\tprops: {\n\t\titems: {\n\t\t\tType: Array,\n\t\t\trequired: true,\n\t\t}\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-entity-catalog__content\">\n\t\t\t<div class=\"ui-entity-catalog__options\">\n\t\t\t\t<Item \n\t\t\t\t\t:item-data=\"item\"\n\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\tv-for=\"item in items\"\n\t\t\t\t>\n\t\t\t\t\t<template #item=\"itemSlotProps\">\n\t\t\t\t\t\t<slot name=\"item\" v-bind:itemData=\"itemSlotProps.itemData\"/>\n\t\t\t\t\t</template>\n\t\t\t\t</Item>\n\t\t\t</div>\n\t\t</div>\n\t`,\n}","import '../../css/stubs/empty-content.css';\n\nexport const EmptyContent = {\n\ttemplate: `\n\t\t<div class=\"ui-entity-catalog__content --help-block\">\n\t\t\t<div class=\"ui-entity-catalog__empty-content\">\n\t\t\t\t<div class=\"ui-entity-catalog__empty-content_icon\">\n\t\t\t\t\t<img src=\"/bitrix/js/ui/entity-catalog/images/ui-entity-catalog--search-icon.svg\" alt=\"Choose a grouping\">\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui-entity-catalog__empty-content_text\">\n\t\t\t\t\t<slot/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t`\n}","import { defineStore } from 'ui.vue3.pinia';\nimport { GroupData } from '@/types/group';\n\nexport const useGlobalState = defineStore('global-state', {\n\tstate: () => ({\n\t\tsearchApplied: false,\n\t\tfiltersApplied: false,\n\t\tcurrentGroup: GroupData,\n\t})\n});","import { Type } from 'main.core';\nimport { mapState } from 'ui.vue3.pinia';\nimport { GroupData } from '@/types/group';\nimport { ItemListAdvice } from './item-list-advice';\nimport { ItemList} from './item-list';\nimport { EmptyContent } from './stubs/empty-content';\n\nimport { useGlobalState } from '../stores/global-state';\n\nimport '../css/main-content.css';\n\nexport const MainContent = {\n\tname: 'ui-entity-catalog-main-content',\n\tcomponents: {\n\t\tItemListAdvice,\n\t\tItemList,\n\t\tEmptyContent,\n\t},\n\tprops: {\n\t\titems: {\n\t\t\ttype: Array,\n\t\t\trequired: true\n\t\t},\n\t\titemsToShow: {\n\t\t\ttype: Array,\n\t\t},\n\t\tgroup: {\n\t\t\ttype: GroupData,\n\t\t\trequired: true,\n\t\t},\n\t\tsearching: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tcomputed: {\n\t\t...mapState(useGlobalState, ['filtersApplied']),\n\t\tshowAdvice(): boolean\n\t\t{\n\t\t\treturn this.group && Type.isStringFilled(this.group.adviceTitle) && !this.searching;\n\t\t},\n\t\thasItems(): boolean\n\t\t{\n\t\t\treturn this.group && this.items.length > 0;\n\t\t},\n\t\tshowNoSelectedGroupStub(): boolean\n\t\t{\n\t\t\treturn !this.group && !this.searching;\n\t\t},\n\t\tshowFiltersStub()\n\t\t{\n\t\t\tconst hasFilterStubTitle = !!this.$slots['main-content-filter-stub-title'];\n\n\t\t\treturn hasFilterStubTitle && this.hasItems && this.filtersApplied && (this.itemsToShow.length <= 0);\n\t\t},\n\t\tshowSearchStub(): boolean\n\t\t{\n\t\t\treturn (!this.group || this.hasItems) && this.searching && (this.itemsToShow.length <= 0);\n\t\t},\n\t\tshowEmptyGroupStub(): boolean\n\t\t{\n\t\t\treturn this.group && this.itemsToShow.length === 0;\n\t\t},\n\t\tshowSeparator(): boolean\n\t\t{\n\t\t\treturn this.showAdvice && (this.items.length <= 0);\n\t\t},\n\t},\n\tbeforeUpdate()\n\t{\n\t\tthis.$refs.content.scrollTop = 0;\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-entity-catalog__main-content\">\n\t\t\t<div class=\"ui-entity-catalog__main-content-head\">\n\t\t\t\t<slot name=\"main-content-header\"/>\n\t\t\t</div>\n\t\t\t<ItemListAdvice v-if=\"showAdvice\" :groupData=\"group\" />\n\n\t\t\t<hr class=\"ui-entity-catalog__main-separator\" v-if=\"showSeparator\">\n\n\t\t\t<div class=\"ui-entity-catalog__main-content-body\" ref=\"content\">\n\t\t\t\t<slot name=\"main-content-no-selected-group-stub\" v-if=\"showNoSelectedGroupStub\"/>\n\t\t\t\t<slot name=\"main-content-filter-stub\" v-if=\"showFiltersStub\">\n\t\t\t\t\t<EmptyContent>\n\t\t\t\t\t\t<slot name=\"main-content-filter-stub-title\"/>\n\t\t\t\t\t</EmptyContent>\n\t\t\t\t</slot>\n\t\t\t\t<slot name=\"main-content-search-stub\" v-else-if=\"showSearchStub\">\n\t\t\t\t\t<EmptyContent>\n\t\t\t\t\t\t<slot name=\"main-content-search-not-found-stub\"/>\n\t\t\t\t\t</EmptyContent>\n\t\t\t\t</slot>\n\t\t\t\t<slot name=\"main-content-empty-group-stub\" v-else-if=\"showEmptyGroupStub\">\n\t\t\t\t\t<EmptyContent>\n\t\t\t\t\t\t<slot name=\"main-content-empty-group-stub-title\"/>\n\t\t\t\t\t</EmptyContent> \n\t\t\t\t</slot>\n\t\t\t\t<ItemList v-else :items=\"itemsToShow\">\n\t\t\t\t\t<template #item=\"itemSlotProps\">\n\t\t\t\t\t\t<slot name=\"item\" v-bind:itemData=\"itemSlotProps.itemData\"/>\n\t\t\t\t\t</template>\n\t\t\t\t</ItemList>\n\t\t\t</div>\n\t\t</div>\n\t`,\n};","import { Dom, Tag, Text, Loc } from 'main.core';\nimport { BaseEvent } from 'main.core.events';\nimport { MenuItemOptions, MenuManager, Menu } from 'main.popup';\n\nimport type { FilterData } from '@/types/filter'\n\nimport '../css/titlebar-filter.css';\n\nexport const TitleBarFilter = {\n\temits: ['onApplyFilters'],\n\tname: 'ui-entity-catalog-titlebar-filter',\n\tprops: {\n\t\tfilters: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tmultiple: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t},\n\tdata(): Object\n\t{\n\t\treturn {\n\t\t\tappliedFilters: this.getAppliedFilters(),\n\t\t\tallFilters: this.filters,\n\t\t};\n\t},\n\tmethods: {\n\t\tshowMenu(): Menu\n\t\t{\n\t\t\tMenuManager.create({\n\t\t\t\tid: 'ui-entity-catalog-titlebar-filter-menu',\n\t\t\t\tbindElement: this.$el,\n\t\t\t\tminWidth: 271,\n\t\t\t\tautoHide: true,\n\t\t\t\tcontentColor: 'white',\n\t\t\t\tdraggable: false,\n\t\t\t\tcacheable: false,\n\t\t\t\titems: this.getItems(),\n\t\t\t}).show();\n\t\t},\n\t\tgetItems(): MenuItemOptions[]\n\t\t{\n\t\t\tconst items = [];\n\n\t\t\tfor (const key in this.allFilters)\n\t\t\t{\n\t\t\t\tconst html = Tag.render`\n\t\t\t\t\t<div style=\"display: flex\">\n\t\t\t\t\t\t<div>${Text.encode(this.filters[key].text)}</div>\n\t\t\t\t\t</div>\n\t\t\t\t`;\n\n\t\t\t\tif (this.allFilters[key].applied)\n\t\t\t\t{\n\t\t\t\t\tDom.append(Tag.render`<div class=\"ui-entity-catalog__filter-block_selected\"></div>`, html);\n\t\t\t\t}\n\n\t\t\t\titems.push({\n\t\t\t\t\thtml,\n\t\t\t\t\tonclick: (event, item) => {\n\t\t\t\t\t\tif (this.allFilters[key].applied)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tdelete this.appliedFilters[this.allFilters[key].id];\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif (!this.multiple)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tthis.clearAllAction();\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tthis.appliedFilters[this.allFilters[key].id] = this.allFilters[key];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tthis.allFilters[key].applied = !this.allFilters[key].applied;\n\t\t\t\t\t\tthis.$emit('onApplyFilters', new BaseEvent({data: this.appliedFilters}));\n\n\n\t\t\t\t\t\titem.getMenuWindow().close();\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\n\t\t\titems.push({\n\t\t\t\tdelimiter: true,\n\t\t\t});\n\n\t\t\titems.push(this.getClearAllFilter());\n\n\t\t\treturn items;\n\t\t},\n\t\tgetClearAllFilter(): MenuItemOptions\n\t\t{\n\t\t\treturn {\n\t\t\t\thtml: `\n\t\t\t\t\t<div style=\"display: flex\">\n\t\t\t\t\t\t<div>${Loc.getMessage('UI_JS_ENTITY_CATALOG_RESET_FILTER')}</div>\n\t\t\t\t\t</div>\n\t\t\t\t`,\n\t\t\t\tonclick: (event, item) => {\n\t\t\t\t\tthis.clearAllAction();\n\t\t\t\t\tthis.$emit('onApplyFilters', new BaseEvent({data: this.appliedFilters}));\n\n\t\t\t\t\titem.getMenuWindow().close();\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\t\tclearAllAction()\n\t\t{\n\t\t\tthis.appliedFilters = {};\n\t\t\tthis.allFilters = this.allFilters.map(filter => ({...filter, applied: false}));\n\t\t},\n\t\tgetAppliedFilters(): Object<string, FilterData>\n\t\t{\n\t\t\tconst appliedFilters = {};\n\n\t\t\tfor (const key in this.filters)\n\t\t\t{\n\t\t\t\tif (this.filters[key].applied)\n\t\t\t\t{\n\t\t\t\t\tappliedFilters[this.filters[key].id] = this.filters[key];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (Object.keys(appliedFilters).length > 0)\n\t\t\t{\n\t\t\t\tthis.$emit('onApplyFilters', new BaseEvent({data: appliedFilters}));\n\t\t\t}\n\n\t\t\treturn appliedFilters;\n\t\t}\n\t},\n\ttemplate: `\n\t\t<div \n\t\t\t:class=\"{\n\t\t\t\t'ui-entity-catalog__titlebar_btn-filter': true,\n\t\t\t\t'--active': Object.keys(appliedFilters).length > 0\n\t\t\t}\"\n\t\t\t@click=\"showMenu\">\n\t\t</div>\n\t`,\n};","import { BaseEvent } from 'main.core.events';\nimport { Loc, debounce, Type } from 'main.core';\n\nexport const Search = {\n\temits: ['onSearch'],\n\tname: 'ui-entity-catalog-titlebar-search',\n\tdata(): Object\n\t{\n\t\treturn {\n\t\t\topened: false,\n\t\t\tdebounceSearchHandler: null,\n\t\t\tqueryString: '',\n\t\t\tshowClearSearch: false,\n\t\t};\n\t},\n\twatch:{\n\t\tqueryString(newString)\n\t\t{\n\t\t\tthis.showClearSearch = this.opened && this.$refs['search-input'] && Type.isStringFilled(newString);\n\t\t},\n\t},\n\tcreated()\n\t{\n\t\tthis.debounceSearchHandler = debounce((event) => {\n\t\t\tthis.onSearch(event.target.value);\n\t\t}, 255);\n\t},\n\tmethods: {\n\t\topenSearch()\n\t\t{\n\t\t\tthis.opened = true;\n\t\t\tthis.$nextTick(() => {\n\t\t\t\tthis.$refs['search-input'].focus();\n\t\t\t});\n\t\t},\n\t\tonSearch(queryString)\n\t\t{\n\t\t\tthis.queryString = queryString;\n\t\t\tthis.$emit(\n\t\t\t\t'onSearch',\n\t\t\t\tnew BaseEvent({data: {queryString: queryString ? queryString.toString() : ''}})\n\t\t\t);\n\t\t},\n\t\tclearSearch()\n\t\t{\n\t\t\tif (this.showClearSearch)\n\t\t\t{\n\t\t\t\tthis.$refs['search-input'].value = '';\n\t\t\t\tthis.onSearch('');\n\t\t\t}\n\t\t}\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-ctl ui-ctl-after-icon ui-ctl-w100 ui-ctl-round\" @click.once=\"openSearch\">\n\t\t\t<a \n\t\t\t\t:class=\"{\n\t\t\t\t\t'ui-ctl-after': true,\n\t\t\t\t\t'ui-ctl-icon-search': !showClearSearch,\n\t\t\t\t\t'ui-ctl-icon-clear': showClearSearch\n\t\t\t\t}\"\n\t\t\t\t@click=\"clearSearch\"\n\t\t\t/>\n\t\t\t<input\n\t\t\t\ttype=\"text\"\n\t\t\t\tclass=\"ui-ctl-element ui-ctl-textbox\"\n\t\t\t\tplaceholder=\"${Loc.getMessage('UI_JS_ENTITY_CATALOG_GROUP_LIST_SEARCH_PLACEHOLDER')}\"\n\t\t\t\tref=\"search-input\"\n\t\t\t\tv-if=\"opened\"\n\t\t\t\t@input=\"debounceSearchHandler\"\n\t\t\t/>\n\t\t</div>\n\t`,\n};","import { Type, Runtime } from 'main.core';\nimport { BaseEvent } from 'main.core.events';\nimport { mapWritableState } from 'ui.vue3.pinia';\nimport 'ui.icons';\n\nimport { MainGroups } from './main-groups';\nimport { MainContent } from './main-content';\nimport { TitleBarFilter } from './titlebar-filter';\nimport { Search } from './search';\n\nimport { useGlobalState } from '../stores/global-state';\n\nimport { GroupData } from '@/type/group';\nimport type { ItemData } from '@/type/item';\n\nimport '../css/application.css';\n\nexport const Application = {\n\tname: 'ui-entity-catalog-application',\n\tcomponents: {\n\t\tMainGroups,\n\t\tMainContent,\n\t\tTitleBarFilter,\n\t\tSearch,\n\t},\n\tprops: {\n\t\trecentGroupData: {\n\t\t\ttype: GroupData,\n\t\t\trequired: false,\n\t\t},\n\t\tgroups: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\titems: {\n\t\t\ttype: Array,\n\t\t\trequired: true,\n\t\t},\n\t\tshowEmptyGroups: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tshowRecentGroup: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\tfilterOptions: {\n\t\t\ttype: Object,\n\t\t\tdefault: {\n\t\t\t\tfilterItems: [],\n\t\t\t\tmultiple: false,\n\t\t\t},\n\t\t},\n\t},\n\tdata(): Object\n\t{\n\t\tlet selectedGroup = null;\n\t\tfor (const groupList of this.groups)\n\t\t{\n\t\t\tselectedGroup = groupList.find(group => group.selected);\n\t\t\tif (selectedGroup)\n\t\t\t{\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\tif (Type.isNil(selectedGroup) && this.recentGroupData?.selected)\n\t\t{\n\t\t\tselectedGroup = {id: 'recent', ...(this.recentGroupData ?? {})};\n\t\t}\n\n\t\treturn {\n\t\t\tselectedGroup,\n\t\t\tselectedGroupId: selectedGroup?.id ?? null,\n\t\t\tshownItems: [],\n\t\t\tshownGroups: this.getDisplayedGroup(),\n\t\t\tlastSearchString: '',\n\t\t\tfilters: [],\n\t\t};\n\t},\n\tcomputed: {\n\t\titemsBySelectedGroupId(): Array<ItemData>\n\t\t{\n\t\t\tconst items = this.items.filter((item) => item.groupIds.some(id => id === this.selectedGroupId));\n\n\t\t\treturn this.selectedGroup?.compare ? items.sort(this.selectedGroup.compare) : items;\n\t\t},\n\t\t...mapWritableState(useGlobalState, {\n\t\t\tsearching: 'searchApplied',\n\t\t\tfiltersApplied: 'filtersApplied',\n\t\t\tglobalGroup: 'currentGroup',\n\t\t}),\n\t},\n\twatch: {\n\t\tselectedGroup()\n\t\t{\n\t\t\tthis.globalGroup = this.selectedGroup;\n\t\t},\n\t\tselectedGroupId()\n\t\t{\n\t\t\tif (this.searching)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.shownItems = this.itemsBySelectedGroupId;\n\t\t\tthis.applyFilters();\n\t\t},\n\t},\n\tcreated()\n\t{\n\t\tthis.shownItems = this.itemsBySelectedGroupId;\n\t},\n\tmethods: {\n\t\tgetDisplayedGroup(): Array<Array<GroupData>>\n\t\t{\n\t\t\tif (this.showEmptyGroups)\n\t\t\t{\n\t\t\t\treturn Runtime.clone(this.groups);\n\t\t\t}\n\n\t\t\tconst groupIdsWithItems = new Set();\n\t\t\tthis.items.forEach((item: ItemData) => {\n\t\t\t\titem.groupIds.forEach((groupId: String | Number) => {\n\t\t\t\t\tgroupIdsWithItems.add(groupId)\n\t\t\t\t});\n\t\t\t});\n\n\t\t\treturn (\n\t\t\t\tthis\n\t\t\t\t\t.groups\n\t\t\t\t\t.map((groupList: Array<GroupData>) => groupList.filter((group: GroupData) => groupIdsWithItems.has(group.id)\n\t\t\t\t\t))\n\t\t\t\t\t.filter(groupList => groupList.length > 0)\n\t\t\t);\n\t\t},\n\t\thandleGroupSelected(group: ?GroupData)\n\t\t{\n\t\t\tthis.searching = false;\n\t\t\tthis.$refs.search?.clearSearch();\n\n\t\t\tthis.selectedGroupId = group ? group.id : null;\n\t\t\tthis.selectedGroup = group ?? null;\n\t\t},\n\t\tonSearch(event: BaseEvent)\n\t\t{\n\t\t\tconst queryString = event.getData().queryString.toLowerCase();\n\t\t\tthis.lastSearchString = queryString;\n\n\t\t\tif (!Type.isStringFilled(queryString))\n\t\t\t{\n\t\t\t\tthis.searching = false;\n\t\t\t\tthis.shownItems = [];\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.searching = true;\n\t\t\tthis.selectedGroup = null;\n\t\t\tthis.selectedGroupId = null;\n\n\t\t\tthis.shownItems = this.items.filter((item) => (\n\t\t\t\tString(item.title).toLowerCase().includes(queryString)\n\t\t\t\t|| String(item.description).toLowerCase().includes(queryString)\n\t\t\t\t|| item.tags?.some(tag => tag === queryString)\n\t\t\t));\n\n\t\t\tthis.applyFilters();\n\t\t},\n\t\tonApplyFilterClick(event: BaseEvent)\n\t\t{\n\t\t\tthis.filters = event.getData();\n\t\t\tif (this.searching)\n\t\t\t{\n\t\t\t\tthis.onSearch(new BaseEvent({data: {queryString: this.lastSearchString}}));\n\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.shownItems = this.itemsBySelectedGroupId;\n\t\t\tthis.applyFilters();\n\t\t},\n\t\tapplyFilters()\n\t\t{\n\t\t\tthis.filtersApplied = Object.values(this.filters).length > 0;\n\t\t\tfor (const filterId in this.filters)\n\t\t\t{\n\t\t\t\tthis.shownItems = this.shownItems.filter(this.filters[filterId].action);\n\t\t\t}\n\t\t},\n\t\tgetFilterNode(): ?Element\n\t\t{\n\t\t\treturn (this.$root.$app\n\t\t\t\t.getPopup()\n\t\t\t\t.getTitleContainer()\n\t\t\t\t.querySelector('[data-role=\"titlebar-filter\"]')\n\t\t\t);\n\t\t},\n\t\tgetSearchNode(): ?Element\n\t\t{\n\t\t\treturn (this.$root.$app\n\t\t\t\t.getPopup()\n\t\t\t\t.getTitleContainer()\n\t\t\t\t.querySelector('[data-role=\"titlebar-search\"]')\n\t\t\t);\n\t\t},\n\t\tstopPropagation(event)\n\t\t{\n\t\t\tevent.stopPropagation();\n\t\t},\n\t},\n\ttemplate: `\n\t\t<div class=\"ui-entity-catalog__main\">\n\t\t\t<MainGroups\n\t\t\t\t:recent-group-data=\"this.recentGroupData\"\n\t\t\t\t:groups=\"this.shownGroups\"\n\t\t\t\t:show-recent-group=\"showRecentGroup\"\n\t\t\t\t:searching=\"searching\"\n\t\t\t\t@group-selected=\"handleGroupSelected\"\n\t\t\t>\n\t\t\t\t<template #group-list-header>\n\t\t\t\t\t<slot name=\"group-list-header\"/>\n\t\t\t\t</template>\n\t\t\t\t<template #group=\"groupSlotProps\">\n\t\t\t\t\t<slot\n\t\t\t\t\t\tname=\"group\"\n\t\t\t\t\t\tv-bind:groupData=\"groupSlotProps.groupData\"\n\t\t\t\t\t\tv-bind:handleClick=\"groupSlotProps.handleClick\"\n\t\t\t\t\t/>\n\t\t\t\t</template>\n\t\t\t\t<template #group-list-footer>\n\t\t\t\t\t<slot name=\"group-list-footer\"/>\n\t\t\t\t</template>\n\t\t\t</MainGroups>\n\t\t\t<MainContent\n\t\t\t\t:items=\"itemsBySelectedGroupId\"\n\t\t\t\t:items-to-show=\"shownItems\"\n\t\t\t\t:group=\"selectedGroup\"\n\t\t\t\t:searching=\"searching\"\n\t\t\t>\n\t\t\t\t<template #main-content-header>\n\t\t\t\t\t<slot name=\"main-content-header\"/>\n\t\t\t\t</template>\n\t\t\t\t<template #main-content-no-selected-group-stub>\n\t\t\t\t\t<slot name=\"main-content-no-selected-group-stub\"/>\n\t\t\t\t</template>\n\t\t\t\t<template #main-content-filter-stub v-if=\"$slots['main-content-filter-stub']\">\n\t\t\t\t\t<slot name=\"main-content-filter-stub\"/>\n\t\t\t\t</template>\n\t\t\t\t<template #main-content-filter-stub-title v-if=\"$slots['main-content-filter-stub-title']\">\n\t\t\t\t\t<slot name=\"main-content-filter-stub-title\"/>\n\t\t\t\t</template>\n\t\t\t\t<template #main-content-search-not-found-stub>\n\t\t\t\t\t<slot name=\"main-content-search-not-found-stub\"/>\n\t\t\t\t</template>\n\t\t\t\t<template #main-content-empty-group-stub>\n\t\t\t\t\t<slot name=\"main-content-empty-group-stub\"/>\n\t\t\t\t</template>\n\t\t\t\t<template #main-content-empty-group-stub-title>\n\t\t\t\t\t<slot name=\"main-content-empty-group-stub-title\"/>\n\t\t\t\t</template>\n\t\t\t\t<template #item=\"itemSlotProps\">\n\t\t\t\t\t<slot name=\"item\" v-bind:itemData=\"itemSlotProps.itemData\"/>\n\t\t\t\t</template>\n\t\t\t</MainContent>\n\t\t\t<Teleport v-if=\"getFilterNode()\" :to=\"getFilterNode()\">\n\t\t\t\t<TitleBarFilter\n\t\t\t\t\t:filters=\"filterOptions.filterItems\"\n\t\t\t\t\t:multiple=\"filterOptions.multiple\"\n\t\t\t\t\t@onApplyFilters=\"onApplyFilterClick\"\n\t\t\t\t\t@mousedown=\"stopPropagation\"\n\t\t\t\t/>\n\t\t\t</Teleport>\n\t\t\t<Teleport v-if=\"getSearchNode()\" :to=\"getSearchNode()\">\n\t\t\t\t<Search @onSearch=\"onSearch\" ref=\"search\" @mousedown=\"stopPropagation\"/>\n\t\t\t</Teleport>\n\t\t</div>\n\t`,\n}","import { Loc, Tag, Text, Type } from 'main.core';\nimport { BaseEvent, EventEmitter } from 'main.core.events';\nimport { Popup, PopupOptions } from 'main.popup';\nimport { BitrixVue } from 'ui.vue3';\nimport { createPinia } from 'ui.vue3.pinia';\nimport { Hint } from \"ui.vue3.components.hint\";\nimport { feedback} from \"./directives/feedback\";\n\nimport { Application } from './components/application';\nimport { Button } from './components/button';\n\nimport 'ui.forms';\n\nimport './css/popup.css';\n\nimport type { GroupData } from './types/group';\nimport type { ItemData } from './types/item';\nimport type { FilterData} from './types/filter';\n\nexport type {\n\tGroupData,\n\tItemData,\n\tFilterData,\n};\n\nimport { EmptyContent } from './components/stubs/empty-content';\n\nimport { useGlobalState } from './stores/global-state';\n\nexport const Stubs = {\n\tEmptyContent,\n}\n\nexport const States = {\n\tuseGlobalState,\n}\n\nexport class EntityCatalog extends EventEmitter\n{\n\tstatic DEFAULT_POPUP_WIDTH = 881;\n\tstatic DEFAULT_POPUP_HEIGHT = 621;\n\tstatic DEFAULT_POPUP_COLOR = '#edeef0';\n\n\tstatic SLOT_GROUP_LIST_HEADER = 'group-list-header';\n\tstatic SLOT_GROUP = 'group';\n\tstatic SLOT_GROUP_LIST_FOOTER = 'group-list-footer';\n\tstatic SLOT_MAIN_CONTENT_HEADER = 'main-content-header';\n\tstatic SLOT_MAIN_CONTENT_FILTERS_STUB = 'main-content-filter-stub';\n\tstatic SLOT_MAIN_CONTENT_FILTERS_STUB_TITLE = 'main-content-filter-stub-title';\n\tstatic SLOT_MAIN_CONTENT_SEARCH_NOT_FOUND = 'search-not-found';\n\tstatic SLOT_MAIN_CONTENT_NO_SELECTED_GROUP_STUB = 'main-content-no-selected-group-stub';\n\tstatic SLOT_MAIN_CONTENT_EMPTY_GROUP_STUB = 'main-content-empty-group-stub';\n\tstatic SLOT_MAIN_CONTENT_EMPTY_GROUP_STUB_TITLE = 'main-content-empty-group-stub-title';\n\tstatic SLOT_MAIN_CONTENT_ITEM = 'main-content-item';\n\n\t#popup: ?Popup;\n\t#popupOptions: PopupOptions;\n\t#popupTitle: string;\n\t#customTitleBar: Element = null;\n\n\t#groups: Array<Array<GroupData>> = [];\n\t#items: Array<Item> = [];\n\t#recentGroupData: ?GroupData;\n\t#showEmptyGroups: boolean = false;\n\t#showRecentGroup: boolean = false;\n\t#showSearch: boolean = false;\n\t#filterOptions: {\n\t\tfilterItems: Array<FilterData>,\n\t\tmultiple: boolean,\n\t} = {\n\t\tfilterItems: [],\n\t\tmultiple: false,\n\t};\n\t#application;\n\t#slots: object;\n\t#customComponents: object;\n\n\tconstructor(props: {\n\t\tgroups?: Array<Array<GroupData>>,\n\t\titems?: Array<ItemData>,\n\t\trecentGroupData?: GroupData,\n\t\tshowEmptyGroups?: boolean,\n\t\tshowRecentGroup?: boolean,\n\t\tshowSearch?: boolean,\n\t\tfilterOptions?: {\n\t\t\tfilterItems: Array<FilterData>,\n\t\t\tmultiple: boolean,\n\t\t},\n\t\tpopupOptions?: PopupOptions,\n\t\tcustomTitleBar?: string,\n\t\ttitle?: string,\n\t\tslots?: object,\n\t\tevents?: { [eventName: string]: (event: BaseEvent) => void },\n\t\tcustomComponents?: object,\n\t})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.UI.EntityCatalog');\n\n\t\tthis.setGroups(Type.isArray(props.groups) ? props.groups : []);\n\t\tthis.setItems(Type.isArray(props.items) ? props.items : []);\n\t\tthis.#recentGroupData = props.recentGroupData;\n\t\tthis.#showEmptyGroups = Type.isBoolean(props.showEmptyGroups) ? props.showEmptyGroups : false;\n\t\tthis.#showRecentGroup = Type.isBoolean(props.showRecentGroup) ? props.showRecentGroup : false;\n\t\tthis.#showSearch = Type.isBoolean(props.showSearch) ? props.showSearch : false;\n\n\t\tif (Type.isPlainObject(props.filterOptions))\n\t\t{\n\t\t\tthis.#filterOptions = props.filterOptions;\n\t\t}\n\n\t\tthis.#popupTitle = Type.isString(props.title) ? props.title : '';\n\t\tthis.#customTitleBar = props.customTitleBar ? props.customTitleBar : null;\n\t\tthis.#popupOptions = Object.assign(\n\t\t\tthis.#getDefaultPopupOptions(),\n\t\t\tType.isObject(props.popupOptions) ? props.popupOptions : {}\n\t\t);\n\t\tthis.#slots = props.slots ?? {};\n\t\tthis.#customComponents = props.customComponents ?? {};\n\n\t\tthis.subscribeFromOptions(props.events);\n\t}\n\n\tsetGroups(groups: Array<Array<GroupData> | GroupData>): this\n\t{\n\t\tthis.#groups = groups.map((groupList) => {\n\t\t\tif (!Type.isArray(groupList))\n\t\t\t{\n\t\t\t\tgroupList = [groupList]\n\t\t\t}\n\n\t\t\treturn groupList.map(group => ({\n\t\t\t\tselected: false,\n\t\t\t\t...group\n\t\t\t}));\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tgetItems(): Array<ItemData>\n\t{\n\t\treturn this.#items;\n\t}\n\n\tsetItems(items: Array<ItemData>): this\n\t{\n\t\titems = items.map(item => ({\n\t\t\tbutton: {},\n\t\t\t...item\n\t\t}));\n\n\t\tthis.#items.length = 0;\n\t\tthis.#items.push(...items);\n\n\t\treturn this;\n\t}\n\n\tshow()\n\t{\n\t\tthis.#attachTemplate();\n\t\tthis.getPopup().show();\n\t}\n\n\tisShown(): boolean\n\t{\n\t\treturn this.#popup && this.#popup.isShown();\n\t}\n\n\t#attachTemplate()\n\t{\n\t\tconst context = this;\n\n\t\tconst rootProps = {\n\t\t\trecentGroupData: this.#recentGroupData,\n\t\t\tgroups: this.#groups,\n\t\t\titems: this.#items,\n\t\t\tshowEmptyGroups: this.#showEmptyGroups,\n\t\t\tshowRecentGroups: this.#showRecentGroup,\n\t\t\tfilterOptions: this.#filterOptions,\n\t\t};\n\n\t\tthis.#application = BitrixVue.createApp(\n\t\t\t{\n\t\t\t\tname: 'ui-entity-catalog',\n\t\t\t\tcomponents: Object.assign(this.#customComponents, {\n\t\t\t\t\tApplication,\n\t\t\t\t\tHint,\n\t\t\t\t\tButton,\n\t\t\t\t}),\n\t\t\t\tdirectives: {\n\t\t\t\t\tfeedback\n\t\t\t\t},\n\t\t\t\tprops: {\n\t\t\t\t\trecentGroupData: Object,\n\t\t\t\t\tgroups: Array,\n\t\t\t\t\titems: Array,\n\t\t\t\t\tshowEmptyGroups: Boolean,\n\t\t\t\t\tshowRecentGroups: Boolean,\n\t\t\t\t\tfilterOptions: Object,\n\t\t\t\t},\n\t\t\t\tcreated()\n\t\t\t\t{\n\t\t\t\t\tthis.$app = context;\n\t\t\t\t},\n\t\t\t\ttemplate: `\n\t\t\t\t\t<Application\n\t\t\t\t\t\t:recent-group-data=\"recentGroupData\"\n\t\t\t\t\t\t:groups=\"groups\"\n\t\t\t\t\t\t:items=\"items\"\n\t\t\t\t\t\t:show-empty-groups=\"showEmptyGroups\"\n\t\t\t\t\t\t:show-recent-group=\"showRecentGroups\"\n\t\t\t\t\t\t:filter-options=\"filterOptions\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template #group-list-header>\n\t\t\t\t\t\t\t${this.#slots[EntityCatalog.SLOT_GROUP_LIST_HEADER] ?? ''}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #group=\"groupSlotProps\">\n\t\t\t\t\t\t\t${this.#slots[EntityCatalog.SLOT_GROUP] ?? ''}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #group-list-footer>\n\t\t\t\t\t\t\t${this.#slots[EntityCatalog.SLOT_GROUP_LIST_FOOTER] ?? ''}\n\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t<template #main-content-header>\n\t\t\t\t\t\t\t${this.#slots[EntityCatalog.SLOT_MAIN_CONTENT_HEADER] ?? ''}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #main-content-filter-stub v-if=\"${!!this.#slots[EntityCatalog.SLOT_MAIN_CONTENT_FILTERS_STUB]}\">\n\t\t\t\t\t\t\t${this.#slots[EntityCatalog.SLOT_MAIN_CONTENT_FILTERS_STUB]}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #main-content-filter-stub-title v-if=\"${!!this.#slots[EntityCatalog.SLOT_MAIN_CONTENT_FILTERS_STUB_TITLE]}\">\n\t\t\t\t\t\t\t${this.#slots[EntityCatalog.SLOT_MAIN_CONTENT_FILTERS_STUB_TITLE]}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #main-content-search-not-found-stub>\n\t\t\t\t\t\t\t${\n\t\t\t\t\t\t\t\tthis.#slots[EntityCatalog.SLOT_MAIN_CONTENT_SEARCH_NOT_FOUND]\n\t\t\t\t\t\t\t\t?? Loc.getMessage('UI_JS_ENTITY_CATALOG_GROUP_LIST_ITEM_LIST_SEARCH_STUB_DEFAULT_TITLE')\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #main-content-no-selected-group-stub>\n\t\t\t\t\t\t\t${this.#slots[EntityCatalog.SLOT_MAIN_CONTENT_NO_SELECTED_GROUP_STUB] ?? ''}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #main-content-empty-group-stub>\n\t\t\t\t\t\t\t${this.#slots[EntityCatalog.SLOT_MAIN_CONTENT_EMPTY_GROUP_STUB] ?? ''}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #main-content-empty-group-stub-title>\n\t\t\t\t\t\t\t${this.#slots[EntityCatalog.SLOT_MAIN_CONTENT_EMPTY_GROUP_STUB_TITLE] ?? ''}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template #item=\"itemSlotProps\">\n\t\t\t\t\t\t\t${this.#slots[EntityCatalog.SLOT_MAIN_CONTENT_ITEM] ?? ''}\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</Application>\n\t\t\t\t`,\n\t\t\t},\n\t\t\trootProps\n\t\t);\n\n\t\tthis.#application.use(createPinia()).mount(this.getPopup().getContentContainer());\n\t}\n\n\tgetPopup(): Popup\n\t{\n\t\tif (Type.isNil(this.#popup))\n\t\t{\n\t\t\tthis.#popup = new Popup(this.#popupOptions);\n\n\t\t\tthis.#popup.setResizeMode(true);\n\t\t}\n\n\t\treturn this.#popup;\n\t}\n\n\t#getDefaultPopupOptions(): PopupOptions\n\t{\n\t\treturn {\n\t\t\tclassName: 'ui-catalog-popup ui-entity-catalog__scope',\n\t\t\ttitleBar: this.#getPopupTitleBar(),\n\t\t\tnoAllPaddings: true,\n\t\t\tcloseByEsc: true,\n\t\t\tcontentBackground: EntityCatalog.DEFAULT_POPUP_COLOR,\n\t\t\tdraggable: true,\n\t\t\twidth: EntityCatalog.DEFAULT_POPUP_WIDTH,\n\t\t\theight: EntityCatalog.DEFAULT_POPUP_HEIGHT,\n\t\t\tminWidth: EntityCatalog.DEFAULT_POPUP_WIDTH,\n\t\t\tminHeight: EntityCatalog.DEFAULT_POPUP_HEIGHT,\n\t\t\tautoHide: false,\n\t\t};\n\t}\n\n\t#getPopupTitleBar(): Object\n\t{\n\t\tconst titleBar =\n\t\t\tthis.#customTitleBar\n\t\t\t\t? this.#customTitleBar\n\t\t\t\t: Tag.render`<div>${Text.encode(this.#popupTitle)}</div>`\n\t\t;\n\n\t\treturn {\n\t\t\tcontent: Tag.render`\n\t\t\t\t<div class=\"popup-window-titlebar-text ui-entity-catalog-popup-titlebar\">\n\t\t\t\t\t${titleBar}\n\t\t\t\t\t\n\t\t\t\t\t${this.#showSearch ? `<div class=\"ui-entity-catalog__titlebar_search\" data-role=\"titlebar-search\"></div>` : ''}\n\t\t\t\t\t${this.#filterOptions.filterItems.length > 0 ? '<div data-role=\"titlebar-filter\"></div>' : ''}\n\t\t\t\t\t<span\n\t\t\t\t\t\tclass=\"popup-window-close-icon popup-window-titlebar-close-icon\"\n\t\t\t\t\t\tonclick=\"${this.#handleClose.bind(this)}\"\n\t\t\t\t\t\t></span>\n\t\t\t\t</div>\n\t\t\t`\n\t\t};\n\t}\n\n\t#handleClose(): void\n\t{\n\t\tthis.close();\n\t}\n\n\tclose()\n\t{\n\t\tthis.#application.unmount();\n\t\tthis.getPopup().close();\n\t}\n}"],"names":["feedback","beforeMount","element","bindings","Event","bind","event","preventDefault","BX","UI","Feedback","Form","open","value","Group","emits","name","props","groupData","type","GroupData","required","computed","hasIcon","Type","isStringFilled","icon","methods","handleClick","$emit","selected","template","GroupList","components","groups","Array","handleGroupSelected","group","handleGroupUnselected","MainGroups","recentGroupData","showRecentGroup","Boolean","default","searching","data","recentGroup","getRecentGroup","Object","assign","selectedGroup","find","shownGroups","watch","newGroup","newGroupId","id","map","groupList","beforeUpdate","Loc","getMessage","handleRecentGroupSelected","ItemListAdvice","getAvatar","adviceAvatar","renderAdvice","Dom","clean","$refs","container","advice","Advice","content","adviceTitle","avatarImg","anglePosition","AnglePosition","BOTTOM","renderTo","mounted","updated","Button","buttonData","ButtonData","eventData","buttonText","text","handleButtonClick","pointerEvent","BaseEvent","originalEvent","isFunction","action","call","Item","itemData","ItemData","isPlainObject","button","ItemList","items","EmptyContent","useGlobalState","defineStore","state","searchApplied","filtersApplied","currentGroup","MainContent","itemsToShow","mapState","showAdvice","hasItems","length","showNoSelectedGroupStub","showFiltersStub","hasFilterStubTitle","$slots","showSearchStub","showEmptyGroupStub","showSeparator","scrollTop","TitleBarFilter","filters","multiple","appliedFilters","getAppliedFilters","allFilters","showMenu","MenuManager","create","bindElement","$el","minWidth","autoHide","contentColor","draggable","cacheable","getItems","show","key","html","Tag","render","Text","encode","applied","append","push","onclick","item","clearAllAction","getMenuWindow","close","delimiter","getClearAllFilter","filter","keys","Search","opened","debounceSearchHandler","queryString","showClearSearch","newString","created","debounce","onSearch","target","openSearch","$nextTick","focus","toString","clearSearch","Application","showEmptyGroups","filterOptions","filterItems","isNil","selectedGroupId","shownItems","getDisplayedGroup","lastSearchString","itemsBySelectedGroupId","groupIds","some","compare","sort","mapWritableState","globalGroup","applyFilters","Runtime","clone","groupIdsWithItems","Set","forEach","groupId","add","has","search","getData","toLowerCase","String","title","includes","description","tags","tag","onApplyFilterClick","values","filterId","getFilterNode","$root","$app","getPopup","getTitleContainer","querySelector","getSearchNode","stopPropagation","Stubs","States","EntityCatalog","EventEmitter","constructor","setEventNamespace","setGroups","isArray","setItems","isBoolean","showSearch","isString","customTitleBar","isObject","popupOptions","slots","customComponents","subscribeFromOptions","events","isShown","Popup","setResizeMode","unmount","context","rootProps","showRecentGroups","BitrixVue","createApp","Hint","directives","SLOT_GROUP_LIST_HEADER","SLOT_GROUP","SLOT_GROUP_LIST_FOOTER","SLOT_MAIN_CONTENT_HEADER","SLOT_MAIN_CONTENT_FILTERS_STUB","SLOT_MAIN_CONTENT_FILTERS_STUB_TITLE","SLOT_MAIN_CONTENT_SEARCH_NOT_FOUND","SLOT_MAIN_CONTENT_NO_SELECTED_GROUP_STUB","SLOT_MAIN_CONTENT_EMPTY_GROUP_STUB","SLOT_MAIN_CONTENT_EMPTY_GROUP_STUB_TITLE","SLOT_MAIN_CONTENT_ITEM","use","createPinia","mount","getContentContainer","className","titleBar","noAllPaddings","closeByEsc","contentBackground","DEFAULT_POPUP_COLOR","width","DEFAULT_POPUP_WIDTH","height","DEFAULT_POPUP_HEIGHT","minHeight"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.27 |
proxy
|
phpinfo
|
Settings