@ng-nest/ui 13.0.5 → 13.0.6

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.
@@ -133,7 +133,7 @@ class XFindProperty extends XControlValueAccessor {
133
133
  }
134
134
  }
135
135
  /** @nocollapse */ /** @nocollapse */ XFindProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XFindProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
136
- /** @nocollapse */ /** @nocollapse */ XFindProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XFindProperty, selector: "ng-component", inputs: { size: "size", bordered: "bordered", multiple: "multiple", columnLabel: "columnLabel", dialogTitle: "dialogTitle", dialogWidth: "dialogWidth", dialogHeight: "dialogHeight", dialogVisible: "dialogVisible", dialogButtonsCenter: "dialogButtonsCenter", tableData: "tableData", tableIndex: "tableIndex", tableSize: "tableSize", tableQuery: "tableQuery", tableTotal: "tableTotal", tableColumns: "tableColumns", tableActivatedRow: "tableActivatedRow", tableCheckedRow: "tableCheckedRow", tableLoading: "tableLoading", tableVirtualScroll: "tableVirtualScroll", tableBodyHeight: "tableBodyHeight", tableMinBufferPx: "tableMinBufferPx", tableMaxBufferPx: "tableMaxBufferPx", tableAdaptionHeight: "tableAdaptionHeight", tableDocPercent: "tableDocPercent", tableRowHeight: "tableRowHeight", treeData: "treeData", treeActivatedId: "treeActivatedId", treeExpandedLevel: "treeExpandedLevel", treeChecked: "treeChecked", treeCheckbox: "treeCheckbox", treeTableConnect: "treeTableConnect", search: "search" }, outputs: { dialogVisibleChange: "dialogVisibleChange", tableIndexChange: "tableIndexChange", tableSizeChange: "tableSizeChange", tableSortChange: "tableSortChange", tableRowEmit: "tableRowEmit", treeActivatedChange: "treeActivatedChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
136
+ /** @nocollapse */ /** @nocollapse */ XFindProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XFindProperty, selector: "ng-component", inputs: { size: "size", bordered: "bordered", multiple: "multiple", columnLabel: "columnLabel", dialogTitle: "dialogTitle", dialogCheckboxLabel: "dialogCheckboxLabel", dialogCheckboxWidth: "dialogCheckboxWidth", dialogEmptyContent: "dialogEmptyContent", dialogWidth: "dialogWidth", dialogHeight: "dialogHeight", dialogVisible: "dialogVisible", dialogButtonsCenter: "dialogButtonsCenter", tableData: "tableData", tableIndex: "tableIndex", tableSize: "tableSize", tableQuery: "tableQuery", tableTotal: "tableTotal", tableColumns: "tableColumns", tableActivatedRow: "tableActivatedRow", tableCheckedRow: "tableCheckedRow", tableLoading: "tableLoading", tableVirtualScroll: "tableVirtualScroll", tableBodyHeight: "tableBodyHeight", tableMinBufferPx: "tableMinBufferPx", tableMaxBufferPx: "tableMaxBufferPx", tableAdaptionHeight: "tableAdaptionHeight", tableDocPercent: "tableDocPercent", tableRowHeight: "tableRowHeight", treeData: "treeData", treeActivatedId: "treeActivatedId", treeExpandedLevel: "treeExpandedLevel", treeChecked: "treeChecked", treeCheckbox: "treeCheckbox", treeTableConnect: "treeTableConnect", search: "search" }, outputs: { dialogVisibleChange: "dialogVisibleChange", tableIndexChange: "tableIndexChange", tableSizeChange: "tableSizeChange", tableSortChange: "tableSortChange", tableRowEmit: "tableRowEmit", treeActivatedChange: "treeActivatedChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
137
137
  __decorate([
138
138
  XWithConfig(X_CONFIG_NAME, 'medium')
139
139
  ], XFindProperty.prototype, "size", void 0);
@@ -150,6 +150,16 @@ __decorate([
150
150
  __decorate([
151
151
  XWithConfig(X_CONFIG_NAME, '查找选择')
152
152
  ], XFindProperty.prototype, "dialogTitle", void 0);
153
+ __decorate([
154
+ XWithConfig(X_CONFIG_NAME, '选择')
155
+ ], XFindProperty.prototype, "dialogCheckboxLabel", void 0);
156
+ __decorate([
157
+ XWithConfig(X_CONFIG_NAME, 60),
158
+ XInputNumber()
159
+ ], XFindProperty.prototype, "dialogCheckboxWidth", void 0);
160
+ __decorate([
161
+ XWithConfig(X_CONFIG_NAME, '请选择数据')
162
+ ], XFindProperty.prototype, "dialogEmptyContent", void 0);
153
163
  __decorate([
154
164
  XInputBoolean()
155
165
  ], XFindProperty.prototype, "dialogVisible", void 0);
@@ -207,6 +217,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
207
217
  type: Input
208
218
  }], dialogTitle: [{
209
219
  type: Input
220
+ }], dialogCheckboxLabel: [{
221
+ type: Input
222
+ }], dialogCheckboxWidth: [{
223
+ type: Input
224
+ }], dialogEmptyContent: [{
225
+ type: Input
210
226
  }], dialogWidth: [{
211
227
  type: Input
212
228
  }], dialogHeight: [{
@@ -374,7 +390,16 @@ class XFindComponent extends XFindProperty {
374
390
  return;
375
391
  if (this.hasTable) {
376
392
  if (!this.tableColumns.find((x) => x.rowChecked)) {
377
- this.tableColumns = [{ id: '$checked', label: '选择', rowChecked: true, type: 'checkbox', width: 60 }, ...this.tableColumns];
393
+ this.tableColumns = [
394
+ {
395
+ id: '$checked',
396
+ label: this.dialogCheckboxLabel,
397
+ rowChecked: true,
398
+ type: 'checkbox',
399
+ width: this.dialogCheckboxWidth
400
+ },
401
+ ...this.tableColumns
402
+ ];
378
403
  }
379
404
  }
380
405
  }
@@ -577,10 +602,10 @@ class XFindComponent extends XFindProperty {
577
602
  }
578
603
  }
579
604
  /** @nocollapse */ /** @nocollapse */ XFindComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XFindComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
580
- /** @nocollapse */ /** @nocollapse */ XFindComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XFindComponent, selector: "x-find", providers: [XValueAccessor(XFindComponent)], viewQueries: [{ propertyName: "find", first: true, predicate: ["find"], descendants: true, static: true }, { propertyName: "dialogCom", first: true, predicate: ["dialogCom"], descendants: true }, { propertyName: "tableCom", first: true, predicate: ["tableCom"], descendants: true }, { propertyName: "treeCom", first: true, predicate: ["treeCom"], descendants: true }, { propertyName: "buttonCom", first: true, predicate: ["buttonCom"], descendants: true }, { propertyName: "tableRef", first: true, predicate: ["tableRef"], descendants: true }, { propertyName: "treeRef", first: true, predicate: ["treeRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-find-row\">\r\n <x-button #buttonCom icon=\"fto-search\" [onlyIcon]=\"!bordered\" [size]=\"size\" [disabled]=\"disabled\" (click)=\"showModal()\"></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag\r\n *ngFor=\"let item of value; index as i; trackBy: trackByItem\"\r\n closable\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [disabled]=\"disabled\"\r\n (close)=\"tagClose(i)\"\r\n >{{ item[columnLabel] }}</x-tag\r\n >\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag *ngIf=\"value\" closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div class=\"x-find-dialog-tree\" *ngIf=\"hasTree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <div class=\"x-find-search\" *ngIf=\"hasSearch\">\r\n <x-input [label]=\"search.label\" direction=\"row\" (xKeydown)=\"searchKeyDown($event)\" [(ngModel)]=\"search.value\"></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '\u67E5\u8BE2' }}</x-button>\r\n </div>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div *ngIf=\"multiple\" class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n <x-empty *ngIf=\"getEmpty\" content=\"\u8BF7\u9009\u62E9\u6570\u636E\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag *ngFor=\"let item of temp; index as i; trackBy: trackByItem\" closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-find{margin:0;padding:0;width:100%}.x-find.x-flex{display:flex}.x-find.x-justify-start{justify-content:flex-start}.x-find.x-justify-center{justify-content:center}.x-find.x-justify-end{justify-content:flex-end}.x-find.x-justify-space-between{justify-content:space-between}.x-find.x-justify-space-around{justify-content:space-around}.x-find.x-align-start{align-items:flex-start}.x-find.x-align-center{align-items:center}.x-find.x-align-end{align-items:flex-end}.x-find.x-direction-column{flex-direction:column}.x-find.x-direction-column-reverse{flex-direction:column-reverse}.x-find.x-direction-row{flex-direction:row}.x-find.x-direction-row-reverse{flex-direction:row-reverse}.x-find>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-find>label.x-text-align-start{text-align:start}.x-find>label.x-text-align-center{text-align:center}.x-find>label.x-text-align-end{text-align:end}.x-find-row{flex:1;display:flex;align-items:flex-start;position:relative}.x-find-tags{margin:-.0625rem -.0625rem -.0625rem .4375rem}.x-find-tags>x-tag{margin:.0625rem}.x-find.x-required>label{color:var(--x-danger)}.x-find.x-direction-row>label{padding:0 .5rem 0 0}.x-find.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-find.x-direction-column,.x-find.x-direction-column-reverse{align-items:inherit}.x-find-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-find-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-find-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-find-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-find-small .x-find-tags{margin-top:-.1875rem}.x-find-small .x-find-tags>x-tag{margin-top:.125rem}.x-find-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-find-mini .x-find-tags{margin-top:-.25rem}.x-find-mini .x-find-tags>x-tag{margin-top:.125rem}.x-find-dialog{flex:1;display:flex}.x-find-dialog-table{flex:1;min-height:18.75rem;height:-moz-fit-content;height:fit-content}.x-find-dialog-tree{flex:1;min-height:18.75rem;max-height:25rem;overflow-y:auto}.x-find-dialog-tree .x-tree-node-content.x-activated{color:var(--x-primary)}.x-find-dialog-tree-node{flex:1;display:flex;align-items:center;justify-content:space-between}.x-find-dialog-tree-node>span{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}.x-find-dialog-tree-table .x-find-dialog-tree{flex:initial;min-height:initial;max-height:initial;width:14rem;margin-right:1rem;padding-right:1rem;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-find-dialog-checked{margin-left:1rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:1rem;width:10rem;overflow-y:auto;height:100%}.x-find-dialog-checked x-tag{display:block}.x-find-dialog-checked x-tag:not(:first-child){margin-top:.5rem}.x-find-dialog-checked x-tag .x-tag{width:100%;display:flex;justify-content:space-between}.x-find-dialog-checked x-tag .x-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-find-dialog-checked.x-find-empty{display:flex;align-items:center;justify-content:center}.x-find-search{display:flex;padding:.3rem}.x-find-search .x-input,.x-find-search x-input{width:15rem}.x-find-search .x-button{margin-left:.5rem}\n"], components: [{ type: i2.XButtonComponent, selector: "x-button" }, { type: i3.XTagComponent, selector: "x-tag" }, { type: i4.XDialogComponent, selector: "x-dialog" }, { type: i5.XTreeComponent, selector: "x-tree" }, { type: i6.XInputComponent, selector: "x-input" }, { type: i7.XTableComponent, selector: "x-table" }, { type: i8.XEmptyComponent, selector: "x-empty" }, { type: i9.XIconComponent, selector: "x-icon" }], directives: [{ type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
605
+ /** @nocollapse */ /** @nocollapse */ XFindComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: XFindComponent, selector: "x-find", providers: [XValueAccessor(XFindComponent)], viewQueries: [{ propertyName: "find", first: true, predicate: ["find"], descendants: true, static: true }, { propertyName: "dialogCom", first: true, predicate: ["dialogCom"], descendants: true }, { propertyName: "tableCom", first: true, predicate: ["tableCom"], descendants: true }, { propertyName: "treeCom", first: true, predicate: ["treeCom"], descendants: true }, { propertyName: "buttonCom", first: true, predicate: ["buttonCom"], descendants: true }, { propertyName: "tableRef", first: true, predicate: ["tableRef"], descendants: true }, { propertyName: "treeRef", first: true, predicate: ["treeRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-find-row\">\r\n <x-button #buttonCom icon=\"fto-search\" [onlyIcon]=\"!bordered\" [size]=\"size\" [disabled]=\"disabled\" (click)=\"showModal()\"></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag\r\n *ngFor=\"let item of value; index as i; trackBy: trackByItem\"\r\n closable\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [disabled]=\"disabled\"\r\n (close)=\"tagClose(i)\"\r\n >{{ item[columnLabel] }}</x-tag\r\n >\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag *ngIf=\"value\" closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div class=\"x-find-dialog-tree\" *ngIf=\"hasTree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <div class=\"x-find-search\" *ngIf=\"hasSearch\">\r\n <x-input [label]=\"search.label\" direction=\"row\" (xKeydown)=\"searchKeyDown($event)\" [(ngModel)]=\"search.value\"></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '\u67E5\u8BE2' }}</x-button>\r\n </div>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div *ngIf=\"multiple\" class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n <x-empty *ngIf=\"getEmpty\" [content]=\"dialogEmptyContent\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag *ngFor=\"let item of temp; index as i; trackBy: trackByItem\" closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-find{margin:0;padding:0;width:100%}.x-find.x-flex{display:flex}.x-find.x-justify-start{justify-content:flex-start}.x-find.x-justify-center{justify-content:center}.x-find.x-justify-end{justify-content:flex-end}.x-find.x-justify-space-between{justify-content:space-between}.x-find.x-justify-space-around{justify-content:space-around}.x-find.x-align-start{align-items:flex-start}.x-find.x-align-center{align-items:center}.x-find.x-align-end{align-items:flex-end}.x-find.x-direction-column{flex-direction:column}.x-find.x-direction-column-reverse{flex-direction:column-reverse}.x-find.x-direction-row{flex-direction:row}.x-find.x-direction-row-reverse{flex-direction:row-reverse}.x-find>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-find>label.x-text-align-start{text-align:start}.x-find>label.x-text-align-center{text-align:center}.x-find>label.x-text-align-end{text-align:end}.x-find-row{flex:1;display:flex;align-items:flex-start;position:relative}.x-find-tags{margin:-.0625rem -.0625rem -.0625rem .4375rem}.x-find-tags>x-tag{margin:.0625rem}.x-find.x-required>label{color:var(--x-danger)}.x-find.x-direction-row>label{padding:0 .5rem 0 0}.x-find.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-find.x-direction-column,.x-find.x-direction-column-reverse{align-items:inherit}.x-find-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-find-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-find-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-find-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-find-small .x-find-tags{margin-top:-.1875rem}.x-find-small .x-find-tags>x-tag{margin-top:.125rem}.x-find-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-find-mini .x-find-tags{margin-top:-.25rem}.x-find-mini .x-find-tags>x-tag{margin-top:.125rem}.x-find-dialog{flex:1;display:flex}.x-find-dialog-table{flex:1;min-height:18.75rem;height:-moz-fit-content;height:fit-content}.x-find-dialog-tree{flex:1;min-height:18.75rem;max-height:25rem;overflow-y:auto}.x-find-dialog-tree .x-tree-node-content.x-activated{color:var(--x-primary)}.x-find-dialog-tree-node{flex:1;display:flex;align-items:center;justify-content:space-between}.x-find-dialog-tree-node>span{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}.x-find-dialog-tree-table .x-find-dialog-tree{flex:initial;min-height:initial;max-height:initial;width:14rem;margin-right:1rem;padding-right:1rem;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-find-dialog-checked{margin-left:1rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:1rem;width:10rem;overflow-y:auto;height:100%}.x-find-dialog-checked x-tag{display:block}.x-find-dialog-checked x-tag:not(:first-child){margin-top:.5rem}.x-find-dialog-checked x-tag .x-tag{width:100%;display:flex;justify-content:space-between}.x-find-dialog-checked x-tag .x-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-find-dialog-checked.x-find-empty{display:flex;align-items:center;justify-content:center}.x-find-search{display:flex;padding:.3rem}.x-find-search .x-input,.x-find-search x-input{width:15rem}.x-find-search .x-button{margin-left:.5rem}\n"], components: [{ type: i2.XButtonComponent, selector: "x-button" }, { type: i3.XTagComponent, selector: "x-tag" }, { type: i4.XDialogComponent, selector: "x-dialog" }, { type: i5.XTreeComponent, selector: "x-tree" }, { type: i6.XInputComponent, selector: "x-input" }, { type: i7.XTableComponent, selector: "x-table" }, { type: i8.XEmptyComponent, selector: "x-empty" }, { type: i9.XIconComponent, selector: "x-icon" }], directives: [{ type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i11.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i11.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
581
606
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: XFindComponent, decorators: [{
582
607
  type: Component,
583
- args: [{ selector: `${XFindPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XFindComponent)], template: "<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-find-row\">\r\n <x-button #buttonCom icon=\"fto-search\" [onlyIcon]=\"!bordered\" [size]=\"size\" [disabled]=\"disabled\" (click)=\"showModal()\"></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag\r\n *ngFor=\"let item of value; index as i; trackBy: trackByItem\"\r\n closable\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [disabled]=\"disabled\"\r\n (close)=\"tagClose(i)\"\r\n >{{ item[columnLabel] }}</x-tag\r\n >\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag *ngIf=\"value\" closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div class=\"x-find-dialog-tree\" *ngIf=\"hasTree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <div class=\"x-find-search\" *ngIf=\"hasSearch\">\r\n <x-input [label]=\"search.label\" direction=\"row\" (xKeydown)=\"searchKeyDown($event)\" [(ngModel)]=\"search.value\"></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '\u67E5\u8BE2' }}</x-button>\r\n </div>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div *ngIf=\"multiple\" class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n <x-empty *ngIf=\"getEmpty\" content=\"\u8BF7\u9009\u62E9\u6570\u636E\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag *ngFor=\"let item of temp; index as i; trackBy: trackByItem\" closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-find{margin:0;padding:0;width:100%}.x-find.x-flex{display:flex}.x-find.x-justify-start{justify-content:flex-start}.x-find.x-justify-center{justify-content:center}.x-find.x-justify-end{justify-content:flex-end}.x-find.x-justify-space-between{justify-content:space-between}.x-find.x-justify-space-around{justify-content:space-around}.x-find.x-align-start{align-items:flex-start}.x-find.x-align-center{align-items:center}.x-find.x-align-end{align-items:flex-end}.x-find.x-direction-column{flex-direction:column}.x-find.x-direction-column-reverse{flex-direction:column-reverse}.x-find.x-direction-row{flex-direction:row}.x-find.x-direction-row-reverse{flex-direction:row-reverse}.x-find>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-find>label.x-text-align-start{text-align:start}.x-find>label.x-text-align-center{text-align:center}.x-find>label.x-text-align-end{text-align:end}.x-find-row{flex:1;display:flex;align-items:flex-start;position:relative}.x-find-tags{margin:-.0625rem -.0625rem -.0625rem .4375rem}.x-find-tags>x-tag{margin:.0625rem}.x-find.x-required>label{color:var(--x-danger)}.x-find.x-direction-row>label{padding:0 .5rem 0 0}.x-find.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-find.x-direction-column,.x-find.x-direction-column-reverse{align-items:inherit}.x-find-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-find-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-find-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-find-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-find-small .x-find-tags{margin-top:-.1875rem}.x-find-small .x-find-tags>x-tag{margin-top:.125rem}.x-find-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-find-mini .x-find-tags{margin-top:-.25rem}.x-find-mini .x-find-tags>x-tag{margin-top:.125rem}.x-find-dialog{flex:1;display:flex}.x-find-dialog-table{flex:1;min-height:18.75rem;height:-moz-fit-content;height:fit-content}.x-find-dialog-tree{flex:1;min-height:18.75rem;max-height:25rem;overflow-y:auto}.x-find-dialog-tree .x-tree-node-content.x-activated{color:var(--x-primary)}.x-find-dialog-tree-node{flex:1;display:flex;align-items:center;justify-content:space-between}.x-find-dialog-tree-node>span{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}.x-find-dialog-tree-table .x-find-dialog-tree{flex:initial;min-height:initial;max-height:initial;width:14rem;margin-right:1rem;padding-right:1rem;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-find-dialog-checked{margin-left:1rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:1rem;width:10rem;overflow-y:auto;height:100%}.x-find-dialog-checked x-tag{display:block}.x-find-dialog-checked x-tag:not(:first-child){margin-top:.5rem}.x-find-dialog-checked x-tag .x-tag{width:100%;display:flex;justify-content:space-between}.x-find-dialog-checked x-tag .x-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-find-dialog-checked.x-find-empty{display:flex;align-items:center;justify-content:center}.x-find-search{display:flex;padding:.3rem}.x-find-search .x-input,.x-find-search x-input{width:15rem}.x-find-search .x-button{margin-left:.5rem}\n"] }]
608
+ args: [{ selector: `${XFindPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XFindComponent)], template: "<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-find-row\">\r\n <x-button #buttonCom icon=\"fto-search\" [onlyIcon]=\"!bordered\" [size]=\"size\" [disabled]=\"disabled\" (click)=\"showModal()\"></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag\r\n *ngFor=\"let item of value; index as i; trackBy: trackByItem\"\r\n closable\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [disabled]=\"disabled\"\r\n (close)=\"tagClose(i)\"\r\n >{{ item[columnLabel] }}</x-tag\r\n >\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag *ngIf=\"value\" closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div class=\"x-find-dialog-tree\" *ngIf=\"hasTree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <div class=\"x-find-search\" *ngIf=\"hasSearch\">\r\n <x-input [label]=\"search.label\" direction=\"row\" (xKeydown)=\"searchKeyDown($event)\" [(ngModel)]=\"search.value\"></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '\u67E5\u8BE2' }}</x-button>\r\n </div>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div *ngIf=\"multiple\" class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n <x-empty *ngIf=\"getEmpty\" [content]=\"dialogEmptyContent\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag *ngFor=\"let item of temp; index as i; trackBy: trackByItem\" closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n", styles: ["@charset \"UTF-8\";.x-find{margin:0;padding:0;width:100%}.x-find.x-flex{display:flex}.x-find.x-justify-start{justify-content:flex-start}.x-find.x-justify-center{justify-content:center}.x-find.x-justify-end{justify-content:flex-end}.x-find.x-justify-space-between{justify-content:space-between}.x-find.x-justify-space-around{justify-content:space-around}.x-find.x-align-start{align-items:flex-start}.x-find.x-align-center{align-items:center}.x-find.x-align-end{align-items:flex-end}.x-find.x-direction-column{flex-direction:column}.x-find.x-direction-column-reverse{flex-direction:column-reverse}.x-find.x-direction-row{flex-direction:row}.x-find.x-direction-row-reverse{flex-direction:row-reverse}.x-find>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-find>label.x-text-align-start{text-align:start}.x-find>label.x-text-align-center{text-align:center}.x-find>label.x-text-align-end{text-align:end}.x-find-row{flex:1;display:flex;align-items:flex-start;position:relative}.x-find-tags{margin:-.0625rem -.0625rem -.0625rem .4375rem}.x-find-tags>x-tag{margin:.0625rem}.x-find.x-required>label{color:var(--x-danger)}.x-find.x-direction-row>label{padding:0 .5rem 0 0}.x-find.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-find.x-direction-column,.x-find.x-direction-column-reverse{align-items:inherit}.x-find-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-find-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-find-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-find-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-find-small .x-find-tags{margin-top:-.1875rem}.x-find-small .x-find-tags>x-tag{margin-top:.125rem}.x-find-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-find-mini .x-find-tags{margin-top:-.25rem}.x-find-mini .x-find-tags>x-tag{margin-top:.125rem}.x-find-dialog{flex:1;display:flex}.x-find-dialog-table{flex:1;min-height:18.75rem;height:-moz-fit-content;height:fit-content}.x-find-dialog-tree{flex:1;min-height:18.75rem;max-height:25rem;overflow-y:auto}.x-find-dialog-tree .x-tree-node-content.x-activated{color:var(--x-primary)}.x-find-dialog-tree-node{flex:1;display:flex;align-items:center;justify-content:space-between}.x-find-dialog-tree-node>span{flex:1;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;-webkit-user-select:none;user-select:none}.x-find-dialog-tree-table .x-find-dialog-tree{flex:initial;min-height:initial;max-height:initial;width:14rem;margin-right:1rem;padding-right:1rem;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-find-dialog-checked{margin-left:1rem;border-left:var(--x-border-width) var(--x-border-style) var(--x-border);padding-left:1rem;width:10rem;overflow-y:auto;height:100%}.x-find-dialog-checked x-tag{display:block}.x-find-dialog-checked x-tag:not(:first-child){margin-top:.5rem}.x-find-dialog-checked x-tag .x-tag{width:100%;display:flex;justify-content:space-between}.x-find-dialog-checked x-tag .x-tag>span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-find-dialog-checked.x-find-empty{display:flex;align-items:center;justify-content:center}.x-find-search{display:flex;padding:.3rem}.x-find-search .x-input,.x-find-search x-input{width:15rem}.x-find-search .x-button{margin-left:.5rem}\n"] }]
584
609
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i1.XConfigService }]; }, propDecorators: { find: [{
585
610
  type: ViewChild,
586
611
  args: ['find', { static: true }]
@@ -1 +1 @@
1
- {"version":3,"file":"ng-nest-ui-find.mjs","sources":["../../../../lib/ng-nest/ui/find/find.property.ts","../../../../lib/ng-nest/ui/find/find.component.ts","../../../../lib/ng-nest/ui/find/find.component.html","../../../../lib/ng-nest/ui/find/find.module.ts","../../../../lib/ng-nest/ui/find/ng-nest-ui-find.ts"],"sourcesContent":["import {\r\n XInputBoolean,\r\n XBoolean,\r\n XDataConvert,\r\n XData,\r\n XInputNumber,\r\n XNumber,\r\n XSort,\r\n XQuery,\r\n XWithConfig,\r\n XFilter,\r\n XSize\r\n} from '@ng-nest/ui/core';\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { XTableColumn, XTableRow } from '@ng-nest/ui/table';\r\nimport { XTreeNode } from '@ng-nest/ui/tree';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Find\r\n * @selector x-find\r\n * @decorator component\r\n */\r\nexport const XFindPrefix = 'x-find';\r\nconst X_CONFIG_NAME = 'find';\r\n\r\nexport interface XFindSearchOption extends XFilter {\r\n label?: string;\r\n button?: string;\r\n}\r\n\r\n/**\r\n * Find Property\r\n */\r\n@Component({ template: '' })\r\nexport class XFindProperty extends XControlValueAccessor<any | any[]> implements XFindOption {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 多选\r\n * @en_US Multiple choice\r\n */\r\n @Input() @XInputBoolean() multiple: XBoolean = false;\r\n /**\r\n * @zh_CN 选中 label 名称字段\r\n * @en_US Check the label name field\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, 'label') columnLabel!: string;\r\n /**\r\n * @zh_CN 弹框标题\r\n * @en_US Bullet title\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '查找选择') dialogTitle!: string;\r\n /**\r\n * @zh_CN 弹框宽度\r\n * @en_US Bullet frame width\r\n */\r\n @Input() dialogWidth?: string;\r\n /**\r\n * @zh_CN 弹框高度\r\n * @en_US Height of bullet frame\r\n */\r\n @Input() dialogHeight?: string;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box display, hide\r\n */\r\n @Input() @XInputBoolean() dialogVisible: boolean = false;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box display, hide\r\n */\r\n @Output() dialogVisibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button centered\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() dialogButtonsCenter?: XBoolean;\r\n\r\n /**\r\n * @zh_CN 表格行数据\r\n * @en_US Table row data\r\n */\r\n @Input() tableData: XData<XTableRow> = [];\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 1) tableIndex!: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 10) tableSize!: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n @Input() tableQuery: XQuery = {};\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n @Input() tableTotal: number = 0;\r\n /**\r\n * @zh_CN 页码变化的事件\r\n * @en_US Page number change event\r\n */\r\n @Output() tableIndexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 每页显示条数变化的事件\r\n * @en_US Show the number of events on each page\r\n */\r\n @Output() tableSizeChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n @Output() tableSortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 表格列参数\r\n * @en_US Table column parameters\r\n */\r\n @Input() tableColumns: XTableColumn[] = [];\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n @Input() tableActivatedRow?: any;\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n @Output() tableRowEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n @Input() tableCheckedRow: { [property: string]: any[] } = {};\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading loading\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() tableLoading!: XBoolean;\r\n /**\r\n * @zh_CN 表格开启虚拟滚动\r\n * @en_US Table opens virtual scrolling\r\n */\r\n @Input() @XWithConfig<boolean>(X_CONFIG_NAME, false) @XInputBoolean() tableVirtualScroll!: boolean;\r\n /**\r\n * @zh_CN 表格 body 数据高度\r\n * @en_US Table body data height\r\n */\r\n @Input() @XInputNumber() tableBodyHeight?: number;\r\n /**\r\n * @zh_CN 表格超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US The table exceeds the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() tableMinBufferPx: number = 100;\r\n /**\r\n * @zh_CN 表格渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US The pixels of the new data buffer for the table rendering, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() tableMaxBufferPx: number = 200;\r\n /**\r\n * @zh_CN 表格自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Table adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n @Input() @XInputNumber() tableAdaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 表格文档高度百分比,弹窗百分比高度用到\r\n * @en_US Table document height percentage, used for pop-up window percentage height\r\n */\r\n @Input() @XInputNumber() tableDocPercent: XNumber = 1;\r\n /**\r\n * @zh_CN 表格行高度,单位 px\r\n * @en_US Table row height, unit px\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 42) @XInputNumber() tableRowHeight!: number;\r\n /**\r\n * @zh_CN 树节点数据\r\n * @en_US Tree node data\r\n */\r\n @Input() @XDataConvert() treeData: XData<XTreeNode> = [];\r\n /**\r\n * @zh_CN 树当前点击选中的节点变化的事件\r\n * @en_US The event of the tree currently clicked on the selected node change\r\n */\r\n @Output() treeActivatedChange = new EventEmitter<XTreeNode>();\r\n /**\r\n * @zh_CN 树当前激活的节点 Id\r\n * @en_US Id of the currently active node of the tree\r\n */\r\n @Input() treeActivatedId: any;\r\n /**\r\n * @zh_CN 树默认展开的层级\r\n * @en_US The level of the tree expanded by default\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 0) @XInputNumber() treeExpandedLevel!: XNumber;\r\n /**\r\n * @zh_CN 树 checkbox 选中的节点\r\n * @en_US Tree checkbox selected node\r\n */\r\n @Input() treeChecked: any[] = [];\r\n /**\r\n * @zh_CN 树显示多选框\r\n * @en_US Tree display checkbox\r\n */\r\n @Input() @XInputBoolean() treeCheckbox?: XBoolean;\r\n /**\r\n * @zh_CN 树和表格同时存在的时候,树节点 id 对应表格的属性,用来做表格数据过滤\r\n * @en_US When the tree and the table exist at the same time, the tree node id corresponds to the attribute of the table, which is used to filter the table data\r\n */\r\n @Input() treeTableConnect: any;\r\n /**\r\n * @zh_CN 数据查询过滤表单\r\n * @en_US form for data filter\r\n */\r\n @Input() search!: XFindSearchOption;\r\n}\r\n\r\n/**\r\n * Find Option\r\n * @undocument true\r\n */\r\nexport interface XFindOption extends XFormOption {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: XBoolean;\r\n /**\r\n * @zh_CN 多选\r\n * @en_US Multiple select\r\n */\r\n multiple?: XBoolean;\r\n /**\r\n * @zh_CN 选中 label 名称字段\r\n * @en_US Check the label name field\r\n */\r\n columnLabel?: string;\r\n /**\r\n * @zh_CN 弹框标题\r\n * @en_US Bullet title\r\n */\r\n dialogTitle?: string;\r\n /**\r\n * @zh_CN 弹框宽度\r\n * @en_US Bullet frame width\r\n */\r\n dialogWidth?: string;\r\n /**\r\n * @zh_CN 弹框高度\r\n * @en_US Height of bullet frame\r\n */\r\n dialogHeight?: string;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box show, hide\r\n */\r\n dialogVisible?: boolean;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box show, hide\r\n */\r\n // dialogVisibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n dialogButtonsCenter?: XBoolean;\r\n\r\n /**\r\n * @zh_CN 表格行数据\r\n * @en_US Table row data\r\n */\r\n tableData?: XData<XTableRow>;\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n tableIndex?: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n tableSize?: number;\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n tableTotal?: number;\r\n /**\r\n * @zh_CN 页码变化的事件\r\n * @en_US Page number change event\r\n */\r\n // tableIndexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 每页显示条数变化的事件\r\n * @en_US Show the number of events on each page\r\n */\r\n // tableSizeChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n // tableSortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 表格列参数\r\n * @en_US Table column parameters\r\n */\r\n tableColumns?: XTableColumn[];\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n tableActivatedRow?: any;\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n // tableRowEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n tableCheckedRow?: { [property: string]: any[] };\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading\r\n */\r\n tableLoading?: XBoolean;\r\n /**\r\n * @zh_CN 表格开启虚拟滚动\r\n * @en_US Table opens virtual scrolling\r\n */\r\n tableVirtualScroll?: boolean;\r\n /**\r\n * @zh_CN 表格 body 数据高度\r\n * @en_US Table body data height\r\n */\r\n tableBodyHeight?: number;\r\n /**\r\n * @zh_CN 表格超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US The table exceeds the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n tableMinBufferPx?: number;\r\n /**\r\n * @zh_CN 表格渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US The pixels of the new data buffer for the table rendering, corresponding to the parameters in cdk scroll\r\n */\r\n tableMaxBufferPx?: number;\r\n /**\r\n * @zh_CN 表格自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Table adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n tableAdaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 表格文档高度百分比,弹窗百分比高度用到\r\n * @en_US Table document height percentage, used for pop-up window percentage height\r\n */\r\n tableDocPercent?: XNumber;\r\n /**\r\n * @zh_CN 表格行高度,单位 px\r\n * @en_US Table row height, unit px\r\n */\r\n tableRowHeight?: XNumber;\r\n\r\n /**\r\n * @zh_CN 树节点数据\r\n * @en_US Tree node data\r\n */\r\n treeData?: XData<XTreeNode>;\r\n /**\r\n * @zh_CN 树当前点击选中的节点变化的事件\r\n * @en_US The event of the tree currently clicked on the selected node change\r\n */\r\n // treeActivatedChange = new EventEmitter<XTreeNode>();\r\n /**\r\n * @zh_CN 树当前激活的节点 Id\r\n * @en_US Id of the currently active node of the tree\r\n */\r\n treeActivatedId?: any;\r\n /**\r\n * @zh_CN 树默认展开的层级\r\n * @en_US The level of the tree expanded by default\r\n */\r\n treeExpandedLevel?: XNumber;\r\n /**\r\n * @zh_CN 树 checkbox 选中的节点\r\n * @en_US Tree checkbox selected node\r\n */\r\n treeChecked?: any[];\r\n /**\r\n * @zh_CN 树显示多选框\r\n * @en_US Tree display checkbox\r\n */\r\n treeCheckbox?: XBoolean;\r\n /**\r\n * @zh_CN 树和表格同时存在的时候,树节点 id 对应表格的属性,用来做表格数据过滤\r\n * @en_US When the tree and the table exist at the same time, the tree node id corresponds to the attribute of the table, which is used to filter the table data\r\n */\r\n treeTableConnect?: any;\r\n\r\n /**\r\n * @zh_CN 数据查询过滤表单\r\n * @en_US form for data filter\r\n */\r\n search?: XFindSearchOption;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XFindProperty, XFindPrefix } from './find.property';\r\nimport { XClearClass, XResize, XIsUndefined, XIsChange, XConfigService, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XTableComponent, XTableRow } from '@ng-nest/ui/table';\r\nimport { XDialogComponent } from '@ng-nest/ui/dialog';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { XTreeNode, XTreeComponent } from '@ng-nest/ui/tree';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XFindPrefix}`,\r\n templateUrl: './find.component.html',\r\n styleUrls: ['./find.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XFindComponent)]\r\n})\r\nexport class XFindComponent extends XFindProperty implements OnInit {\r\n @ViewChild('find', { static: true }) find!: ElementRef;\r\n @ViewChild('dialogCom') dialogCom!: XDialogComponent;\r\n @ViewChild('tableCom') tableCom!: XTableComponent;\r\n @ViewChild('treeCom') treeCom!: XTreeComponent;\r\n @ViewChild('buttonCom') buttonCom!: XButtonComponent;\r\n\r\n private _tableRef!: ElementRef;\r\n public get tableRef(): ElementRef {\r\n return this._tableRef;\r\n }\r\n @ViewChild('tableRef')\r\n public set tableRef(value: ElementRef) {\r\n this._tableRef = value;\r\n if (value && this.multiple) {\r\n this.setSubscribe();\r\n }\r\n }\r\n\r\n private _treeRef!: ElementRef;\r\n public get treeRef(): ElementRef {\r\n return this._treeRef;\r\n }\r\n @ViewChild('treeRef')\r\n public set treeRef(value: ElementRef) {\r\n this._treeRef = value;\r\n if (value && this.multiple) {\r\n this.setSubscribe();\r\n }\r\n }\r\n\r\n get getEmpty() {\r\n return !this.temp || this.temp.length === 0;\r\n }\r\n\r\n get hasTable() {\r\n return this.tableColumns?.length > 0;\r\n }\r\n\r\n get hasTree() {\r\n return (\r\n (Array.isArray(this.treeData) && this.treeData.length > 0) || this.treeData instanceof Function || this.treeData instanceof Observable\r\n );\r\n }\r\n\r\n get hasTreeTable() {\r\n return this.hasTable && this.hasTree;\r\n }\r\n\r\n get hasTreeMultiple() {\r\n return this.hasTree && !this.hasTreeTable && this.multiple;\r\n }\r\n\r\n get hasSearch() {\r\n return this.search && this.hasTable;\r\n }\r\n\r\n temp: any;\r\n height = 100;\r\n\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver!: ResizeObserver;\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n constructor(public renderer: Renderer2, private cdr: ChangeDetectorRef, public configService: XConfigService) {\r\n super();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n const { tableData, labelAlign, size } = simples;\r\n XIsChange(tableData) && this.setTableCheckedRow();\r\n XIsChange(labelAlign, size) && this.setClassMap();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(this.find.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n this.setMultiple();\r\n this.setWidth();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.value) this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap, this.classMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n this.classMap[`x-find-${this.size}`] = !XIsEmpty(this.size);\r\n }\r\n\r\n setSubscribe() {\r\n let resizeRef: Element[] = [];\r\n if (this.hasTable) {\r\n resizeRef = [this.tableRef?.nativeElement];\r\n }\r\n if (this.hasTree && !this.hasTreeTable) {\r\n resizeRef.push(this.treeRef?.nativeElement);\r\n }\r\n this._unSubject.next();\r\n XResize(...resizeRef)\r\n .pipe(debounceTime(30), takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n if (this.tableRef) {\r\n this.height = this.tableRef.nativeElement.clientHeight;\r\n } else if (this.hasTree) {\r\n this.height = this.treeRef?.nativeElement.clientHeight;\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n setMultiple() {\r\n if (!this.multiple) return;\r\n if (this.hasTable) {\r\n if (!this.tableColumns.find((x) => x.rowChecked)) {\r\n this.tableColumns = [{ id: '$checked', label: '选择', rowChecked: true, type: 'checkbox', width: 60 }, ...this.tableColumns];\r\n }\r\n }\r\n }\r\n\r\n setWidth() {\r\n if (XIsUndefined(this.dialogWidth)) {\r\n if ((this.hasTable && this.hasTree) || this.hasTable) {\r\n this.dialogWidth = '50rem';\r\n } else if (this.hasTree && this.multiple) {\r\n this.dialogWidth = '30rem';\r\n } else if (this.hasTree) {\r\n this.dialogWidth = '20rem';\r\n }\r\n }\r\n }\r\n\r\n showModal() {\r\n if (this.disabled) return;\r\n this.dialogVisible = true;\r\n this.dialogVisibleChange.emit(this.dialogVisible);\r\n if (this.value) {\r\n if (this.multiple) {\r\n this.temp = (this.value as Array<any>).map((x) => Object.assign({}, x));\r\n this.setTableCheckedRow();\r\n this.setTreeChecked();\r\n } else {\r\n this.tableActivatedRow = this.value;\r\n if (!this.hasTreeTable && this.hasTree) {\r\n this.treeActivatedId = this.value.id;\r\n }\r\n }\r\n } else {\r\n this.temp = this.multiple ? [] : null;\r\n }\r\n if (this.hasTable) {\r\n this.tableCom.virtualBody?.scrollToIndex(0);\r\n this.tableCom.virtualBody?.checkViewportSize();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setTableCheckedRow() {\r\n if (!this.multiple || XIsUndefined(this.temp)) return;\r\n const ids = (this.temp as Array<any>).map((x) => x.id);\r\n this.tableCheckedRow = {\r\n ...this.tableCheckedRow,\r\n $checked: ids\r\n };\r\n }\r\n\r\n setTreeChecked() {\r\n if (this.hasTreeMultiple) this.treeChecked = this.temp.map((x: any) => x.id);\r\n }\r\n\r\n sure() {\r\n this.value = this.temp;\r\n this.onChange(this.value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n closeModal() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n dialogCloseDone() {\r\n if (this.hasTree) {\r\n this.treeActivatedId = null;\r\n this.temp = null;\r\n }\r\n }\r\n\r\n tempClose(index: number, item: any) {\r\n this.temp.splice(index, 1);\r\n if (this.hasTable) {\r\n let it = this.tableCom?.tableData.find((x) => item.id === x.id);\r\n if (it) {\r\n it['$checked'] = false;\r\n this.tableCom?.bodyChange();\r\n }\r\n } else if (this.hasTree) {\r\n let it = this.treeCom?.treeData.find((x) => item.id === x.id);\r\n if (it) {\r\n it.checked = false;\r\n it.change && it.change();\r\n this.treeCom?.cdr.detectChanges();\r\n }\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n\r\n tagClose(index: number = -1) {\r\n if (index >= 0) {\r\n this.value.splice(index, 1);\r\n } else {\r\n this.value = null;\r\n this.tableActivatedRow = null;\r\n if (!this.hasTreeTable && this.hasTree) {\r\n this.treeActivatedId = null;\r\n }\r\n }\r\n this.onChange(this.value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n tableActivatedRowChange(data: XTableRow) {\r\n if (this.multiple) {\r\n this.rowMultiple(data);\r\n } else {\r\n this.temp = data;\r\n this.sure();\r\n this.dialogVisible = false;\r\n }\r\n }\r\n\r\n rowMultiple(data: XTableRow) {\r\n if (typeof this.temp === 'undefined') this.temp = [];\r\n if (data['$checked']) {\r\n this.temp = [...this.temp, data];\r\n } else {\r\n this.temp.splice(\r\n (this.temp as Array<any>).findIndex((x) => x.id === data.id),\r\n 1\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeMultiple(node: XTreeNode) {\r\n if (typeof this.temp === 'undefined') this.temp = [];\r\n // node.$checked = !node.$checked;\r\n if (node.checked) {\r\n this.temp = [...this.temp, node];\r\n } else {\r\n this.temp.splice(\r\n (this.temp as Array<any>).findIndex((x) => x.id === node.id),\r\n 1\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeActivatedClick(node: XTreeNode) {\r\n if (!this.hasTreeTable && this.hasTree) {\r\n if (this.multiple) {\r\n // this.treeMultiple(node);\r\n } else {\r\n this.temp = node;\r\n }\r\n } else if (this.hasTreeTable && this.treeTableConnect) {\r\n if (!this.tableQuery) this.tableQuery = {};\r\n if (!this.tableQuery.filter) this.tableQuery.filter = [];\r\n let field = this.tableQuery.filter.find((x) => x.field === this.treeTableConnect);\r\n if (field) {\r\n field.value = node.id;\r\n field.operation = '=';\r\n } else {\r\n this.tableQuery.filter = [...this.tableQuery.filter, { field: this.treeTableConnect, value: node.id, operation: '=' }];\r\n }\r\n this.tableCom.change(1);\r\n this.treeActivatedId = node.id;\r\n }\r\n this.treeActivatedChange.emit(node);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeCheckboxChange(node: XTreeNode) {\r\n this.treeMultiple(node);\r\n }\r\n\r\n trackByItem(_index: number, item: any) {\r\n return item.id;\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.ngAfterViewInit();\r\n this.treeCom?.setData();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n searchKeyDown(event: KeyboardEvent): void {\r\n if (event.key === 'Enter') {\r\n this.searchClick();\r\n } else if (event.key === 'Delete') {\r\n this.search.value = '';\r\n }\r\n }\r\n\r\n searchClick(): void {\r\n if (!this.hasSearch) {\r\n return;\r\n }\r\n\r\n this.tableQuery = this.tableQuery || [];\r\n this.tableQuery.filter = this.tableQuery.filter || [];\r\n const field = this.tableQuery.filter.find((x) => x.field === this.search.field);\r\n\r\n if (field) {\r\n field.value = this.search.value || '';\r\n } else {\r\n this.tableQuery.filter = [...this.tableQuery?.filter, this.search];\r\n }\r\n\r\n this.tableCom.change(1);\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-find-row\">\r\n <x-button #buttonCom icon=\"fto-search\" [onlyIcon]=\"!bordered\" [size]=\"size\" [disabled]=\"disabled\" (click)=\"showModal()\"></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag\r\n *ngFor=\"let item of value; index as i; trackBy: trackByItem\"\r\n closable\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [disabled]=\"disabled\"\r\n (close)=\"tagClose(i)\"\r\n >{{ item[columnLabel] }}</x-tag\r\n >\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag *ngIf=\"value\" closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div class=\"x-find-dialog-tree\" *ngIf=\"hasTree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <div class=\"x-find-search\" *ngIf=\"hasSearch\">\r\n <x-input [label]=\"search.label\" direction=\"row\" (xKeydown)=\"searchKeyDown($event)\" [(ngModel)]=\"search.value\"></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '查询' }}</x-button>\r\n </div>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div *ngIf=\"multiple\" class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n <x-empty *ngIf=\"getEmpty\" content=\"请选择数据\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag *ngFor=\"let item of temp; index as i; trackBy: trackByItem\" closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XFindComponent } from './find.component';\r\nimport { XFindProperty } from './find.property';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XDialogModule } from '@ng-nest/ui/dialog';\r\nimport { XTableModule } from '@ng-nest/ui/table';\r\nimport { XTagModule } from '@ng-nest/ui/tag';\r\nimport { XEmptyModule } from '@ng-nest/ui/empty';\r\nimport { XTreeModule } from '@ng-nest/ui/tree';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\n\r\n@NgModule({\r\n declarations: [XFindComponent, XFindProperty],\r\n exports: [XFindComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XTagModule,\r\n XButtonModule,\r\n XDialogModule,\r\n XTableModule,\r\n XTreeModule,\r\n XIconModule,\r\n XEmptyModule,\r\n XInputModule,\r\n XBaseFormModule\r\n ]\r\n})\r\nexport class XFindModule {}\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-find.mjs","sources":["../../../../lib/ng-nest/ui/find/find.property.ts","../../../../lib/ng-nest/ui/find/find.component.ts","../../../../lib/ng-nest/ui/find/find.component.html","../../../../lib/ng-nest/ui/find/find.module.ts","../../../../lib/ng-nest/ui/find/ng-nest-ui-find.ts"],"sourcesContent":["import {\r\n XInputBoolean,\r\n XBoolean,\r\n XDataConvert,\r\n XData,\r\n XInputNumber,\r\n XNumber,\r\n XSort,\r\n XQuery,\r\n XWithConfig,\r\n XFilter,\r\n XSize\r\n} from '@ng-nest/ui/core';\r\nimport { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { XTableColumn, XTableRow } from '@ng-nest/ui/table';\r\nimport { XTreeNode } from '@ng-nest/ui/tree';\r\nimport { XControlValueAccessor, XFormOption } from '@ng-nest/ui/base-form';\r\n\r\n/**\r\n * Find\r\n * @selector x-find\r\n * @decorator component\r\n */\r\nexport const XFindPrefix = 'x-find';\r\nconst X_CONFIG_NAME = 'find';\r\n\r\nexport interface XFindSearchOption extends XFilter {\r\n label?: string;\r\n button?: string;\r\n}\r\n\r\n/**\r\n * Find Property\r\n */\r\n@Component({ template: '' })\r\nexport class XFindProperty extends XControlValueAccessor<any | any[]> implements XFindOption {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n @Input() @XWithConfig<XSize>(X_CONFIG_NAME, 'medium') override size!: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n @Input() @XInputBoolean() @XWithConfig<XBoolean>(X_CONFIG_NAME, true) bordered!: XBoolean;\r\n /**\r\n * @zh_CN 多选\r\n * @en_US Multiple choice\r\n */\r\n @Input() @XInputBoolean() multiple: XBoolean = false;\r\n /**\r\n * @zh_CN 选中 label 名称字段\r\n * @en_US Check the label name field\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, 'label') columnLabel!: string;\r\n /**\r\n * @zh_CN 弹框标题\r\n * @en_US Bullet title\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '查找选择') dialogTitle!: string;\r\n /**\r\n * @zh_CN 弹框表格选择列头名称\r\n * @en_US Ball Form Select List Name\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '选择') dialogCheckboxLabel!: string;\r\n /**\r\n * @zh_CN 弹框表格选择列宽\r\n * @en_US Ball Form Select List width\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 60) @XInputNumber() dialogCheckboxWidth!: number;\r\n /**\r\n * @zh_CN 弹框选择数据为空的提示信息\r\n * @en_US Ball box selection data empty prompt information\r\n */\r\n @Input() @XWithConfig<string>(X_CONFIG_NAME, '请选择数据') dialogEmptyContent!: string;\r\n /**\r\n * @zh_CN 弹框宽度\r\n * @en_US Bullet frame width\r\n */\r\n @Input() dialogWidth?: string;\r\n /**\r\n * @zh_CN 弹框高度\r\n * @en_US Height of bullet frame\r\n */\r\n @Input() dialogHeight?: string;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box display, hide\r\n */\r\n @Input() @XInputBoolean() dialogVisible: boolean = false;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box display, hide\r\n */\r\n @Output() dialogVisibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button centered\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME) @XInputBoolean() dialogButtonsCenter?: XBoolean;\r\n\r\n /**\r\n * @zh_CN 表格行数据\r\n * @en_US Table row data\r\n */\r\n @Input() tableData: XData<XTableRow> = [];\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 1) tableIndex!: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 10) tableSize!: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n @Input() tableQuery: XQuery = {};\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n @Input() tableTotal: number = 0;\r\n /**\r\n * @zh_CN 页码变化的事件\r\n * @en_US Page number change event\r\n */\r\n @Output() tableIndexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 每页显示条数变化的事件\r\n * @en_US Show the number of events on each page\r\n */\r\n @Output() tableSizeChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n @Output() tableSortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 表格列参数\r\n * @en_US Table column parameters\r\n */\r\n @Input() tableColumns: XTableColumn[] = [];\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n @Input() tableActivatedRow?: any;\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n @Output() tableRowEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n @Input() tableCheckedRow: { [property: string]: any[] } = {};\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading loading\r\n */\r\n @Input() @XWithConfig<XBoolean>(X_CONFIG_NAME, false) @XInputBoolean() tableLoading!: XBoolean;\r\n /**\r\n * @zh_CN 表格开启虚拟滚动\r\n * @en_US Table opens virtual scrolling\r\n */\r\n @Input() @XWithConfig<boolean>(X_CONFIG_NAME, false) @XInputBoolean() tableVirtualScroll!: boolean;\r\n /**\r\n * @zh_CN 表格 body 数据高度\r\n * @en_US Table body data height\r\n */\r\n @Input() @XInputNumber() tableBodyHeight?: number;\r\n /**\r\n * @zh_CN 表格超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US The table exceeds the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() tableMinBufferPx: number = 100;\r\n /**\r\n * @zh_CN 表格渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US The pixels of the new data buffer for the table rendering, corresponding to the parameters in cdk scroll\r\n */\r\n @Input() tableMaxBufferPx: number = 200;\r\n /**\r\n * @zh_CN 表格自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Table adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n @Input() @XInputNumber() tableAdaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 表格文档高度百分比,弹窗百分比高度用到\r\n * @en_US Table document height percentage, used for pop-up window percentage height\r\n */\r\n @Input() @XInputNumber() tableDocPercent: XNumber = 1;\r\n /**\r\n * @zh_CN 表格行高度,单位 px\r\n * @en_US Table row height, unit px\r\n */\r\n @Input() @XWithConfig<number>(X_CONFIG_NAME, 42) @XInputNumber() tableRowHeight!: number;\r\n /**\r\n * @zh_CN 树节点数据\r\n * @en_US Tree node data\r\n */\r\n @Input() @XDataConvert() treeData: XData<XTreeNode> = [];\r\n /**\r\n * @zh_CN 树当前点击选中的节点变化的事件\r\n * @en_US The event of the tree currently clicked on the selected node change\r\n */\r\n @Output() treeActivatedChange = new EventEmitter<XTreeNode>();\r\n /**\r\n * @zh_CN 树当前激活的节点 Id\r\n * @en_US Id of the currently active node of the tree\r\n */\r\n @Input() treeActivatedId: any;\r\n /**\r\n * @zh_CN 树默认展开的层级\r\n * @en_US The level of the tree expanded by default\r\n */\r\n @Input() @XWithConfig<XNumber>(X_CONFIG_NAME, 0) @XInputNumber() treeExpandedLevel!: XNumber;\r\n /**\r\n * @zh_CN 树 checkbox 选中的节点\r\n * @en_US Tree checkbox selected node\r\n */\r\n @Input() treeChecked: any[] = [];\r\n /**\r\n * @zh_CN 树显示多选框\r\n * @en_US Tree display checkbox\r\n */\r\n @Input() @XInputBoolean() treeCheckbox?: XBoolean;\r\n /**\r\n * @zh_CN 树和表格同时存在的时候,树节点 id 对应表格的属性,用来做表格数据过滤\r\n * @en_US When the tree and the table exist at the same time, the tree node id corresponds to the attribute of the table, which is used to filter the table data\r\n */\r\n @Input() treeTableConnect: any;\r\n /**\r\n * @zh_CN 数据查询过滤表单\r\n * @en_US form for data filter\r\n */\r\n @Input() search!: XFindSearchOption;\r\n}\r\n\r\n/**\r\n * Find Option\r\n * @undocument true\r\n */\r\nexport interface XFindOption extends XFormOption {\r\n /**\r\n * @zh_CN 尺寸\r\n * @en_US Size\r\n */\r\n size?: XSize;\r\n /**\r\n * @zh_CN 显示边框\r\n * @en_US Display Border\r\n */\r\n bordered?: XBoolean;\r\n /**\r\n * @zh_CN 多选\r\n * @en_US Multiple select\r\n */\r\n multiple?: XBoolean;\r\n /**\r\n * @zh_CN 选中 label 名称字段\r\n * @en_US Check the label name field\r\n */\r\n columnLabel?: string;\r\n /**\r\n * @zh_CN 弹框标题\r\n * @en_US Bullet title\r\n */\r\n dialogTitle?: string;\r\n /**\r\n * @zh_CN 弹框表格选择框列头名称\r\n * @en_US Ball Form Select Box List Name\r\n */\r\n dialogCheckboxLabel?: string;\r\n /**\r\n * @zh_CN 弹框表格选择框列头宽度\r\n * @en_US Ball Form Select Box List width\r\n */\r\n dialogCheckboxWidth?: number;\r\n /**\r\n * @zh_CN 弹框选择数据为空的提示内容\r\n * @en_US Ball box selection data empty prompt information\r\n */\r\n dialogEmptyContent?: string;\r\n /**\r\n * @zh_CN 弹框宽度\r\n * @en_US Bullet frame width\r\n */\r\n dialogWidth?: string;\r\n /**\r\n * @zh_CN 弹框高度\r\n * @en_US Height of bullet frame\r\n */\r\n dialogHeight?: string;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box show, hide\r\n */\r\n dialogVisible?: boolean;\r\n /**\r\n * @zh_CN 弹框显示,隐藏\r\n * @en_US Bullet box show, hide\r\n */\r\n // dialogVisibleChange = new EventEmitter<boolean>();\r\n /**\r\n * @zh_CN 按钮居中\r\n * @en_US Button center\r\n */\r\n dialogButtonsCenter?: XBoolean;\r\n\r\n /**\r\n * @zh_CN 表格行数据\r\n * @en_US Table row data\r\n */\r\n tableData?: XData<XTableRow>;\r\n /**\r\n * @zh_CN 表格页码\r\n * @en_US Table page number\r\n */\r\n tableIndex?: number;\r\n /**\r\n * @zh_CN 表每页数据条数\r\n * @en_US Number of data items per page\r\n */\r\n tableSize?: number;\r\n /**\r\n * @zh_CN 表格数据总条数\r\n * @en_US Total number of table data\r\n */\r\n tableTotal?: number;\r\n /**\r\n * @zh_CN 页码变化的事件\r\n * @en_US Page number change event\r\n */\r\n // tableIndexChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 每页显示条数变化的事件\r\n * @en_US Show the number of events on each page\r\n */\r\n // tableSizeChange = new EventEmitter<number>();\r\n /**\r\n * @zh_CN 排序点击的事件\r\n * @en_US Sort click events\r\n */\r\n // tableSortChange = new EventEmitter<XSort[]>();\r\n /**\r\n * @zh_CN 表格列参数\r\n * @en_US Table column parameters\r\n */\r\n tableColumns?: XTableColumn[];\r\n /**\r\n * @zh_CN 当前选中行数据\r\n * @en_US Currently selected row data\r\n */\r\n tableActivatedRow?: any;\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n // tableRowEmit = new EventEmitter<any>();\r\n /**\r\n * @zh_CN 表格行点击事件\r\n * @en_US Table row click event\r\n */\r\n tableCheckedRow?: { [property: string]: any[] };\r\n /**\r\n * @zh_CN 是否启用加载 loading\r\n * @en_US Whether to enable loading\r\n */\r\n tableLoading?: XBoolean;\r\n /**\r\n * @zh_CN 表格开启虚拟滚动\r\n * @en_US Table opens virtual scrolling\r\n */\r\n tableVirtualScroll?: boolean;\r\n /**\r\n * @zh_CN 表格 body 数据高度\r\n * @en_US Table body data height\r\n */\r\n tableBodyHeight?: number;\r\n /**\r\n * @zh_CN 表格超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数\r\n * @en_US The table exceeds the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll\r\n */\r\n tableMinBufferPx?: number;\r\n /**\r\n * @zh_CN 表格渲染新数据缓冲区的像素,对应 cdk scroll 中的参数\r\n * @en_US The pixels of the new data buffer for the table rendering, corresponding to the parameters in cdk scroll\r\n */\r\n tableMaxBufferPx?: number;\r\n /**\r\n * @zh_CN 表格自适应高度,table 高度等于屏幕高度减掉此处设置的数值\r\n * @en_US Table adaptive height, table height is equal to the screen height minus the value set here\r\n */\r\n tableAdaptionHeight?: XNumber;\r\n /**\r\n * @zh_CN 表格文档高度百分比,弹窗百分比高度用到\r\n * @en_US Table document height percentage, used for pop-up window percentage height\r\n */\r\n tableDocPercent?: XNumber;\r\n /**\r\n * @zh_CN 表格行高度,单位 px\r\n * @en_US Table row height, unit px\r\n */\r\n tableRowHeight?: XNumber;\r\n\r\n /**\r\n * @zh_CN 树节点数据\r\n * @en_US Tree node data\r\n */\r\n treeData?: XData<XTreeNode>;\r\n /**\r\n * @zh_CN 树当前点击选中的节点变化的事件\r\n * @en_US The event of the tree currently clicked on the selected node change\r\n */\r\n // treeActivatedChange = new EventEmitter<XTreeNode>();\r\n /**\r\n * @zh_CN 树当前激活的节点 Id\r\n * @en_US Id of the currently active node of the tree\r\n */\r\n treeActivatedId?: any;\r\n /**\r\n * @zh_CN 树默认展开的层级\r\n * @en_US The level of the tree expanded by default\r\n */\r\n treeExpandedLevel?: XNumber;\r\n /**\r\n * @zh_CN 树 checkbox 选中的节点\r\n * @en_US Tree checkbox selected node\r\n */\r\n treeChecked?: any[];\r\n /**\r\n * @zh_CN 树显示多选框\r\n * @en_US Tree display checkbox\r\n */\r\n treeCheckbox?: XBoolean;\r\n /**\r\n * @zh_CN 树和表格同时存在的时候,树节点 id 对应表格的属性,用来做表格数据过滤\r\n * @en_US When the tree and the table exist at the same time, the tree node id corresponds to the attribute of the table, which is used to filter the table data\r\n */\r\n treeTableConnect?: any;\r\n\r\n /**\r\n * @zh_CN 数据查询过滤表单\r\n * @en_US form for data filter\r\n */\r\n search?: XFindSearchOption;\r\n}\r\n","import {\r\n Component,\r\n OnInit,\r\n ViewEncapsulation,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Renderer2,\r\n ElementRef,\r\n ViewChild,\r\n SimpleChanges\r\n} from '@angular/core';\r\nimport { XFindProperty, XFindPrefix } from './find.property';\r\nimport { XClearClass, XResize, XIsUndefined, XIsChange, XConfigService, XIsEmpty } from '@ng-nest/ui/core';\r\nimport { XTableComponent, XTableRow } from '@ng-nest/ui/table';\r\nimport { XDialogComponent } from '@ng-nest/ui/dialog';\r\nimport { XButtonComponent } from '@ng-nest/ui/button';\r\nimport { debounceTime, takeUntil } from 'rxjs/operators';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { XTreeNode, XTreeComponent } from '@ng-nest/ui/tree';\r\nimport { XValueAccessor } from '@ng-nest/ui/base-form';\r\n\r\n@Component({\r\n selector: `${XFindPrefix}`,\r\n templateUrl: './find.component.html',\r\n styleUrls: ['./find.component.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n providers: [XValueAccessor(XFindComponent)]\r\n})\r\nexport class XFindComponent extends XFindProperty implements OnInit {\r\n @ViewChild('find', { static: true }) find!: ElementRef;\r\n @ViewChild('dialogCom') dialogCom!: XDialogComponent;\r\n @ViewChild('tableCom') tableCom!: XTableComponent;\r\n @ViewChild('treeCom') treeCom!: XTreeComponent;\r\n @ViewChild('buttonCom') buttonCom!: XButtonComponent;\r\n\r\n private _tableRef!: ElementRef;\r\n public get tableRef(): ElementRef {\r\n return this._tableRef;\r\n }\r\n @ViewChild('tableRef')\r\n public set tableRef(value: ElementRef) {\r\n this._tableRef = value;\r\n if (value && this.multiple) {\r\n this.setSubscribe();\r\n }\r\n }\r\n\r\n private _treeRef!: ElementRef;\r\n public get treeRef(): ElementRef {\r\n return this._treeRef;\r\n }\r\n @ViewChild('treeRef')\r\n public set treeRef(value: ElementRef) {\r\n this._treeRef = value;\r\n if (value && this.multiple) {\r\n this.setSubscribe();\r\n }\r\n }\r\n\r\n get getEmpty() {\r\n return !this.temp || this.temp.length === 0;\r\n }\r\n\r\n get hasTable() {\r\n return this.tableColumns?.length > 0;\r\n }\r\n\r\n get hasTree() {\r\n return (\r\n (Array.isArray(this.treeData) && this.treeData.length > 0) || this.treeData instanceof Function || this.treeData instanceof Observable\r\n );\r\n }\r\n\r\n get hasTreeTable() {\r\n return this.hasTable && this.hasTree;\r\n }\r\n\r\n get hasTreeMultiple() {\r\n return this.hasTree && !this.hasTreeTable && this.multiple;\r\n }\r\n\r\n get hasSearch() {\r\n return this.search && this.hasTable;\r\n }\r\n\r\n temp: any;\r\n height = 100;\r\n\r\n private _unSubject = new Subject<void>();\r\n private _resizeObserver!: ResizeObserver;\r\n\r\n override writeValue(value: any) {\r\n this.value = value;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n constructor(public renderer: Renderer2, private cdr: ChangeDetectorRef, public configService: XConfigService) {\r\n super();\r\n }\r\n\r\n ngOnChanges(simples: SimpleChanges) {\r\n const { tableData, labelAlign, size } = simples;\r\n XIsChange(tableData) && this.setTableCheckedRow();\r\n XIsChange(labelAlign, size) && this.setClassMap();\r\n }\r\n\r\n ngOnInit() {\r\n this.setFlex(this.find.nativeElement, this.renderer, this.justify, this.align, this.direction);\r\n this.setClassMap();\r\n this.setMultiple();\r\n this.setWidth();\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.value) this.cdr.detectChanges();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._resizeObserver?.disconnect();\r\n }\r\n\r\n setClassMap() {\r\n XClearClass(this.labelMap, this.classMap);\r\n this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;\r\n this.classMap[`x-find-${this.size}`] = !XIsEmpty(this.size);\r\n }\r\n\r\n setSubscribe() {\r\n let resizeRef: Element[] = [];\r\n if (this.hasTable) {\r\n resizeRef = [this.tableRef?.nativeElement];\r\n }\r\n if (this.hasTree && !this.hasTreeTable) {\r\n resizeRef.push(this.treeRef?.nativeElement);\r\n }\r\n this._unSubject.next();\r\n XResize(...resizeRef)\r\n .pipe(debounceTime(30), takeUntil(this._unSubject))\r\n .subscribe((x) => {\r\n this._resizeObserver = x.resizeObserver;\r\n if (this.tableRef) {\r\n this.height = this.tableRef.nativeElement.clientHeight;\r\n } else if (this.hasTree) {\r\n this.height = this.treeRef?.nativeElement.clientHeight;\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n setMultiple() {\r\n if (!this.multiple) return;\r\n if (this.hasTable) {\r\n if (!this.tableColumns.find((x) => x.rowChecked)) {\r\n this.tableColumns = [\r\n {\r\n id: '$checked',\r\n label: this.dialogCheckboxLabel,\r\n rowChecked: true,\r\n type: 'checkbox',\r\n width: this.dialogCheckboxWidth\r\n },\r\n ...this.tableColumns\r\n ];\r\n }\r\n }\r\n }\r\n\r\n setWidth() {\r\n if (XIsUndefined(this.dialogWidth)) {\r\n if ((this.hasTable && this.hasTree) || this.hasTable) {\r\n this.dialogWidth = '50rem';\r\n } else if (this.hasTree && this.multiple) {\r\n this.dialogWidth = '30rem';\r\n } else if (this.hasTree) {\r\n this.dialogWidth = '20rem';\r\n }\r\n }\r\n }\r\n\r\n showModal() {\r\n if (this.disabled) return;\r\n this.dialogVisible = true;\r\n this.dialogVisibleChange.emit(this.dialogVisible);\r\n if (this.value) {\r\n if (this.multiple) {\r\n this.temp = (this.value as Array<any>).map((x) => Object.assign({}, x));\r\n this.setTableCheckedRow();\r\n this.setTreeChecked();\r\n } else {\r\n this.tableActivatedRow = this.value;\r\n if (!this.hasTreeTable && this.hasTree) {\r\n this.treeActivatedId = this.value.id;\r\n }\r\n }\r\n } else {\r\n this.temp = this.multiple ? [] : null;\r\n }\r\n if (this.hasTable) {\r\n this.tableCom.virtualBody?.scrollToIndex(0);\r\n this.tableCom.virtualBody?.checkViewportSize();\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n setTableCheckedRow() {\r\n if (!this.multiple || XIsUndefined(this.temp)) return;\r\n const ids = (this.temp as Array<any>).map((x) => x.id);\r\n this.tableCheckedRow = {\r\n ...this.tableCheckedRow,\r\n $checked: ids\r\n };\r\n }\r\n\r\n setTreeChecked() {\r\n if (this.hasTreeMultiple) this.treeChecked = this.temp.map((x: any) => x.id);\r\n }\r\n\r\n sure() {\r\n this.value = this.temp;\r\n this.onChange(this.value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n closeModal() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n dialogCloseDone() {\r\n if (this.hasTree) {\r\n this.treeActivatedId = null;\r\n this.temp = null;\r\n }\r\n }\r\n\r\n tempClose(index: number, item: any) {\r\n this.temp.splice(index, 1);\r\n if (this.hasTable) {\r\n let it = this.tableCom?.tableData.find((x) => item.id === x.id);\r\n if (it) {\r\n it['$checked'] = false;\r\n this.tableCom?.bodyChange();\r\n }\r\n } else if (this.hasTree) {\r\n let it = this.treeCom?.treeData.find((x) => item.id === x.id);\r\n if (it) {\r\n it.checked = false;\r\n it.change && it.change();\r\n this.treeCom?.cdr.detectChanges();\r\n }\r\n }\r\n\r\n this.cdr.detectChanges();\r\n }\r\n\r\n tagClose(index: number = -1) {\r\n if (index >= 0) {\r\n this.value.splice(index, 1);\r\n } else {\r\n this.value = null;\r\n this.tableActivatedRow = null;\r\n if (!this.hasTreeTable && this.hasTree) {\r\n this.treeActivatedId = null;\r\n }\r\n }\r\n this.onChange(this.value);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n tableActivatedRowChange(data: XTableRow) {\r\n if (this.multiple) {\r\n this.rowMultiple(data);\r\n } else {\r\n this.temp = data;\r\n this.sure();\r\n this.dialogVisible = false;\r\n }\r\n }\r\n\r\n rowMultiple(data: XTableRow) {\r\n if (typeof this.temp === 'undefined') this.temp = [];\r\n if (data['$checked']) {\r\n this.temp = [...this.temp, data];\r\n } else {\r\n this.temp.splice(\r\n (this.temp as Array<any>).findIndex((x) => x.id === data.id),\r\n 1\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeMultiple(node: XTreeNode) {\r\n if (typeof this.temp === 'undefined') this.temp = [];\r\n // node.$checked = !node.$checked;\r\n if (node.checked) {\r\n this.temp = [...this.temp, node];\r\n } else {\r\n this.temp.splice(\r\n (this.temp as Array<any>).findIndex((x) => x.id === node.id),\r\n 1\r\n );\r\n }\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeActivatedClick(node: XTreeNode) {\r\n if (!this.hasTreeTable && this.hasTree) {\r\n if (this.multiple) {\r\n // this.treeMultiple(node);\r\n } else {\r\n this.temp = node;\r\n }\r\n } else if (this.hasTreeTable && this.treeTableConnect) {\r\n if (!this.tableQuery) this.tableQuery = {};\r\n if (!this.tableQuery.filter) this.tableQuery.filter = [];\r\n let field = this.tableQuery.filter.find((x) => x.field === this.treeTableConnect);\r\n if (field) {\r\n field.value = node.id;\r\n field.operation = '=';\r\n } else {\r\n this.tableQuery.filter = [...this.tableQuery.filter, { field: this.treeTableConnect, value: node.id, operation: '=' }];\r\n }\r\n this.tableCom.change(1);\r\n this.treeActivatedId = node.id;\r\n }\r\n this.treeActivatedChange.emit(node);\r\n this.cdr.detectChanges();\r\n }\r\n\r\n treeCheckboxChange(node: XTreeNode) {\r\n this.treeMultiple(node);\r\n }\r\n\r\n trackByItem(_index: number, item: any) {\r\n return item.id;\r\n }\r\n\r\n formControlChanges() {\r\n this.ngOnInit();\r\n this.ngAfterViewInit();\r\n this.treeCom?.setData();\r\n this.cdr.detectChanges();\r\n }\r\n\r\n searchKeyDown(event: KeyboardEvent): void {\r\n if (event.key === 'Enter') {\r\n this.searchClick();\r\n } else if (event.key === 'Delete') {\r\n this.search.value = '';\r\n }\r\n }\r\n\r\n searchClick(): void {\r\n if (!this.hasSearch) {\r\n return;\r\n }\r\n\r\n this.tableQuery = this.tableQuery || [];\r\n this.tableQuery.filter = this.tableQuery.filter || [];\r\n const field = this.tableQuery.filter.find((x) => x.field === this.search.field);\r\n\r\n if (field) {\r\n field.value = this.search.value || '';\r\n } else {\r\n this.tableQuery.filter = [...this.tableQuery?.filter, this.search];\r\n }\r\n\r\n this.tableCom.change(1);\r\n this.cdr.detectChanges();\r\n }\r\n}\r\n","<div\r\n #find\r\n class=\"x-find\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-checked]=\"value\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [ngClass]=\"classMap\"\r\n>\r\n <label *ngIf=\"label\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n <div class=\"x-find-row\">\r\n <x-button #buttonCom icon=\"fto-search\" [onlyIcon]=\"!bordered\" [size]=\"size\" [disabled]=\"disabled\" (click)=\"showModal()\"></x-button>\r\n <div class=\"x-find-tags\">\r\n <ng-container *ngIf=\"multiple; else singleTpl\">\r\n <x-tag\r\n *ngFor=\"let item of value; index as i; trackBy: trackByItem\"\r\n closable\r\n [size]=\"size\"\r\n [bordered]=\"bordered\"\r\n [disabled]=\"disabled\"\r\n (close)=\"tagClose(i)\"\r\n >{{ item[columnLabel] }}</x-tag\r\n >\r\n </ng-container>\r\n <ng-template #singleTpl>\r\n <x-tag *ngIf=\"value\" closable [disabled]=\"disabled\" [bordered]=\"bordered\" [size]=\"size\" (close)=\"tagClose()\">{{\r\n value[columnLabel]\r\n }}</x-tag>\r\n </ng-template>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<x-dialog\r\n #dialogCom\r\n [title]=\"dialogTitle\"\r\n [width]=\"dialogWidth\"\r\n [height]=\"dialogHeight\"\r\n [buttonsCenter]=\"dialogButtonsCenter\"\r\n [(visible)]=\"dialogVisible\"\r\n (visibleChange)=\"dialogVisibleChange.emit($event)\"\r\n (closeDone)=\"dialogCloseDone()\"\r\n (cancel)=\"closeModal()\"\r\n (close)=\"closeModal()\"\r\n (confirm)=\"sure()\"\r\n>\r\n <div class=\"x-find-dialog\" [class.x-find-dialog-tree-table]=\"hasTable && hasTree\">\r\n <div class=\"x-find-dialog-tree\" *ngIf=\"hasTree\" #treeRef [style.height.px]=\"hasTreeTable && multiple && height\">\r\n <x-tree\r\n #treeCom\r\n [data]=\"treeData\"\r\n nodeHeight=\"1.8\"\r\n [(manual)]=\"dialogVisible\"\r\n [activatedId]=\"treeActivatedId\"\r\n [expandedLevel]=\"treeExpandedLevel\"\r\n (activatedChange)=\"treeActivatedClick($event)\"\r\n [checkbox]=\"hasTreeMultiple\"\r\n [checked]=\"treeChecked\"\r\n (checkboxChange)=\"treeCheckboxChange($event)\"\r\n [levelCheck]=\"!hasTreeMultiple\"\r\n ></x-tree>\r\n </div>\r\n <div class=\"x-find-dialog-table\" *ngIf=\"hasTable\" #tableRef>\r\n <div class=\"x-find-search\" *ngIf=\"hasSearch\">\r\n <x-input [label]=\"search.label\" direction=\"row\" (xKeydown)=\"searchKeyDown($event)\" [(ngModel)]=\"search.value\"></x-input>\r\n <x-button type=\"primary\" plain (click)=\"searchClick()\">{{ search.button || '查询' }}</x-button>\r\n </div>\r\n <x-table\r\n #tableCom\r\n [data]=\"tableData\"\r\n [columns]=\"tableColumns\"\r\n [(manual)]=\"dialogVisible\"\r\n [(index)]=\"tableIndex\"\r\n [(size)]=\"tableSize\"\r\n [query]=\"tableQuery\"\r\n [total]=\"tableTotal\"\r\n [allowSelectRow]=\"!multiple\"\r\n [checkedRow]=\"tableCheckedRow\"\r\n [loading]=\"tableLoading\"\r\n (indexChange)=\"tableIndexChange.emit($event)\"\r\n (sortChange)=\"tableSortChange.emit($event)\"\r\n [(activatedRow)]=\"tableActivatedRow\"\r\n (activatedRowChange)=\"tableActivatedRowChange($event)\"\r\n [rowHeight]=\"tableRowHeight\"\r\n [bodyHeight]=\"tableBodyHeight\"\r\n [virtualScroll]=\"tableVirtualScroll\"\r\n [minBufferPx]=\"tableMinBufferPx\"\r\n [maxBufferPx]=\"tableMaxBufferPx\"\r\n [adaptionHeight]=\"tableAdaptionHeight\"\r\n [docPercent]=\"tableDocPercent\"\r\n ></x-table>\r\n </div>\r\n <div *ngIf=\"multiple\" class=\"x-find-dialog-checked\" [class.x-find-empty]=\"getEmpty\" [style.height.px]=\"height\">\r\n <x-empty *ngIf=\"getEmpty\" [content]=\"dialogEmptyContent\"></x-empty>\r\n <div class=\"x-find-dialog-tags\">\r\n <x-tag *ngFor=\"let item of temp; index as i; trackBy: trackByItem\" closable (close)=\"tempClose(i, item)\">\r\n <span>{{ item[columnLabel] }}</span>\r\n </x-tag>\r\n </div>\r\n </div>\r\n </div>\r\n</x-dialog>\r\n\r\n<ng-template #treeLabelTpl let-node=\"$node\">\r\n <div class=\"x-find-dialog-tree-node\">\r\n <span>{{ node.label }} </span>\r\n <x-icon type=\"fto-check\" *ngIf=\"node.$checked\"></x-icon>\r\n </div>\r\n</ng-template>\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { XFindComponent } from './find.component';\r\nimport { XFindProperty } from './find.property';\r\nimport { XButtonModule } from '@ng-nest/ui/button';\r\nimport { XDialogModule } from '@ng-nest/ui/dialog';\r\nimport { XTableModule } from '@ng-nest/ui/table';\r\nimport { XTagModule } from '@ng-nest/ui/tag';\r\nimport { XEmptyModule } from '@ng-nest/ui/empty';\r\nimport { XTreeModule } from '@ng-nest/ui/tree';\r\nimport { XIconModule } from '@ng-nest/ui/icon';\r\nimport { XBaseFormModule } from '@ng-nest/ui/base-form';\r\nimport { XInputModule } from '@ng-nest/ui/input';\r\n\r\n@NgModule({\r\n declarations: [XFindComponent, XFindProperty],\r\n exports: [XFindComponent],\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n XTagModule,\r\n XButtonModule,\r\n XDialogModule,\r\n XTableModule,\r\n XTreeModule,\r\n XIconModule,\r\n XEmptyModule,\r\n XInputModule,\r\n XBaseFormModule\r\n ]\r\n})\r\nexport class XFindModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA;;;;;MAKa,WAAW,GAAG,SAAS;AACpC,MAAM,aAAa,GAAG,MAAM,CAAC;AAO7B;;;MAIa,aAAc,SAAQ,qBAAkC;IADrE;;;;;;QAgB4B,aAAQ,GAAa,KAAK,CAAC;;;;;QAwC3B,kBAAa,GAAY,KAAK,CAAC;;;;;QAK/C,wBAAmB,GAAG,IAAI,YAAY,EAAW,CAAC;;;;;QAWnD,cAAS,GAAqB,EAAE,CAAC;;;;;QAejC,eAAU,GAAW,EAAE,CAAC;;;;;QAKxB,eAAU,GAAW,CAAC,CAAC;;;;;QAKtB,qBAAgB,GAAG,IAAI,YAAY,EAAU,CAAC;;;;;QAK9C,oBAAe,GAAG,IAAI,YAAY,EAAU,CAAC;;;;;QAK7C,oBAAe,GAAG,IAAI,YAAY,EAAW,CAAC;;;;;QAK/C,iBAAY,GAAmB,EAAE,CAAC;;;;;QAUjC,iBAAY,GAAG,IAAI,YAAY,EAAO,CAAC;;;;;QAKxC,oBAAe,GAAkC,EAAE,CAAC;;;;;QAoBpD,qBAAgB,GAAW,GAAG,CAAC;;;;;QAK/B,qBAAgB,GAAW,GAAG,CAAC;;;;;QAUf,oBAAe,GAAY,CAAC,CAAC;;;;;QAU7B,aAAQ,GAAqB,EAAE,CAAC;;;;;QAK/C,wBAAmB,GAAG,IAAI,YAAY,EAAa,CAAC;;;;;QAerD,gBAAW,GAAU,EAAE,CAAC;KAgBlC;;gJA/MY,aAAa;oIAAb,aAAa,w6CADH,EAAE;AAM+B;IAA5C,WAAW,CAAQ,aAAa,EAAE,QAAQ,CAAC;2CAAuB;AAKN;IAA5D,aAAa,EAAE;IAAE,WAAW,CAAW,aAAa,EAAE,IAAI,CAAC;+CAAqB;AAKhE;IAAhB,aAAa,EAAE;+CAA4B;AAKC;IAA5C,WAAW,CAAS,aAAa,EAAE,OAAO,CAAC;kDAAsB;AAKtB;IAA3C,WAAW,CAAS,aAAa,EAAE,MAAM,CAAC;kDAAsB;AAKvB;IAAzC,WAAW,CAAS,aAAa,EAAE,IAAI,CAAC;0DAA8B;AAKf;IAAvD,WAAW,CAAS,aAAa,EAAE,EAAE,CAAC;IAAE,YAAY,EAAE;0DAA8B;AAKxC;IAA5C,WAAW,CAAS,aAAa,EAAE,OAAO,CAAC;yDAA6B;AAexD;IAAhB,aAAa,EAAE;oDAAgC;AAUO;IAAtD,WAAW,CAAW,aAAa,CAAC;IAAE,aAAa,EAAE;0DAAgC;AAW/C;IAAtC,WAAW,CAAS,aAAa,EAAE,CAAC,CAAC;iDAAqB;AAKnB;IAAvC,WAAW,CAAS,aAAa,EAAE,EAAE,CAAC;gDAAoB;AAkDG;IAA7D,WAAW,CAAW,aAAa,EAAE,KAAK,CAAC;IAAE,aAAa,EAAE;mDAAyB;AAKzB;IAA5D,WAAW,CAAU,aAAa,EAAE,KAAK,CAAC;IAAE,aAAa,EAAE;yDAA8B;AAK1E;IAAf,YAAY,EAAE;sDAA0B;AAezB;IAAf,YAAY,EAAE;0DAA+B;AAK9B;IAAf,YAAY,EAAE;sDAA8B;AAKW;IAAvD,WAAW,CAAS,aAAa,EAAE,EAAE,CAAC;IAAE,YAAY,EAAE;qDAAyB;AAKhE;IAAf,YAAY,EAAE;+CAAiC;AAeQ;IAAvD,WAAW,CAAU,aAAa,EAAE,CAAC,CAAC;IAAE,YAAY,EAAE;wDAA6B;AAUnE;IAAhB,aAAa,EAAE;mDAAyB;2FApMvC,aAAa;kBADzB,SAAS;mBAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;8BAMsC,IAAI;sBAAlE,KAAK;gBAKgE,QAAQ;sBAA7E,KAAK;gBAKoB,QAAQ;sBAAjC,KAAK;gBAKgD,WAAW;sBAAhE,KAAK;gBAK+C,WAAW;sBAA/D,KAAK;gBAK6C,mBAAmB;sBAArE,KAAK;gBAK2D,mBAAmB;sBAAnF,KAAK;gBAKgD,kBAAkB;sBAAvE,KAAK;gBAKG,WAAW;sBAAnB,KAAK;gBAKG,YAAY;sBAApB,KAAK;gBAKoB,aAAa;sBAAtC,KAAK;gBAKI,mBAAmB;sBAA5B,MAAM;gBAKyD,mBAAmB;sBAAlF,KAAK;gBAMG,SAAS;sBAAjB,KAAK;gBAK0C,UAAU;sBAAzD,KAAK;gBAK2C,SAAS;sBAAzD,KAAK;gBAKG,UAAU;sBAAlB,KAAK;gBAKG,UAAU;sBAAlB,KAAK;gBAKI,gBAAgB;sBAAzB,MAAM;gBAKG,eAAe;sBAAxB,MAAM;gBAKG,eAAe;sBAAxB,MAAM;gBAKE,YAAY;sBAApB,KAAK;gBAKG,iBAAiB;sBAAzB,KAAK;gBAKI,YAAY;sBAArB,MAAM;gBAKE,eAAe;sBAAvB,KAAK;gBAKiE,YAAY;sBAAlF,KAAK;gBAKgE,kBAAkB;sBAAvF,KAAK;gBAKmB,eAAe;sBAAvC,KAAK;gBAKG,gBAAgB;sBAAxB,KAAK;gBAKG,gBAAgB;sBAAxB,KAAK;gBAKmB,mBAAmB;sBAA3C,KAAK;gBAKmB,eAAe;sBAAvC,KAAK;gBAK2D,cAAc;sBAA9E,KAAK;gBAKmB,QAAQ;sBAAhC,KAAK;gBAKI,mBAAmB;sBAA5B,MAAM;gBAKE,eAAe;sBAAvB,KAAK;gBAK2D,iBAAiB;sBAAjF,KAAK;gBAKG,WAAW;sBAAnB,KAAK;gBAKoB,YAAY;sBAArC,KAAK;gBAKG,gBAAgB;sBAAxB,KAAK;gBAKG,MAAM;sBAAd,KAAK;;;MCpNK,cAAe,SAAQ,aAAa;IAoE/C,YAAmB,QAAmB,EAAU,GAAsB,EAAS,aAA6B;QAC1G,KAAK,EAAE,CAAC;QADS,aAAQ,GAAR,QAAQ,CAAW;QAAU,QAAG,GAAH,GAAG,CAAmB;QAAS,kBAAa,GAAb,aAAa,CAAgB;QAV5G,WAAM,GAAG,GAAG,CAAC;QAEL,eAAU,GAAG,IAAI,OAAO,EAAQ,CAAC;KAUxC;IA9DD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IACW,QAAQ,CAAC,KAAiB;QACnC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;KACF;IAGD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IACD,IACW,OAAO,CAAC,KAAiB;QAClC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC1B,IAAI,CAAC,YAAY,EAAE,CAAC;SACrB;KACF;IAED,IAAI,QAAQ;QACV,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC;KAC7C;IAED,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,CAAC,CAAC;KACtC;IAED,IAAI,OAAO;QACT,QACE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,KAAK,IAAI,CAAC,QAAQ,YAAY,QAAQ,IAAI,IAAI,CAAC,QAAQ,YAAY,UAAU,EACtI;KACH;IAED,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC;KACtC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,QAAQ,CAAC;KAC5D;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC;KACrC;IAQQ,UAAU,CAAC,KAAU;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAMD,WAAW,CAAC,OAAsB;QAChC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAChD,SAAS,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAClD,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;KACnD;IAED,QAAQ;QACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/F,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;KACjB;IAED,eAAe;QACb,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1C;IAED,WAAW;QACT,IAAI,CAAC,eAAe,EAAE,UAAU,EAAE,CAAC;KACpC;IAED,WAAW;QACT,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,UAAU,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,KAAK,CAAC;QAClF,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC7D;IAED,YAAY;QACV,IAAI,SAAS,GAAc,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,SAAS,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;SAC5C;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;SAC7C;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,SAAS,CAAC;aAClB,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAClD,SAAS,CAAC,CAAC,CAAC;YACX,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,cAAc,CAAC;YACxC,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,YAAY,CAAC;aACxD;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC;aACxD;YACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;SAC1B,CAAC,CAAC;KACN;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE;gBAChD,IAAI,CAAC,YAAY,GAAG;oBAClB;wBACE,EAAE,EAAE,UAAU;wBACd,KAAK,EAAE,IAAI,CAAC,mBAAmB;wBAC/B,UAAU,EAAE,IAAI;wBAChB,IAAI,EAAE,UAAU;wBAChB,KAAK,EAAE,IAAI,CAAC,mBAAmB;qBAChC;oBACD,GAAG,IAAI,CAAC,YAAY;iBACrB,CAAC;aACH;SACF;KACF;IAED,QAAQ;QACN,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAClC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,QAAQ,EAAE;gBACpD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;aAC5B;iBAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACxC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;aAC5B;iBAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBACvB,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;aAC5B;SACF;KACF;IAED,SAAS;QACP,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACjB,IAAI,CAAC,IAAI,GAAI,IAAI,CAAC,KAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACxE,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE;oBACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;iBACtC;aACF;SACF;aAAM;YACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,IAAI,CAAC;SACvC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,iBAAiB,EAAE,CAAC;SAChD;QACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QACtD,MAAM,GAAG,GAAI,IAAI,CAAC,IAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,GAAG;YACrB,GAAG,IAAI,CAAC,eAAe;YACvB,QAAQ,EAAE,GAAG;SACd,CAAC;KACH;IAED,cAAc;QACZ,IAAI,IAAI,CAAC,eAAe;YAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;KAC9E;IAED,IAAI;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,UAAU;QACR,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,eAAe;QACb,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;KACF;IAED,SAAS,CAAC,KAAa,EAAE,IAAS;QAChC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAChE,IAAI,EAAE,EAAE;gBACN,EAAE,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;aAC7B;SACF;aAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACvB,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9D,IAAI,EAAE,EAAE;gBACN,EAAE,CAAC,OAAO,GAAG,KAAK,CAAC;gBACnB,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC;aACnC;SACF;QAED,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,QAAQ,CAAC,QAAgB,CAAC,CAAC;QACzB,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;SAC7B;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE;gBACtC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;aAC7B;SACF;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,uBAAuB,CAAC,IAAe;QACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;SACxB;aAAM;YACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;SAC5B;KACF;IAED,WAAW,CAAC,IAAe;QACzB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;YACpB,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,MAAM,CACb,IAAI,CAAC,IAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAC5D,CAAC,CACF,CAAC;SACH;QACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,YAAY,CAAC,IAAe;QAC1B,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW;YAAE,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;;QAErD,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,MAAM,CACb,IAAI,CAAC,IAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAC5D,CAAC,CACF,CAAC;SACH;QACD,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,kBAAkB,CAAC,IAAe;QAChC,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,OAAO,EAAE;YACtC,IAAI,IAAI,CAAC,QAAQ,EAAE;;aAElB;iBAAM;gBACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;aAClB;SACF;aAAM,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACrD,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM;gBAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;YACzD,IAAI,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAClF,IAAI,KAAK,EAAE;gBACT,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;gBACtB,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;aACxH;YACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,EAAE,CAAC;SAChC;QACD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,kBAAkB,CAAC,IAAe;QAChC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KACzB;IAED,WAAW,CAAC,MAAc,EAAE,IAAS;QACnC,OAAO,IAAI,CAAC,EAAE,CAAC;KAChB;IAED,kBAAkB;QAChB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;IAED,aAAa,CAAC,KAAoB;QAChC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,EAAE;YACzB,IAAI,CAAC,WAAW,EAAE,CAAC;SACpB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;SACxB;KACF;IAED,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO;SACR;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEhF,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;SACvC;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACpE;QAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;KAC1B;;iJArVU,cAAc;qIAAd,cAAc,iCAFd,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,4rBC3B7C,y7IA8GA;2FDjFa,cAAc;kBAR1B,SAAS;+BACE,GAAG,WAAW,EAAE,iBAGX,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,aACpC,CAAC,cAAc,gBAAgB,CAAC;6JAGN,IAAI;sBAAxC,SAAS;uBAAC,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBACX,SAAS;sBAAhC,SAAS;uBAAC,WAAW;gBACC,QAAQ;sBAA9B,SAAS;uBAAC,UAAU;gBACC,OAAO;sBAA5B,SAAS;uBAAC,SAAS;gBACI,SAAS;sBAAhC,SAAS;uBAAC,WAAW;gBAOX,QAAQ;sBADlB,SAAS;uBAAC,UAAU;gBAaV,OAAO;sBADjB,SAAS;uBAAC,SAAS;;;MEnBT,WAAW;;8IAAX,WAAW;+IAAX,WAAW,iBAjBP,cAAc,EAAE,aAAa,aAG1C,YAAY;QACZ,WAAW;QACX,mBAAmB;QACnB,UAAU;QACV,aAAa;QACb,aAAa;QACb,YAAY;QACZ,WAAW;QACX,WAAW;QACX,YAAY;QACZ,YAAY;QACZ,eAAe,aAbP,cAAc;+IAgBb,WAAW,YAfb;YACP,YAAY;YACZ,WAAW;YACX,mBAAmB;YACnB,UAAU;YACV,aAAa;YACb,aAAa;YACb,YAAY;YACZ,WAAW;YACX,WAAW;YACX,YAAY;YACZ,YAAY;YACZ,eAAe;SAChB;2FAEU,WAAW;kBAlBvB,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,cAAc,EAAE,aAAa,CAAC;oBAC7C,OAAO,EAAE,CAAC,cAAc,CAAC;oBACzB,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,mBAAmB;wBACnB,UAAU;wBACV,aAAa;wBACb,aAAa;wBACb,YAAY;wBACZ,WAAW;wBACX,WAAW;wBACX,YAAY;wBACZ,YAAY;wBACZ,eAAe;qBAChB;iBACF;;;AChCD;;;;;;"}
@@ -43,6 +43,21 @@ export declare class XFindProperty extends XControlValueAccessor<any | any[]> im
43
43
  * @en_US Bullet title
44
44
  */
45
45
  dialogTitle: string;
46
+ /**
47
+ * @zh_CN 弹框表格选择列头名称
48
+ * @en_US Ball Form Select List Name
49
+ */
50
+ dialogCheckboxLabel: string;
51
+ /**
52
+ * @zh_CN 弹框表格选择列宽
53
+ * @en_US Ball Form Select List width
54
+ */
55
+ dialogCheckboxWidth: number;
56
+ /**
57
+ * @zh_CN 弹框选择数据为空的提示信息
58
+ * @en_US Ball box selection data empty prompt information
59
+ */
60
+ dialogEmptyContent: string;
46
61
  /**
47
62
  * @zh_CN 弹框宽度
48
63
  * @en_US Bullet frame width
@@ -211,7 +226,7 @@ export declare class XFindProperty extends XControlValueAccessor<any | any[]> im
211
226
  */
212
227
  search: XFindSearchOption;
213
228
  static ɵfac: i0.ɵɵFactoryDeclaration<XFindProperty, never>;
214
- static ɵcmp: i0.ɵɵComponentDeclaration<XFindProperty, "ng-component", never, { "size": "size"; "bordered": "bordered"; "multiple": "multiple"; "columnLabel": "columnLabel"; "dialogTitle": "dialogTitle"; "dialogWidth": "dialogWidth"; "dialogHeight": "dialogHeight"; "dialogVisible": "dialogVisible"; "dialogButtonsCenter": "dialogButtonsCenter"; "tableData": "tableData"; "tableIndex": "tableIndex"; "tableSize": "tableSize"; "tableQuery": "tableQuery"; "tableTotal": "tableTotal"; "tableColumns": "tableColumns"; "tableActivatedRow": "tableActivatedRow"; "tableCheckedRow": "tableCheckedRow"; "tableLoading": "tableLoading"; "tableVirtualScroll": "tableVirtualScroll"; "tableBodyHeight": "tableBodyHeight"; "tableMinBufferPx": "tableMinBufferPx"; "tableMaxBufferPx": "tableMaxBufferPx"; "tableAdaptionHeight": "tableAdaptionHeight"; "tableDocPercent": "tableDocPercent"; "tableRowHeight": "tableRowHeight"; "treeData": "treeData"; "treeActivatedId": "treeActivatedId"; "treeExpandedLevel": "treeExpandedLevel"; "treeChecked": "treeChecked"; "treeCheckbox": "treeCheckbox"; "treeTableConnect": "treeTableConnect"; "search": "search"; }, { "dialogVisibleChange": "dialogVisibleChange"; "tableIndexChange": "tableIndexChange"; "tableSizeChange": "tableSizeChange"; "tableSortChange": "tableSortChange"; "tableRowEmit": "tableRowEmit"; "treeActivatedChange": "treeActivatedChange"; }, never, never>;
229
+ static ɵcmp: i0.ɵɵComponentDeclaration<XFindProperty, "ng-component", never, { "size": "size"; "bordered": "bordered"; "multiple": "multiple"; "columnLabel": "columnLabel"; "dialogTitle": "dialogTitle"; "dialogCheckboxLabel": "dialogCheckboxLabel"; "dialogCheckboxWidth": "dialogCheckboxWidth"; "dialogEmptyContent": "dialogEmptyContent"; "dialogWidth": "dialogWidth"; "dialogHeight": "dialogHeight"; "dialogVisible": "dialogVisible"; "dialogButtonsCenter": "dialogButtonsCenter"; "tableData": "tableData"; "tableIndex": "tableIndex"; "tableSize": "tableSize"; "tableQuery": "tableQuery"; "tableTotal": "tableTotal"; "tableColumns": "tableColumns"; "tableActivatedRow": "tableActivatedRow"; "tableCheckedRow": "tableCheckedRow"; "tableLoading": "tableLoading"; "tableVirtualScroll": "tableVirtualScroll"; "tableBodyHeight": "tableBodyHeight"; "tableMinBufferPx": "tableMinBufferPx"; "tableMaxBufferPx": "tableMaxBufferPx"; "tableAdaptionHeight": "tableAdaptionHeight"; "tableDocPercent": "tableDocPercent"; "tableRowHeight": "tableRowHeight"; "treeData": "treeData"; "treeActivatedId": "treeActivatedId"; "treeExpandedLevel": "treeExpandedLevel"; "treeChecked": "treeChecked"; "treeCheckbox": "treeCheckbox"; "treeTableConnect": "treeTableConnect"; "search": "search"; }, { "dialogVisibleChange": "dialogVisibleChange"; "tableIndexChange": "tableIndexChange"; "tableSizeChange": "tableSizeChange"; "tableSortChange": "tableSortChange"; "tableRowEmit": "tableRowEmit"; "treeActivatedChange": "treeActivatedChange"; }, never, never>;
215
230
  }
216
231
  /**
217
232
  * Find Option
@@ -243,6 +258,21 @@ export interface XFindOption extends XFormOption {
243
258
  * @en_US Bullet title
244
259
  */
245
260
  dialogTitle?: string;
261
+ /**
262
+ * @zh_CN 弹框表格选择框列头名称
263
+ * @en_US Ball Form Select Box List Name
264
+ */
265
+ dialogCheckboxLabel?: string;
266
+ /**
267
+ * @zh_CN 弹框表格选择框列头宽度
268
+ * @en_US Ball Form Select Box List width
269
+ */
270
+ dialogCheckboxWidth?: number;
271
+ /**
272
+ * @zh_CN 弹框选择数据为空的提示内容
273
+ * @en_US Ball box selection data empty prompt information
274
+ */
275
+ dialogEmptyContent?: string;
246
276
  /**
247
277
  * @zh_CN 弹框宽度
248
278
  * @en_US Bullet frame width
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ng-nest/ui",
3
- "version": "13.0.5",
3
+ "version": "13.0.6",
4
4
  "homepage": "https://www.ngnest.com",
5
5
  "author": "ng-nest",
6
6
  "ng-update": {