@ng-nest/ui 18.0.7 → 18.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/alert/alert.component.d.ts +3 -3
- package/auto-complete/auto-complete-portal.component.d.ts +6 -9
- package/auto-complete/auto-complete.component.d.ts +1 -0
- package/cascade/cascade-portal.component.d.ts +7 -9
- package/cascade/cascade.component.d.ts +1 -9
- package/cascade/cascade.property.d.ts +5 -2
- package/checkbox/checkbox.property.d.ts +10 -98
- package/color-picker/color-picker-portal.component.d.ts +6 -9
- package/core/functions/convert.d.ts +5 -0
- package/core/util/public-api.d.ts +1 -0
- package/core/util/sleep.d.ts +5 -0
- package/date-picker/date-picker-portal.component.d.ts +5 -6
- package/date-picker/date-picker.property.d.ts +1 -31
- package/date-picker/date-range-portal.component.d.ts +5 -6
- package/dialog/dialog.component.d.ts +4 -3
- package/dropdown/dropdown-portal.component.d.ts +5 -7
- package/esm2022/alert/alert.component.mjs +13 -10
- package/esm2022/auto-complete/auto-complete-portal.component.mjs +17 -10
- package/esm2022/auto-complete/auto-complete.component.mjs +7 -4
- package/esm2022/back-top/back-top.component.mjs +4 -2
- package/esm2022/cascade/cascade-portal.component.mjs +20 -11
- package/esm2022/cascade/cascade.component.mjs +5 -3
- package/esm2022/cascade/cascade.property.mjs +2 -2
- package/esm2022/checkbox/checkbox.property.mjs +3 -43
- package/esm2022/color-picker/color-picker-portal.component.mjs +17 -10
- package/esm2022/color-picker/color-picker.component.mjs +3 -3
- package/esm2022/color-picker/color-picker.property.mjs +3 -3
- package/esm2022/core/functions/convert.mjs +15 -1
- package/esm2022/core/util/public-api.mjs +2 -1
- package/esm2022/core/util/sleep.mjs +8 -0
- package/esm2022/date-picker/date-picker-portal.component.mjs +17 -6
- package/esm2022/date-picker/date-picker.component.mjs +3 -3
- package/esm2022/date-picker/date-picker.property.mjs +2 -17
- package/esm2022/date-picker/date-range-portal.component.mjs +17 -6
- package/esm2022/date-picker/date-range.component.mjs +3 -3
- package/esm2022/dialog/dialog.component.mjs +23 -18
- package/esm2022/dropdown/dropdown-portal.component.mjs +17 -8
- package/esm2022/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/find/find.component.mjs +15 -8
- package/esm2022/find/find.property.mjs +7 -57
- package/esm2022/form/form.component.mjs +3 -3
- package/esm2022/form/form.property.mjs +3 -3
- package/esm2022/highlight/highlight.component.mjs +3 -3
- package/esm2022/icon/icon.component.mjs +2 -2
- package/esm2022/image/image.component.mjs +3 -3
- package/esm2022/input/input.component.mjs +3 -3
- package/esm2022/input-number/input-number.component.mjs +3 -3
- package/esm2022/input-number/input-number.property.mjs +3 -23
- package/esm2022/loading/loading.component.mjs +3 -3
- package/esm2022/loading/loading.property.mjs +5 -5
- package/esm2022/pagination/pagination.component.mjs +7 -3
- package/esm2022/radio/radio.property.mjs +3 -53
- package/esm2022/rate/rate.property.mjs +3 -58
- package/esm2022/select/select-portal.component.mjs +17 -10
- package/esm2022/select/select.component.mjs +15 -5
- package/esm2022/select/select.property.mjs +2 -2
- package/esm2022/slider-select/slider-select.property.mjs +3 -58
- package/esm2022/switch/switch.property.mjs +3 -58
- package/esm2022/table/table-body.component.mjs +5 -4
- package/esm2022/table/table.component.mjs +3 -3
- package/esm2022/table/table.property.mjs +14 -4
- package/esm2022/textarea/textarea.property.mjs +3 -38
- package/esm2022/time-picker/time-picker-portal.component.mjs +17 -6
- package/esm2022/time-picker/time-picker.component.mjs +3 -3
- package/esm2022/time-picker/time-picker.property.mjs +3 -3
- package/esm2022/transfer/transfer.component.mjs +3 -3
- package/esm2022/tree/tree-node.component.mjs +10 -2
- package/esm2022/tree/tree.component.mjs +11 -9
- package/esm2022/tree/tree.property.mjs +1 -1
- package/esm2022/tree/tree.service.mjs +28 -4
- package/esm2022/tree-select/tree-select-portal.component.mjs +17 -6
- package/esm2022/tree-select/tree-select.component.mjs +20 -4
- package/fesm2022/ng-nest-ui-alert.mjs +12 -9
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +21 -11
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +3 -1
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +24 -13
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +2 -42
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +20 -13
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +23 -1
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +36 -29
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +22 -17
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +19 -10
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs +20 -63
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +4 -4
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +2 -2
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +2 -2
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +4 -24
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +2 -2
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +6 -6
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +6 -2
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +2 -52
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +2 -57
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +31 -14
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +2 -57
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +2 -57
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +19 -8
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +2 -37
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-picker.mjs +20 -9
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +2 -2
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +35 -8
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +46 -12
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/find/find.component.d.ts +2 -0
- package/find/find.property.d.ts +20 -97
- package/form/form.property.d.ts +4 -4
- package/input-number/input-number.property.d.ts +4 -56
- package/loading/loading.property.d.ts +4 -4
- package/package.json +123 -123
- package/pagination/pagination.component.d.ts +2 -1
- package/radio/radio.property.d.ts +10 -118
- package/rate/rate.property.d.ts +16 -121
- package/select/select-portal.component.d.ts +6 -9
- package/select/select.component.d.ts +3 -1
- package/slider-select/slider-select.property.d.ts +6 -113
- package/switch/switch.property.d.ts +2 -117
- package/table/table-body.component.d.ts +1 -1
- package/table/table.property.d.ts +13 -3
- package/textarea/textarea.property.d.ts +10 -45
- package/time-picker/time-picker-portal.component.d.ts +5 -6
- package/time-picker/time-picker.property.d.ts +1 -2
- package/tree/tree.component.d.ts +2 -3
- package/tree/tree.property.d.ts +1 -1
- package/tree/tree.service.d.ts +1 -1
- package/tree-select/tree-select-portal.component.d.ts +5 -6
- package/tree-select/tree-select.component.d.ts +7 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-nest-ui-transfer.mjs","sources":["../../../../lib/ng-nest/ui/transfer/transfer.property.ts","../../../../lib/ng-nest/ui/transfer/transfer.component.ts","../../../../lib/ng-nest/ui/transfer/transfer.component.html","../../../../lib/ng-nest/ui/transfer/transfer.module.ts","../../../../lib/ng-nest/ui/transfer/ng-nest-ui-transfer.ts"],"sourcesContent":["import { XToBoolean, XToDataConvert } from '@ng-nest/ui/core';\r\nimport { TemplateRef, Component, input, model } from '@angular/core';\r\nimport { XFormControlFunction } from '@ng-nest/ui/base-form';\r\nimport { XTableColumn } from '@ng-nest/ui/table';\r\nimport type { XData, XParentIdentityProperty, XBoolean, XQuery, XStyleMap, XTemplate } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Transfer\r\n * @selector x-transfer\r\n * @decorator component\r\n */\r\nexport const XTransferPrefix = 'x-transfer';\r\nconst X_TRANSFER_CONFIG_NAME = 'transfer';\r\n\r\n/**\r\n * Transfer Property\r\n */\r\n@Component({ selector: `${XTransferPrefix}-property`, template: '' })\r\nexport class XTransferProperty extends XFormControlFunction(X_TRANSFER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 数据对象\r\n * @en_US Data object\r\n */\r\n readonly data = input<XData<XTransferNode>, XData<XTransferNode>>([], { transform: XToDataConvert });\r\n /**\r\n * @zh_CN 选择的类型\r\n * @en_US Type\r\n */\r\n readonly type = input<XTransferType>(this.config?.type ?? 'list');\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n * @default ['List', 'Selected']\r\n */\r\n readonly titles = input<string[] | null>(this.config?.titles ?? null);\r\n /**\r\n * @zh_CN 穿梭框样式,使用方式与 ngStyle 相同\r\n * @en_US shuttle box style, same as ngStyle\r\n */\r\n readonly listStyle = input<XTransferListStyle | null>(this.config?.listStyle ?? null);\r\n /**\r\n * @zh_CN 隐藏全选复选框\r\n * @en_US Hidden check all\r\n */\r\n readonly hiddenCheckAll = input<boolean[]>();\r\n /**\r\n * @zh_CN 是否能拖动, type\r\n * @en_US Can drag\r\n */\r\n readonly drag = input<boolean, XBoolean>(this.config?.drag ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 是否显示搜索。type 为 'table',需要设置 tableHeadSearchTpl 和 tableQuery 来配合使用\r\n * @en_US Whether to display search\r\n */\r\n readonly search = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 表格列头搜索自定义模板\r\n * @en_US table head search custom template\r\n */\r\n readonly tableHeadSearchTpl = input<XTemplate[]>();\r\n /**\r\n * @zh_CN 行数据自定义模板\r\n * @en_US Data customization template\r\n */\r\n readonly nodeTpl = input<TemplateRef<void>>();\r\n /**\r\n * @zh_CN 标题自定义模板\r\n * @en_US Title custom template\r\n */\r\n readonly titleTpl = input<TemplateRef<void>>();\r\n /**\r\n * @zh_CN 底部自定义模版\r\n * @en_US Bottom Custom Template\r\n */\r\n readonly footerTpl = input<TemplateRef<void>[]>();\r\n /**\r\n * @zh_CN 表格列集合\r\n * @en_US Table column set\r\n */\r\n readonly tableColumns = input<XTableColumn[]>();\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n readonly tableIndex = model<number>(1);\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n readonly tableSize = model<number>(10);\r\n /**\r\n * @zh_CN 表格查询条件\r\n * @en_US Number of data items per page\r\n */\r\n readonly tableQuery = input<XQuery>({});\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n readonly tableTotal = model<number>(0);\r\n /**\r\n * @zh_CN 反选操作\r\n * @en_US Inverse select\r\n */\r\n readonly inverse = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * Transfer Node\r\n */\r\nexport interface XTransferNode extends XParentIdentityProperty<XTransferNode> {\r\n /**\r\n * @zh_CN checkbox 是否选中\r\n * @en_US whether checkbox is selected\r\n */\r\n checked?: boolean;\r\n /**\r\n * @zh_CN 序号\r\n * @en_US Serial number\r\n */\r\n index?: number;\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom property\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * Transfer Source\r\n */\r\nexport interface XTransferSource {\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n title?: string;\r\n /**\r\n * @zh_CN 搜索的数据\r\n * @en_US Searched data\r\n */\r\n searchInput?: string;\r\n /**\r\n * @zh_CN 全选\r\n * @en_US Select all\r\n */\r\n checkedAll?: boolean;\r\n /**\r\n * @zh_CN 选中的数量\r\n * @en_US Selected quantity\r\n */\r\n checkedCount?: number;\r\n /**\r\n * @zh_CN 可选择的数据总数\r\n * @en_US Total number of selectable data\r\n */\r\n count?: number;\r\n /**\r\n * @zh_CN 不确定状态的样式\r\n * @en_US Uncertain state style\r\n */\r\n indeterminate?: boolean;\r\n /**\r\n * @zh_CN 列表数据\r\n * @en_US List data\r\n */\r\n list?: XTransferNode[];\r\n /**\r\n * @zh_CN 搜索数据,用来还原\r\n * @en_US Search data to restore\r\n */\r\n searchList?: XTransferNode[];\r\n /**\r\n * @zh_CN 按钮禁用\r\n * @en_US Button disabled\r\n */\r\n disabledButton?: boolean;\r\n /**\r\n * @zh_CN 隐藏全选复选框\r\n * @en_US Hidden check all\r\n */\r\n hiddenCheckAll?: boolean;\r\n /**\r\n * @zh_CN 列表样式\r\n * @en_US List style\r\n */\r\n listStyle?: XStyleMap;\r\n /**\r\n * @zh_CN 数据方向\r\n * @en_US Data direction\r\n */\r\n direction?: XTransferDirection;\r\n /**\r\n * @zh_CN 底部自定义模版\r\n * @en_US Bottom Custom Template\r\n */\r\n footerTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 表格列头搜索自定义模板\r\n * @en_US table head search custom template\r\n */\r\n tableHeadSearchTpl?: XTemplate;\r\n}\r\n\r\n/**\r\n * @zh_CN 数据方向\r\n * @en_US Transfer direction\r\n */\r\nexport type XTransferDirection = 'left' | 'right';\r\n\r\n/**\r\n * @zh_CN 数据类型\r\n * @en_US Transfer type\r\n */\r\nexport type XTransferType = 'list' | 'tree' | 'table';\r\n\r\n/**\r\n * @zh_CN 穿梭框样式,使用方式与 ngStyle 相同\r\n * @en_US shuttle box style, same as ngStyle\r\n */\r\nexport type XTransferListStyle = XStyleMap | XStyleMap[];\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n OnDestroy,\r\n inject,\r\n viewChild,\r\n signal,\r\n computed\r\n} from '@angular/core';\r\nimport { XTransferPrefix, XTransferNode, XTransferSource, XTransferProperty, XTransferType } from './transfer.property';\r\nimport {\r\n XIsChange,\r\n XIsEmpty,\r\n XSetData,\r\n XRemove,\r\n XIsArray,\r\n XIsObject,\r\n XIsObjectArray,\r\n XIsBoolean,\r\n XIsFunction,\r\n XResultList,\r\n XIsUndefined\r\n} from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, map, takeUntil } from 'rxjs/operators';\r\nimport { transferArrayItem, moveItemInArray, CdkDragDrop, CdkDrag, DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XI18nPipe, XI18nService, XI18nTransfer, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { XTreeComponent, XTreeNode } from '@ng-nest/ui/tree';\r\nimport { XTableColumn, XTableComponent, XTableHeadCheckbox } from '@ng-nest/ui/table';\r\nimport { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { XCheckboxComponent } from '@ng-nest/ui/checkbox';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XKeywordDirective } from '@ng-nest/ui/keyword';\r\nimport { XLinkComponent } from '@ng-nest/ui/link';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: `${XTransferPrefix}`,\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n NgStyle,\r\n NgTemplateOutlet,\r\n FormsModule,\r\n DragDropModule,\r\n XOutletDirective,\r\n XCheckboxComponent,\r\n XButtonComponent,\r\n XInputComponent,\r\n XTreeComponent,\r\n XTableComponent,\r\n XKeywordDirective,\r\n XLinkComponent,\r\n XI18nPipe\r\n ],\r\n templateUrl: './transfer.component.html',\r\n styleUrls: ['./transfer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XTransferComponent)]\r\n})\r\nexport class XTransferComponent extends XTransferProperty implements OnInit, OnChanges, OnDestroy {\r\n private i18n = inject(XI18nService);\r\n\r\n leftTableCom = viewChild(XTableComponent);\r\n rightTableCom = viewChild(XTableComponent);\r\n nodes = signal<XTransferNode[]>([]);\r\n\r\n left = signal<XTransferSource>({\r\n list: [],\r\n searchList: [],\r\n checkedCount: 0,\r\n direction: 'left',\r\n disabledButton: true\r\n });\r\n\r\n right = signal<XTransferSource>({\r\n list: [],\r\n searchList: [],\r\n checkedCount: 0,\r\n direction: 'right',\r\n disabledButton: true\r\n });\r\n\r\n searchInput = signal('');\r\n searchInputLeftChange = new Subject<string>();\r\n searchInputRightChange = new Subject<string>();\r\n searchDebounceTime = signal(200);\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.transfer as XI18nTransfer)), {\r\n initialValue: zh_CN.transfer\r\n });\r\n localTitle = computed(() => {\r\n if (this.type() === 'tree') {\r\n return this.locale().treeTitle;\r\n } else {\r\n return this.locale().listTitle;\r\n }\r\n });\r\n private unSubject = new Subject<void>();\r\n treeActivatedId = signal<any[]>([]);\r\n tableData = signal<XTransferNode[]>([]);\r\n tableCheckboxColumn = signal<XTableColumn | null>(null);\r\n isObjectArray = signal(false);\r\n override writeValue(value: any[]): void {\r\n this.value.set(value);\r\n if (XIsArray(value)) {\r\n this.treeActivatedId.set([...value]);\r\n if (XIsObjectArray(value)) {\r\n this.isObjectArray.set(true);\r\n }\r\n }\r\n this.setList(this.nodes());\r\n }\r\n\r\n values = computed(() => {\r\n if (this.isObjectArray()) {\r\n return this.value().map((x: any) => x.id);\r\n } else {\r\n return this.value();\r\n }\r\n });\r\n\r\n ngOnInit() {\r\n this.setTitles();\r\n this.setListStyle();\r\n this.setHiddenCheckAll();\r\n this.getTableCheckColumn();\r\n this.setFooterTpl();\r\n this.setTableHeadSearchTpl();\r\n\r\n this.searchInputLeftChange\r\n .pipe(debounceTime(this.searchDebounceTime()), distinctUntilChanged(), takeUntil(this.unSubject))\r\n .subscribe(() => {\r\n this.setSearchInputChange(this.left());\r\n });\r\n this.searchInputRightChange\r\n .pipe(debounceTime(this.searchDebounceTime()), distinctUntilChanged(), takeUntil(this.unSubject))\r\n .subscribe(() => {\r\n this.setSearchInputChange(this.right());\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n\r\n onSearchInputChange(source: XTransferSource) {\r\n if (source.direction === 'left') {\r\n this.searchInputLeftChange.next(source.searchInput!);\r\n } else if (source.direction === 'right') {\r\n this.searchInputRightChange.next(source.searchInput!);\r\n }\r\n }\r\n\r\n setSearchInputChange(source: XTransferSource) {\r\n if (XIsUndefined(source.searchInput)) return;\r\n if (XIsEmpty(source.searchInput)) {\r\n source.list = [...source.searchList!];\r\n } else {\r\n switch (this.type()) {\r\n case 'list':\r\n source.list = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0);\r\n break;\r\n case 'tree':\r\n if (source.direction === 'right') {\r\n source.list = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0);\r\n } else if (source.direction === 'left') {\r\n let searchList = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0)!;\r\n let parents: XTransferNode[] = [];\r\n const findParent = (item: XTransferNode) => {\r\n if (!item.pid) return;\r\n let parent = source.searchList?.find((x) => x.id === item.pid);\r\n if (parent && !parents.some((x) => x.id === parent!.id)) {\r\n parents.push(parent);\r\n findParent(parent);\r\n }\r\n };\r\n for (let item of searchList) {\r\n findParent(item);\r\n }\r\n source.list = [...searchList, ...parents];\r\n }\r\n break;\r\n case 'table':\r\n break;\r\n }\r\n }\r\n this.setListCount(this.type(), source);\r\n this.cdr.markForCheck();\r\n }\r\n\r\n checkedAllChange($event: boolean, source: XTransferSource) {\r\n let list: XTransferNode[] = (source.list?.filter((x) => !x.disabled) as XTransferNode[]).map((x) => {\r\n x.checked = $event;\r\n return x;\r\n });\r\n if (this.type() === 'tree' && source.direction === 'left') {\r\n this.treeActivatedId.set(\r\n $event ? source.list!.map((x) => x.id)! : source.list!.filter((x) => x.disabled).map((x) => x.id)\r\n );\r\n }\r\n source.checkedCount = $event ? list.length : 0;\r\n source.indeterminate = $event;\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n checkedChange($event: boolean, source: XTransferSource) {\r\n if (!$event) (source.checkedCount as number)--;\r\n else (source.checkedCount as number)++;\r\n this.setCheckedAll(source);\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n move(from: XTransferSource, to: XTransferSource) {\r\n if (from.disabledButton) return;\r\n switch (this.type()) {\r\n case 'list':\r\n this.moveList(from, to);\r\n break;\r\n case 'tree':\r\n this.moveTree(from, to);\r\n break;\r\n case 'table':\r\n this.moveTable(from, to);\r\n }\r\n }\r\n\r\n private moveList(from: XTransferSource, to: XTransferSource) {\r\n let checkedItems = from.list?.filter((x) => !x.disabled && x.checked)!;\r\n let j = 0;\r\n checkedItems.forEach((x) => {\r\n let index = from.list?.indexOf(x) as number;\r\n x.checked = false;\r\n transferArrayItem(from.list!, to.list!, index, j);\r\n if (this.search()) {\r\n index = from.searchList?.indexOf(x) as number;\r\n transferArrayItem(from.searchList!, to.searchList!, index, j);\r\n }\r\n j++;\r\n });\r\n from.list = [...from.list!];\r\n to.list = [...to.list!];\r\n this.setCheckedCount('list', from, to);\r\n this.setListCount('list', from, to);\r\n this.setCheckedAll(from, to);\r\n this.setButtonDisabled(from, to);\r\n this.setSearchList(from, to);\r\n this.setValue();\r\n }\r\n\r\n private moveTree(from: XTransferSource, to: XTransferSource) {\r\n let checkedItems: XTransferNode[] = [];\r\n if (to.direction === 'right') {\r\n checkedItems = from.list?.filter(\r\n (x) => !x.disabled && !XIsEmpty(this.treeActivatedId()) && this.treeActivatedId().includes(x.id)\r\n )!;\r\n checkedItems.forEach((x: XTreeNode) => {\r\n x.disabled = true;\r\n x.change && x.change();\r\n });\r\n to.list?.unshift(\r\n ...checkedItems.map((x) => {\r\n let res = { ...x };\r\n res.checked = false;\r\n res.disabled = false;\r\n return res;\r\n })\r\n );\r\n this.setCheckedCount('tree', from);\r\n this.setCheckedCount('list', to);\r\n } else {\r\n checkedItems = XRemove(from.list!, (x) => !x.disabled && x.checked!);\r\n if (this.search()) {\r\n XRemove(from.searchList!, (x) => !x.disabled && x.checked!);\r\n }\r\n for (let item of checkedItems) {\r\n let node: XTreeNode = to.list?.find((x) => x.id === item.id)!;\r\n if (node) {\r\n node.checked = false;\r\n node.disabled = false;\r\n const idx = this.treeActivatedId().findIndex((x) => x === node.id);\r\n if (idx >= 0) {\r\n this.treeActivatedId.update((x) => {\r\n x.splice(idx, 1);\r\n return [...x];\r\n });\r\n }\r\n node.change && node.change();\r\n }\r\n }\r\n this.setCheckedCount('tree', to);\r\n this.setCheckedCount('list', from);\r\n }\r\n this.setCheckedAll(from, to);\r\n this.setListCount('list', from, to);\r\n this.setButtonDisabled(from, to);\r\n this.setSearchList(from, to);\r\n this.setValue();\r\n }\r\n\r\n private moveTable(from: XTransferSource, to: XTransferSource) {\r\n let checkedItems: XTransferNode[] = [];\r\n if (to.direction === 'right') {\r\n checkedItems = from.list?.filter((x) => !x.disabled && x.checked)!;\r\n to.list = [\r\n ...checkedItems.map((x) => {\r\n const res = { ...x };\r\n x.disabled = true;\r\n x.checked = true;\r\n res.disabled = false;\r\n res.checked = false;\r\n return res;\r\n }),\r\n ...to.list!\r\n ];\r\n this.tableData.set([...from.list!]);\r\n this.setCheckedCount('table', from);\r\n this.setCheckedCount('list', to);\r\n } else {\r\n checkedItems = XRemove(from.list!, (x) => !x.disabled && x.checked!);\r\n const ids = checkedItems.map((x) => x.id);\r\n for (let item of to.list!) {\r\n if (ids.includes(item.id)) {\r\n item.checked = false;\r\n item.disabled = false;\r\n }\r\n }\r\n from.list = [...from.list!];\r\n this.tableData.set([...to.list!]);\r\n this.setCheckedCount('table', to);\r\n this.setCheckedCount('list', from);\r\n }\r\n this.setListCount('table', from, to);\r\n this.setCheckedAll(from, to);\r\n this.setButtonDisabled(from, to);\r\n this.setSearchList(from, to);\r\n this.setValue();\r\n }\r\n\r\n dropCdk(event: CdkDragDrop<XTransferNode[] | undefined, any>) {\r\n const ev = event as CdkDragDrop<XTransferNode[]>;\r\n if (ev.previousContainer === ev.container) {\r\n moveItemInArray(ev.container.data, ev.previousIndex, ev.currentIndex);\r\n } else {\r\n transferArrayItem(ev.previousContainer.data, ev.container.data, ev.previousIndex, ev.currentIndex);\r\n this.setCheckedCount('list', this.left(), this.right());\r\n this.setCheckedAll(this.left(), this.right());\r\n this.setListCount('list', this.left(), this.right());\r\n this.setButtonDisabled(this.left(), this.right());\r\n }\r\n this.setSearchList(this.left(), this.right());\r\n this.setValue();\r\n }\r\n\r\n predicate(item: CdkDrag<XTransferNode>) {\r\n return !item.data.disabled;\r\n }\r\n\r\n trackByNode(_index: number, item: XTransferNode) {\r\n return item.id;\r\n }\r\n\r\n setListCount(type: XTransferType = 'list', ...sources: XTransferSource[]) {\r\n if (['list', 'tree'].includes(type)) {\r\n for (let source of sources) {\r\n source.count = source.list?.filter((x) => !x.disabled).length;\r\n }\r\n } else if (type === 'table') {\r\n for (let source of sources) {\r\n if (source.direction === 'left') {\r\n source.count = this.tableTotal() - this.right().list!.length || 0;\r\n } else {\r\n source.count = source.list?.filter((x) => !x.disabled).length;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onTreeNodeClick(_node: XTreeNode) {\r\n this.setCheckedCount('tree', this.left());\r\n this.setCheckedAll(this.left());\r\n this.setButtonDisabled(this.left());\r\n }\r\n\r\n onTableCheckedRow(row: XTransferNode, source: XTransferSource) {\r\n if (!this.tableCheckboxColumn()) return;\r\n let checked = row[this.tableCheckboxColumn()!.id];\r\n row.checked = checked;\r\n this.setCheckedCount('table', source);\r\n this.setCheckedAll(source);\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n onTableCheckedAll(row: XTableHeadCheckbox, source: XTransferSource) {\r\n if (!this.tableCheckboxColumn()) return;\r\n let checked = row.checkbox[this.tableCheckboxColumn()!.id];\r\n for (let item of source.list!) {\r\n if (!item.disabled) {\r\n item.checked = checked;\r\n }\r\n }\r\n this.setCheckedCount('table', source);\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n onInverse(source: XTransferSource) {\r\n for (let item of source.list!) {\r\n if (!item.disabled) {\r\n item.checked = !item.checked;\r\n }\r\n }\r\n let type = `${this.type}` as XTransferType;\r\n if (type === 'tree' && source.direction === 'right') {\r\n type = 'list';\r\n }\r\n this.setCheckedCount(type, source);\r\n this.setCheckedAll(source);\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n private getTableCheckColumn() {\r\n if (this.type() !== 'table' || XIsEmpty(this.tableColumns())) return;\r\n this.tableCheckboxColumn.set(this.tableColumns()!.find((x) => x.rowChecked)!);\r\n }\r\n\r\n private setCheckedAll(...sources: XTransferSource[]) {\r\n for (let source of sources) {\r\n if ((source.checkedCount as number) > 0) {\r\n if (source.checkedCount === source.list?.filter((x) => !x.disabled).length) {\r\n source.checkedAll = true;\r\n } else {\r\n source.checkedAll = false;\r\n source.indeterminate = true;\r\n }\r\n } else {\r\n source.checkedAll = false;\r\n source.indeterminate = false;\r\n }\r\n }\r\n }\r\n\r\n private setCheckedCount(type: XTransferType = 'list', ...sources: XTransferSource[]) {\r\n for (let source of sources) {\r\n if (['table', 'list'].includes(type)) {\r\n source.checkedCount = source.list?.filter((x) => !x.disabled && x.checked).length;\r\n } else if (type === 'tree') {\r\n source.checkedCount = source.list?.filter(\r\n (x) => !x.disabled && !XIsEmpty(this.treeActivatedId()) && this.treeActivatedId().includes(x.id)\r\n ).length;\r\n }\r\n }\r\n }\r\n\r\n private setButtonDisabled(...sources: XTransferSource[]) {\r\n for (let source of sources) source.disabledButton = source.checkedCount === 0;\r\n }\r\n\r\n private setValue() {\r\n if (this.isObjectArray()) {\r\n this.value.set(this.right().list!);\r\n } else {\r\n this.value.set(this.right().list?.map((x) => x.id)!);\r\n }\r\n this.onChange && this.onChange(this.value());\r\n }\r\n\r\n private setSearchList(...sources: XTransferSource[]) {\r\n if (this.search()) {\r\n for (let source of sources) {\r\n if (XIsEmpty(source.searchInput)) {\r\n source.searchList = [...(source.list as XTransferNode[])];\r\n }\r\n }\r\n }\r\n }\r\n\r\n private setData() {\r\n if (this.type() === 'table') {\r\n this.getTableData();\r\n return;\r\n }\r\n XSetData<XTransferNode>(this.data(), this.unSubject).subscribe((x) => {\r\n this.setList(x);\r\n });\r\n }\r\n\r\n private setList(data: XTransferNode[]) {\r\n if (XIsEmpty(data)) return;\r\n switch (this.type()) {\r\n case 'list':\r\n this.nodes.set(data);\r\n if (!XIsEmpty(this.values())) {\r\n this.left.update((x) => {\r\n x.list = this.nodes().filter((x) => this.values().indexOf(x.id) < 0);\r\n return { ...x };\r\n });\r\n this.right.update((x) => {\r\n x.list = this.nodes().filter((x) => this.values().indexOf(x.id) >= 0);\r\n return { ...x };\r\n });\r\n } else {\r\n this.left.update((x) => {\r\n x.list = [...this.nodes()];\r\n return { ...x };\r\n });\r\n }\r\n this.setSearchList(this.left(), this.right());\r\n this.setListCount(this.type(), this.left(), this.right());\r\n break;\r\n case 'tree':\r\n this.nodes.set(data);\r\n this.setTreeNodeDisabled();\r\n this.left.update((x) => {\r\n x.list = [...this.nodes()];\r\n return { ...x };\r\n });\r\n if (!XIsEmpty(this.values())) {\r\n this.right.update((z) => {\r\n z.list = this.nodes()\r\n .filter((x) => this.values().indexOf(x.id) >= 0)\r\n .map((x) => {\r\n let res = { ...x };\r\n res.checked = false;\r\n res.disabled = false;\r\n return res;\r\n });\r\n return { ...z };\r\n });\r\n }\r\n this.setSearchList(this.left(), this.right());\r\n this.setListCount(this.type(), this.left(), this.right());\r\n break;\r\n case 'table':\r\n this.nodes.set(data);\r\n this.setTableDataDisabled();\r\n this.left.update((x) => {\r\n x.list = [...this.nodes()];\r\n return { ...x };\r\n });\r\n if (!XIsEmpty(this.values())) {\r\n if (this.isObjectArray()) {\r\n this.right.update((z) => {\r\n z.list = [\r\n ...this.value().map((x: any) => {\r\n let res = { ...x };\r\n res.disabled = false;\r\n res.checked = false;\r\n return res;\r\n })\r\n ];\r\n return { ...z };\r\n });\r\n } else {\r\n this.right.update((x) => {\r\n x.list = [...this.value()];\r\n return { ...x };\r\n });\r\n }\r\n }\r\n this.setSearchList(this.left(), this.right());\r\n this.setListCount(this.type(), this.left(), this.right());\r\n break;\r\n }\r\n }\r\n\r\n getTableData() {\r\n if (XIsFunction(this.data())) {\r\n (this.data() as Function)(this.tableIndex(), this.tableSize(), this.tableQuery()).subscribe(\r\n (x: XResultList<XTransferNode>) => {\r\n this.tableTotal.set(x.total!);\r\n this.tableData.set(x.list!);\r\n this.setList(x.list!);\r\n }\r\n );\r\n }\r\n }\r\n\r\n private setTitles() {\r\n let titles: string[] = [];\r\n if (XIsEmpty(this.titles())) {\r\n titles = [this.localTitle()!, this.locale().selectedTitle!];\r\n } else {\r\n titles = this.titles()!;\r\n }\r\n if (titles.length > 0) {\r\n this.left.update((x) => {\r\n x.title = titles[0];\r\n return { ...x };\r\n });\r\n }\r\n if (titles.length > 1) {\r\n this.right.update((x) => {\r\n x.title = titles[1];\r\n return { ...x };\r\n });\r\n }\r\n }\r\n\r\n private setListStyle() {\r\n if (XIsEmpty(this.listStyle())) return;\r\n let styles: object[] = [];\r\n if (XIsObject(this.listStyle())) {\r\n styles = [this.listStyle()!, this.listStyle()!];\r\n } else if (XIsObjectArray(this.listStyle())) {\r\n styles = this.listStyle() as object[];\r\n }\r\n if (styles.length > 0)\r\n this.left.update((x) => {\r\n x.listStyle = styles[0];\r\n return { ...x };\r\n });\r\n if (styles.length > 1)\r\n this.right.update((x) => {\r\n x.listStyle = styles[1];\r\n return { ...x };\r\n });\r\n }\r\n\r\n private setTreeNodeDisabled() {\r\n if (!XIsEmpty(this.values()) && this.nodes()) {\r\n for (let item of this.nodes()) {\r\n let hasIn = this.values().indexOf(item.id) >= 0;\r\n item.disabled = hasIn;\r\n item.checked = hasIn;\r\n }\r\n }\r\n }\r\n\r\n private setTableDataDisabled() {\r\n if (!XIsEmpty(this.values()) && this.nodes()) {\r\n for (let item of this.nodes()) {\r\n let hasIn = this.values().indexOf(item.id) >= 0;\r\n item.disabled = hasIn;\r\n item.checked = hasIn;\r\n }\r\n }\r\n }\r\n\r\n private setHiddenCheckAll() {\r\n if (XIsEmpty(this.hiddenCheckAll())) return;\r\n if (this.hiddenCheckAll()!.length > 0 && XIsBoolean(this.hiddenCheckAll()![0])) {\r\n this.left.update((x) => {\r\n x.hiddenCheckAll = this.hiddenCheckAll()![0];\r\n return { ...x };\r\n });\r\n }\r\n if (this.hiddenCheckAll()!.length > 1 && XIsBoolean(this.hiddenCheckAll()![1])) {\r\n this.right.update((x) => {\r\n x.hiddenCheckAll = this.hiddenCheckAll()![1];\r\n return { ...x };\r\n });\r\n }\r\n }\r\n\r\n private setFooterTpl() {\r\n if (XIsUndefined(this.footerTpl())) return;\r\n if (this.footerTpl()!.length > 0) {\r\n this.left.update((x) => {\r\n x.footerTpl = this.footerTpl()![0];\r\n return { ...x };\r\n });\r\n }\r\n if (this.footerTpl()!.length > 1) {\r\n this.right.update((x) => {\r\n x.footerTpl = this.footerTpl()![1];\r\n return { ...x };\r\n });\r\n }\r\n }\r\n\r\n private setTableHeadSearchTpl() {\r\n if (XIsUndefined(this.tableHeadSearchTpl())) return;\r\n if (this.tableHeadSearchTpl()!.length > 0) {\r\n this.left.update((x) => {\r\n x.tableHeadSearchTpl = this.tableHeadSearchTpl()![0];\r\n return { ...x };\r\n });\r\n }\r\n if (this.tableHeadSearchTpl()!.length > 1) {\r\n this.right.update((x) => {\r\n x.tableHeadSearchTpl = this.tableHeadSearchTpl()![1];\r\n return { ...x };\r\n });\r\n }\r\n }\r\n}\r\n","<div #transfer class=\"x-transfer\" cdkDropListGroup>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"left().footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left() }\"></ng-container>\r\n <div [ngStyle]=\"left().listStyle!\" class=\"x-transfer-list x-transfer-{{ type() }}\">\r\n @switch (type()) {\r\n @case ('list') {\r\n <ul\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left().list\"\r\n [cdkDropListDisabled]=\"!drag() && type() === 'list'\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n @for (node of left().list; track node.id) {\r\n <li class=\"x-transfer-item\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: left() }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n @case ('tree') {\r\n <x-tree\r\n [data]=\"left().list!\"\r\n multiple\r\n allowManyActivated\r\n [(activatedId)]=\"treeActivatedId\"\r\n (nodeClick)=\"onTreeNodeClick($event)\"\r\n [labelTpl]=\"treeLabelTpl\"\r\n ></x-tree>\r\n <ng-template #treeLabelTpl let-node=\"$node\">\r\n <span class=\"x-transfer-tree-label\" x-keyword [text]=\"left().searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n }\r\n @case ('table') {\r\n <x-table\r\n #leftTableCom\r\n [data]=\"tableData()\"\r\n [columns]=\"tableColumns()!\"\r\n [(size)]=\"tableSize\"\r\n [(index)]=\"tableIndex\"\r\n (indexChange)=\"getTableData()\"\r\n [query]=\"tableQuery()\"\r\n [total]=\"tableTotal()\"\r\n (activatedRowChange)=\"onTableCheckedRow($event!, left())\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, left())\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"left().tableHeadSearchTpl\"\r\n ></x-table>\r\n }\r\n }\r\n </div>\r\n @if (left().footerTpl) {\r\n <div class=\"x-transfer-footer\">\r\n <ng-container *ngTemplateOutlet=\"left().footerTpl!; context: { $source: left() }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"x-transfer-buttons\">\r\n <x-button\r\n type=\"primary\"\r\n icon=\"fto-chevron-right\"\r\n [disabled]=\"left().disabledButton!\"\r\n (click)=\"move(left(), right())\"\r\n flat\r\n ></x-button>\r\n <x-button\r\n type=\"primary\"\r\n icon=\"fto-chevron-left\"\r\n [disabled]=\"right().disabledButton!\"\r\n (click)=\"move(right(), left())\"\r\n flat\r\n ></x-button>\r\n </div>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"right().footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right() }\"></ng-container>\r\n\r\n <div [ngStyle]=\"right().listStyle!\" class=\"x-transfer-list\">\r\n @switch (type()) {\r\n @case ('table') {\r\n <x-table\r\n #rightTableCom\r\n [data]=\"right().list!\"\r\n [columns]=\"tableColumns()!\"\r\n (activatedRowChange)=\"onTableCheckedRow($event!, right())\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, right())\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showPagination=\"false\"\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"right().tableHeadSearchTpl\"\r\n ></x-table>\r\n }\r\n @default {\r\n <ul\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right().list\"\r\n [cdkDropListDisabled]=\"!drag() || (drag() && type() !== 'list')\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n @for (node of right().list; track node.id) {\r\n <li class=\"x-transfer-item\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container\r\n *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: right() }\"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n </div>\r\n @if (right().footerTpl) {\r\n <div class=\"x-transfer-footer\">\r\n <ng-container *ngTemplateOutlet=\"right().footerTpl!; context: { $source: right() }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <div class=\"x-transfer-title-left\">\r\n @if (source.title && !source.hiddenCheckAll) {\r\n <x-checkbox\r\n [data]=\"[titleTpl() ? '' : source.title]\"\r\n [(ngModel)]=\"source.checkedAll\"\r\n (ngModelChange)=\"checkedAllChange($event, source)\"\r\n [indeterminate]=\"source.indeterminate\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (source.title && source.hiddenCheckAll) {\r\n <span>{{ source.title }}</span>\r\n }\r\n @if (inverse() && type() === 'list') {\r\n <x-link class=\"x-transfer-inverse\" type=\"primary\" (click)=\"onInverse(source)\">{{\r\n 'transfer.inverse' | xI18n\r\n }}</x-link>\r\n }\r\n </div>\r\n <ng-container\r\n *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.count }\"\r\n ><span class=\"x-transfer-total\">{{ source.checkedCount }} / {{ source.count }}</span></ng-container\r\n >\r\n </div>\r\n @if (search() && type() !== 'table') {\r\n <div class=\"x-transfer-search\">\r\n <x-input\r\n icon=\"fto-search\"\r\n [(ngModel)]=\"source.searchInput\"\r\n (ngModelChange)=\"onSearchInputChange(source)\"\r\n clearable\r\n ></x-input>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #sourceNodeTpl let-node=\"node\" let-source=\"source\">\r\n <x-checkbox\r\n [data]=\"[{ id: node.id, label: nodeTpl() ? nodeTpl() : labelTpl, node: node }]\"\r\n [disabled]=\"node.disabled\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"checkedChange($event, source)\"\r\n single\r\n ></x-checkbox>\r\n <ng-template #labelTpl>\r\n <span x-keyword [text]=\"source.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XTransferComponent } from './transfer.component';\r\n\r\n@NgModule({\r\n exports: [XTransferComponent],\r\n imports: [XTransferComponent]\r\n})\r\nexport class XTransferModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-nest-ui-transfer.mjs","sources":["../../../../lib/ng-nest/ui/transfer/transfer.property.ts","../../../../lib/ng-nest/ui/transfer/transfer.component.ts","../../../../lib/ng-nest/ui/transfer/transfer.component.html","../../../../lib/ng-nest/ui/transfer/transfer.module.ts","../../../../lib/ng-nest/ui/transfer/ng-nest-ui-transfer.ts"],"sourcesContent":["import { XToBoolean, XToDataConvert } from '@ng-nest/ui/core';\r\nimport { TemplateRef, Component, input, model } from '@angular/core';\r\nimport { XFormControlFunction } from '@ng-nest/ui/base-form';\r\nimport { XTableColumn } from '@ng-nest/ui/table';\r\nimport type { XData, XParentIdentityProperty, XBoolean, XQuery, XStyleMap, XTemplate } from '@ng-nest/ui/core';\r\n\r\n/**\r\n * Transfer\r\n * @selector x-transfer\r\n * @decorator component\r\n */\r\nexport const XTransferPrefix = 'x-transfer';\r\nconst X_TRANSFER_CONFIG_NAME = 'transfer';\r\n\r\n/**\r\n * Transfer Property\r\n */\r\n@Component({ selector: `${XTransferPrefix}-property`, template: '' })\r\nexport class XTransferProperty extends XFormControlFunction(X_TRANSFER_CONFIG_NAME) {\r\n /**\r\n * @zh_CN 数据对象\r\n * @en_US Data object\r\n */\r\n readonly data = input<XData<XTransferNode>, XData<XTransferNode>>([], { transform: XToDataConvert });\r\n /**\r\n * @zh_CN 选择的类型\r\n * @en_US Type\r\n */\r\n readonly type = input<XTransferType>(this.config?.type ?? 'list');\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n * @default ['List', 'Selected']\r\n */\r\n readonly titles = input<string[] | null>(this.config?.titles ?? null);\r\n /**\r\n * @zh_CN 穿梭框样式,使用方式与 ngStyle 相同\r\n * @en_US shuttle box style, same as ngStyle\r\n */\r\n readonly listStyle = input<XTransferListStyle | null>(this.config?.listStyle ?? null);\r\n /**\r\n * @zh_CN 隐藏全选复选框\r\n * @en_US Hidden check all\r\n */\r\n readonly hiddenCheckAll = input<boolean[]>();\r\n /**\r\n * @zh_CN 是否能拖动, type\r\n * @en_US Can drag\r\n */\r\n readonly drag = input<boolean, XBoolean>(this.config?.drag ?? false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 是否显示搜索。type 为 'table',需要设置 tableHeadSearchTpl 和 tableQuery 来配合使用\r\n * @en_US Whether to display search\r\n */\r\n readonly search = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n /**\r\n * @zh_CN 表格列头搜索自定义模板\r\n * @en_US table head search custom template\r\n */\r\n readonly tableHeadSearchTpl = input<XTemplate[]>();\r\n /**\r\n * @zh_CN 行数据自定义模板\r\n * @en_US Data customization template\r\n */\r\n readonly nodeTpl = input<TemplateRef<void>>();\r\n /**\r\n * @zh_CN 标题自定义模板\r\n * @en_US Title custom template\r\n */\r\n readonly titleTpl = input<TemplateRef<void>>();\r\n /**\r\n * @zh_CN 底部自定义模版\r\n * @en_US Bottom Custom Template\r\n */\r\n readonly footerTpl = input<TemplateRef<void>[]>();\r\n /**\r\n * @zh_CN 表格列集合\r\n * @en_US Table column set\r\n */\r\n readonly tableColumns = input<XTableColumn[]>();\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n readonly tableIndex = model<number>(1);\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n readonly tableSize = model<number>(10);\r\n /**\r\n * @zh_CN 表格查询条件\r\n * @en_US Number of data items per page\r\n */\r\n readonly tableQuery = input<XQuery>({});\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n readonly tableTotal = model<number>(0);\r\n /**\r\n * @zh_CN 反选操作\r\n * @en_US Inverse select\r\n */\r\n readonly inverse = input<boolean, XBoolean>(false, { transform: XToBoolean });\r\n}\r\n\r\n/**\r\n * Transfer Node\r\n */\r\nexport interface XTransferNode extends XParentIdentityProperty<XTransferNode> {\r\n /**\r\n * @zh_CN checkbox 是否选中\r\n * @en_US whether checkbox is selected\r\n */\r\n checked?: boolean;\r\n /**\r\n * @zh_CN 序号\r\n * @en_US Serial number\r\n */\r\n index?: number;\r\n /**\r\n * @zh_CN 自定义属性\r\n * @en_US Custom property\r\n */\r\n [property: string]: any;\r\n}\r\n\r\n/**\r\n * Transfer Source\r\n */\r\nexport interface XTransferSource {\r\n /**\r\n * @zh_CN 标题\r\n * @en_US Title\r\n */\r\n title?: string;\r\n /**\r\n * @zh_CN 搜索的数据\r\n * @en_US Searched data\r\n */\r\n searchInput?: string;\r\n /**\r\n * @zh_CN 全选\r\n * @en_US Select all\r\n */\r\n checkedAll?: boolean;\r\n /**\r\n * @zh_CN 选中的数量\r\n * @en_US Selected quantity\r\n */\r\n checkedCount?: number;\r\n /**\r\n * @zh_CN 可选择的数据总数\r\n * @en_US Total number of selectable data\r\n */\r\n count?: number;\r\n /**\r\n * @zh_CN 不确定状态的样式\r\n * @en_US Uncertain state style\r\n */\r\n indeterminate?: boolean;\r\n /**\r\n * @zh_CN 列表数据\r\n * @en_US List data\r\n */\r\n list?: XTransferNode[];\r\n /**\r\n * @zh_CN 搜索数据,用来还原\r\n * @en_US Search data to restore\r\n */\r\n searchList?: XTransferNode[];\r\n /**\r\n * @zh_CN 按钮禁用\r\n * @en_US Button disabled\r\n */\r\n disabledButton?: boolean;\r\n /**\r\n * @zh_CN 隐藏全选复选框\r\n * @en_US Hidden check all\r\n */\r\n hiddenCheckAll?: boolean;\r\n /**\r\n * @zh_CN 列表样式\r\n * @en_US List style\r\n */\r\n listStyle?: XStyleMap;\r\n /**\r\n * @zh_CN 数据方向\r\n * @en_US Data direction\r\n */\r\n direction?: XTransferDirection;\r\n /**\r\n * @zh_CN 底部自定义模版\r\n * @en_US Bottom Custom Template\r\n */\r\n footerTpl?: TemplateRef<any>;\r\n /**\r\n * @zh_CN 表格列头搜索自定义模板\r\n * @en_US table head search custom template\r\n */\r\n tableHeadSearchTpl?: XTemplate;\r\n}\r\n\r\n/**\r\n * @zh_CN 数据方向\r\n * @en_US Transfer direction\r\n */\r\nexport type XTransferDirection = 'left' | 'right';\r\n\r\n/**\r\n * @zh_CN 数据类型\r\n * @en_US Transfer type\r\n */\r\nexport type XTransferType = 'list' | 'tree' | 'table';\r\n\r\n/**\r\n * @zh_CN 穿梭框样式,使用方式与 ngStyle 相同\r\n * @en_US shuttle box style, same as ngStyle\r\n */\r\nexport type XTransferListStyle = XStyleMap | XStyleMap[];\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n SimpleChanges,\r\n OnChanges,\r\n OnDestroy,\r\n inject,\r\n viewChild,\r\n signal,\r\n computed\r\n} from '@angular/core';\r\nimport { XTransferPrefix, XTransferNode, XTransferSource, XTransferProperty, XTransferType } from './transfer.property';\r\nimport {\r\n XIsChange,\r\n XIsEmpty,\r\n XSetData,\r\n XRemove,\r\n XIsArray,\r\n XIsObject,\r\n XIsObjectArray,\r\n XIsBoolean,\r\n XIsFunction,\r\n XResultList,\r\n XIsUndefined\r\n} from '@ng-nest/ui/core';\r\nimport { Subject } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, map, takeUntil } from 'rxjs/operators';\r\nimport { transferArrayItem, moveItemInArray, CdkDragDrop, CdkDrag, DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\nimport { XI18nPipe, XI18nService, XI18nTransfer, zh_CN } from '@ng-nest/ui/i18n';\r\nimport { XTreeComponent, XTreeNode } from '@ng-nest/ui/tree';\r\nimport { XTableColumn, XTableComponent, XTableHeadCheckbox } from '@ng-nest/ui/table';\r\nimport { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { XOutletDirective } from '@ng-nest/ui/outlet';\r\nimport { XCheckboxComponent } from '@ng-nest/ui/checkbox';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { XInputComponent } from '@ng-nest/ui/input';\r\nimport { XKeywordDirective } from '@ng-nest/ui/keyword';\r\nimport { XLinkComponent } from '@ng-nest/ui/link';\r\nimport { toSignal } from '@angular/core/rxjs-interop';\r\n\r\n@Component({\r\n selector: `${XTransferPrefix}`,\r\n standalone: true,\r\n imports: [\r\n NgClass,\r\n NgStyle,\r\n NgTemplateOutlet,\r\n FormsModule,\r\n DragDropModule,\r\n XOutletDirective,\r\n XCheckboxComponent,\r\n XButtonComponent,\r\n XInputComponent,\r\n XTreeComponent,\r\n XTableComponent,\r\n XKeywordDirective,\r\n XLinkComponent,\r\n XI18nPipe\r\n ],\r\n templateUrl: './transfer.component.html',\r\n styleUrls: ['./transfer.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XTransferComponent)]\r\n})\r\nexport class XTransferComponent extends XTransferProperty implements OnInit, OnChanges, OnDestroy {\r\n private i18n = inject(XI18nService);\r\n\r\n leftTableCom = viewChild(XTableComponent);\r\n rightTableCom = viewChild(XTableComponent);\r\n nodes = signal<XTransferNode[]>([]);\r\n\r\n left = signal<XTransferSource>({\r\n list: [],\r\n searchList: [],\r\n checkedCount: 0,\r\n direction: 'left',\r\n disabledButton: true\r\n });\r\n\r\n right = signal<XTransferSource>({\r\n list: [],\r\n searchList: [],\r\n checkedCount: 0,\r\n direction: 'right',\r\n disabledButton: true\r\n });\r\n\r\n searchInput = signal('');\r\n searchInputLeftChange = new Subject<string>();\r\n searchInputRightChange = new Subject<string>();\r\n searchDebounceTime = signal(200);\r\n locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.transfer as XI18nTransfer)), {\r\n initialValue: zh_CN.transfer\r\n });\r\n localTitle = computed(() => {\r\n if (this.type() === 'tree') {\r\n return this.locale().treeTitle;\r\n } else {\r\n return this.locale().listTitle;\r\n }\r\n });\r\n private unSubject = new Subject<void>();\r\n treeActivatedId = signal<any[]>([]);\r\n tableData = signal<XTransferNode[]>([]);\r\n tableCheckboxColumn = signal<XTableColumn | null>(null);\r\n isObjectArray = signal(false);\r\n override writeValue(value: any[]): void {\r\n this.value.set(value);\r\n if (XIsArray(value)) {\r\n this.treeActivatedId.set([...value]);\r\n if (XIsObjectArray(value)) {\r\n this.isObjectArray.set(true);\r\n }\r\n }\r\n this.setList(this.nodes());\r\n }\r\n\r\n values = computed(() => {\r\n if (this.isObjectArray()) {\r\n return this.value().map((x: any) => x.id);\r\n } else {\r\n return this.value();\r\n }\r\n });\r\n\r\n ngOnInit() {\r\n this.setTitles();\r\n this.setListStyle();\r\n this.setHiddenCheckAll();\r\n this.getTableCheckColumn();\r\n this.setFooterTpl();\r\n this.setTableHeadSearchTpl();\r\n\r\n this.searchInputLeftChange\r\n .pipe(debounceTime(this.searchDebounceTime()), distinctUntilChanged(), takeUntil(this.unSubject))\r\n .subscribe(() => {\r\n this.setSearchInputChange(this.left());\r\n });\r\n this.searchInputRightChange\r\n .pipe(debounceTime(this.searchDebounceTime()), distinctUntilChanged(), takeUntil(this.unSubject))\r\n .subscribe(() => {\r\n this.setSearchInputChange(this.right());\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n const { data } = changes;\r\n XIsChange(data) && this.setData();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.unSubject.next();\r\n this.unSubject.complete();\r\n }\r\n\r\n onSearchInputChange(source: XTransferSource) {\r\n if (source.direction === 'left') {\r\n this.searchInputLeftChange.next(source.searchInput!);\r\n } else if (source.direction === 'right') {\r\n this.searchInputRightChange.next(source.searchInput!);\r\n }\r\n }\r\n\r\n setSearchInputChange(source: XTransferSource) {\r\n if (XIsUndefined(source.searchInput)) return;\r\n if (XIsEmpty(source.searchInput)) {\r\n source.list = [...source.searchList!];\r\n } else {\r\n switch (this.type()) {\r\n case 'list':\r\n source.list = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0);\r\n break;\r\n case 'tree':\r\n if (source.direction === 'right') {\r\n source.list = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0);\r\n } else if (source.direction === 'left') {\r\n let searchList = source.searchList?.filter((x) => x.label.indexOf(source.searchInput) >= 0)!;\r\n let parents: XTransferNode[] = [];\r\n const findParent = (item: XTransferNode) => {\r\n if (!item.pid) return;\r\n let parent = source.searchList?.find((x) => x.id === item.pid);\r\n if (parent && !parents.some((x) => x.id === parent!.id)) {\r\n parents.push(parent);\r\n findParent(parent);\r\n }\r\n };\r\n for (let item of searchList) {\r\n findParent(item);\r\n }\r\n source.list = [...searchList, ...parents];\r\n }\r\n break;\r\n case 'table':\r\n break;\r\n }\r\n }\r\n this.setListCount(this.type(), source);\r\n this.cdr.markForCheck();\r\n }\r\n\r\n checkedAllChange($event: boolean, source: XTransferSource) {\r\n let list: XTransferNode[] = (source.list?.filter((x) => !x.disabled) as XTransferNode[]).map((x) => {\r\n x.checked = $event;\r\n return x;\r\n });\r\n if (this.type() === 'tree' && source.direction === 'left') {\r\n this.treeActivatedId.set(\r\n $event ? source.list!.map((x) => x.id)! : source.list!.filter((x) => x.disabled).map((x) => x.id)\r\n );\r\n }\r\n source.checkedCount = $event ? list.length : 0;\r\n source.indeterminate = $event;\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n checkedChange($event: boolean, source: XTransferSource) {\r\n if (!$event) (source.checkedCount as number)--;\r\n else (source.checkedCount as number)++;\r\n this.setCheckedAll(source);\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n move(from: XTransferSource, to: XTransferSource) {\r\n if (from.disabledButton) return;\r\n switch (this.type()) {\r\n case 'list':\r\n this.moveList(from, to);\r\n break;\r\n case 'tree':\r\n this.moveTree(from, to);\r\n break;\r\n case 'table':\r\n this.moveTable(from, to);\r\n }\r\n }\r\n\r\n private moveList(from: XTransferSource, to: XTransferSource) {\r\n let checkedItems = from.list?.filter((x) => !x.disabled && x.checked)!;\r\n let j = 0;\r\n checkedItems.forEach((x) => {\r\n let index = from.list?.indexOf(x) as number;\r\n x.checked = false;\r\n transferArrayItem(from.list!, to.list!, index, j);\r\n if (this.search()) {\r\n index = from.searchList?.indexOf(x) as number;\r\n transferArrayItem(from.searchList!, to.searchList!, index, j);\r\n }\r\n j++;\r\n });\r\n from.list = [...from.list!];\r\n to.list = [...to.list!];\r\n this.setCheckedCount('list', from, to);\r\n this.setListCount('list', from, to);\r\n this.setCheckedAll(from, to);\r\n this.setButtonDisabled(from, to);\r\n this.setSearchList(from, to);\r\n this.setValue();\r\n }\r\n\r\n private moveTree(from: XTransferSource, to: XTransferSource) {\r\n let checkedItems: XTransferNode[] = [];\r\n if (to.direction === 'right') {\r\n checkedItems = from.list?.filter(\r\n (x) => !x.disabled && !XIsEmpty(this.treeActivatedId()) && this.treeActivatedId().includes(x.id)\r\n )!;\r\n checkedItems.forEach((x: XTreeNode) => {\r\n x.disabled = true;\r\n x.change && x.change();\r\n });\r\n to.list?.unshift(\r\n ...checkedItems.map((x) => {\r\n let res = { ...x };\r\n res.checked = false;\r\n res.disabled = false;\r\n return res;\r\n })\r\n );\r\n this.setCheckedCount('tree', from);\r\n this.setCheckedCount('list', to);\r\n } else {\r\n checkedItems = XRemove(from.list!, (x) => !x.disabled && x.checked!);\r\n if (this.search()) {\r\n XRemove(from.searchList!, (x) => !x.disabled && x.checked!);\r\n }\r\n for (let item of checkedItems) {\r\n let node: XTreeNode = to.list?.find((x) => x.id === item.id)!;\r\n if (node) {\r\n node.checked = false;\r\n node.disabled = false;\r\n const idx = this.treeActivatedId().findIndex((x) => x === node.id);\r\n if (idx >= 0) {\r\n this.treeActivatedId.update((x) => {\r\n x.splice(idx, 1);\r\n return [...x];\r\n });\r\n }\r\n node.change && node.change();\r\n }\r\n }\r\n this.setCheckedCount('tree', to);\r\n this.setCheckedCount('list', from);\r\n }\r\n this.setCheckedAll(from, to);\r\n this.setListCount('list', from, to);\r\n this.setButtonDisabled(from, to);\r\n this.setSearchList(from, to);\r\n this.setValue();\r\n }\r\n\r\n private moveTable(from: XTransferSource, to: XTransferSource) {\r\n let checkedItems: XTransferNode[] = [];\r\n if (to.direction === 'right') {\r\n checkedItems = from.list?.filter((x) => !x.disabled && x.checked)!;\r\n to.list = [\r\n ...checkedItems.map((x) => {\r\n const res = { ...x };\r\n x.disabled = true;\r\n x.checked = true;\r\n res.disabled = false;\r\n res.checked = false;\r\n return res;\r\n }),\r\n ...to.list!\r\n ];\r\n this.tableData.set([...from.list!]);\r\n this.setCheckedCount('table', from);\r\n this.setCheckedCount('list', to);\r\n } else {\r\n checkedItems = XRemove(from.list!, (x) => !x.disabled && x.checked!);\r\n const ids = checkedItems.map((x) => x.id);\r\n for (let item of to.list!) {\r\n if (ids.includes(item.id)) {\r\n item.checked = false;\r\n item.disabled = false;\r\n }\r\n }\r\n from.list = [...from.list!];\r\n this.tableData.set([...to.list!]);\r\n this.setCheckedCount('table', to);\r\n this.setCheckedCount('list', from);\r\n }\r\n this.setListCount('table', from, to);\r\n this.setCheckedAll(from, to);\r\n this.setButtonDisabled(from, to);\r\n this.setSearchList(from, to);\r\n this.setValue();\r\n }\r\n\r\n dropCdk(event: CdkDragDrop<XTransferNode[] | undefined, any>) {\r\n const ev = event as CdkDragDrop<XTransferNode[]>;\r\n if (ev.previousContainer === ev.container) {\r\n moveItemInArray(ev.container.data, ev.previousIndex, ev.currentIndex);\r\n } else {\r\n transferArrayItem(ev.previousContainer.data, ev.container.data, ev.previousIndex, ev.currentIndex);\r\n this.setCheckedCount('list', this.left(), this.right());\r\n this.setCheckedAll(this.left(), this.right());\r\n this.setListCount('list', this.left(), this.right());\r\n this.setButtonDisabled(this.left(), this.right());\r\n }\r\n this.setSearchList(this.left(), this.right());\r\n this.setValue();\r\n }\r\n\r\n predicate(item: CdkDrag<XTransferNode>) {\r\n return !item.data.disabled;\r\n }\r\n\r\n trackByNode(_index: number, item: XTransferNode) {\r\n return item.id;\r\n }\r\n\r\n setListCount(type: XTransferType = 'list', ...sources: XTransferSource[]) {\r\n if (['list', 'tree'].includes(type)) {\r\n for (let source of sources) {\r\n source.count = source.list?.filter((x) => !x.disabled).length;\r\n }\r\n } else if (type === 'table') {\r\n for (let source of sources) {\r\n if (source.direction === 'left') {\r\n source.count = this.tableTotal() - this.right().list!.length || 0;\r\n } else {\r\n source.count = source.list?.filter((x) => !x.disabled).length;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onTreeNodeClick(_node: XTreeNode) {\r\n this.setCheckedCount('tree', this.left());\r\n this.setCheckedAll(this.left());\r\n this.setButtonDisabled(this.left());\r\n }\r\n\r\n onTableCheckedRow(row: XTransferNode, source: XTransferSource) {\r\n if (!this.tableCheckboxColumn()) return;\r\n let checked = row[this.tableCheckboxColumn()!.id];\r\n row.checked = checked;\r\n this.setCheckedCount('table', source);\r\n this.setCheckedAll(source);\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n onTableCheckedAll(row: XTableHeadCheckbox, source: XTransferSource) {\r\n if (!this.tableCheckboxColumn()) return;\r\n let checked = row.checkbox[this.tableCheckboxColumn()!.id];\r\n for (let item of source.list!) {\r\n if (!item.disabled) {\r\n item.checked = checked;\r\n }\r\n }\r\n this.setCheckedCount('table', source);\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n onInverse(source: XTransferSource) {\r\n for (let item of source.list!) {\r\n if (!item.disabled) {\r\n item.checked = !item.checked;\r\n }\r\n }\r\n let type = `${this.type}` as XTransferType;\r\n if (type === 'tree' && source.direction === 'right') {\r\n type = 'list';\r\n }\r\n this.setCheckedCount(type, source);\r\n this.setCheckedAll(source);\r\n this.setButtonDisabled(source);\r\n }\r\n\r\n private getTableCheckColumn() {\r\n if (this.type() !== 'table' || XIsEmpty(this.tableColumns())) return;\r\n this.tableCheckboxColumn.set(this.tableColumns()!.find((x) => x.rowChecked)!);\r\n }\r\n\r\n private setCheckedAll(...sources: XTransferSource[]) {\r\n for (let source of sources) {\r\n if ((source.checkedCount as number) > 0) {\r\n if (source.checkedCount === source.list?.filter((x) => !x.disabled).length) {\r\n source.checkedAll = true;\r\n } else {\r\n source.checkedAll = false;\r\n source.indeterminate = true;\r\n }\r\n } else {\r\n source.checkedAll = false;\r\n source.indeterminate = false;\r\n }\r\n }\r\n }\r\n\r\n private setCheckedCount(type: XTransferType = 'list', ...sources: XTransferSource[]) {\r\n for (let source of sources) {\r\n if (['table', 'list'].includes(type)) {\r\n source.checkedCount = source.list?.filter((x) => !x.disabled && x.checked).length;\r\n } else if (type === 'tree') {\r\n source.checkedCount = source.list?.filter(\r\n (x) => !x.disabled && !XIsEmpty(this.treeActivatedId()) && this.treeActivatedId().includes(x.id)\r\n ).length;\r\n }\r\n }\r\n }\r\n\r\n private setButtonDisabled(...sources: XTransferSource[]) {\r\n for (let source of sources) source.disabledButton = source.checkedCount === 0;\r\n }\r\n\r\n private setValue() {\r\n if (this.isObjectArray()) {\r\n this.value.set(this.right().list!);\r\n } else {\r\n this.value.set(this.right().list?.map((x) => x.id)!);\r\n }\r\n this.onChange && this.onChange(this.value());\r\n }\r\n\r\n private setSearchList(...sources: XTransferSource[]) {\r\n if (this.search()) {\r\n for (let source of sources) {\r\n if (XIsEmpty(source.searchInput)) {\r\n source.searchList = [...(source.list as XTransferNode[])];\r\n }\r\n }\r\n }\r\n }\r\n\r\n private setData() {\r\n if (this.type() === 'table') {\r\n this.getTableData();\r\n return;\r\n }\r\n XSetData<XTransferNode>(this.data(), this.unSubject).subscribe((x) => {\r\n this.setList(x);\r\n });\r\n }\r\n\r\n private setList(data: XTransferNode[]) {\r\n if (XIsEmpty(data)) return;\r\n switch (this.type()) {\r\n case 'list':\r\n this.nodes.set(data);\r\n if (!XIsEmpty(this.values())) {\r\n this.left.update((x) => {\r\n x.list = this.nodes().filter((x) => this.values().indexOf(x.id) < 0);\r\n return { ...x };\r\n });\r\n this.right.update((x) => {\r\n x.list = this.nodes().filter((x) => this.values().indexOf(x.id) >= 0);\r\n return { ...x };\r\n });\r\n } else {\r\n this.left.update((x) => {\r\n x.list = [...this.nodes()];\r\n return { ...x };\r\n });\r\n }\r\n this.setSearchList(this.left(), this.right());\r\n this.setListCount(this.type(), this.left(), this.right());\r\n break;\r\n case 'tree':\r\n this.nodes.set(data);\r\n this.setTreeNodeDisabled();\r\n this.left.update((x) => {\r\n x.list = [...this.nodes()];\r\n return { ...x };\r\n });\r\n if (!XIsEmpty(this.values())) {\r\n this.right.update((z) => {\r\n z.list = this.nodes()\r\n .filter((x) => this.values().indexOf(x.id) >= 0)\r\n .map((x) => {\r\n let res = { ...x };\r\n res.checked = false;\r\n res.disabled = false;\r\n return res;\r\n });\r\n return { ...z };\r\n });\r\n }\r\n this.setSearchList(this.left(), this.right());\r\n this.setListCount(this.type(), this.left(), this.right());\r\n break;\r\n case 'table':\r\n this.nodes.set(data);\r\n this.setTableDataDisabled();\r\n this.left.update((x) => {\r\n x.list = [...this.nodes()];\r\n return { ...x };\r\n });\r\n if (!XIsEmpty(this.values())) {\r\n if (this.isObjectArray()) {\r\n this.right.update((z) => {\r\n z.list = [\r\n ...this.value().map((x: any) => {\r\n let res = { ...x };\r\n res.disabled = false;\r\n res.checked = false;\r\n return res;\r\n })\r\n ];\r\n return { ...z };\r\n });\r\n } else {\r\n this.right.update((x) => {\r\n x.list = [...this.value()];\r\n return { ...x };\r\n });\r\n }\r\n }\r\n this.setSearchList(this.left(), this.right());\r\n this.setListCount(this.type(), this.left(), this.right());\r\n break;\r\n }\r\n }\r\n\r\n getTableData() {\r\n if (XIsFunction(this.data())) {\r\n (this.data() as Function)(this.tableIndex(), this.tableSize(), this.tableQuery()).subscribe(\r\n (x: XResultList<XTransferNode>) => {\r\n this.tableTotal.set(x.total!);\r\n this.tableData.set(x.list!);\r\n this.setList(x.list!);\r\n }\r\n );\r\n }\r\n }\r\n\r\n private setTitles() {\r\n let titles: string[] = [];\r\n if (XIsEmpty(this.titles())) {\r\n titles = [this.localTitle()!, this.locale().selectedTitle!];\r\n } else {\r\n titles = this.titles()!;\r\n }\r\n if (titles.length > 0) {\r\n this.left.update((x) => {\r\n x.title = titles[0];\r\n return { ...x };\r\n });\r\n }\r\n if (titles.length > 1) {\r\n this.right.update((x) => {\r\n x.title = titles[1];\r\n return { ...x };\r\n });\r\n }\r\n }\r\n\r\n private setListStyle() {\r\n if (XIsEmpty(this.listStyle())) return;\r\n let styles: object[] = [];\r\n if (XIsObject(this.listStyle())) {\r\n styles = [this.listStyle()!, this.listStyle()!];\r\n } else if (XIsObjectArray(this.listStyle())) {\r\n styles = this.listStyle() as object[];\r\n }\r\n if (styles.length > 0)\r\n this.left.update((x) => {\r\n x.listStyle = styles[0];\r\n return { ...x };\r\n });\r\n if (styles.length > 1)\r\n this.right.update((x) => {\r\n x.listStyle = styles[1];\r\n return { ...x };\r\n });\r\n }\r\n\r\n private setTreeNodeDisabled() {\r\n if (!XIsEmpty(this.values()) && this.nodes()) {\r\n for (let item of this.nodes()) {\r\n let hasIn = this.values().indexOf(item.id) >= 0;\r\n item.disabled = hasIn;\r\n item.checked = hasIn;\r\n }\r\n }\r\n }\r\n\r\n private setTableDataDisabled() {\r\n if (!XIsEmpty(this.values()) && this.nodes()) {\r\n for (let item of this.nodes()) {\r\n let hasIn = this.values().indexOf(item.id) >= 0;\r\n item.disabled = hasIn;\r\n item.checked = hasIn;\r\n }\r\n }\r\n }\r\n\r\n private setHiddenCheckAll() {\r\n if (XIsEmpty(this.hiddenCheckAll())) return;\r\n if (this.hiddenCheckAll()!.length > 0 && XIsBoolean(this.hiddenCheckAll()![0])) {\r\n this.left.update((x) => {\r\n x.hiddenCheckAll = this.hiddenCheckAll()![0];\r\n return { ...x };\r\n });\r\n }\r\n if (this.hiddenCheckAll()!.length > 1 && XIsBoolean(this.hiddenCheckAll()![1])) {\r\n this.right.update((x) => {\r\n x.hiddenCheckAll = this.hiddenCheckAll()![1];\r\n return { ...x };\r\n });\r\n }\r\n }\r\n\r\n private setFooterTpl() {\r\n if (XIsEmpty(this.footerTpl())) return;\r\n if (this.footerTpl()!.length > 0) {\r\n this.left.update((x) => {\r\n x.footerTpl = this.footerTpl()![0];\r\n return { ...x };\r\n });\r\n }\r\n if (this.footerTpl()!.length > 1) {\r\n this.right.update((x) => {\r\n x.footerTpl = this.footerTpl()![1];\r\n return { ...x };\r\n });\r\n }\r\n }\r\n\r\n private setTableHeadSearchTpl() {\r\n if (XIsEmpty(this.tableHeadSearchTpl())) return;\r\n if (this.tableHeadSearchTpl()!.length > 0) {\r\n this.left.update((x) => {\r\n x.tableHeadSearchTpl = this.tableHeadSearchTpl()![0];\r\n return { ...x };\r\n });\r\n }\r\n if (this.tableHeadSearchTpl()!.length > 1) {\r\n this.right.update((x) => {\r\n x.tableHeadSearchTpl = this.tableHeadSearchTpl()![1];\r\n return { ...x };\r\n });\r\n }\r\n }\r\n}\r\n","<div #transfer class=\"x-transfer\" cdkDropListGroup>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"left().footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: left() }\"></ng-container>\r\n <div [ngStyle]=\"left().listStyle!\" class=\"x-transfer-list x-transfer-{{ type() }}\">\r\n @switch (type()) {\r\n @case ('list') {\r\n <ul\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"left().list\"\r\n [cdkDropListDisabled]=\"!drag() && type() === 'list'\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n @for (node of left().list; track node.id) {\r\n <li class=\"x-transfer-item\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: left() }\"></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n @case ('tree') {\r\n <x-tree\r\n [data]=\"left().list!\"\r\n multiple\r\n allowManyActivated\r\n [(activatedId)]=\"treeActivatedId\"\r\n (nodeClick)=\"onTreeNodeClick($event)\"\r\n [labelTpl]=\"treeLabelTpl\"\r\n ></x-tree>\r\n <ng-template #treeLabelTpl let-node=\"$node\">\r\n <span class=\"x-transfer-tree-label\" x-keyword [text]=\"left().searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n }\r\n @case ('table') {\r\n <x-table\r\n #leftTableCom\r\n [data]=\"tableData()\"\r\n [columns]=\"tableColumns()!\"\r\n [(size)]=\"tableSize\"\r\n [(index)]=\"tableIndex\"\r\n (indexChange)=\"getTableData()\"\r\n [query]=\"tableQuery()\"\r\n [total]=\"tableTotal()\"\r\n (activatedRowChange)=\"onTableCheckedRow($event!, left())\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, left())\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"left().tableHeadSearchTpl\"\r\n ></x-table>\r\n }\r\n }\r\n </div>\r\n @if (left().footerTpl) {\r\n <div class=\"x-transfer-footer\">\r\n <ng-container *ngTemplateOutlet=\"left().footerTpl!; context: { $source: left() }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"x-transfer-buttons\">\r\n <x-button\r\n type=\"primary\"\r\n icon=\"fto-chevron-right\"\r\n [disabled]=\"left().disabledButton!\"\r\n (click)=\"move(left(), right())\"\r\n flat\r\n ></x-button>\r\n <x-button\r\n type=\"primary\"\r\n icon=\"fto-chevron-left\"\r\n [disabled]=\"right().disabledButton!\"\r\n (click)=\"move(right(), left())\"\r\n flat\r\n ></x-button>\r\n </div>\r\n <div class=\"x-transfer-box\" [class.x-transfer-has-footer]=\"right().footerTpl\">\r\n <ng-container *ngTemplateOutlet=\"sourceTitleTpl; context: { source: right() }\"></ng-container>\r\n\r\n <div [ngStyle]=\"right().listStyle!\" class=\"x-transfer-list\">\r\n @switch (type()) {\r\n @case ('table') {\r\n <x-table\r\n #rightTableCom\r\n [data]=\"right().list!\"\r\n [columns]=\"tableColumns()!\"\r\n (activatedRowChange)=\"onTableCheckedRow($event!, right())\"\r\n (headCheckboxChange)=\"onTableCheckedAll($event, right())\"\r\n hiddenWrapBorder\r\n hiddenPaginationBorder\r\n showPagination=\"false\"\r\n showEllipsis=\"false\"\r\n showTotal=\"false\"\r\n paginationPosition=\"bottom-center\"\r\n allowSelectRow=\"false\"\r\n [headSearchTpl]=\"right().tableHeadSearchTpl\"\r\n ></x-table>\r\n }\r\n @default {\r\n <ul\r\n cdkDropList\r\n (cdkDropListDropped)=\"dropCdk($event)\"\r\n [cdkDropListData]=\"right().list\"\r\n [cdkDropListDisabled]=\"!drag() || (drag() && type() !== 'list')\"\r\n [cdkDropListEnterPredicate]=\"predicate\"\r\n class=\"x-transfer-droplist\"\r\n >\r\n @for (node of right().list; track node.id) {\r\n <li class=\"x-transfer-item\" cdkDrag [cdkDragData]=\"node\">\r\n <ng-container\r\n *ngTemplateOutlet=\"sourceNodeTpl; context: { node: node, source: right() }\"\r\n ></ng-container>\r\n </li>\r\n }\r\n </ul>\r\n }\r\n }\r\n </div>\r\n @if (right().footerTpl) {\r\n <div class=\"x-transfer-footer\">\r\n <ng-container *ngTemplateOutlet=\"right().footerTpl!; context: { $source: right() }\"></ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n\r\n<ng-template #sourceTitleTpl let-source=\"source\">\r\n <div class=\"x-transfer-title\">\r\n <div class=\"x-transfer-title-left\">\r\n @if (source.title && !source.hiddenCheckAll) {\r\n <x-checkbox\r\n [data]=\"[titleTpl() ? '' : source.title]\"\r\n [(ngModel)]=\"source.checkedAll\"\r\n (ngModelChange)=\"checkedAllChange($event, source)\"\r\n [indeterminate]=\"source.indeterminate\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (source.title && source.hiddenCheckAll) {\r\n <span>{{ source.title }}</span>\r\n }\r\n @if (inverse() && type() === 'list') {\r\n <x-link class=\"x-transfer-inverse\" type=\"primary\" (click)=\"onInverse(source)\">{{\r\n 'transfer.inverse' | xI18n\r\n }}</x-link>\r\n }\r\n </div>\r\n <ng-container\r\n *xOutlet=\"titleTpl; context: { $title: source.title, $checkedCount: source.checkedCount, $count: source.count }\"\r\n ><span class=\"x-transfer-total\">{{ source.checkedCount }} / {{ source.count }}</span></ng-container\r\n >\r\n </div>\r\n @if (search() && type() !== 'table') {\r\n <div class=\"x-transfer-search\">\r\n <x-input\r\n icon=\"fto-search\"\r\n [(ngModel)]=\"source.searchInput\"\r\n (ngModelChange)=\"onSearchInputChange(source)\"\r\n clearable\r\n ></x-input>\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-template #sourceNodeTpl let-node=\"node\" let-source=\"source\">\r\n <x-checkbox\r\n [data]=\"[{ id: node.id, label: nodeTpl() ? nodeTpl() : labelTpl, node: node }]\"\r\n [disabled]=\"node.disabled\"\r\n [(ngModel)]=\"node.checked\"\r\n (ngModelChange)=\"checkedChange($event, source)\"\r\n single\r\n ></x-checkbox>\r\n <ng-template #labelTpl>\r\n <span x-keyword [text]=\"source.searchInput!\">{{ node.label }}</span>\r\n </ng-template>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { XTransferComponent } from './transfer.component';\r\n\r\n@NgModule({\r\n exports: [XTransferComponent],\r\n imports: [XTransferComponent]\r\n})\r\nexport class XTransferModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Subject, fromEvent } from 'rxjs';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { input, model, Component, viewChild, inject, output, computed, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, HostListener, Renderer2, ChangeDetectorRef, ViewContainerRef, ElementRef,
|
|
3
|
+
import { input, model, Component, viewChild, inject, output, computed, signal, DestroyRef, ViewEncapsulation, ChangeDetectionStrategy, HostBinding, HostListener, Renderer2, ChangeDetectorRef, ViewContainerRef, ElementRef, effect, NgModule } from '@angular/core';
|
|
4
4
|
import { XToDataConvert, XToBoolean, XToNumber, XToCssPixelValue, XIsEmpty, XConnectBaseAnimation, XIsArray, XIsObjectArray, XIsFunction, XIsChange, XResize, XSetData, XParents, XComputed, XRemove, XIsString, XIsObservable } from '@ng-nest/ui/core';
|
|
5
5
|
import { XFormControlFunction, XValueAccessor } from '@ng-nest/ui/base-form';
|
|
6
6
|
import { XPortalService, XPortalConnectedPosition } from '@ng-nest/ui/portal';
|
|
@@ -275,6 +275,8 @@ class XTreeSelectPortalComponent {
|
|
|
275
275
|
this.animating = output();
|
|
276
276
|
this.nodeClick = output();
|
|
277
277
|
this.isEmpty = computed(() => XIsEmpty(this.data()));
|
|
278
|
+
this.destroy = signal(false);
|
|
279
|
+
this.destroyRef = inject(DestroyRef);
|
|
278
280
|
this.locale = toSignal(this.i18n.localeChange.pipe(map((x) => x.treeSelect)), {
|
|
279
281
|
initialValue: zh_CN.treeSelect
|
|
280
282
|
});
|
|
@@ -283,11 +285,20 @@ class XTreeSelectPortalComponent {
|
|
|
283
285
|
get getPlacement() {
|
|
284
286
|
return this.placement();
|
|
285
287
|
}
|
|
286
|
-
done(
|
|
287
|
-
|
|
288
|
+
done() {
|
|
289
|
+
if (this.destroy())
|
|
290
|
+
return;
|
|
291
|
+
this.animating.emit(false);
|
|
288
292
|
}
|
|
289
|
-
start(
|
|
290
|
-
|
|
293
|
+
start() {
|
|
294
|
+
if (this.destroy())
|
|
295
|
+
return;
|
|
296
|
+
this.animating.emit(true);
|
|
297
|
+
}
|
|
298
|
+
ngOnInit() {
|
|
299
|
+
this.destroyRef.onDestroy(() => {
|
|
300
|
+
this.destroy.set(true);
|
|
301
|
+
});
|
|
291
302
|
}
|
|
292
303
|
stopPropagation(event) {
|
|
293
304
|
event.stopPropagation();
|
|
@@ -367,12 +378,28 @@ class XTreeSelectComponent extends XTreeSelectProperty {
|
|
|
367
378
|
this.animating = signal(false);
|
|
368
379
|
this.selectedSurplus = signal(0);
|
|
369
380
|
this.selectedTotal = signal(0);
|
|
370
|
-
this.valueTplContextSignal = signal({ $node: null, $isValue: true });
|
|
371
381
|
this.closeSubject = new Subject();
|
|
372
382
|
this.keydownSubject = new Subject();
|
|
373
383
|
this.inputChange = new Subject();
|
|
374
384
|
this.composition = signal(false);
|
|
375
385
|
this.multipleInputSizeChange = new Subject();
|
|
386
|
+
this.valueTemplate = viewChild.required('valueTemplate');
|
|
387
|
+
this.valueTplComputed = computed(() => {
|
|
388
|
+
if (this.nodeTpl()) {
|
|
389
|
+
return this.nodeTpl();
|
|
390
|
+
}
|
|
391
|
+
if (this.valueTpl()) {
|
|
392
|
+
return this.valueTpl();
|
|
393
|
+
}
|
|
394
|
+
if (this.multiple()) {
|
|
395
|
+
return this.multipleValueTpl();
|
|
396
|
+
}
|
|
397
|
+
return this.valueTemplate();
|
|
398
|
+
});
|
|
399
|
+
this.valueTplContextSignal = signal({ $node: null, $isValue: true });
|
|
400
|
+
this.valueTplContextComputed = computed(() => {
|
|
401
|
+
return this.valueTplContext() ? this.valueTplContext() : this.valueTplContextSignal();
|
|
402
|
+
});
|
|
376
403
|
this.valueTplSignal = computed(() => {
|
|
377
404
|
if (this.multiple()) {
|
|
378
405
|
return this.multipleValueTpl();
|
|
@@ -934,11 +961,11 @@ class XTreeSelectComponent extends XTreeSelectProperty {
|
|
|
934
961
|
setTimeout(() => this.inputChange.next(this.multiple() ? this.multipleSearchValue() : this.displayValue()));
|
|
935
962
|
}
|
|
936
963
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTreeSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
937
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XTreeSelectComponent, isStandalone: true, selector: "x-tree-select", providers: [XValueAccessor(XTreeSelectComponent)], viewQueries: [{ propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, isSignal: true }, { propertyName: "treeSelect", first: true, predicate: ["treeSelect"], descendants: true, isSignal: true }, { propertyName: "multipleValueTpl", first: true, predicate: ["multipleValueTpl"], descendants: true, isSignal: true }, { propertyName: "multipleInput", first: true, predicate: ["multipleInput"], descendants: true, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #treeSelect class=\"x-tree-select\" [class.x-tree-select-multiple]=\"multiple()\">\r\n <div class=\"x-tree-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"getReadonly()\"\r\n [clearable]=\"showClearable()\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTplSignal() ? valueTplSignal() : nodeTpl()\"\r\n [valueTplContext]=\"valueTplContextSignal()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal(true)\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n (xComposition)=\"composition.set($event)\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n\r\n<ng-template #multipleValueTpl>\r\n @for (node of displayNodes(); track node.id; let i = $index) {\r\n <x-tag\r\n [@.disabled]=\"true\"\r\n [bordered]=\"false\"\r\n [closable]=\"!disabled()\"\r\n [type]=\"'info'\"\r\n (close)=\"closeNode($event, node, i)\"\r\n [size]=\"size()\"\r\n >{{ showPath() ? node.path : node.label }}</x-tag\r\n >\r\n }\r\n @if (showDisplayMore()) {\r\n <x-tag [@.disabled]=\"true\" [bordered]=\"false\" [type]=\"'info'\" [size]=\"size()\">\r\n <ng-container *xOutlet=\"getMaxTagContent(); context: { $surplus: selectedSurplus(), $total: selectedTotal() }\">{{\r\n displayMore()\r\n }}</ng-container>\r\n </x-tag>\r\n }\r\n @if (search()) {\r\n <x-input\r\n #multipleInput\r\n [bordered]=\"false\"\r\n [size]=\"size()\"\r\n [(ngModel)]=\"multipleSearchValue\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n ></x-input>\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-tree-select{display:inline-block;width:12rem}.x-tree-select{margin:0;padding:0}.x-tree-select{width:100%}.x-tree-select x-input{width:100%;color:#252022}.x-tree-select-multiple .x-input-value-template-value{display:flex;align-items:center;margin-bottom:.125rem;flex-wrap:wrap;width:initial;height:initial!important;left:.125rem!important}.x-tree-select-multiple .x-input-value-template-value>x-tag{display:inline-flex;margin-left:.0625rem;margin-top:.125rem}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-big{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-big>.x-icon{right:calc(-var(--x-padding-large)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-large{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-large>.x-icon{right:calc(-var(--x-padding-medium)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-medium{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-medium>.x-icon{right:calc(-var(--x-padding-small)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-small{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-small>.x-icon{right:calc(-var(--x-padding-mini)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-mini{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-mini>.x-icon{right:-.0625rem}.x-tree-select-multiple .x-input-value-template-value>x-input{margin-top:.125rem;width:5rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:1.125rem;line-height:1.125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>label{height:1.125rem;line-height:1.125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-row>.x-input-input>input{background-color:transparent}.x-tree-select-portal{padding:.25rem;color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;flex-direction:column;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}.x-tree-select-portal x-tree{width:100%}.x-tree-select-portal x-empty{margin:1rem;display:block}.x-tree-select-portal-virtual-scroll{padding:0;overflow:hidden}.x-tree-select-portal-virtual-scroll .x-tree-content{padding:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "component", type: XTagComponent, selector: "x-tag" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
964
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XTreeSelectComponent, isStandalone: true, selector: "x-tree-select", providers: [XValueAccessor(XTreeSelectComponent)], viewQueries: [{ propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, isSignal: true }, { propertyName: "treeSelect", first: true, predicate: ["treeSelect"], descendants: true, isSignal: true }, { propertyName: "multipleValueTpl", first: true, predicate: ["multipleValueTpl"], descendants: true, isSignal: true }, { propertyName: "multipleInput", first: true, predicate: ["multipleInput"], descendants: true, isSignal: true }, { propertyName: "valueTemplate", first: true, predicate: ["valueTemplate"], descendants: true, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #treeSelect class=\"x-tree-select\" [class.x-tree-select-multiple]=\"multiple()\">\r\n <div class=\"x-tree-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"getReadonly()\"\r\n [clearable]=\"showClearable()\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTplComputed()\"\r\n [valueTplContext]=\"valueTplContextComputed()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal(true)\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n (xComposition)=\"composition.set($event)\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n\r\n<ng-template #valueTemplate>{{ displayValue() }}</ng-template>\r\n\r\n<ng-template #multipleValueTpl>\r\n @for (node of displayNodes(); track node.id; let i = $index) {\r\n <x-tag\r\n [@.disabled]=\"true\"\r\n [bordered]=\"false\"\r\n [closable]=\"!disabled()\"\r\n [type]=\"'info'\"\r\n (close)=\"closeNode($event, node, i)\"\r\n [size]=\"size()\"\r\n >{{ showPath() ? node.path : node.label }}</x-tag\r\n >\r\n }\r\n @if (showDisplayMore()) {\r\n <x-tag [@.disabled]=\"true\" [bordered]=\"false\" [type]=\"'info'\" [size]=\"size()\">\r\n <ng-container *xOutlet=\"getMaxTagContent(); context: { $surplus: selectedSurplus(), $total: selectedTotal() }\">{{\r\n displayMore()\r\n }}</ng-container>\r\n </x-tag>\r\n }\r\n @if (search()) {\r\n <x-input\r\n #multipleInput\r\n [bordered]=\"false\"\r\n [size]=\"size()\"\r\n [(ngModel)]=\"multipleSearchValue\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n ></x-input>\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-tree-select{display:inline-block;width:12rem}.x-tree-select{margin:0;padding:0}.x-tree-select{width:100%}.x-tree-select x-input{width:100%;color:#252022}.x-tree-select-multiple .x-input-value-template-value{display:flex;align-items:center;margin-bottom:.125rem;flex-wrap:wrap;width:initial;height:initial!important;left:.125rem!important}.x-tree-select-multiple .x-input-value-template-value>x-tag{display:inline-flex;margin-left:.0625rem;margin-top:.125rem}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-big{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-big>.x-icon{right:calc(-var(--x-padding-large)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-large{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-large>.x-icon{right:calc(-var(--x-padding-medium)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-medium{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-medium>.x-icon{right:calc(-var(--x-padding-small)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-small{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-small>.x-icon{right:calc(-var(--x-padding-mini)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-mini{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-mini>.x-icon{right:-.0625rem}.x-tree-select-multiple .x-input-value-template-value>x-input{margin-top:.125rem;width:5rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:1.125rem;line-height:1.125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>label{height:1.125rem;line-height:1.125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-row>.x-input-input>input{background-color:transparent}.x-tree-select-portal{padding:.25rem;color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;flex-direction:column;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}.x-tree-select-portal x-tree{width:100%}.x-tree-select-portal x-empty{margin:1rem;display:block}.x-tree-select-portal-virtual-scroll{padding:0;overflow:hidden}.x-tree-select-portal-virtual-scroll .x-tree-content{padding:.25rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XInputComponent, selector: "x-input" }, { kind: "component", type: XTagComponent, selector: "x-tag" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
938
965
|
}
|
|
939
966
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTreeSelectComponent, decorators: [{
|
|
940
967
|
type: Component,
|
|
941
|
-
args: [{ selector: `${XTreeSelectPrefix}`, standalone: true, imports: [FormsModule, ReactiveFormsModule, XInputComponent, XTagComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XTreeSelectComponent)], template: "<div #treeSelect class=\"x-tree-select\" [class.x-tree-select-multiple]=\"multiple()\">\r\n <div class=\"x-tree-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"getReadonly()\"\r\n [clearable]=\"showClearable()\"\r\n [(ngModel)]=\"displayValue\"\r\n [valueTpl]=\"valueTplSignal() ? valueTplSignal() : nodeTpl()\"\r\n [valueTplContext]=\"valueTplContextSignal()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal(true)\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n (xComposition)=\"composition.set($event)\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n\r\n<ng-template #multipleValueTpl>\r\n @for (node of displayNodes(); track node.id; let i = $index) {\r\n <x-tag\r\n [@.disabled]=\"true\"\r\n [bordered]=\"false\"\r\n [closable]=\"!disabled()\"\r\n [type]=\"'info'\"\r\n (close)=\"closeNode($event, node, i)\"\r\n [size]=\"size()\"\r\n >{{ showPath() ? node.path : node.label }}</x-tag\r\n >\r\n }\r\n @if (showDisplayMore()) {\r\n <x-tag [@.disabled]=\"true\" [bordered]=\"false\" [type]=\"'info'\" [size]=\"size()\">\r\n <ng-container *xOutlet=\"getMaxTagContent(); context: { $surplus: selectedSurplus(), $total: selectedTotal() }\">{{\r\n displayMore()\r\n }}</ng-container>\r\n </x-tag>\r\n }\r\n @if (search()) {\r\n <x-input\r\n #multipleInput\r\n [bordered]=\"false\"\r\n [size]=\"size()\"\r\n [(ngModel)]=\"multipleSearchValue\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n ></x-input>\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-tree-select{display:inline-block;width:12rem}.x-tree-select{margin:0;padding:0}.x-tree-select{width:100%}.x-tree-select x-input{width:100%;color:#252022}.x-tree-select-multiple .x-input-value-template-value{display:flex;align-items:center;margin-bottom:.125rem;flex-wrap:wrap;width:initial;height:initial!important;left:.125rem!important}.x-tree-select-multiple .x-input-value-template-value>x-tag{display:inline-flex;margin-left:.0625rem;margin-top:.125rem}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-big{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-big>.x-icon{right:calc(-var(--x-padding-large)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-large{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-large>.x-icon{right:calc(-var(--x-padding-medium)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-medium{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-medium>.x-icon{right:calc(-var(--x-padding-small)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-small{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-small>.x-icon{right:calc(-var(--x-padding-mini)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-mini{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-mini>.x-icon{right:-.0625rem}.x-tree-select-multiple .x-input-value-template-value>x-input{margin-top:.125rem;width:5rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:1.125rem;line-height:1.125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>label{height:1.125rem;line-height:1.125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-row>.x-input-input>input{background-color:transparent}.x-tree-select-portal{padding:.25rem;color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;flex-direction:column;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}.x-tree-select-portal x-tree{width:100%}.x-tree-select-portal x-empty{margin:1rem;display:block}.x-tree-select-portal-virtual-scroll{padding:0;overflow:hidden}.x-tree-select-portal-virtual-scroll .x-tree-content{padding:.25rem}\n"] }]
|
|
968
|
+
args: [{ selector: `${XTreeSelectPrefix}`, standalone: true, imports: [FormsModule, ReactiveFormsModule, XInputComponent, XTagComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XTreeSelectComponent)], template: "<div #treeSelect class=\"x-tree-select\" [class.x-tree-select-multiple]=\"multiple()\">\r\n <div class=\"x-tree-select-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"getReadonly()\"\r\n [clearable]=\"showClearable()\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTplComputed()\"\r\n [valueTplContext]=\"valueTplContextComputed()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"true\"\r\n [(active)]=\"active\"\r\n (clearEmit)=\"clearEmit()\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xInput)=\"onInput($event)\"\r\n (xFocus)=\"onFocus($event)\"\r\n (xClick)=\"showPortal(true)\"\r\n (xMouseenter)=\"menter()\"\r\n (xMouseleave)=\"mleave()\"\r\n (xComposition)=\"composition.set($event)\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n\r\n<ng-template #valueTemplate>{{ displayValue() }}</ng-template>\r\n\r\n<ng-template #multipleValueTpl>\r\n @for (node of displayNodes(); track node.id; let i = $index) {\r\n <x-tag\r\n [@.disabled]=\"true\"\r\n [bordered]=\"false\"\r\n [closable]=\"!disabled()\"\r\n [type]=\"'info'\"\r\n (close)=\"closeNode($event, node, i)\"\r\n [size]=\"size()\"\r\n >{{ showPath() ? node.path : node.label }}</x-tag\r\n >\r\n }\r\n @if (showDisplayMore()) {\r\n <x-tag [@.disabled]=\"true\" [bordered]=\"false\" [type]=\"'info'\" [size]=\"size()\">\r\n <ng-container *xOutlet=\"getMaxTagContent(); context: { $surplus: selectedSurplus(), $total: selectedTotal() }\">{{\r\n displayMore()\r\n }}</ng-container>\r\n </x-tag>\r\n }\r\n @if (search()) {\r\n <x-input\r\n #multipleInput\r\n [bordered]=\"false\"\r\n [size]=\"size()\"\r\n [(ngModel)]=\"multipleSearchValue\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n ></x-input>\r\n }\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";x-tree-select{display:inline-block;width:12rem}.x-tree-select{margin:0;padding:0}.x-tree-select{width:100%}.x-tree-select x-input{width:100%;color:#252022}.x-tree-select-multiple .x-input-value-template-value{display:flex;align-items:center;margin-bottom:.125rem;flex-wrap:wrap;width:initial;height:initial!important;left:.125rem!important}.x-tree-select-multiple .x-input-value-template-value>x-tag{display:inline-flex;margin-left:.0625rem;margin-top:.125rem}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-big{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-big>.x-icon{right:calc(-var(--x-padding-large)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-large{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-large>.x-icon{right:calc(-var(--x-padding-medium)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-medium{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-medium>.x-icon{right:calc(-var(--x-padding-small)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-small{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-small>.x-icon{right:calc(-var(--x-padding-mini)/2)}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-mini{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-tree-select-multiple .x-input-value-template-value>x-tag .x-tag-mini>.x-icon{right:-.0625rem}.x-tree-select-multiple .x-input-value-template-value>x-input{margin-top:.125rem;width:5rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-big>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-large>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-medium>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-small>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>input,.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:1.125rem;line-height:1.125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:1.125rem;line-height:1.125rem;padding:0 .125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-mini>label{height:1.125rem;line-height:1.125rem}.x-tree-select-multiple .x-input-value-template-value>x-input .x-input-row>.x-input-input>input{background-color:transparent}.x-tree-select-portal{padding:.25rem;color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;flex-direction:column;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}.x-tree-select-portal x-tree{width:100%}.x-tree-select-portal x-empty{margin:1rem;display:block}.x-tree-select-portal-virtual-scroll{padding:0;overflow:hidden}.x-tree-select-portal-virtual-scroll .x-tree-content{padding:.25rem}\n"] }]
|
|
942
969
|
}], ctorParameters: () => [] });
|
|
943
970
|
|
|
944
971
|
class XTreeSelectModule {
|