Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/ui/dialogs/checkbox-list/dist/ |
Upload File : |
{"version":3,"file":"bundle.js","sources":["../src/option.js","../src/category.js","../src/controls/checkbox-component.js","../src/controls/texttoggle-component.js","../src/sections.js","../src/content.js","../src/checkbox-list.js"],"sourcesContent":["import { EventEmitter } from 'main.core.events';\n\nconst viewMode = {\n\tview: 'view',\n\tedit: 'edit',\n};\n\nexport const CheckboxListOption = {\n\tprops: [\n\t\t'id',\n\t\t'title',\n\t\t'isChecked',\n\t\t'isLocked',\n\t\t'isEditable',\n\t\t'context',\n\t],\n\n\temits: [\n\t\t'onToggleOption',\n\t],\n\n\tdata()\n\t{\n\t\treturn {\n\t\t\tviewMode: viewMode.view,\n\t\t\ttitleData: this.title,\n\t\t\tisCheckedValue: this.isChecked,\n\t\t};\n\t},\n\n\tmethods: {\n\t\tgetId(): string\n\t\t{\n\t\t\treturn this.id;\n\t\t},\n\t\tgetValue(): boolean\n\t\t{\n\t\t\treturn this.isCheckedValue;\n\t\t},\n\t\tsetValue(value: boolean): void\n\t\t{\n\t\t\tthis.isCheckedValue = value;\n\t\t},\n\t\tgetTitle(): string\n\t\t{\n\t\t\treturn this.$refs.title?.innerText ?? this.titleData;\n\t\t},\n\t\tsetTitle(title: string): void\n\t\t{\n\t\t\tthis.titleData = title;\n\t\t},\n\t\tsetStateFromProps(value: ?boolean = null): void\n\t\t{\n\t\t\tthis.viewMode = viewMode.view;\n\t\t\tthis.titleData = this.title;\n\t\t\tthis.isCheckedValue = (value === null ? this.isChecked : value);\n\t\t},\n\t\tgetOptionClassName({ isChecked, isLocked }): []\n\t\t{\n\t\t\treturn [\n\t\t\t\t'ui-ctl',\n\t\t\t\t'ui-ctl-checkbox',\n\t\t\t\t'ui-checkbox-list__field-item_label',\n\t\t\t\t{ '--checked': isChecked },\n\t\t\t\t{ '--disabled': isLocked },\n\t\t\t\t{ '--editable': !(this.isViewMode || isLocked) },\n\t\t\t];\n\t\t},\n\t\tgetLabelClassName(): []\n\t\t{\n\t\t\treturn [\n\t\t\t\t'ui-ctl-label-text',\n\t\t\t\t'ui-checkbox-list__field-item_text',\n\t\t\t\t{ '--editable': (this.isEditMode && !this.isLocked) },\n\t\t\t];\n\t\t},\n\t\temitHandleCheckBox(event): void\n\t\t{\n\t\t\tsetTimeout(() => {\n\t\t\t\tconst { id, title, isChecked, isLocked, isEditable, context } = this;\n\n\t\t\t\tEventEmitter.emit(\n\t\t\t\t\t'ui:checkbox-list:check-option',\n\t\t\t\t\t{\n\t\t\t\t\t\tid,\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tisChecked,\n\t\t\t\t\t\tisLocked,\n\t\t\t\t\t\tisEditable,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tviewMode: this.viewMode,\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t});\n\t\t},\n\t\thandleCheckBox(event): void\n\t\t{\n\t\t\tif (this.isLocked)\n\t\t\t{\n\t\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\t\tevent.target.checked = !event.target.checked;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.isCheckedValue = !this.isCheckedValue;\n\t\t\t}\n\n\t\t\tconst { id, title, isLocked, isCheckedValue, isEditable, context } = this;\n\n\t\t\tthis.$emit('onToggleOption', {\n\t\t\t\tid,\n\t\t\t\ttitle,\n\t\t\t\tisChecked: isCheckedValue,\n\t\t\t\tisLocked,\n\t\t\t\tisEditable,\n\t\t\t\tcontext,\n\t\t\t\tviewMode: this.viewMode,\n\t\t\t});\n\t\t},\n\t\tonToggleViewMode(): void\n\t\t{\n\t\t\tthis.viewMode = this.isEditMode ? viewMode.view : viewMode.edit;\n\n\t\t\tif (this.viewMode === viewMode.view)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvoid this.$nextTick(() => this.setFocusOnTitle());\n\t\t},\n\t\tsetFocusOnTitle(): void\n\t\t{\n\t\t\tthis.$refs.title.focus();\n\n\t\t\tconst range = document.createRange();\n\t\t\tconst selection = window.getSelection();\n\n\t\t\trange.selectNodeContents(this.$refs.title);\n\t\t\trange.collapse(false);\n\n\t\t\tselection.removeAllRanges();\n\t\t\tselection.addRange(range);\n\t\t},\n\t\tonChangeTitle({ target }): void\n\t\t{\n\t\t\tthis.titleData = target.innerText;\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tisEditMode(): boolean\n\t\t{\n\t\t\treturn this.viewMode === viewMode.edit;\n\t\t},\n\t\tisViewMode(): boolean\n\t\t{\n\t\t\treturn this.viewMode === viewMode.view;\n\t\t},\n\t\tlabelClassName(): string\n\t\t{\n\t\t\treturn this.getLabelClassName();\n\t\t},\n\t},\n\n\ttemplate: `\n\t\t<label\n\t\t\t:title=\"titleData\"\n\t\t\t:class=\"getOptionClassName({ isChecked: isCheckedValue, isLocked })\"\n\t\t\t@click=\"this.emitHandleCheckBox\"\n\t\t>\n\t\t\t<input\n\t\t\t\ttype=\"checkbox\"\n\t\t\t\tclass=\"ui-ctl-element ui-checkbox-list__field-item_input\"\n\t\t\t\t:checked=\"isCheckedValue\"\n\t\t\t\t@click=\"this.handleCheckBox\"\n\t\t\t>\n\t\t\t<div\n\t\t\t\t:class=\"labelClassName\"\n\t\t\t\t:contenteditable=\"(isViewMode || isLocked) ? 'false' : 'true'\"\n\t\t\t\t@keydown.enter.prevent\n\t\t\t\t@blur=\"onChangeTitle\"\n\t\t\t\tref=\"title\"\n\t\t\t>\n\t\t\t\t{{ titleData }}\n\t\t\t</div>\n\t\n\t\t\t<div v-if=\"isLocked\" class=\"ui-checkbox-list__field-item_locked\"></div>\n\t\t\t<div\n\t\t\t\tv-else-if=\"isEditable\"\n\t\t\t\tclass=\"ui-checkbox-list__field-item_edit\"\n\t\t\t\t@click.prevent=\"onToggleViewMode\"\n\t\t\t></div>\n\t\t</label>\n\t`,\n};\n","import { CheckboxListOption } from './option';\n\nexport const CheckboxListCategory = {\n\tprops: [\n\t\t'columnCount',\n\t\t'category',\n\t\t'options',\n\t\t'context',\n\t\t'isActiveSearch',\n\t\t'isEditableOptionsTitle',\n\t\t'onChange',\n\t\t'setOptionRef',\n\t],\n\n\temits: [\n\t\t'onToggleOption',\n\t],\n\n\tcomponents: {\n\t\tCheckboxListOption,\n\t},\n\n\tmethods: {\n\t\tsetRef(ref)\n\t\t{\n\t\t\tif (ref)\n\t\t\t{\n\t\t\t\tthis.setOptionRef(ref.getId(), ref);\n\t\t\t}\n\t\t},\n\t\tonToggleOption(event)\n\t\t{\n\t\t\tthis.$emit('onToggleOption', event);\n\t\t},\n\t},\n\n\ttemplate: `\n\t\t<div\n\t\t\tv-if=\"options.length > 0 || !isActiveSearch\"\n\t\t\tclass=\"ui-checkbox-list__category\"\n\t\t>\n\t\t\t<div v-if=\"category\" class=\"ui-checkbox-list__categories-title\">\n\t\t\t\t{{ category.title }}\n\t\t\t</div>\n\t\t\t<div \n\t\t\t\tclass=\"ui-checkbox-list__options\"\n\t\t\t\t:style=\"{ 'column-count': columnCount }\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"option in options\"\n\t\t\t\t\t:key=\"option.id\"\n\t\t\t\t>\n\t\t\t\t\t<checkbox-list-option\n\t\t\t\t\t\t:context=\"context\"\n\t\t\t\t\t\t:id=\"option.id\"\n\t\t\t\t\t\t:title=\"option.title\"\n\t\t\t\t\t\t:isChecked=\"option.value\"\n\t\t\t\t\t\t:isLocked=\"option?.locked\"\n\t\t\t\t\t\t:isEditable=\"isEditableOptionsTitle\"\n\t\t\t\t\t\t:ref=\"setRef\"\n\t\t\t\t\t\t@onToggleOption=\"onToggleOption\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t`,\n};\n","export const CheckboxComponent = {\n\tprops: [\n\t\t'id',\n\t\t'title',\n\t],\n\n\tdata(): Object\n\t{\n\t\treturn {\n\t\t\tdataTitle: this.title,\n\t\t\tdataId: this.id,\n\t\t\tchecked: false,\n\t\t};\n\t},\n\n\tmethods: {\n\t\thandleClick(key): void\n\t\t{\n\t\t\tthis.checked = !this.checked;\n\n\t\t\tthis.$emit('onToggled', this.checked);\n\t\t},\n\t},\n\n\ttemplate: `\n\t\t<div class=\"ui-checkbox-list__footer-custom-element --checkbox\" @click=\"handleClick\">\n\t\t\t<input type=\"checkbox\" :name=\"dataId\" v-model=\"checked\">\n\t\t\t<label :for=\"dataId\">{{ dataTitle }}</label>\n\t\t</div>\n\t`,\n};\n","import { Type } from 'main.core';\n\nexport const TextToggleComponent = {\n\tprops: [\n\t\t'id',\n\t\t'title',\n\t\t'dataItems',\n\t],\n\n\tdata(): Object\n\t{\n\t\treturn {\n\t\t\tdataTitle: this.title,\n\t\t\tdataId: this.id,\n\t\t\tvalue: null,\n\t\t};\n\t},\n\n\tmethods: {\n\t\thandleClick(key): void\n\t\t{\n\t\t\tlet index = this.dataItems.findIndex((item) => item.value === this.value);\n\t\t\tif (index >= this.dataItems.length - 1)\n\t\t\t{\n\t\t\t\tindex = 0;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tindex++;\n\t\t\t}\n\n\t\t\tthis.value = this.dataItems[index].value;\n\n\t\t\tthis.$emit('onToggled', this.value);\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tcurrentLabel(): string\n\t\t{\n\t\t\tif (this.value === null && Type.isArrayFilled(this.dataItems))\n\t\t\t{\n\t\t\t\tthis.value = this.dataItems[0].value;\n\n\t\t\t\treturn this.dataItems[0].label;\n\t\t\t}\n\n\t\t\treturn this.dataItems.find((item) => item.value === this.value)?.label;\n\t\t},\n\t},\n\n\ttemplate: `\n\t\t<div class=\"ui-checkbox-list__footer-custom-element --texttoggle\" @click=\"handleClick\">\n\t\t\t<span class=\"ui-checkbox-list__texttoggle__title\">{{ dataTitle }}</span>\n\t\t\t<span class=\"ui-checkbox-list__texttoggle__value\">{{ currentLabel }}</span>\n\t\t\t<input type=\"hidden\" :name=\"dataId\" v-model=\"value\">\n\t\t</div>\n\t`,\n};\n","export const CheckboxListSections = {\n\tprops: [\n\t\t'sections',\n\t],\n\n\tmethods: {\n\t\thandleClick(key)\n\t\t{\n\t\t\tthis.$emit('sectionToggled', key);\n\t\t},\n\t\tgetSectionsItemClassName(sectionValue)\n\t\t{\n\t\t\treturn [\n\t\t\t\t'ui-checkbox-list__sections-item',\n\t\t\t\t{ '--checked': sectionValue },\n\t\t\t];\n\t\t},\n\t},\n\n\ttemplate: `\n\t\t<div class=\"ui-checkbox-list__sections\">\n\t\t\t<div \n\t\t\t\tv-for=\"section in sections\"\n\t\t\t\t:key=\"section.key\"\n\t\t\t\t:title=\"section.title\"\n\t\t\t\t:class=\"getSectionsItemClassName(section.value)\"\n\t\t\t\t@click=\"handleClick(section.key)\"\n\t\t\t>\n\t\t\t\t<div class=\"ui-checkbox-list__check-box\"></div>\n\t\t\t\t<div class=\"ui-checkbox-list__section_title\">{{ section.title }}</div>\n\t\t\t</div>\n\t\t</div>\n\t`,\n}","import { Loc, Type } from 'main.core';\nimport { BaseEvent, EventEmitter } from 'main.core.events';\nimport 'ui.forms';\nimport 'ui.switcher';\nimport { CheckboxListCategory } from './category';\nimport type { CheckboxListOption } from './checkbox-list';\nimport { CheckboxListParams } from './checkbox-list';\nimport { CheckboxComponent } from './controls/checkbox-component';\nimport { TextToggleComponent } from './controls/texttoggle-component';\nimport { CheckboxListSections } from './sections';\n\nexport const Content = {\n\tcomponents: {\n\t\tCheckboxListSections,\n\t\tCheckboxListCategory,\n\t\tCheckboxComponent,\n\t\tTextToggleComponent,\n\t},\n\n\tprops: [\n\t\t'dialog',\n\t\t'popup',\n\t\t'columnCount',\n\t\t'compactField',\n\t\t'customFooterElements',\n\t\t'lang',\n\t\t'sections',\n\t\t'categories',\n\t\t'options',\n\t\t'params',\n\t\t'context',\n\t],\n\n\tdata()\n\t{\n\t\treturn {\n\t\t\tdataSections: this.sections,\n\t\t\tdataCategories: this.categories,\n\t\t\tdataCompactField: this.compactField,\n\t\t\tdataOptions: this.getPreparedDataOptions(),\n\t\t\tdataParams: this.getPreparedParams(),\n\n\t\t\toptionsRef: new Map(),\n\t\t\tsearch: '',\n\t\t\tlongContent: false,\n\t\t\tscrollIsBottom: true,\n\t\t\tscrollIsTop: false,\n\t\t};\n\t},\n\n\tmethods: {\n\t\tgetPreparedDataOptions(): Map<string, CheckboxListOption>\n\t\t{\n\t\t\treturn new Map(this.options.map((option) => [option.id, option]));\n\t\t},\n\t\tgetPreparedParams(): CheckboxListParams\n\t\t{\n\t\t\tconst { params } = this;\n\n\t\t\treturn {\n\t\t\t\tuseSearch: Boolean(params.useSearch ?? true),\n\t\t\t\tuseSectioning: Boolean(params.useSectioning ?? true),\n\t\t\t\tcloseAfterApply: Boolean(params.closeAfterApply ?? true),\n\t\t\t\tshowBackToDefaultSettings: Boolean(params.showBackToDefaultSettings ?? true),\n\t\t\t\tisEditableOptionsTitle: Boolean(params.isEditableOptionsTitle ?? false),\n\t\t\t\tdestroyPopupAfterClose: Boolean(params.destroyPopupAfterClose ?? true),\n\t\t\t};\n\t\t},\n\t\trenderSwitcher()\n\t\t{\n\t\t\tif (this.dataCompactField)\n\t\t\t{\n\t\t\t\tnew BX.UI.Switcher({\n\t\t\t\t\tnode: this.$refs.switcher,\n\t\t\t\t\tchecked: this.dataCompactField.value,\n\t\t\t\t\tsize: 'small',\n\t\t\t\t\thandlers: {\n\t\t\t\t\t\ttoggled: () => this.handleSwitcherToggled(),\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\t\thandleSwitcherToggled()\n\t\t{\n\t\t\tif (this.dataCompactField)\n\t\t\t{\n\t\t\t\tthis.dataCompactField.value = !this.dataCompactField.value;\n\t\t\t}\n\t\t},\n\t\tclearSearch()\n\t\t{\n\t\t\tthis.search = '';\n\t\t},\n\t\thandleClearSearchButtonClick()\n\t\t{\n\t\t\tthis.setFocusToSearchInput();\n\t\t\tthis.clearSearch();\n\t\t},\n\t\tsetFocusToSearchInput()\n\t\t{\n\t\t\tthis.$refs?.searchInput?.focus();\n\t\t},\n\t\thandleSectionsToggled(key)\n\t\t{\n\t\t\tconst section = this.dataSections.find((item) => item.key === key);\n\n\t\t\tif (section)\n\t\t\t{\n\t\t\t\tsection.value = !section.value;\n\t\t\t}\n\t\t},\n\t\tgetOptionsByCategory(category = null)\n\t\t{\n\t\t\treturn this.getOptions().filter((item) => item.categoryKey === category);\n\t\t},\n\t\tgetOptions(): CheckboxListOption[]\n\t\t{\n\t\t\treturn this.optionsByTitle;\n\t\t},\n\t\tgetCheckedOptionsId(): string[]\n\t\t{\n\t\t\treturn this.getCheckedOptions().map((option) => option.getId());\n\t\t},\n\t\tgetCheckedOptions(): CheckboxListOption[]\n\t\t{\n\t\t\treturn this.getOptionRefs().filter((option) => option.getValue());\n\t\t},\n\t\tcheckLongContent()\n\t\t{\n\t\t\tif (this.$refs.container)\n\t\t\t{\n\t\t\t\tthis.longContent = this.$refs.container.clientHeight < this.$refs.container.scrollHeight;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.longContent = false;\n\t\t\t}\n\t\t},\n\t\tgetBottomIndent()\n\t\t{\n\t\t\tconst { scrollTop, clientHeight, scrollHeight } = this.$refs.container;\n\n\t\t\tthis.scrollIsBottom = (scrollTop + clientHeight) < scrollHeight - 10;\n\t\t},\n\t\tgetTopIndent()\n\t\t{\n\t\t\tthis.scrollIsTop = this.$refs.container.scrollTop;\n\t\t},\n\t\thandleScroll()\n\t\t{\n\t\t\tthis.getBottomIndent();\n\t\t\tthis.getTopIndent();\n\t\t},\n\t\thandleSearchEscKeyUp() {\n\t\t\tthis.$refs.container.focus();\n\t\t\tthis.clearSearch();\n\t\t},\n\t\tdefaultSettings()\n\t\t{\n\t\t\tconst event = new BaseEvent({\n\t\t\t\tdata: {\n\t\t\t\t\tswitcher: this.dataCompactField,\n\t\t\t\t\tfields: this.getCheckedOptionsId(),\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tEventEmitter.emit(this.dialog, 'onDefault', event);\n\n\t\t\tif (event.isDefaultPrevented())\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tthis.clearSearch();\n\n\t\t\tconst { dataCompactField, sections, categories, $refs } = this;\n\n\t\t\tif (dataCompactField && dataCompactField.value !== dataCompactField.defaultValue)\n\t\t\t{\n\t\t\t\t$refs.switcher.click();\n\t\t\t}\n\n\t\t\tthis.dataSections = sections;\n\t\t\tthis.dataOptions = this.getPreparedDataOptions();\n\t\t\tthis.dataCategories = categories;\n\n\t\t\tthis.setDefaultValuesForOptions();\n\t\t},\n\t\tsetDefaultValuesForOptions(): void\n\t\t{\n\t\t\tvoid this.$nextTick(() => {\n\t\t\t\tthis.getOptionRefs().forEach(\n\t\t\t\t\t(option) => option.setValue(this.dataOptions.get(option.getId()).defaultValue),\n\t\t\t\t);\n\t\t\t});\n\t\t},\n\t\ttoggleOption(id: string): void\n\t\t{\n\t\t\tconst option = this.optionsRef.get(id);\n\t\t\tif (!option)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\toption.setValue(!option.getValue());\n\t\t},\n\t\tonSelectAllClick(): void\n\t\t{\n\t\t\tif (this.isAllSelected)\n\t\t\t{\n\t\t\t\tthis.deselectAll();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.selectAll();\n\t\t\t}\n\t\t},\n\t\tselect(id: string, value: boolean = true): void\n\t\t{\n\t\t\tconst option = this.getOptionRefs().find((item) => item.id === id);\n\t\t\toption?.setValue(value);\n\t\t},\n\t\tselectAll()\n\t\t{\n\t\t\tthis.setValueForAllVisibleOptions(true);\n\t\t},\n\t\tdeselectAll()\n\t\t{\n\t\t\tthis.setValueForAllVisibleOptions(false);\n\t\t},\n\t\tsetValueForAllVisibleOptions(value: boolean): void\n\t\t{\n\t\t\tconst visibleOptionIds: Set<string> = new Set(this.getOptions().map((option) => option.id));\n\n\t\t\tthis.getOptionRefs().forEach((option) => {\n\t\t\t\tif (option.isLocked || !visibleOptionIds.has(option.getId()))\n\t\t\t\t{\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.dataOptions.get(option.getId()).value = value;\n\t\t\t\toption.setValue(value);\n\t\t\t});\n\t\t},\n\t\tgetOptionRefs(): []\n\t\t{\n\t\t\treturn [...this.optionsRef.values()];\n\t\t},\n\t\tcancel(): void\n\t\t{\n\t\t\tEventEmitter.emit(this.dialog, 'onCancel');\n\n\t\t\tthis.restoreOptionValues();\n\t\t\tthis.destroyOrClosePopup();\n\t\t},\n\t\trestoreOptionValues(): void\n\t\t{\n\t\t\tthis.getOptionRefs().forEach((option) => option.setStateFromProps());\n\t\t},\n\t\tapply(): void\n\t\t{\n\t\t\tif (this.isCheckedCheckboxes)\n\t\t\t{\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst fields = this.getCheckedOptionsId();\n\n\t\t\tconst eventParams = {\n\t\t\t\tswitcher: this.dataCompactField,\n\t\t\t\tfields,\n\t\t\t\tdata: {\n\t\t\t\t\ttitles: this.getOptionTitles(),\n\t\t\t\t},\n\t\t\t};\n\t\t\tEventEmitter.emit(this.dialog, 'onApply', eventParams);\n\n\t\t\tthis.adjustOptions(fields);\n\n\t\t\tif (this.dataParams.closeAfterApply)\n\t\t\t{\n\t\t\t\tthis.destroyOrClosePopup();\n\t\t\t}\n\t\t},\n\t\tgetOptionTitles(): {[key: string]: string}[]\n\t\t{\n\t\t\tconst titles = {};\n\n\t\t\tthis.getOptionRefs().forEach((option) => {\n\t\t\t\ttitles[option.getId()] = option.getTitle();\n\t\t\t});\n\n\t\t\treturn titles;\n\t\t},\n\t\tadjustOptions(checkedFieldIds: string[] = []): void\n\t\t{\n\t\t\tfor (const option of this.optionsRef.values())\n\t\t\t{\n\t\t\t\tconst id = option.getId();\n\t\t\t\tconst value = checkedFieldIds.includes(id);\n\n\t\t\t\tthis.dataOptions.set(id, {\n\t\t\t\t\t...this.dataOptions.get(id),\n\t\t\t\t\ttitle: option.getTitle(),\n\t\t\t\t\tvalue,\n\t\t\t\t});\n\n\t\t\t\tvoid this.$nextTick(() => option.setStateFromProps(value));\n\t\t\t}\n\t\t},\n\t\tdestroyOrClosePopup(): void\n\t\t{\n\t\t\tif (this.dataParams.destroyPopupAfterClose)\n\t\t\t{\n\t\t\t\tthis.destroyPopup();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.closePopup();\n\t\t\t}\n\t\t},\n\t\tdestroyPopup()\n\t\t{\n\t\t\tthis.popup.destroy();\n\t\t},\n\t\tclosePopup()\n\t\t{\n\t\t\tthis.popup.close();\n\t\t},\n\t\tsetOptionRef(id: string, ref): void\n\t\t{\n\t\t\tthis.optionsRef.set(id, ref);\n\t\t},\n\t\tisAllSectionsDisabled(): boolean\n\t\t{\n\t\t\treturn (\n\t\t\t\tType.isArrayFilled(this.dataSections)\n\t\t\t\t&& this.dataSections.every((section) => section.value === false)\n\t\t\t);\n\t\t},\n\t\tonToggleOption(event)\n\t\t{\n\t\t\tif (this.dataOptions.has(event.id))\n\t\t\t{\n\t\t\t\tconst option = this.dataOptions.get(event.id);\n\t\t\t\toption.value = event.isChecked;\n\t\t\t\tthis.dataOptions.set(event.id, option);\n\t\t\t}\n\t\t},\n\t},\n\n\twatch: {\n\t\tsearch()\n\t\t{\n\t\t\tvoid this.$nextTick(() => this.checkLongContent());\n\t\t},\n\t\tcategoryBySection()\n\t\t{\n\t\t\tvoid this.$nextTick(() => this.checkLongContent());\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tvisibleOptions()\n\t\t{\n\t\t\tconst { dataSections, optionsByTitle, dataCategories } = this;\n\n\t\t\tif (!Type.isArrayFilled(dataSections))\n\t\t\t{\n\t\t\t\treturn optionsByTitle;\n\t\t\t}\n\n\t\t\treturn optionsByTitle.filter((option) => {\n\t\t\t\tconst category = dataCategories.find((item) => item.key === option.categoryKey);\n\t\t\t\tconst section = dataSections.find((item) => item.key === category.sectionKey);\n\n\t\t\t\treturn section?.value;\n\t\t\t});\n\t\t},\n\t\tisEmptyContent()\n\t\t{\n\t\t\treturn Type.isArrayFilled(this.visibleOptions);\n\t\t},\n\t\t// @temporary temp, waiting for a new ui for this case\n\t\tisNarrowWidth(): boolean\n\t\t{\n\t\t\treturn (window.innerWidth * 0.9 < 500);\n\t\t},\n\t\tisSearchDisabled(): boolean\n\t\t{\n\t\t\tif (Type.isArrayFilled(this.dataSections))\n\t\t\t{\n\t\t\t\treturn !this.dataSections.some((section) => section.value);\n\t\t\t}\n\n\t\t\treturn false;\n\t\t},\n\t\tisCheckedCheckboxes(): boolean\n\t\t{\n\t\t\tfor (const option of this.optionsRef.values())\n\t\t\t{\n\t\t\t\tif (option.getValue() === true && option.locked !== true)\n\t\t\t\t{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn true;\n\t\t},\n\t\toptionsByTitle(): CheckboxListOption[]\n\t\t{\n\t\t\tconst options: CheckboxListOption[] = [...this.dataOptions.values()];\n\n\t\t\treturn options.filter((item) => item.title.toLowerCase().includes(this.search.toLowerCase()));\n\t\t},\n\t\tcategoryBySection()\n\t\t{\n\t\t\tif (!Type.isArrayFilled(this.dataSections))\n\t\t\t{\n\t\t\t\treturn this.dataCategories;\n\t\t\t}\n\n\t\t\treturn this.dataCategories.filter((category) => {\n\t\t\t\tconst section = this.dataSections.find((item) => category.sectionKey === item.key);\n\n\t\t\t\treturn section?.value;\n\t\t\t});\n\t\t},\n\t\twrapperClassName()\n\t\t{\n\t\t\treturn [\n\t\t\t\t'ui-checkbox-list__wrapper',\n\t\t\t\t{ '--long': this.longContent },\n\t\t\t\t{ '--bottom': this.scrollIsBottom },\n\t\t\t\t{ '--top': this.scrollIsTop },\n\t\t\t];\n\t\t},\n\t\tsearchClassName()\n\t\t{\n\t\t\treturn [\n\t\t\t\t'ui-checkbox-list__search',\n\t\t\t\t{ '--disabled': this.isSearchDisabled },\n\t\t\t];\n\t\t},\n\t\tapplyClassName()\n\t\t{\n\t\t\treturn [\n\t\t\t\t'ui-btn ui-btn-primary',\n\t\t\t\t{ 'ui-btn-disabled': this.isCheckedCheckboxes },\n\t\t\t];\n\t\t},\n\t\tselectAllClassName()\n\t\t{\n\t\t\treturn [\n\t\t\t\t'ui-checkbox-list__footer-link --select-all',\n\t\t\t\t{ '--narrow': this.isNarrowWidth },\n\t\t\t];\n\t\t},\n\t\tswitcherText(): string\n\t\t{\n\t\t\treturn (\n\t\t\t\tType.isStringFilled(this.lang.switcher)\n\t\t\t\t\t? this.lang.switcher\n\t\t\t\t\t: Loc.getMessage('UI_CHECKBOX_LIST_DEFAULT_SETTINGS_SWITCHER')\n\t\t\t);\n\t\t},\n\t\tplaceholderText(): string\n\t\t{\n\t\t\treturn (\n\t\t\t\tType.isStringFilled(this.lang.placeholder)\n\t\t\t\t\t? this.lang.placeholder\n\t\t\t\t\t: Loc.getMessage('UI_CHECKBOX_LIST_DEFAULT_SETTINGS_PLACEHOLDER')\n\t\t\t);\n\t\t},\n\t\tdefaultSettingsBtnText(): string\n\t\t{\n\t\t\treturn (\n\t\t\t\tType.isStringFilled(this.lang.defaultBtn)\n\t\t\t\t\t? this.lang.defaultBtn\n\t\t\t\t\t: Loc.getMessage('UI_CHECKBOX_LIST_DEFAULT_SETTINGS_MSGVER_1')\n\t\t\t);\n\t\t},\n\t\tapplyBtnText(): string\n\t\t{\n\t\t\treturn (\n\t\t\t\tType.isStringFilled(this.lang.acceptBtn)\n\t\t\t\t\t? this.lang.acceptBtn\n\t\t\t\t\t: Loc.getMessage('UI_CHECKBOX_LIST_DEFAULT_ACCEPT_BUTTON')\n\t\t\t);\n\t\t},\n\t\tcancelBtnText(): string\n\t\t{\n\t\t\treturn (\n\t\t\t\tType.isStringFilled(this.lang.cancelBtn)\n\t\t\t\t\t? this.lang.cancelBtn\n\t\t\t\t\t: Loc.getMessage('UI_CHECKBOX_LIST_DEFAULT_CANCEL_BUTTON')\n\t\t\t);\n\t\t},\n\t\tselectAllBtnText(): string\n\t\t{\n\t\t\treturn (\n\t\t\t\tType.isStringFilled(this.lang.selectAllBtn)\n\t\t\t\t\t? this.lang.selectAllBtn\n\t\t\t\t\t: Loc.getMessage('UI_CHECKBOX_LIST_DEFAULT_SELECT_ALL_MSGVER_1')\n\t\t\t);\n\t\t},\n\t\temptyStateTitleText(): string\n\t\t{\n\t\t\tif (this.isAllSectionsDisabled())\n\t\t\t{\n\t\t\t\treturn (\n\t\t\t\t\tType.isStringFilled(this.lang.allSectionsDisabledTitle)\n\t\t\t\t\t\t? this.lang.allSectionsDisabledTitle\n\t\t\t\t\t\t: Loc.getMessage('UI_CHECKBOX_LIST_DEFAULT_SETTINGS_EMPTY_STATE_TITLE_MSGVER_1')\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tType.isStringFilled(this.lang.emptyStateTitle)\n\t\t\t\t\t? this.lang.emptyStateTitle\n\t\t\t\t\t: Loc.getMessage('UI_CHECKBOX_LIST_DEFAULT_SETTINGS_EMPTY_STATE_TITLE_MSGVER_1')\n\t\t\t);\n\t\t},\n\t\temptyStateDescriptionText(): string\n\t\t{\n\t\t\tif (this.isAllSectionsDisabled())\n\t\t\t{\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tType.isStringFilled(this.lang.emptyStateDescription)\n\t\t\t\t\t? this.lang.emptyStateDescription\n\t\t\t\t\t: Loc.getMessage('UI_CHECKBOX_LIST_DEFAULT_SETTINGS_EMPTY_STATE_DESCRIPTION_MSGVER_1')\n\t\t\t);\n\t\t},\n\t\tisAllSelected(): boolean\n\t\t{\n\t\t\tconst isAllSelected = this.getOptionRefs()\n\t\t\t\t.filter((option) => !option.isLocked)\n\t\t\t\t.every((option) => option.getValue() === true)\n\t\t\t;\n\t\t\tconst isSomeSelected = this.getOptionRefs()\n\t\t\t\t.filter((option) => !option.isLocked)\n\t\t\t\t.some((option) => option.getValue() === true && !option.isLocked)\n\t\t\t;\n\n\t\t\tif (\n\t\t\t\t!isAllSelected\n\t\t\t\t&& isSomeSelected\n\t\t\t\t&& this.$refs.selectAllCheckbox\n\t\t\t)\n\t\t\t{\n\t\t\t\tthis.$refs.selectAllCheckbox.indeterminate = true;\n\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif (this.$refs.selectAllCheckbox)\n\t\t\t{\n\t\t\t\tthis.$refs.selectAllCheckbox.indeterminate = false;\n\t\t\t}\n\n\t\t\treturn isAllSelected;\n\t\t},\n\t},\n\n\tmounted()\n\t{\n\t\tthis.renderSwitcher();\n\n\t\tvoid this.$nextTick(() => {\n\t\t\tthis.checkLongContent();\n\t\t\tthis.setFocusToSearchInput();\n\t\t});\n\t},\n\n\ttemplate: `\n\t\t<div class=\"ui-checkbox-list\">\n\t\t\t<div\n\t\t\t\tclass=\"ui-checkbox-list__header\"\n\t\t\t\tv-if=\"dataParams.useSearch || (dataSections && dataParams.useSectioning)\"\n\t\t\t>\n\t\t\t\t<div class=\"ui-checkbox-list__header_options\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"dataCompactField\"\n\t\t\t\t\t\tclass=\"ui-checkbox-list__switcher\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ui-checkbox-list__switcher-text\">\n\t\t\t\t\t\t\t{{ switcherText }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"switcher\" ref=\"switcher\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"dataParams.useSearch\"\n\t\t\t\t\t\t:class=\"searchClassName\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"ui-checkbox-list__search-wrapper\">\n\t\t\t\t\t\t\t<div class=\"ui-ctl ui-ctl-textbox ui-ctl-after-icon ui-ctl-w100\">\n\t\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\t\t:placeholder=\"placeholderText\"\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\tclass=\"ui-ctl-element\"\n\t\t\t\t\t\t\t\t\tv-model=\"search\"\n\t\t\t\t\t\t\t\t\t@keyup.esc.stop=\"handleSearchEscKeyUp\"\n\t\t\t\t\t\t\t\t\tref=\"searchInput\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\t\tv-if=\"search.length > 0\"\n\t\t\t\t\t\t\t\t\t@click=\"handleClearSearchButtonClick\"\n\t\t\t\t\t\t\t\t\tclass=\"ui-ctl-after ui-ctl-icon-clear ui-checkbox-list__search-clear\"\n\t\t\t\t\t\t\t\t></button>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t\tclass=\"ui-ctl-after ui-ctl-icon-search\"\n\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<checkbox-list-sections\n\t\t\t\t\tv-if=\"dataSections && dataParams.useSectioning\"\n\t\t\t\t\t:sections=\"dataSections\"\n\t\t\t\t\t@sectionToggled=\"handleSectionsToggled\"\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t<div\n\t\t\t\tref=\"wrapper\"\n\t\t\t\t:class=\"wrapperClassName\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tref=\"container\"\n\t\t\t\t\tclass=\"ui-checkbox-list__container\"\n\t\t\t\t\t@scroll=\"handleScroll\"\n\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\tv-if=\"isEmptyContent\"\n\t\t\t\t>\n\t\t\t\t\t<checkbox-list-category\n\t\t\t\t\t\tv-if=\"dataParams.useSectioning\"\n\t\t\t\t\t\tv-for=\"category in categoryBySection\"\n\t\t\t\t\t\t:key=\"category.key\"\n\t\t\t\t\t\t:context=\"context\"\n\t\t\t\t\t\t:category=\"category\"\n\t\t\t\t\t\t:columnCount=\"columnCount\"\n\t\t\t\t\t\t:options=\"getOptionsByCategory(category.key)\"\n\t\t\t\t\t\t:isActiveSearch=\"search.length > 0\"\n\t\t\t\t\t\t:isEditableOptionsTitle=\"dataParams.isEditableOptionsTitle\"\n\t\t\t\t\t\t:setOptionRef=\"setOptionRef\"\n\t\t\t\t\t\t@onToggleOption=\"onToggleOption\"\n\t\t\t\t\t/>\n\t\n\t\t\t\t\t<checkbox-list-category\n\t\t\t\t\t\tv-else\n\t\t\t\t\t\t:context=\"context\"\n\t\t\t\t\t\t:columnCount=\"columnCount\"\n\t\t\t\t\t\t:options=\"getOptions()\"\n\t\t\t\t\t\t:isActiveSearch=\"search.length > 0\"\n\t\t\t\t\t\t:isEditableOptionsTitle=\"dataParams.isEditableOptionsTitle\"\n\t\t\t\t\t\t:setOptionRef=\"setOptionRef\"\n\t\t\t\t\t\t@onToggleOption=\"onToggleOption\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-else\n\t\t\t\t\tclass=\"ui-checkbox-list__empty\"\n\t\t\t\t>\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc=\"/bitrix/js/ui/dialogs/checkbox-list/images/ui-checkbox-list-empty.svg\"\n\t\t\t\t\t\t:alt=\"emptyStateTitleText\"\n\t\t\t\t\t>\n\t\t\t\t\t<div class=\"ui-checkbox-list__empty-title\">\n\t\t\t\t\t\t{{ emptyStateTitleText }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"ui-checkbox-list__empty-description\">\n\t\t\t\t\t\t{{ emptyStateDescriptionText }}\n\t\t\t\t\t</div>\n\t\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"ui-checkbox-list__options\"\n\t\t\t\t\t\t:style=\"{ 'column-count': columnCount, opacity: 0 }\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<label class=\"ui-ctl\"></label>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"ui-checkbox-list__footer\">\n\t\t\t\t<div class=\"ui-checkbox-list__footer-block --left\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t@click=\"onSelectAllClick()\"\n\t\t\t\t\t\t:class=\"selectAllClassName\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<input \n\t\t\t\t\t\t\ttype=\"checkbox\" \n\t\t\t\t\t\t\tname=\"selectAllCheckbox\"\n\t\t\t\t\t\t\tref=\"selectAllCheckbox\"\n\t\t\t\t\t\t\tv-model=\"isAllSelected\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<label\n\t\t\t\t\t\t\tv-if=\"!isNarrowWidth\"\n\t\t\t\t\t\t\tfor=\"selectAllCheckbox\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ selectAllBtnText }}\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"customFooterElements\"\n\t\t\t\t\t\tv-for=\"customElement in customFooterElements\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<checkbox-component\n\t\t\t\t\t\t\tv-if=\"customElement.type === 'checkbox'\"\n\t\t\t\t\t\t\t:id=\"customElement.id\"\n\t\t\t\t\t\t\t:title=\"customElement.title\"\n\t\t\t\t\t\t\t@onToggled=\"customElement.onClick\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<text-toggle-component\n\t\t\t\t\t\t\tv-if=\"customElement.type === 'textToggle'\"\n\t\t\t\t\t\t\t:id=\"customElement.id\"\n\t\t\t\t\t\t\t:title=\"customElement.title\"\n\t\t\t\t\t\t\t:dataItems=\"customElement.dataItems\"\n\t\t\t\t\t\t\t@onToggled=\"customElement.onClick\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui-checkbox-list__footer-block --right\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"dataParams.showBackToDefaultSettings\"\n\t\t\t\t\t\tclass=\"ui-checkbox-list__footer-link --default\"\n\t\t\t\t\t\t@click=\"defaultSettings()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ defaultSettingsBtnText }}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ui-checkbox-list__footer-block --center\">\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"apply()\"\n\t\t\t\t\t\t:class=\"applyClassName\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ applyBtnText }}\n\t\t\t\t\t</button>\n\t\t\t\t\t<button\n\t\t\t\t\t\t@click=\"cancel()\"\n\t\t\t\t\t\tclass=\"ui-btn ui-btn-link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ cancelBtnText }}\n\t\t\t\t\t</button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t`,\n};\n","import 'checkbox-list.css';\nimport { Dom, Type } from 'main.core';\nimport { EventEmitter } from 'main.core.events';\nimport { Popup, PopupOptions } from 'main.popup';\nimport 'ui.design-tokens';\nimport { BitrixVue, VueCreateAppResult } from 'ui.vue3';\n\nimport { Content } from './content';\n\nexport type CheckboxListEvents = {\n\tonApply?: Function,\n\tonCancel?: Function,\n\tonDefault?: Function,\n}\n\nexport type CheckboxListOptions = {\n\tcontext?: CheckboxListContext;\n\tlang?: CheckboxListLang;\n\tcompactField?: CheckboxListCompactField;\n\tsections?: CheckboxListSection[];\n\tcategories: CheckboxListCategory[];\n\toptions: CheckboxListOption[];\n\tcolumnCount?: number;\n\tpopupOptions?: PopupOptions;\n\tevents: CheckboxListEvents;\n\tparams?: CheckboxListParams;\n\tcustomFooterElements?: Object[];\n\tcloseAfterApply?: boolean;\n}\n\nexport type CheckboxListContext = {\n\tparentType: string;\n}\n\nexport type CheckboxListLang = {\n\ttitle: string,\n\tswitcher: string,\n\tplaceholder: string,\n\tdefaultBtn: string,\n\tacceptBtn: string,\n\tcancelBtn: string,\n\tselectAllBtn: string,\n\tdeselectAllBtn: string,\n}\n\nexport type CheckboxListSection = {\n\tkey: string,\n\ttitle: string,\n\tvalue: boolean,\n}\n\nexport type CheckboxListCategory = {\n\ttitle: string,\n\tsectionKey: string,\n\tkey: string,\n}\n\nexport type CheckboxListOption = {\n\ttitle: string,\n\tvalue: boolean,\n\tcategoryKey: string,\n\tdefaultValue: boolean,\n\tid: string,\n\tlocked?: boolean,\n\tdata?: Object,\n}\n\nexport type CheckboxListCompactField = {\n\tvalue: boolean,\n\tdefaultValue: boolean,\n}\n\nexport type CheckboxListParams = {\n\tuseSearch?: boolean;\n\tuseSectioning?: boolean;\n\tcloseAfterApply?: boolean;\n\tshowBackToDefaultSettings?: boolean;\n\tisEditableOptionsTitle?: boolean;\n\tdestroyPopupAfterClose?: boolean;\n}\n\nexport class CheckboxList extends EventEmitter\n{\n\tlayoutApp: ?VueCreateAppResult = null;\n\tlayoutComponent: ?Object = null;\n\n\tconstructor(options: CheckboxListOptions)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.UI.Dialogs.CheckboxList');\n\t\tthis.subscribeFromOptions(options.events);\n\n\t\tthis.context = Type.isPlainObject(options.context) ? options.context : null;\n\t\tthis.compactField = Type.isPlainObject(options.compactField) ? options.compactField : null;\n\t\tthis.sections = Type.isArray(options.sections) ? options.sections : null;\n\t\tthis.lang = Type.isPlainObject(options.lang) ? options.lang : {};\n\t\tthis.popup = null;\n\t\tthis.columnCount = Type.isNumber(options.columnCount) ? options.columnCount : 4;\n\t\tthis.popupOptions = Type.isPlainObject(options.popupOptions) ? options.popupOptions : {};\n\t\tthis.params = Type.isPlainObject(options.params) ? options.params : {};\n\n\t\tconst useSectioning = (this.params.useSectioning ?? true);\n\t\tif (useSectioning && !Type.isArray(options.categories))\n\t\t{\n\t\t\tthrow new Error('CheckboxList: \"categories\" parameter is required.');\n\t\t}\n\t\tthis.categories = options.categories;\n\n\t\tif (useSectioning && !Type.isArray(options.options))\n\t\t{\n\t\t\tthrow new Error('CheckboxList: \"options\" parameter is required.');\n\t\t}\n\t\tthis.options = options.options;\n\n\t\tthis.customFooterElements = Type.isArrayFilled(options.customFooterElements) ? options.customFooterElements : [];\n\t\tthis.closeAfterApply = Type.isBoolean(options.closeAfterApply) ? options.closeAfterApply : true;\n\t}\n\n\tgetPopup(): Popup\n\t{\n\t\tconst container = Dom.create('div');\n\t\tDom.addClass(container, 'ui-checkbox-list__app-container');\n\n\t\tif (!this.popup)\n\t\t{\n\t\t\tconst { lang, layoutComponent, popupOptions } = this;\n\n\t\t\tconst { innerWidth, innerHeight } = window;\n\n\t\t\tthis.popup = new Popup({\n\t\t\t\tclassName: 'ui-checkbox-list-popup',\n\t\t\t\twidth: 997,\n\t\t\t\tmaxWidth: Math.round(innerWidth * 0.9),\n\t\t\t\toverlay: true,\n\t\t\t\tautoHide: true,\n\t\t\t\tminHeight: 200,\n\t\t\t\tmaxHeight: Math.round(innerHeight * 0.9),\n\t\t\t\tborderRadius: 20,\n\t\t\t\tcontentPadding: 0,\n\t\t\t\tcontentBackground: 'transparent',\n\t\t\t\tanimation: 'fading-slide',\n\t\t\t\ttitleBar: lang.title,\n\t\t\t\tcontent: container,\n\t\t\t\tcloseIcon: true,\n\t\t\t\tcloseByEsc: true,\n\t\t\t\t...popupOptions,\n\t\t\t\tevents: {\n\t\t\t\t\tonPopupClose: () => layoutComponent?.restoreOptionValues(),\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tconst {\n\t\t\t\tcompactField,\n\t\t\t\tcustomFooterElements,\n\t\t\t\tsections,\n\t\t\t\tcategories,\n\t\t\t\toptions,\n\t\t\t\tpopup,\n\t\t\t\tparams,\n\t\t\t\tcontext,\n\t\t\t} = this;\n\n\t\t\tthis.layoutApp = BitrixVue.createApp(\n\t\t\t\tContent,\n\t\t\t\t{\n\t\t\t\t\tcompactField,\n\t\t\t\t\tcustomFooterElements,\n\t\t\t\t\tlang,\n\t\t\t\t\tsections,\n\t\t\t\t\tcategories,\n\t\t\t\t\toptions,\n\t\t\t\t\tpopup,\n\t\t\t\t\tcolumnCount: this.#getColumnCount(),\n\t\t\t\t\tparams,\n\t\t\t\t\tcontext,\n\t\t\t\t\tdialog: this,\n\t\t\t\t},\n\t\t\t);\n\n\t\t\t// eslint-disable-next-line unicorn/consistent-destructuring\n\t\t\tthis.layoutComponent = this.layoutApp.mount(container);\n\t\t}\n\n\t\treturn this.popup;\n\t}\n\n\t#getColumnCount(): number\n\t{\n\t\tlet { columnCount } = this;\n\t\tconst { innerWidth } = window;\n\n\t\tif (innerWidth <= 480)\n\t\t{\n\t\t\tcolumnCount = 1;\n\t\t}\n\t\telse if (innerWidth <= 768 && columnCount > 2)\n\t\t{\n\t\t\tcolumnCount = 2;\n\t\t}\n\n\t\treturn columnCount;\n\t}\n\n\tshow(): void\n\t{\n\t\tthis.getPopup().show();\n\t\tthis.#getLayoutComponent().setFocusToSearchInput();\n\t}\n\n\thide(): void\n\t{\n\t\tthis.layoutComponent?.destroyOrClosePopup();\n\t}\n\n\tdestroy(): void\n\t{\n\t\tif (!this.layoutApp)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tthis.hide();\n\n\t\tthis.layoutApp.unmount();\n\t\tthis.layoutComponent = null;\n\t\tthis.popup = null;\n\t}\n\n\tisShown(): boolean\n\t{\n\t\treturn this.popup && this.popup.isShown();\n\t}\n\n\tgetOptions(): []\n\t{\n\t\treturn this.#getLayoutComponent().getOptions();\n\t}\n\n\tgetSelectedOptions(): ?string[]\n\t{\n\t\treturn this.#getLayoutComponent().getCheckedOptionsId();\n\t}\n\n\thandleSwitcherToggled(id: string): void\n\t{\n\t\treturn this.#getLayoutComponent().handleSwitcherToggled(id);\n\t}\n\n\thandleOptionToggled(id: string): void\n\t{\n\t\treturn this.#getLayoutComponent().toggleOption(id);\n\t}\n\n\tsaveColumns(columnIds: [], callback: Function): void\n\t{\n\t\tif (!Type.isArrayFilled(columnIds))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tcolumnIds.forEach((id) => this.selectOption(id));\n\n\t\tthis.apply();\n\t}\n\n\tselectOption(id: string, value: boolean): void\n\t{\n\t\t// to maintain backward compatibility without creating dependencies on main within the ticket #187991\n\t\t// @todo remove later and set default value = true in the function signature\n\t\tif (value !== false)\n\t\t{\n\t\t\t// eslint-disable-next-line no-param-reassign\n\t\t\tvalue = true;\n\t\t}\n\n\t\tthis.#getLayoutComponent().select(id, value);\n\t}\n\n\tapply(): void\n\t{\n\t\tthis.#getLayoutComponent().apply();\n\t}\n\n\t#getLayoutComponent(): Object\n\t{\n\t\tif (!this.layoutComponent)\n\t\t{\n\t\t\tvoid this.getPopup();\n\t\t}\n\n\t\treturn this.layoutComponent;\n\t}\n}\n"],"names":["viewMode","view","edit","CheckboxListOption","props","emits","data","titleData","title","isCheckedValue","isChecked","methods","getId","id","getValue","setValue","value","getTitle","$refs","innerText","setTitle","setStateFromProps","getOptionClassName","isLocked","isViewMode","getLabelClassName","isEditMode","emitHandleCheckBox","event","setTimeout","isEditable","context","EventEmitter","emit","handleCheckBox","target","checked","$emit","onToggleViewMode","$nextTick","setFocusOnTitle","focus","range","document","createRange","selection","window","getSelection","selectNodeContents","collapse","removeAllRanges","addRange","onChangeTitle","computed","labelClassName","template","CheckboxListCategory","components","setRef","ref","setOptionRef","onToggleOption","CheckboxComponent","dataTitle","dataId","handleClick","key","TextToggleComponent","index","dataItems","findIndex","item","length","currentLabel","Type","isArrayFilled","label","find","CheckboxListSections","getSectionsItemClassName","sectionValue","Content","dataSections","sections","dataCategories","categories","dataCompactField","compactField","dataOptions","getPreparedDataOptions","dataParams","getPreparedParams","optionsRef","Map","search","longContent","scrollIsBottom","scrollIsTop","options","map","option","params","useSearch","Boolean","useSectioning","closeAfterApply","showBackToDefaultSettings","isEditableOptionsTitle","destroyPopupAfterClose","renderSwitcher","BX","UI","Switcher","node","switcher","size","handlers","toggled","handleSwitcherToggled","clearSearch","handleClearSearchButtonClick","setFocusToSearchInput","searchInput","handleSectionsToggled","section","getOptionsByCategory","category","getOptions","filter","categoryKey","optionsByTitle","getCheckedOptionsId","getCheckedOptions","getOptionRefs","checkLongContent","container","clientHeight","scrollHeight","getBottomIndent","scrollTop","getTopIndent","handleScroll","handleSearchEscKeyUp","defaultSettings","BaseEvent","fields","dialog","isDefaultPrevented","defaultValue","click","setDefaultValuesForOptions","forEach","get","toggleOption","onSelectAllClick","isAllSelected","deselectAll","selectAll","select","setValueForAllVisibleOptions","visibleOptionIds","Set","has","values","cancel","restoreOptionValues","destroyOrClosePopup","apply","isCheckedCheckboxes","eventParams","titles","getOptionTitles","adjustOptions","checkedFieldIds","includes","set","destroyPopup","closePopup","popup","destroy","close","isAllSectionsDisabled","every","watch","categoryBySection","visibleOptions","sectionKey","isEmptyContent","isNarrowWidth","innerWidth","isSearchDisabled","some","locked","toLowerCase","wrapperClassName","searchClassName","applyClassName","selectAllClassName","switcherText","isStringFilled","lang","Loc","getMessage","placeholderText","placeholder","defaultSettingsBtnText","defaultBtn","applyBtnText","acceptBtn","cancelBtnText","cancelBtn","selectAllBtnText","selectAllBtn","emptyStateTitleText","allSectionsDisabledTitle","emptyStateTitle","emptyStateDescriptionText","emptyStateDescription","isSomeSelected","selectAllCheckbox","indeterminate","mounted","CheckboxList","constructor","layoutApp","layoutComponent","setEventNamespace","subscribeFromOptions","events","isPlainObject","isArray","columnCount","isNumber","popupOptions","Error","customFooterElements","isBoolean","getPopup","Dom","create","addClass","innerHeight","Popup","className","width","maxWidth","Math","round","overlay","autoHide","minHeight","maxHeight","borderRadius","contentPadding","contentBackground","animation","titleBar","content","closeIcon","closeByEsc","onPopupClose","BitrixVue","createApp","mount","show","hide","unmount","isShown","getSelectedOptions","handleOptionToggled","saveColumns","columnIds","callback","selectOption"],"mappings":"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"}