@acorex/components 4.2.44 → 4.2.46

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.
@@ -10255,17 +10255,18 @@ class AXSearchBarComponent {
10255
10255
  this._items = [];
10256
10256
  this._filterItems = [];
10257
10257
  this._filterItemsClone = [];
10258
+ this._defultValueCount = [];
10258
10259
  this._context = {};
10259
10260
  }
10260
10261
  set items(v) {
10262
+ this._defultValueCount = v.filter((x) => x.value);
10261
10263
  v.forEach((el) => {
10262
10264
  if (el.value != null) {
10263
- debugger;
10264
10265
  this._filterItems.push({
10265
10266
  name: el.property.name,
10266
10267
  title: el.property.title,
10267
- textValue: this.handleTextValue(el),
10268
- value: el.value,
10268
+ textValue: this._handleTextValue(el),
10269
+ value: el.value ? this._handleDefultVlaue(el) : null,
10269
10270
  component: el
10270
10271
  });
10271
10272
  }
@@ -10276,7 +10277,7 @@ class AXSearchBarComponent {
10276
10277
  .value();
10277
10278
  }
10278
10279
  clearItem(name) {
10279
- this._editors.find((e) => e.property.property.name == name).clear();
10280
+ this._editors.find((x) => x.property.property.name === name).clear();
10280
10281
  }
10281
10282
  refresh() {
10282
10283
  this._items = JSON.parse(JSON.stringify(this._items));
@@ -10285,54 +10286,7 @@ class AXSearchBarComponent {
10285
10286
  this.dropdown.toggle();
10286
10287
  }
10287
10288
  async handleValueChange(e) {
10288
- debugger;
10289
- let value = [];
10290
- let text = [];
10291
- if (e.property.editorOptions?.valueField && e.value != null) {
10292
- if (e.property.editorOptions.returnAllData) {
10293
- value = e.value;
10294
- text = await this.handleTextValue(e);
10295
- }
10296
- else if (e.property.editorOptions?.mode == 'multiple') {
10297
- e.value.forEach((element) => {
10298
- debugger;
10299
- value.push(element[e.property.editorOptions.valueField]);
10300
- text.push(element[e.property.editorOptions.textField]);
10301
- });
10302
- }
10303
- else {
10304
- if (e.value.length) {
10305
- value = e.value[0][e.property.editorOptions.valueField];
10306
- text = e.value[0][e.property.editorOptions.textField];
10307
- }
10308
- }
10309
- }
10310
- else {
10311
- value = e.value;
10312
- text = e.value;
10313
- }
10314
- const findEl = this._filterItemsClone.find((el) => el.name == e.property.name);
10315
- if (findEl) {
10316
- findEl.value = value;
10317
- findEl.textValue = text ? text.toString() : null;
10318
- }
10319
- else if (e.value != null) {
10320
- this._filterItemsClone.push({
10321
- name: e.property.name,
10322
- title: e.property.title,
10323
- value,
10324
- textValue: text.toString(),
10325
- component: e,
10326
- filterOptions: {
10327
- filters: e.property?.filterOptions?.filters ? e.property.filterOptions.filters : [],
10328
- logic: e.property?.filterOptions?.logic ? e.property.filterOptions.logic : 'and',
10329
- ignoreCase: e.property?.filterOptions?.ignoreCase ? e.property.filterOptions.ignoreCase : true,
10330
- joinType: e.property?.filterOptions?.joinType ? e.property.filterOptions.joinType : 'INNER',
10331
- operator: e.property?.filterOptions?.operator ? e.property.filterOptions.operator : null,
10332
- truncateDate: e.property?.filterOptions?.truncateDate ? e.property.filterOptions.truncateDate : true
10333
- }
10334
- });
10335
- }
10289
+ await this._handleInitVlaue(e);
10336
10290
  this.onValueChange.emit(e);
10337
10291
  }
10338
10292
  handleItemRemoveClick(item) {
@@ -10344,13 +10298,10 @@ class AXSearchBarComponent {
10344
10298
  this._filterItems = this._filterItems.filter((el) => el.name != item.name);
10345
10299
  }
10346
10300
  search() {
10347
- debugger;
10348
10301
  this.form.validate().then((c) => {
10349
10302
  if (c.result) {
10350
- debugger;
10351
10303
  this._filterItems = JSON.parse(JSON.stringify(this._filterItemsClone.filter((el) => el.value != null && el.value != '')));
10352
10304
  this.handleButtonClick();
10353
- console.log(this._filterItems);
10354
10305
  this.onSearchValue.emit(this._filterItems);
10355
10306
  }
10356
10307
  });
@@ -10387,49 +10338,98 @@ class AXSearchBarComponent {
10387
10338
  }
10388
10339
  }
10389
10340
  }
10390
- return className.toString().replace(/,/, ' ');
10341
+ return className.toString().replace(/,/g, ' ');
10391
10342
  }
10392
10343
  _handleShowTitleSelected(item) {
10393
- if (item.component.property.editorClass !== 'ax/editors/check') {
10344
+ if (item.title) {
10394
10345
  return item.title + ':';
10395
10346
  }
10396
10347
  }
10397
10348
  _handleShowValueSelected(item) {
10398
10349
  if (item.component.property.editorClass === 'ax/editors/check') {
10399
- return item.title;
10350
+ return item.component.property.editorOptions.label;
10400
10351
  }
10401
10352
  else {
10402
- // if (Array.isArray(item.textValue)) {
10403
- // let textValue = '';
10404
- // item.textValue.forEach((element, index) => {
10405
- // textValue +=
10406
- // index === item.textValue.length - 1
10407
- // ? element[item.component.property.editorOptions.textField]
10408
- // : element[item.component.property.editorOptions.textField] + ',';
10409
- // });
10410
- // return textValue;
10411
- // } else {
10412
10353
  return item.textValue;
10413
- // }
10414
10354
  }
10415
10355
  }
10416
10356
  ngOnInit() { }
10417
- handleTextValue(dataItem) {
10418
- let text = '';
10419
- dataItem.value.forEach((element, index) => {
10420
- text +=
10421
- index === dataItem.value.length - 1
10422
- ? element[dataItem.property.editorOptions.textField]
10423
- : element[dataItem.property.editorOptions.textField] + ',';
10424
- });
10425
- return text;
10357
+ _handleTextValue(dataItem) {
10358
+ if (dataItem.value.length) {
10359
+ let text = '';
10360
+ dataItem.value.forEach((element, index) => {
10361
+ text +=
10362
+ index === dataItem.value.length - 1
10363
+ ? element[dataItem.property.editorOptions.textField]
10364
+ : element[dataItem.property.editorOptions.textField] + ',';
10365
+ });
10366
+ return text;
10367
+ }
10368
+ else {
10369
+ return;
10370
+ }
10371
+ }
10372
+ async _handleDefultVlaue(dataItem) {
10373
+ this._handleInitVlaue(dataItem);
10374
+ this._filterItems = JSON.parse(JSON.stringify(this._filterItemsClone.filter((el) => el.value != null && el.value != '')));
10375
+ if (this._filterItems.length === this._defultValueCount.length) {
10376
+ this.onSearchValue.emit(this._filterItems);
10377
+ }
10378
+ }
10379
+ async _handleInitVlaue(e) {
10380
+ let value = [];
10381
+ let text = [];
10382
+ if (e.property.editorOptions?.valueField && e.value != null) {
10383
+ if (e.property.editorOptions.returnAllData) {
10384
+ value = e.value;
10385
+ text = await this._handleTextValue(e);
10386
+ }
10387
+ else if (e.property.editorOptions?.mode == 'multiple') {
10388
+ e.value.forEach((element) => {
10389
+ value.push(element[e.property.editorOptions.valueField]);
10390
+ text.push(element[e.property.editorOptions.textField]);
10391
+ });
10392
+ }
10393
+ else {
10394
+ if (e.value.length) {
10395
+ value = e.value[0][e.property.editorOptions.valueField];
10396
+ text = e.value[0][e.property.editorOptions.textField];
10397
+ }
10398
+ }
10399
+ }
10400
+ else {
10401
+ value = e.value;
10402
+ text = e.value;
10403
+ }
10404
+ const findEl = this._filterItemsClone.find((el) => el.name == e.property.name);
10405
+ if (findEl) {
10406
+ findEl.value = value;
10407
+ findEl.textValue = text ? text.toString() : null;
10408
+ }
10409
+ else if (e.value != null) {
10410
+ this._filterItemsClone.push({
10411
+ name: e.property.name,
10412
+ title: e.property.title,
10413
+ value,
10414
+ textValue: text.toString(),
10415
+ component: e,
10416
+ filterOptions: {
10417
+ filters: e.property?.filterOptions?.filters ? e.property.filterOptions.filters : [],
10418
+ logic: e.property?.filterOptions?.logic ? e.property.filterOptions.logic : 'and',
10419
+ ignoreCase: e.property?.filterOptions?.ignoreCase ? e.property.filterOptions.ignoreCase : true,
10420
+ joinType: e.property?.filterOptions?.joinType ? e.property.filterOptions.joinType : 'INNER',
10421
+ operator: e.property?.filterOptions?.operator ? e.property.filterOptions.operator : null,
10422
+ truncateDate: e.property?.filterOptions?.truncateDate ? e.property.filterOptions.truncateDate : true
10423
+ }
10424
+ });
10425
+ }
10426
10426
  }
10427
10427
  }
10428
10428
  AXSearchBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
10429
- AXSearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSearchBarComponent, selector: "ax-search-bar", inputs: { size: "size", disabled: "disabled", items: "items", rtl: "rtl" }, outputs: { onValueChange: "onValueChange", onSearchValue: "onSearchValue" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }, { propertyName: "_editors", predicate: AXPropertyEditorRendererDirective, descendants: true }], ngImport: i0, template: "<ax-drop-down [fitParent]=\"true\" [size]=\"size\" [showDropDownButton]=\"false\" icon=\"far fa-sliders-h\" #dropdown\r\n maxHeight=\"unset\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container header>\r\n <div class=\"ax chips-container\">\r\n <div class=\"chips\" *ngFor=\"let item of _filterItems\">\r\n <span class=\"chips-text\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\r\n <i class=\"far fa-times close\"></i>\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container panel>\r\n <div class=\"panel-box\">\r\n <ax-validation-form #form>\r\n <div *ngFor=\"let item of _items\" class=\"row\">\r\n <div *ngFor=\"let prop of item.items\" class=\"{{renderCol(prop.property.col)}}\">\r\n <!-- <ax-form-group> -->\r\n <div *ngIf=\"prop.property.visible != false\">\r\n <ax-label>{{prop.property.title}}</ax-label>\r\n <ng-container ax-property-editor-renderer [validationForm]=\"form\" [property]=\"prop\"\r\n [context]=\"_context\" (onValueChange)=\"handleValueChange($event)\"></ng-container>\r\n </div>\r\n <!-- </ax-form-group> -->\r\n </div>\r\n </div>\r\n <div class=\"footer-button\">\r\n <ax-button (click)=\"search()\">{{'common.search' | trans}}</ax-button>\r\n <ax-button type=\"blank danger\" (click)=\"clear()\">{{'dataGrid.clearFilter' | trans}}</ax-button>\r\n </div>\r\n </ax-validation-form>\r\n </div>\r\n </ng-container>\r\n <ng-container end>\r\n <ax-button end icon=\"far fa-sliders-h icon\" type=\"light blank\" [disabled]=\"disabled\" [size]=\"size\"\r\n [tabIndex]=\"-1\" (click)=\"handleButtonClick()\">{{'common.search' | trans}}</ax-button>\r\n </ng-container>\r\n\r\n</ax-drop-down>", styles: [".ax.chips-container{height:100%}.panel-box{padding:1rem}.panel-box .footer-button{margin-top:1rem;display:flex;align-items:center;gap:.5rem}\n"], components: [{ type: AXDropdownComponent, selector: "ax-drop-down", inputs: ["rtl", "readonly", "loading"], outputs: ["dropdownToggle", "onButtonClick"] }, { type: AXValidationFormComponent, selector: "ax-validation-form", inputs: ["validateOn"], outputs: ["onInit"] }, { type: AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { type: AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }], directives: [{ type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: AXPropertyEditorRendererDirective, selector: "[ax-property-editor-renderer]", inputs: ["property", "validationForm", "context", "host", "groupId"], outputs: ["onValueChange"] }], pipes: { "trans": i1$2.AXTranslatorPipe } });
10429
+ AXSearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSearchBarComponent, selector: "ax-search-bar", inputs: { size: "size", disabled: "disabled", items: "items", rtl: "rtl" }, outputs: { onValueChange: "onValueChange", onSearchValue: "onSearchValue" }, viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true, static: true }, { propertyName: "form", first: true, predicate: AXValidationFormComponent, descendants: true }, { propertyName: "_editors", predicate: AXPropertyEditorRendererDirective, descendants: true }], ngImport: i0, template: "<ax-drop-down [fitParent]=\"true\" [size]=\"size\" [showDropDownButton]=\"false\" icon=\"far fa-sliders-h\" #dropdown\r\n maxHeight=\"unset\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container header>\r\n <div class=\"ax chips-container\">\r\n <div class=\"chips\" *ngFor=\"let item of _filterItems\">\r\n <span class=\"chips-text\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container panel>\r\n <div class=\"panel-box\">\r\n <ax-validation-form #form>\r\n <div *ngFor=\"let item of _items\" class=\"row\">\r\n <div *ngFor=\"let prop of item.items\" class=\"{{renderCol(prop.property.col)}}\">\r\n <!-- <ax-form-group> -->\r\n <div *ngIf=\"prop.property.visible != false\">\r\n <ax-label>{{prop.property.title}}</ax-label>\r\n <ng-container ax-property-editor-renderer [validationForm]=\"form\" [property]=\"prop\"\r\n [context]=\"_context\" (onValueChange)=\"handleValueChange($event)\"></ng-container>\r\n </div>\r\n <!-- </ax-form-group> -->\r\n </div>\r\n </div>\r\n <div class=\"footer-button\">\r\n <ax-button (click)=\"search()\">{{'common.search' | trans}}</ax-button>\r\n <ax-button type=\"blank danger\" (click)=\"clear()\">{{'dataGrid.clearFilter' | trans}}</ax-button>\r\n </div>\r\n </ax-validation-form>\r\n </div>\r\n </ng-container>\r\n <ng-container end>\r\n <ax-button end icon=\"far fa-sliders-h icon\" type=\"light blank\" [disabled]=\"disabled\" [size]=\"size\"\r\n [tabIndex]=\"-1\" (click)=\"handleButtonClick()\">{{'common.search' | trans}}</ax-button>\r\n </ng-container>\r\n\r\n</ax-drop-down>", styles: [".ax.chips-container{height:100%}.panel-box{padding:1rem}.panel-box .footer-button{margin-top:1rem;display:flex;align-items:center;gap:.5rem}\n"], components: [{ type: AXDropdownComponent, selector: "ax-drop-down", inputs: ["rtl", "readonly", "loading"], outputs: ["dropdownToggle", "onButtonClick"] }, { type: AXValidationFormComponent, selector: "ax-validation-form", inputs: ["validateOn"], outputs: ["onInit"] }, { type: AXLabelComponent, selector: "ax-label", inputs: ["size"] }, { type: AXButtonComponent, selector: "ax-button", inputs: ["type", "icon", "submitBehavior", "cancelBehavior", "block", "loading", "selected"] }], directives: [{ type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: AXPropertyEditorRendererDirective, selector: "[ax-property-editor-renderer]", inputs: ["property", "validationForm", "context", "host", "groupId"], outputs: ["onValueChange"] }], pipes: { "trans": i1$2.AXTranslatorPipe } });
10430
10430
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarComponent, decorators: [{
10431
10431
  type: Component,
10432
- args: [{ selector: 'ax-search-bar', template: "<ax-drop-down [fitParent]=\"true\" [size]=\"size\" [showDropDownButton]=\"false\" icon=\"far fa-sliders-h\" #dropdown\r\n maxHeight=\"unset\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container header>\r\n <div class=\"ax chips-container\">\r\n <div class=\"chips\" *ngFor=\"let item of _filterItems\">\r\n <span class=\"chips-text\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\r\n <i class=\"far fa-times close\"></i>\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container panel>\r\n <div class=\"panel-box\">\r\n <ax-validation-form #form>\r\n <div *ngFor=\"let item of _items\" class=\"row\">\r\n <div *ngFor=\"let prop of item.items\" class=\"{{renderCol(prop.property.col)}}\">\r\n <!-- <ax-form-group> -->\r\n <div *ngIf=\"prop.property.visible != false\">\r\n <ax-label>{{prop.property.title}}</ax-label>\r\n <ng-container ax-property-editor-renderer [validationForm]=\"form\" [property]=\"prop\"\r\n [context]=\"_context\" (onValueChange)=\"handleValueChange($event)\"></ng-container>\r\n </div>\r\n <!-- </ax-form-group> -->\r\n </div>\r\n </div>\r\n <div class=\"footer-button\">\r\n <ax-button (click)=\"search()\">{{'common.search' | trans}}</ax-button>\r\n <ax-button type=\"blank danger\" (click)=\"clear()\">{{'dataGrid.clearFilter' | trans}}</ax-button>\r\n </div>\r\n </ax-validation-form>\r\n </div>\r\n </ng-container>\r\n <ng-container end>\r\n <ax-button end icon=\"far fa-sliders-h icon\" type=\"light blank\" [disabled]=\"disabled\" [size]=\"size\"\r\n [tabIndex]=\"-1\" (click)=\"handleButtonClick()\">{{'common.search' | trans}}</ax-button>\r\n </ng-container>\r\n\r\n</ax-drop-down>", styles: [".ax.chips-container{height:100%}.panel-box{padding:1rem}.panel-box .footer-button{margin-top:1rem;display:flex;align-items:center;gap:.5rem}\n"] }]
10432
+ args: [{ selector: 'ax-search-bar', template: "<ax-drop-down [fitParent]=\"true\" [size]=\"size\" [showDropDownButton]=\"false\" icon=\"far fa-sliders-h\" #dropdown\r\n maxHeight=\"unset\">\r\n <ng-container start>\r\n <ng-content select=\"[start]\">\r\n </ng-content>\r\n </ng-container>\r\n <ng-container header>\r\n <div class=\"ax chips-container\">\r\n <div class=\"chips\" *ngFor=\"let item of _filterItems\">\r\n <span class=\"chips-text\" style=\"direction:rtl;\">\r\n <b>{{_handleShowTitleSelected(item)}}</b> {{_handleShowValueSelected(item)}}\r\n </span>\r\n <span class=\"close-icon\" (click)=\"handleItemRemoveClick(item)\">\r\n </span>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container panel>\r\n <div class=\"panel-box\">\r\n <ax-validation-form #form>\r\n <div *ngFor=\"let item of _items\" class=\"row\">\r\n <div *ngFor=\"let prop of item.items\" class=\"{{renderCol(prop.property.col)}}\">\r\n <!-- <ax-form-group> -->\r\n <div *ngIf=\"prop.property.visible != false\">\r\n <ax-label>{{prop.property.title}}</ax-label>\r\n <ng-container ax-property-editor-renderer [validationForm]=\"form\" [property]=\"prop\"\r\n [context]=\"_context\" (onValueChange)=\"handleValueChange($event)\"></ng-container>\r\n </div>\r\n <!-- </ax-form-group> -->\r\n </div>\r\n </div>\r\n <div class=\"footer-button\">\r\n <ax-button (click)=\"search()\">{{'common.search' | trans}}</ax-button>\r\n <ax-button type=\"blank danger\" (click)=\"clear()\">{{'dataGrid.clearFilter' | trans}}</ax-button>\r\n </div>\r\n </ax-validation-form>\r\n </div>\r\n </ng-container>\r\n <ng-container end>\r\n <ax-button end icon=\"far fa-sliders-h icon\" type=\"light blank\" [disabled]=\"disabled\" [size]=\"size\"\r\n [tabIndex]=\"-1\" (click)=\"handleButtonClick()\">{{'common.search' | trans}}</ax-button>\r\n </ng-container>\r\n\r\n</ax-drop-down>", styles: [".ax.chips-container{height:100%}.panel-box{padding:1rem}.panel-box .footer-button{margin-top:1rem;display:flex;align-items:center;gap:.5rem}\n"] }]
10433
10433
  }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { dropdown: [{
10434
10434
  type: ViewChild,
10435
10435
  args: ['dropdown', { static: true }]
@@ -11851,6 +11851,71 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
11851
11851
  }]
11852
11852
  }], ctorParameters: function () { return []; } });
11853
11853
 
11854
+ class AXSearchBarSelectBoxEditorComponent extends AXProperyEditorComponent {
11855
+ constructor(cdr) {
11856
+ super(cdr);
11857
+ this.cdr = cdr;
11858
+ this.valueField = 'id';
11859
+ this.textField = 'text';
11860
+ this.mode = 'single';
11861
+ this.selectionDataMode = 'value';
11862
+ this.allowSearch = true;
11863
+ this.allowNull = true;
11864
+ this.disabled = false;
11865
+ this.items = [];
11866
+ this.remoteOperation = false;
11867
+ this.returnAllData = false;
11868
+ this.provideData = (e) => {
11869
+ return new Promise((resolve) => {
11870
+ const func = () => {
11871
+ if (Array.isArray(this.items)) {
11872
+ resolve(this.items.slice());
11873
+ }
11874
+ else if (typeof this.items === 'function') {
11875
+ const a = Object.assign(e, { sender: this });
11876
+ resolve(this.items(a));
11877
+ }
11878
+ else {
11879
+ resolve([]);
11880
+ }
11881
+ };
11882
+ const intVal = setInterval(() => {
11883
+ if (this.initiated) {
11884
+ func();
11885
+ clearInterval(intVal);
11886
+ }
11887
+ }, 50);
11888
+ });
11889
+ };
11890
+ }
11891
+ get filter() {
11892
+ return this._filter;
11893
+ }
11894
+ set filter(v) {
11895
+ this._filter = v;
11896
+ if (this.value && this.initiated) {
11897
+ this.value = null;
11898
+ this.selectBox?.refresh();
11899
+ }
11900
+ }
11901
+ handleValueChange(e) {
11902
+ super.handleValueChange(e.selectedItems);
11903
+ }
11904
+ ngAfterViewInit() {
11905
+ this.registerForValidationForm(this.selectBox);
11906
+ this.onRenderCompleted.emit();
11907
+ }
11908
+ }
11909
+ AXSearchBarSelectBoxEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarSelectBoxEditorComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
11910
+ AXSearchBarSelectBoxEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: AXSearchBarSelectBoxEditorComponent, selector: "ng-component", viewQueries: [{ propertyName: "selectBox", first: true, predicate: AXSelectBoxComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ax-select-box [mode]=\"mode\" [textField]=\"textField\" [valueField]=\"valueField\" [remoteOperation]=\"remoteOperation\"\r\n [selectedItems]=\"value\" [allowSearch]=\"allowSearch\" [allowNull]=\"allowNull\" [readonly]=\"readonly\"\r\n [disabled]=\"disabled\" (selectionChanged)=\"handleValueChange($event)\">\r\n <ax-data-source [provideData]=\"provideData\">\r\n </ax-data-source>\r\n <ax-validation [rules]=\"validation?.rules\">\r\n </ax-validation>\r\n</ax-select-box>", components: [{ type: AXSelectBoxComponent, selector: "ax-select-box", inputs: ["showDropDownButton", "rowInputTemplate", "showCheckBox", "readonly", "rtl", "disabled", "placeholder", "size", "allowNull", "textAlign", "bufferSize", "remoteOperation", "dataSource", "validation", "disabledCallback", "allowSearch", "textField", "valueField", "disabledField", "mode", "items", "selectedItems", "selectedValues"], outputs: ["dropdownToggle", "itemsChange", "onBlur", "onFocus", "selectionChanged", "selectedItemsChange", "selectedValuesChange"] }, { type: AXDataSourceComponent, selector: "ax-data-source", inputs: ["provideData", "params"] }, { type: AXValidationComponent, selector: "ax-validation", inputs: ["rules", "validateOn"], outputs: ["rulesChange", "showMessage"] }] });
11911
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSearchBarSelectBoxEditorComponent, decorators: [{
11912
+ type: Component,
11913
+ args: [{ template: "<ax-select-box [mode]=\"mode\" [textField]=\"textField\" [valueField]=\"valueField\" [remoteOperation]=\"remoteOperation\"\r\n [selectedItems]=\"value\" [allowSearch]=\"allowSearch\" [allowNull]=\"allowNull\" [readonly]=\"readonly\"\r\n [disabled]=\"disabled\" (selectionChanged)=\"handleValueChange($event)\">\r\n <ax-data-source [provideData]=\"provideData\">\r\n </ax-data-source>\r\n <ax-validation [rules]=\"validation?.rules\">\r\n </ax-validation>\r\n</ax-select-box>" }]
11914
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { selectBox: [{
11915
+ type: ViewChild,
11916
+ args: [AXSelectBoxComponent, { static: false }]
11917
+ }] } });
11918
+
11854
11919
  class AXSelectBoxPropertyEditorComponent extends AXProperyEditorComponent {
11855
11920
  constructor(cdr) {
11856
11921
  super(cdr);
@@ -11922,16 +11987,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
11922
11987
  }] } });
11923
11988
 
11924
11989
  class AXSelectBoxPropertyEditorModule {
11925
- constructor() {
11926
- }
11990
+ constructor() { }
11927
11991
  }
11928
11992
  AXSelectBoxPropertyEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSelectBoxPropertyEditorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11929
- AXSelectBoxPropertyEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSelectBoxPropertyEditorModule, declarations: [AXSelectBoxPropertyEditorComponent], imports: [CommonModule, FormsModule, AXSelectBoxModule, AXDataSourceModule, AXValidationModule], exports: [AXSelectBoxPropertyEditorComponent] });
11993
+ AXSelectBoxPropertyEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSelectBoxPropertyEditorModule, declarations: [AXSelectBoxPropertyEditorComponent, AXSearchBarSelectBoxEditorComponent], imports: [CommonModule, FormsModule, AXSelectBoxModule, AXDataSourceModule, AXValidationModule], exports: [AXSelectBoxPropertyEditorComponent] });
11930
11994
  AXSelectBoxPropertyEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSelectBoxPropertyEditorModule, providers: [], imports: [[CommonModule, FormsModule, AXSelectBoxModule, AXDataSourceModule, AXValidationModule]] });
11931
11995
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXSelectBoxPropertyEditorModule, decorators: [{
11932
11996
  type: NgModule,
11933
11997
  args: [{
11934
- declarations: [AXSelectBoxPropertyEditorComponent],
11998
+ declarations: [AXSelectBoxPropertyEditorComponent, AXSearchBarSelectBoxEditorComponent],
11935
11999
  imports: [CommonModule, FormsModule, AXSelectBoxModule, AXDataSourceModule, AXValidationModule],
11936
12000
  exports: [AXSelectBoxPropertyEditorComponent],
11937
12001
  providers: []
@@ -12125,7 +12189,6 @@ class AXTextPropertyEditorComponent extends AXProperyEditorComponent {
12125
12189
  super(cdr);
12126
12190
  this.cdr = cdr;
12127
12191
  this.clearButton = false;
12128
- this.mask = null;
12129
12192
  this.maskGuid = false;
12130
12193
  this.showMask = true;
12131
12194
  }
@@ -13305,6 +13368,10 @@ AXProppertyEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
13305
13368
  component: AXSelectBoxPropertyEditorComponent,
13306
13369
  path: 'ax/editors/select'
13307
13370
  },
13371
+ {
13372
+ component: AXSearchBarSelectBoxEditorComponent,
13373
+ path: 'ax/editors/selectBox'
13374
+ },
13308
13375
  {
13309
13376
  component: AXNumberBoxPropertyEditorComponent,
13310
13377
  path: 'ax/editors/number'
@@ -13328,14 +13395,15 @@ AXProppertyEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0",
13328
13395
  {
13329
13396
  component: ColumnPropertyEditorComponent,
13330
13397
  path: 'ax/editors/column'
13331
- }, {
13398
+ },
13399
+ {
13332
13400
  component: AXDatePropertyEditorComponent,
13333
13401
  path: 'ax/editors/date'
13334
13402
  },
13335
13403
  {
13336
13404
  component: AXTimePropertyEditorComponent,
13337
13405
  path: 'ax/editors/time'
13338
- },
13406
+ }
13339
13407
  ])
13340
13408
  ]] });
13341
13409
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: AXProppertyEditorModule, decorators: [{
@@ -13364,6 +13432,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
13364
13432
  component: AXSelectBoxPropertyEditorComponent,
13365
13433
  path: 'ax/editors/select'
13366
13434
  },
13435
+ {
13436
+ component: AXSearchBarSelectBoxEditorComponent,
13437
+ path: 'ax/editors/selectBox'
13438
+ },
13367
13439
  {
13368
13440
  component: AXNumberBoxPropertyEditorComponent,
13369
13441
  path: 'ax/editors/number'
@@ -13387,19 +13459,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
13387
13459
  {
13388
13460
  component: ColumnPropertyEditorComponent,
13389
13461
  path: 'ax/editors/column'
13390
- }, {
13462
+ },
13463
+ {
13391
13464
  component: AXDatePropertyEditorComponent,
13392
13465
  path: 'ax/editors/date'
13393
13466
  },
13394
13467
  {
13395
13468
  component: AXTimePropertyEditorComponent,
13396
13469
  path: 'ax/editors/time'
13397
- },
13470
+ }
13398
13471
  ])
13399
13472
  ],
13400
13473
  exports: [AXPropertyEditorRendererDirective],
13401
13474
  declarations: [AXPropertyEditorRendererDirective],
13402
- providers: [],
13475
+ providers: []
13403
13476
  }]
13404
13477
  }] });
13405
13478