@acorex/platform 19.1.13 → 19.1.15

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.
Files changed (24) hide show
  1. package/common/lib/common.module.d.ts +2 -1
  2. package/fesm2022/acorex-platform-common.mjs +18 -7
  3. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  4. package/fesm2022/acorex-platform-layout-entity.mjs +48 -3
  5. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  6. package/fesm2022/acorex-platform-layout-filters.mjs +46 -4
  7. package/fesm2022/acorex-platform-layout-filters.mjs.map +1 -1
  8. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-BDjcOo6R.mjs → acorex-platform-themes-default-entity-master-list-view.component-CWnQBjEa.mjs} +3 -3
  9. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-CWnQBjEa.mjs.map +1 -0
  10. package/fesm2022/acorex-platform-themes-default.mjs +2 -2
  11. package/fesm2022/acorex-platform-widgets.mjs +130 -62
  12. package/fesm2022/acorex-platform-widgets.mjs.map +1 -1
  13. package/layout/entity/lib/entity-master-list.viewmodel.d.ts +4 -3
  14. package/layout/filters/lib/filters.viewmodel.d.ts +1 -0
  15. package/package.json +5 -5
  16. package/widgets/lib/widgets/filters/boolean-filter/boolean-filter-widget-edit.component.d.ts +2 -1
  17. package/widgets/lib/widgets/filters/string-filter/string-filter-widget-edit.component.d.ts +1 -0
  18. package/widgets/lib/widgets/layout/advanced-grid/advanced-grid-widget-designer.component.d.ts +10 -8
  19. package/widgets/lib/widgets/layout/advanced-grid/advanced-grid-widget-types.component.d.ts +10 -0
  20. package/widgets/lib/widgets/layout/grid/grid-widget-designer.component.d.ts +2 -2
  21. package/widgets/lib/widgets/property-editors/advanced-grid-options/advanced-grid-options-widget-editor.component.d.ts +4 -4
  22. package/widgets/lib/widgets/property-editors/flex-options/flex-options-widget-editor.component.d.ts +2 -2
  23. package/widgets/lib/widgets/property-editors/grid-options/grid-options-widget-editor.component.d.ts +4 -4
  24. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-BDjcOo6R.mjs.map +0 -1
@@ -12,7 +12,7 @@ import { AXLoadingModule } from '@acorex/components/loading';
12
12
  import * as i1$1 from '@angular/common';
13
13
  import { CommonModule } from '@angular/common';
14
14
  import * as i0 from '@angular/core';
15
- import { computed, EventEmitter, Component, ChangeDetectionStrategy, inject, HostBinding, signal, effect, ViewEncapsulation, InjectionToken, ViewChild, untracked, ChangeDetectorRef, ElementRef, viewChild, afterRender, afterNextRender, NgZone, model, input, HostListener, NgModule } from '@angular/core';
15
+ import { computed, EventEmitter, Component, ChangeDetectionStrategy, inject, HostBinding, signal, effect, ViewEncapsulation, InjectionToken, ViewChild, untracked, ChangeDetectorRef, ElementRef, viewChild, afterNextRender, afterRender, NgZone, model, input, HostListener, NgModule } from '@angular/core';
16
16
  import * as i1 from '@acorex/components/check-box';
17
17
  import { AXCheckBoxModule } from '@acorex/components/check-box';
18
18
  import * as i3$1 from '@acorex/components/form';
@@ -5394,12 +5394,12 @@ var textBoxWidgetView_component = /*#__PURE__*/Object.freeze({
5394
5394
  class AXPTextBoxWidgetEditComponent extends AXPWidgetComponent {
5395
5395
  constructor() {
5396
5396
  super(...arguments);
5397
- this.multiple = computed(() => this.options()["multiple"]);
5397
+ this.multiple = computed(() => this.options()['multiple']);
5398
5398
  this.hasClearButton = computed(() => this.options()['hasClearButton']);
5399
- this.disabled = computed(() => this.options()["disabled"]);
5400
- this.placeholder = computed(() => this.options()["placeholder"]);
5401
- this.validationRules = computed(() => this.options()["validationRules"] ?? []);
5402
- this.internalValue = computed(() => (Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]));
5399
+ this.disabled = computed(() => this.options()['disabled']);
5400
+ this.placeholder = computed(() => this.options()['placeholder']);
5401
+ this.validationRules = computed(() => this.options()['validationRules'] ?? []);
5402
+ this.internalValue = computed(() => Array.isArray(this.getValue()) ? this.getValue() : [this.getValue()]);
5403
5403
  }
5404
5404
  handleValueChange(e, i) {
5405
5405
  if (e.isUserInteraction) {
@@ -5430,11 +5430,21 @@ class AXPTextBoxWidgetEditComponent extends AXPWidgetComponent {
5430
5430
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPTextBoxWidgetEditComponent, isStandalone: true, selector: "axp-text-box-widget", host: { properties: { "class": "this.__class" } }, usesInheritance: true, ngImport: i0, template: `
5431
5431
  <div class="ax-grid ax-grid-cols-12 ax-gap-4">
5432
5432
  @for (text of internalValue(); track $index) {
5433
- <ax-text-box class="ax-col-span-12" [ngModel]="text" [type]="'text'" (onValueChanged)="handleValueChange($event, $index)" [disabled]="disabled()" [placeholder]="placeholder()">
5433
+ <ax-text-box
5434
+ class="ax-col-span-12"
5435
+ [ngModel]="text"
5436
+ [type]="'text'"
5437
+ (onValueChanged)="handleValueChange($event, $index)"
5438
+ [disabled]="disabled()"
5439
+ [placeholder]="placeholder()"
5440
+ >
5434
5441
  @for (validation of validationRules(); track $index) {
5435
- <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
5436
- }
5437
- @if(hasClearButton()){
5442
+ <ax-validation-rule
5443
+ [rule]="validation.rule"
5444
+ [message]="validation.options?.message"
5445
+ [options]="validation.options"
5446
+ ></ax-validation-rule>
5447
+ } @if(hasClearButton()){
5438
5448
  <ax-clear-button></ax-clear-button>
5439
5449
  } @if(multiple()){
5440
5450
  <ax-suffix>
@@ -5467,11 +5477,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5467
5477
  template: `
5468
5478
  <div class="ax-grid ax-grid-cols-12 ax-gap-4">
5469
5479
  @for (text of internalValue(); track $index) {
5470
- <ax-text-box class="ax-col-span-12" [ngModel]="text" [type]="'text'" (onValueChanged)="handleValueChange($event, $index)" [disabled]="disabled()" [placeholder]="placeholder()">
5480
+ <ax-text-box
5481
+ class="ax-col-span-12"
5482
+ [ngModel]="text"
5483
+ [type]="'text'"
5484
+ (onValueChanged)="handleValueChange($event, $index)"
5485
+ [disabled]="disabled()"
5486
+ [placeholder]="placeholder()"
5487
+ >
5471
5488
  @for (validation of validationRules(); track $index) {
5472
- <ax-validation-rule [rule]="validation.rule" [message]="validation.options?.message" [options]="validation.options"></ax-validation-rule>
5473
- }
5474
- @if(hasClearButton()){
5489
+ <ax-validation-rule
5490
+ [rule]="validation.rule"
5491
+ [message]="validation.options?.message"
5492
+ [options]="validation.options"
5493
+ ></ax-validation-rule>
5494
+ } @if(hasClearButton()){
5475
5495
  <ax-clear-button></ax-clear-button>
5476
5496
  } @if(multiple()){
5477
5497
  <ax-suffix>
@@ -5497,8 +5517,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
5497
5517
  </div>
5498
5518
  `,
5499
5519
  changeDetection: ChangeDetectionStrategy.OnPush,
5500
- imports: [CommonModule, AXTextBoxModule, FormsModule, AXFormModule, AXDecoratorModule, AXValidationModule, AXButtonModule],
5501
- inputs: []
5520
+ imports: [
5521
+ CommonModule,
5522
+ AXTextBoxModule,
5523
+ FormsModule,
5524
+ AXFormModule,
5525
+ AXDecoratorModule,
5526
+ AXValidationModule,
5527
+ AXButtonModule,
5528
+ ],
5529
+ inputs: [],
5502
5530
  }]
5503
5531
  }], propDecorators: { __class: [{
5504
5532
  type: HostBinding,
@@ -7513,17 +7541,12 @@ const AXPSignatureWidget = {
7513
7541
  };
7514
7542
 
7515
7543
  class AXPAdvancedGridWidgetDesignerComponent extends AXPWidgetComponent {
7516
- // protected items = computed()
7517
7544
  constructor() {
7518
7545
  super();
7546
+ this.isRendered = signal(false);
7519
7547
  this.el = inject(ElementRef);
7520
7548
  this.designerService = inject(AXPDesignerService);
7521
7549
  this.container = viewChild(AXGridLayoutContainerComponent);
7522
- this.widgetOption = {
7523
- h: 1,
7524
- w: 1,
7525
- content: '',
7526
- };
7527
7550
  this.gridOptions = {
7528
7551
  column: 6,
7529
7552
  cellHeight: 100,
@@ -7538,31 +7561,11 @@ class AXPAdvancedGridWidgetDesignerComponent extends AXPWidgetComponent {
7538
7561
  this.columns = computed(() => this.options()['advancedGridOptions']?.columns);
7539
7562
  this.justifyItems = computed(() => this.options()['advancedGridOptions']?.justifyItems);
7540
7563
  this.alignItems = computed(() => this.options()['advancedGridOptions']?.alignItems);
7541
- // protected handleDrawerSelect(e: { rows: number; cols: number }) {
7542
- // this.designerService.update({
7543
- // values: {
7544
- // // options: e,
7545
- // options: {
7546
- // gridOptions: {
7547
- // default: {
7548
- // gridTemplateColumns: `repeat(${e.cols}, 1fr)`,
7549
- // gridTemplateRows: `repeat(${e.rows}, 1fr)`,
7550
- // gap: '10px',
7551
- // },
7552
- // },
7553
- // },
7554
- // },
7555
- // mode: 'update',
7556
- // widget: this.node,
7557
- // });
7558
- // const list = Array.from({ length: this.cells() }).map(() => ({
7559
- // type: AXPWidgetsCatalog.gridItem,
7560
- // }));
7561
- // list.forEach((node) => {
7562
- // this.designerService.addWidget(this.node, node);
7563
- // });
7564
- // }
7565
- this.eff = effect(() => console.log(this.options()['advancedGridOptions']));
7564
+ this.#eff = effect(() => console.log(this.options()['advancedGridOptions']));
7565
+ this.#initValues = afterNextRender(() => {
7566
+ this.initValues();
7567
+ this.isRendered.set(true);
7568
+ });
7566
7569
  this.#rowOrColumnChangeEffect = effect(() => {
7567
7570
  const deferent = this.itemsCount() - this.children().length;
7568
7571
  untracked(() => {
@@ -7574,6 +7577,27 @@ class AXPAdvancedGridWidgetDesignerComponent extends AXPWidgetComponent {
7574
7577
  .forEach((node) => {
7575
7578
  this.designerService.addWidget(this.node, node);
7576
7579
  });
7580
+ //debugger;
7581
+ const save = this.container()?.save();
7582
+ const layout = save?.children?.map((child) => {
7583
+ if (child && child.id) {
7584
+ return {
7585
+ ...child,
7586
+ data: this.children()[Number.parseInt(child.id)],
7587
+ };
7588
+ }
7589
+ return { ...child, data: undefined };
7590
+ });
7591
+ const value = {
7592
+ data: {
7593
+ alignItems: this.alignItems(),
7594
+ justifyItems: this.justifyItems(),
7595
+ columns: this.columns(),
7596
+ itemsCount: this.itemsCount(),
7597
+ },
7598
+ layout: { ...save, children: layout },
7599
+ };
7600
+ this.setValue(value);
7577
7601
  }
7578
7602
  else if (deferent < 0) {
7579
7603
  this.children()
@@ -7587,6 +7611,7 @@ class AXPAdvancedGridWidgetDesignerComponent extends AXPWidgetComponent {
7587
7611
  if (els.length) {
7588
7612
  els.forEach((item) => {
7589
7613
  if (item instanceof HTMLElement) {
7614
+ item.style.padding = '0.5rem';
7590
7615
  item.style.removeProperty('justify-content');
7591
7616
  item.style.justifyContent = this.justifyItems();
7592
7617
  item.style.removeProperty('align-items');
@@ -7600,6 +7625,27 @@ class AXPAdvancedGridWidgetDesignerComponent extends AXPWidgetComponent {
7600
7625
  });
7601
7626
  window.ag = this; //debug purpose
7602
7627
  }
7628
+ calcWidgetOption(id) {
7629
+ return {
7630
+ h: 1,
7631
+ w: 1,
7632
+ id: id,
7633
+ };
7634
+ }
7635
+ #eff;
7636
+ #initValues;
7637
+ initValues() {
7638
+ //TODO update values from
7639
+ const data = this.getValue();
7640
+ if (data?.layout) {
7641
+ }
7642
+ else {
7643
+ Array.from({ length: this.itemsCount() }).map(() => ({
7644
+ type: AXPWidgetsCatalog.gridItem,
7645
+ }));
7646
+ const layout = this.container()?.save();
7647
+ }
7648
+ }
7603
7649
  #rowOrColumnChangeEffect;
7604
7650
  #setJustifyAndAlign;
7605
7651
  get __class() {
@@ -7618,7 +7664,7 @@ class AXPAdvancedGridWidgetDesignerComponent extends AXPWidgetComponent {
7618
7664
  ], viewQueries: [{ propertyName: "container", first: true, predicate: AXGridLayoutContainerComponent, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
7619
7665
  <ax-grid-layout-container [options]="gridOptions">
7620
7666
  @for (child of children(); track $index) {
7621
- <ax-grid-layout-widget [options]="widgetOption">
7667
+ <ax-grid-layout-widget [options]="calcWidgetOption($index)">
7622
7668
  <ng-container
7623
7669
  axp-widget-designer-renderer
7624
7670
  [node]="child"
@@ -7649,7 +7695,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
7649
7695
  template: `
7650
7696
  <ax-grid-layout-container [options]="gridOptions">
7651
7697
  @for (child of children(); track $index) {
7652
- <ax-grid-layout-widget [options]="widgetOption">
7698
+ <ax-grid-layout-widget [options]="calcWidgetOption($index)">
7653
7699
  <ng-container
7654
7700
  axp-widget-designer-renderer
7655
7701
  [node]="child"
@@ -9180,7 +9226,6 @@ class AXPAdvancedGridOptionsWidgetEditComponent extends AXPWidgetComponent {
9180
9226
  #firstInitialize;
9181
9227
  #trackChange;
9182
9228
  initialValues() {
9183
- debugger;
9184
9229
  const value = this.getValue();
9185
9230
  const justify = value?.justifyItems ?? 'stretch';
9186
9231
  const align = value?.alignItems ?? 'stretch';
@@ -10370,6 +10415,7 @@ class AXPBooleanFilterWidgetEditComponent extends AXPWidgetComponent {
10370
10415
  this.value = computed(() => this.getValue()?.value);
10371
10416
  this.trulyText = computed(() => this.options()['trulyText']);
10372
10417
  this.falsyText = computed(() => this.options()['falsyText']);
10418
+ this.translateService = inject(AXTranslationService);
10373
10419
  this.items = [];
10374
10420
  this.dataSource = new AXDataSource({
10375
10421
  load: () => {
@@ -10379,16 +10425,17 @@ class AXPBooleanFilterWidgetEditComponent extends AXPWidgetComponent {
10379
10425
  });
10380
10426
  },
10381
10427
  byKey: (id) => {
10382
- const item = this.items.find((c) => c.value.toString() == id);
10428
+ const item = this.items.find((c) => c.value?.toString() == id);
10383
10429
  return Promise.resolve(item);
10384
10430
  },
10385
10431
  pageSize: 10,
10386
10432
  key: 'value',
10387
10433
  });
10388
- this.#effect = effect(() => {
10434
+ this.#effect = effect(async () => {
10389
10435
  this.items = [
10390
- { text: this.trulyText() || 'Yes', value: true },
10391
- { text: this.falsyText() || 'No', value: false },
10436
+ { text: await this.translateService.translateAsync('unknown'), value: 'unknown' },
10437
+ { text: this.trulyText() || (await this.translateService.translateAsync('yes')), value: true },
10438
+ { text: this.falsyText() || (await this.translateService.translateAsync('no')), value: false },
10392
10439
  ];
10393
10440
  });
10394
10441
  }
@@ -10411,9 +10458,11 @@ class AXPBooleanFilterWidgetEditComponent extends AXPWidgetComponent {
10411
10458
  [dataSource]="dataSource"
10412
10459
  [ngModel]="value()"
10413
10460
  (onValueChanged)="handleValueChange($event)"
10414
- ></ax-select-box>
10461
+ >
10462
+ <ax-clear-button></ax-clear-button>
10463
+ </ax-select-box>
10415
10464
  </div>
10416
- `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3$2.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i5$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10465
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AXDecoratorModule }, { kind: "component", type: i3.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "ngmodule", type: AXSelectBoxModule }, { kind: "component", type: i3$2.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "ngmodule", type: AXTranslationModule }, { kind: "pipe", type: i5$1.AXTranslatorPipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
10417
10466
  }
10418
10467
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPBooleanFilterWidgetEditComponent, decorators: [{
10419
10468
  type: Component,
@@ -10427,7 +10476,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
10427
10476
  [dataSource]="dataSource"
10428
10477
  [ngModel]="value()"
10429
10478
  (onValueChanged)="handleValueChange($event)"
10430
- ></ax-select-box>
10479
+ >
10480
+ <ax-clear-button></ax-clear-button>
10481
+ </ax-select-box>
10431
10482
  </div>
10432
10483
  `,
10433
10484
  standalone: true,
@@ -10620,10 +10671,18 @@ class AXPDateTimeFilterWidgetEditComponent extends AXPWidgetComponent {
10620
10671
  this.setValue({ operation, value: e.value?.toISOString() });
10621
10672
  break;
10622
10673
  case 'to':
10623
- this.setValue({ operation, value: { to: e.value?.toISOString() } });
10674
+ const from = this.value().from || undefined;
10675
+ this.setValue({
10676
+ operation,
10677
+ value: { from: from?.toISOString(), to: e.value?.toISOString() },
10678
+ });
10624
10679
  break;
10625
10680
  case 'from':
10626
- this.setValue({ operation, value: { from: e.value?.toISOString() } });
10681
+ const to = this.value().to || undefined;
10682
+ this.setValue({
10683
+ operation,
10684
+ value: { from: e.value?.toISOString(), to: to?.toISOString() },
10685
+ });
10627
10686
  break;
10628
10687
  default:
10629
10688
  break;
@@ -10638,7 +10697,9 @@ class AXPDateTimeFilterWidgetEditComponent extends AXPWidgetComponent {
10638
10697
  [placeholder]="('select' | translate | async) ?? ''"
10639
10698
  [ngModel]="filterTypeSelectedItem()"
10640
10699
  (onValueChanged)="handleFilterTypeSelectedItemChange($event)"
10641
- ></ax-select-box>
10700
+ >
10701
+ <ax-clear-button></ax-clear-button>
10702
+ </ax-select-box>
10642
10703
  @if(filterTypeSelectedItem()==='Between'){
10643
10704
  <div class="ax-flex ax-gap-2 ax-mt-2">
10644
10705
  <ax-datetime-box
@@ -10678,7 +10739,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
10678
10739
  [placeholder]="('select' | translate | async) ?? ''"
10679
10740
  [ngModel]="filterTypeSelectedItem()"
10680
10741
  (onValueChanged)="handleFilterTypeSelectedItemChange($event)"
10681
- ></ax-select-box>
10742
+ >
10743
+ <ax-clear-button></ax-clear-button>
10744
+ </ax-select-box>
10682
10745
  @if(filterTypeSelectedItem()==='Between'){
10683
10746
  <div class="ax-flex ax-gap-2 ax-mt-2">
10684
10747
  <ax-datetime-box
@@ -11023,6 +11086,7 @@ class AXPStringWidgetFilterComponent extends AXPWidgetComponent {
11023
11086
  this.operation = computed(() => this.getValue()?.operation || 'equal');
11024
11087
  this.value = computed(() => this.getValue()?.value);
11025
11088
  this.placeholder = computed(() => this.options()['placeholder']);
11089
+ this.hasClearButton = computed(() => this.options()['hasClearButton']);
11026
11090
  }
11027
11091
  handleValueChange(e) {
11028
11092
  if (e.isUserInteraction) {
@@ -11039,7 +11103,7 @@ class AXPStringWidgetFilterComponent extends AXPWidgetComponent {
11039
11103
  });
11040
11104
  }
11041
11105
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.3", ngImport: i0, type: AXPStringWidgetFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
11042
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.3", type: AXPStringWidgetFilterComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
11106
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.0.3", type: AXPStringWidgetFilterComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
11043
11107
  <div class="ax-flex ax-items-center">
11044
11108
  <ax-text-box
11045
11109
  class="ax-flex-1"
@@ -11048,7 +11112,9 @@ class AXPStringWidgetFilterComponent extends AXPWidgetComponent {
11048
11112
  [ngModel]="value()"
11049
11113
  (onValueChanged)="handleValueChange($event)"
11050
11114
  >
11115
+ @if(hasClearButton()){
11051
11116
  <ax-clear-button></ax-clear-button>
11117
+ }
11052
11118
  </ax-text-box>
11053
11119
  <axp-filter-operations
11054
11120
  [type]="'string'"
@@ -11070,7 +11136,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
11070
11136
  [ngModel]="value()"
11071
11137
  (onValueChanged)="handleValueChange($event)"
11072
11138
  >
11139
+ @if(hasClearButton()){
11073
11140
  <ax-clear-button></ax-clear-button>
11141
+ }
11074
11142
  </ax-text-box>
11075
11143
  <axp-filter-operations
11076
11144
  [type]="'string'"