@smartbit4all/ng-client 7.3.8 → 7.3.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -24781,7 +24781,11 @@ var FilterExpressionBuilderApiActions;
24781
24781
  FilterExpressionBuilderApiActions["SAVE_EXPRESSION_FIELD_LIST"] = "SAVE_EXPRESSION_FIELD_LIST";
24782
24782
  })(FilterExpressionBuilderApiActions || (FilterExpressionBuilderApiActions = {}));
24783
24783
 
24784
- const USE_ADVANCED_FILTER = new InjectionToken('USE_ADVANCED_FILTER');
24784
+ const USE_ADVANCED_FILTER = new InjectionToken("USE_ADVANCED_FILTER");
24785
+ function hasGroupEditActions(service) {
24786
+ return (service.model?.possibleActions?.some((action) => action.code === FilterExpressionBuilderApiActions.OPEN_FILTER_GROUPS ||
24787
+ action.code === FilterExpressionBuilderApiActions.CLOSE_FILTER_GROUPS) ?? false);
24788
+ }
24785
24789
 
24786
24790
  /**
24787
24791
  * Filter API 2
@@ -24901,18 +24905,21 @@ class AdvancedSmartFilterExpressionItemComponent extends SmartFilterExpressionIt
24901
24905
  deleteItem($event) {
24902
24906
  $event.stopPropagation();
24903
24907
  this.service().peformWidgetAction({
24904
- code: 'REMOVE_FILTER_EXPRESSION',
24908
+ code: "REMOVE_FILTER_EXPRESSION",
24905
24909
  params: {
24906
24910
  model: this.item,
24907
24911
  },
24908
24912
  });
24909
24913
  }
24914
+ showDeleteButton() {
24915
+ return hasGroupEditActions(this.service());
24916
+ }
24910
24917
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AdvancedSmartFilterExpressionItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
24911
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AdvancedSmartFilterExpressionItemComponent, isStandalone: true, selector: "app-advanced-expression-item", usesInheritance: true, ngImport: i0, template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n @if (item.expressionData?.currentOperation === \"EXPRESSION\") {\r\n <div class=\"sub-expression-container\" (click)=\"select($event, item)\">\r\n <div\r\n class=\"expressionItemBubble expression sub-expression-start\"\r\n (click)=\"select($event, item)\"\r\n ></div>\r\n <div class=\"sub-expression-items\">\r\n @for (subItem of item.subFieldList?.filters; track subItem) {\r\n <app-advanced-expression-item\r\n [item]=\"subItem\"\r\n [service]=\"service()\"\r\n [hasNext]=\"!$last\"\r\n ></app-advanced-expression-item>\r\n }\r\n </div>\r\n <lib-advanced-relation-button\r\n [boolOperator]=\"item.subFieldList?.defaultOperation\"\r\n (boolOperatorChanged)=\"onOperatorChanged($event)\"\r\n ></lib-advanced-relation-button>\r\n <div class=\"expressionItemBubble expression sub-expression-end\"></div>\r\n </div>\r\n } @else {\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [class.selectedSimpleItem]=\"isSelected\"\r\n >\r\n <button\r\n mat-button\r\n class=\"mat-raised-button delete-button\"\r\n (click)=\"deleteItem($event)\"\r\n >\r\n x\r\n </button>\r\n <div class=\"expression-item-label\">{{ item.label }}:</div>\r\n\r\n @if (item.expressionData?.currentOperation !== \"BETWEEN\") {\r\n <div class=\"expression-item-data-fields\">\r\n @if (item.widgetType === \"DATE\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDate\r\n }}</b>\r\n } @else if (item.widgetType === \"DATE_TIME\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDateTime\r\n }}</b>\r\n } @else {\r\n <b class=\"expression-item-data-field\">{{\r\n getDisplayValue(item.expressionData!.operand2!.valueAsString!)\r\n }}</b>\r\n }\r\n </div>\r\n }\r\n\r\n @if (item.expressionData?.currentOperation === \"IN\") {\r\n <div class=\"expression-item-data-fields\">\r\n @for (\r\n value of item.expressionData?.operand2?.selectedValues;\r\n track value\r\n ) {\r\n <b class=\"expression-item-data-field\">\r\n {{ getDisplayValue(value) }}\r\n @if (!$last) {\r\n <b>,</b>\r\n }\r\n </b>\r\n }\r\n </div>\r\n }\r\n\r\n @if (item.expressionData?.currentOperation === \"BETWEEN\") {\r\n <div class=\"expressionValues expression-item-data-fields\">\r\n @if (item.widgetType === \"DATE\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDate\r\n }}</b>\r\n } @else if (item.widgetType === \"DATE_TIME\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDateTime\r\n }}</b>\r\n } @else {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData?.operand2?.valueAsString\r\n }}</b>\r\n }\r\n\r\n <b>-</b>\r\n\r\n @if (item.widgetType === \"DATE\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand3!.valueAsString! | smartDate\r\n }}</b>\r\n } @else if (item.widgetType === \"DATE_TIME\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand3!.valueAsString! | smartDateTime\r\n }}</b>\r\n } @else {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData?.operand3?.valueAsString\r\n }}</b>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem;max-height:42px;margin-top:.25rem}.relationItemBubble .mat-mdc-button{border-radius:1.5rem;height:100%;margin:auto 0}.expressionValues{display:flex;flex-direction:row;gap:.5rem}.sub-expression-container{display:flex;align-items:stretch}.sub-expression-start{padding:5px;height:100%;border-left:2px solid black;border-top:2px solid black;border-bottom:2px solid black;border-radius:0}.sub-expression-end{padding:5px;height:100%;border-right:2px solid black;border-top:2px solid black;border-bottom:2px solid black;border-radius:0}.sub-expression-items{display:flex;flex-wrap:wrap}lib-advanced-relation-button{margin-top:.25rem;margin-bottom:.25rem}.delete-button{min-width:10px;height:20px;padding:5px;border-radius:1.5rem}.expression-item-label{padding:0 .5rem}\n"], dependencies: [{ kind: "component", type: AdvancedSmartFilterExpressionItemComponent, selector: "app-advanced-expression-item" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: AdvancedRelationButtonComponent, selector: "lib-advanced-relation-button", inputs: ["boolOperator"], outputs: ["boolOperatorChanged"] }, { kind: "pipe", type: SmartDatePipe, name: "smartDate" }, { kind: "pipe", type: SmartDateTimePipe, name: "smartDateTime" }] }); }
24918
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: AdvancedSmartFilterExpressionItemComponent, isStandalone: true, selector: "app-advanced-expression-item", usesInheritance: true, ngImport: i0, template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n @if (item.expressionData?.currentOperation === \"EXPRESSION\") {\r\n <div class=\"sub-expression-container\" (click)=\"select($event, item)\">\r\n <div\r\n class=\"expressionItemBubble expression sub-expression-start\"\r\n (click)=\"select($event, item)\"\r\n ></div>\r\n <div class=\"sub-expression-items\">\r\n @for (subItem of item.subFieldList?.filters; track subItem) {\r\n <app-advanced-expression-item\r\n [item]=\"subItem\"\r\n [service]=\"service()\"\r\n [hasNext]=\"!$last\"\r\n ></app-advanced-expression-item>\r\n }\r\n </div>\r\n <lib-advanced-relation-button\r\n [boolOperator]=\"item.subFieldList?.defaultOperation\"\r\n (boolOperatorChanged)=\"onOperatorChanged($event)\"\r\n ></lib-advanced-relation-button>\r\n <div class=\"expressionItemBubble expression sub-expression-end\"></div>\r\n </div>\r\n } @else {\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [class.selectedSimpleItem]=\"isSelected\"\r\n >\r\n @if (showDeleteButton()) {\r\n <button\r\n mat-button\r\n class=\"mat-raised-button delete-button\"\r\n (click)=\"deleteItem($event)\"\r\n >\r\n x\r\n </button>\r\n }\r\n <div class=\"expression-item-label\">{{ item.label }}:</div>\r\n\r\n @if (item.expressionData?.currentOperation !== \"BETWEEN\") {\r\n <div class=\"expression-item-data-fields\">\r\n @if (item.widgetType === \"DATE\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDate\r\n }}</b>\r\n } @else if (item.widgetType === \"DATE_TIME\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDateTime\r\n }}</b>\r\n } @else {\r\n <b class=\"expression-item-data-field\">{{\r\n getDisplayValue(item.expressionData!.operand2!.valueAsString!)\r\n }}</b>\r\n }\r\n </div>\r\n }\r\n\r\n @if (item.expressionData?.currentOperation === \"IN\") {\r\n <div class=\"expression-item-data-fields\">\r\n @for (\r\n value of item.expressionData?.operand2?.selectedValues;\r\n track value\r\n ) {\r\n <b class=\"expression-item-data-field\">\r\n {{ getDisplayValue(value) }}\r\n @if (!$last) {\r\n <b>,</b>\r\n }\r\n </b>\r\n }\r\n </div>\r\n }\r\n\r\n @if (item.expressionData?.currentOperation === \"BETWEEN\") {\r\n <div class=\"expressionValues expression-item-data-fields\">\r\n @if (item.widgetType === \"DATE\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDate\r\n }}</b>\r\n } @else if (item.widgetType === \"DATE_TIME\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDateTime\r\n }}</b>\r\n } @else {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData?.operand2?.valueAsString\r\n }}</b>\r\n }\r\n\r\n <b>-</b>\r\n\r\n @if (item.widgetType === \"DATE\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand3!.valueAsString! | smartDate\r\n }}</b>\r\n } @else if (item.widgetType === \"DATE_TIME\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand3!.valueAsString! | smartDateTime\r\n }}</b>\r\n } @else {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData?.operand3?.valueAsString\r\n }}</b>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem;max-height:42px;margin-top:.25rem}.relationItemBubble .mat-mdc-button{border-radius:1.5rem;height:100%;margin:auto 0}.expressionValues{display:flex;flex-direction:row;gap:.5rem}.sub-expression-container{display:flex;align-items:stretch}.sub-expression-start{padding:5px;height:100%;border-left:2px solid black;border-top:2px solid black;border-bottom:2px solid black;border-radius:0}.sub-expression-end{padding:5px;height:100%;border-right:2px solid black;border-top:2px solid black;border-bottom:2px solid black;border-radius:0}.sub-expression-items{display:flex;flex-wrap:wrap}lib-advanced-relation-button{margin-top:.25rem;margin-bottom:.25rem}.delete-button{min-width:10px;height:20px;padding:5px;border-radius:1.5rem}.expression-item-label{padding:0 .5rem}\n"], dependencies: [{ kind: "component", type: AdvancedSmartFilterExpressionItemComponent, selector: "app-advanced-expression-item" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: AdvancedRelationButtonComponent, selector: "lib-advanced-relation-button", inputs: ["boolOperator"], outputs: ["boolOperatorChanged"] }, { kind: "pipe", type: SmartDatePipe, name: "smartDate" }, { kind: "pipe", type: SmartDateTimePipe, name: "smartDateTime" }] }); }
24912
24919
  }
24913
24920
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: AdvancedSmartFilterExpressionItemComponent, decorators: [{
24914
24921
  type: Component,
24915
- args: [{ selector: 'app-advanced-expression-item', imports: [
24922
+ args: [{ selector: "app-advanced-expression-item", imports: [
24916
24923
  NgClass,
24917
24924
  NgIf,
24918
24925
  NgForOf,
@@ -24920,7 +24927,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
24920
24927
  SmartDatePipe,
24921
24928
  SmartDateTimePipe,
24922
24929
  AdvancedRelationButtonComponent,
24923
- ], template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n @if (item.expressionData?.currentOperation === \"EXPRESSION\") {\r\n <div class=\"sub-expression-container\" (click)=\"select($event, item)\">\r\n <div\r\n class=\"expressionItemBubble expression sub-expression-start\"\r\n (click)=\"select($event, item)\"\r\n ></div>\r\n <div class=\"sub-expression-items\">\r\n @for (subItem of item.subFieldList?.filters; track subItem) {\r\n <app-advanced-expression-item\r\n [item]=\"subItem\"\r\n [service]=\"service()\"\r\n [hasNext]=\"!$last\"\r\n ></app-advanced-expression-item>\r\n }\r\n </div>\r\n <lib-advanced-relation-button\r\n [boolOperator]=\"item.subFieldList?.defaultOperation\"\r\n (boolOperatorChanged)=\"onOperatorChanged($event)\"\r\n ></lib-advanced-relation-button>\r\n <div class=\"expressionItemBubble expression sub-expression-end\"></div>\r\n </div>\r\n } @else {\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [class.selectedSimpleItem]=\"isSelected\"\r\n >\r\n <button\r\n mat-button\r\n class=\"mat-raised-button delete-button\"\r\n (click)=\"deleteItem($event)\"\r\n >\r\n x\r\n </button>\r\n <div class=\"expression-item-label\">{{ item.label }}:</div>\r\n\r\n @if (item.expressionData?.currentOperation !== \"BETWEEN\") {\r\n <div class=\"expression-item-data-fields\">\r\n @if (item.widgetType === \"DATE\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDate\r\n }}</b>\r\n } @else if (item.widgetType === \"DATE_TIME\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDateTime\r\n }}</b>\r\n } @else {\r\n <b class=\"expression-item-data-field\">{{\r\n getDisplayValue(item.expressionData!.operand2!.valueAsString!)\r\n }}</b>\r\n }\r\n </div>\r\n }\r\n\r\n @if (item.expressionData?.currentOperation === \"IN\") {\r\n <div class=\"expression-item-data-fields\">\r\n @for (\r\n value of item.expressionData?.operand2?.selectedValues;\r\n track value\r\n ) {\r\n <b class=\"expression-item-data-field\">\r\n {{ getDisplayValue(value) }}\r\n @if (!$last) {\r\n <b>,</b>\r\n }\r\n </b>\r\n }\r\n </div>\r\n }\r\n\r\n @if (item.expressionData?.currentOperation === \"BETWEEN\") {\r\n <div class=\"expressionValues expression-item-data-fields\">\r\n @if (item.widgetType === \"DATE\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDate\r\n }}</b>\r\n } @else if (item.widgetType === \"DATE_TIME\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDateTime\r\n }}</b>\r\n } @else {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData?.operand2?.valueAsString\r\n }}</b>\r\n }\r\n\r\n <b>-</b>\r\n\r\n @if (item.widgetType === \"DATE\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand3!.valueAsString! | smartDate\r\n }}</b>\r\n } @else if (item.widgetType === \"DATE_TIME\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand3!.valueAsString! | smartDateTime\r\n }}</b>\r\n } @else {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData?.operand3?.valueAsString\r\n }}</b>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem;max-height:42px;margin-top:.25rem}.relationItemBubble .mat-mdc-button{border-radius:1.5rem;height:100%;margin:auto 0}.expressionValues{display:flex;flex-direction:row;gap:.5rem}.sub-expression-container{display:flex;align-items:stretch}.sub-expression-start{padding:5px;height:100%;border-left:2px solid black;border-top:2px solid black;border-bottom:2px solid black;border-radius:0}.sub-expression-end{padding:5px;height:100%;border-right:2px solid black;border-top:2px solid black;border-bottom:2px solid black;border-radius:0}.sub-expression-items{display:flex;flex-wrap:wrap}lib-advanced-relation-button{margin-top:.25rem;margin-bottom:.25rem}.delete-button{min-width:10px;height:20px;padding:5px;border-radius:1.5rem}.expression-item-label{padding:0 .5rem}\n"] }]
24930
+ ], template: "<div class=\"expressionItemContainer\">\r\n <div\r\n class=\"expressionItemInnerContainer\"\r\n [ngClass]=\"\r\n item.expressionData?.currentOperation === 'EXPRESSION'\r\n ? isSelected\r\n ? 'selectedExpressionContainer'\r\n : 'expressionContainer'\r\n : ''\r\n \"\r\n >\r\n @if (item.expressionData?.currentOperation === \"EXPRESSION\") {\r\n <div class=\"sub-expression-container\" (click)=\"select($event, item)\">\r\n <div\r\n class=\"expressionItemBubble expression sub-expression-start\"\r\n (click)=\"select($event, item)\"\r\n ></div>\r\n <div class=\"sub-expression-items\">\r\n @for (subItem of item.subFieldList?.filters; track subItem) {\r\n <app-advanced-expression-item\r\n [item]=\"subItem\"\r\n [service]=\"service()\"\r\n [hasNext]=\"!$last\"\r\n ></app-advanced-expression-item>\r\n }\r\n </div>\r\n <lib-advanced-relation-button\r\n [boolOperator]=\"item.subFieldList?.defaultOperation\"\r\n (boolOperatorChanged)=\"onOperatorChanged($event)\"\r\n ></lib-advanced-relation-button>\r\n <div class=\"expressionItemBubble expression sub-expression-end\"></div>\r\n </div>\r\n } @else {\r\n <div\r\n (click)=\"select($event, item)\"\r\n class=\"expressionItemBubble simpleItem\"\r\n [class.selectedSimpleItem]=\"isSelected\"\r\n >\r\n @if (showDeleteButton()) {\r\n <button\r\n mat-button\r\n class=\"mat-raised-button delete-button\"\r\n (click)=\"deleteItem($event)\"\r\n >\r\n x\r\n </button>\r\n }\r\n <div class=\"expression-item-label\">{{ item.label }}:</div>\r\n\r\n @if (item.expressionData?.currentOperation !== \"BETWEEN\") {\r\n <div class=\"expression-item-data-fields\">\r\n @if (item.widgetType === \"DATE\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDate\r\n }}</b>\r\n } @else if (item.widgetType === \"DATE_TIME\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDateTime\r\n }}</b>\r\n } @else {\r\n <b class=\"expression-item-data-field\">{{\r\n getDisplayValue(item.expressionData!.operand2!.valueAsString!)\r\n }}</b>\r\n }\r\n </div>\r\n }\r\n\r\n @if (item.expressionData?.currentOperation === \"IN\") {\r\n <div class=\"expression-item-data-fields\">\r\n @for (\r\n value of item.expressionData?.operand2?.selectedValues;\r\n track value\r\n ) {\r\n <b class=\"expression-item-data-field\">\r\n {{ getDisplayValue(value) }}\r\n @if (!$last) {\r\n <b>,</b>\r\n }\r\n </b>\r\n }\r\n </div>\r\n }\r\n\r\n @if (item.expressionData?.currentOperation === \"BETWEEN\") {\r\n <div class=\"expressionValues expression-item-data-fields\">\r\n @if (item.widgetType === \"DATE\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDate\r\n }}</b>\r\n } @else if (item.widgetType === \"DATE_TIME\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand2!.valueAsString! | smartDateTime\r\n }}</b>\r\n } @else {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData?.operand2?.valueAsString\r\n }}</b>\r\n }\r\n\r\n <b>-</b>\r\n\r\n @if (item.widgetType === \"DATE\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand3!.valueAsString! | smartDate\r\n }}</b>\r\n } @else if (item.widgetType === \"DATE_TIME\") {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData!.operand3!.valueAsString! | smartDateTime\r\n }}</b>\r\n } @else {\r\n <b class=\"expression-item-data-field\">{{\r\n item.expressionData?.operand3?.valueAsString\r\n }}</b>\r\n }\r\n </div>\r\n }\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [".expressionItemContainer{display:flex;flex-direction:row;gap:.75rem}.expressionItemInnerContainer{display:flex;flex-direction:row;grid-area:.75rem;padding:.25rem;border-radius:.25rem}.expressionContainer{border:1px dashed var(--primary-lighter-gray-color);cursor:pointer}.selectedExpressionContainer{border:2px dashed var(--primary-color)}.expressionItemBubble,.relationItemBubble{display:flex;flex-direction:row;border-radius:1.5rem}.expressionItemBubble{padding:.75rem}.expression{background-color:var(--inner-container);font-weight:600;margin:auto 0}.simpleItem{background-color:#c6ddff;cursor:pointer}.relationItemBubble{border:1px solid #cdcdcd;padding:.25rem;max-height:42px;margin-top:.25rem}.relationItemBubble .mat-mdc-button{border-radius:1.5rem;height:100%;margin:auto 0}.expressionValues{display:flex;flex-direction:row;gap:.5rem}.sub-expression-container{display:flex;align-items:stretch}.sub-expression-start{padding:5px;height:100%;border-left:2px solid black;border-top:2px solid black;border-bottom:2px solid black;border-radius:0}.sub-expression-end{padding:5px;height:100%;border-right:2px solid black;border-top:2px solid black;border-bottom:2px solid black;border-radius:0}.sub-expression-items{display:flex;flex-wrap:wrap}lib-advanced-relation-button{margin-top:.25rem;margin-bottom:.25rem}.delete-button{min-width:10px;height:20px;padding:5px;border-radius:1.5rem}.expression-item-label{padding:0 .5rem}\n"] }]
24924
24931
  }] });
24925
24932
 
24926
24933
  class SmartFilterExpressionItemsComponent {
@@ -25922,11 +25929,15 @@ class SearchPageComponent extends SmartComponent {
25922
25929
  this.layoutState.set(layout);
25923
25930
  }
25924
25931
  constructor(inject, filterService, _myPageName, _myComponentName, element, renderer) {
25925
- super(inject, _myPageName, _myComponentName ? _myComponentName : _myPageName ? undefined : 'SearchPageComponent', element, renderer);
25932
+ super(inject, _myPageName, _myComponentName
25933
+ ? _myComponentName
25934
+ : _myPageName
25935
+ ? undefined
25936
+ : "SearchPageComponent", element, renderer);
25926
25937
  this.filterService = filterService;
25927
- this.GRID_IDENTIFIER = 'RESULT_GRID';
25928
- this.FILTER_BUILDER_WIDGET_ID = 'FILTER_BUILDER_WIDGET';
25929
- this.componentName = 'SearchPageComponent';
25938
+ this.GRID_IDENTIFIER = "RESULT_GRID";
25939
+ this.FILTER_BUILDER_WIDGET_ID = "FILTER_BUILDER_WIDGET";
25940
+ this.componentName = "SearchPageComponent";
25930
25941
  /** Written from `dataChanged`, so a signal. */
25931
25942
  this.layoutState = signal(undefined, /* @ts-ignore */
25932
25943
  ...(ngDevMode ? [{ debugName: "layoutState" }] : /* istanbul ignore next */ []));
@@ -25955,7 +25966,7 @@ class SearchPageComponent extends SmartComponent {
25955
25966
  }
25956
25967
  initLayout() {
25957
25968
  if (this.model?.componentLayouts) {
25958
- this.layout = this.model?.componentLayouts['default'];
25969
+ this.layout = this.model?.componentLayouts["default"];
25959
25970
  }
25960
25971
  }
25961
25972
  getGridIdentifier() {
@@ -25978,14 +25989,24 @@ class SearchPageComponent extends SmartComponent {
25978
25989
  };
25979
25990
  }
25980
25991
  isShowNoResultText() {
25981
- return this.data?.noResultText !== undefined && this.data?.noResultText !== null;
25992
+ return (this.data?.noResultText !== undefined && this.data?.noResultText !== null);
25993
+ }
25994
+ showFilterGroupParams() {
25995
+ return hasGroupEditActions(this.filterService);
25982
25996
  }
25983
25997
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SearchPageComponent, deps: [{ token: i0.Injector }, { token: SmartFilterEditorService }, { token: SMART_SEARCH_PAGE_NAME }, { token: SMART_SEARCH_COMPONENT_NAME }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
25984
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SearchPageComponent, isStandalone: true, selector: "search-page", providers: [SmartFilterEditorService], viewQueries: [{ propertyName: "layoutComponent", first: true, predicate: SmartComponentLayoutComponent, descendants: true, isSignal: true }, { propertyName: "grid", first: true, predicate: ["grid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"searchPageContainer\" [ngClass]=\"$safeNavigationMigration(data?.cssClassOfPage)\">\r\n @if (data?.showTitle) {\r\n <h1 class=\"search-page-title\"> {{ data?.pageTitle }} </h1>\r\n }\r\n <!-- <div class=\"filterContainer\">\r\n <smart-filter [filter]=\"filter\"></smart-filter>\r\n</div> -->\r\n@if (data?.showToolbar) {\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n}\r\n@if (data?.showFilter && filterService.model) {\r\n <div class=\"filter-editor-container\">\r\n <smart-filter-group-params [service]=\"filterService\"></smart-filter-group-params>\r\n <smart-filter-expression-editor [service]=\"filterService\"></smart-filter-expression-editor>\r\n </div>\r\n}\r\n@if (data?.showLayout && layout) {\r\n <smart-component-layout\r\n [smartComponentLayout]=\"layout\"\r\n ></smart-component-layout>\r\n}\r\n@if (data?.showGrid) {\r\n <div class=\"gridContainer\">\r\n @if (isShowNoResultText()) {\r\n <h2 class=\"noResultText\">\r\n {{ data?.noResultText }}\r\n </h2>\r\n }\r\n @if (!isShowNoResultText()) {\r\n <smart-grid\r\n #grid\r\n [smartGrid]=\"smartGrid\"\r\n [uuid]=\"uuid!\"\r\n [parentLayoutComponent]=\"layoutComponent()\"\r\n ></smart-grid>\r\n }\r\n </div>\r\n}\r\n</div>\r\n", styles: [".searchPageContainer{display:flex;flex-direction:column;gap:1.5rem}.filterContainer{display:flex;flex-direction:row;gap:1rem}.gridContainer{flex-grow:1}.filter-editor-container{display:flex;flex-direction:row}.noResultText{width:100%;text-align:center;padding-top:2rem;padding-bottom:2rem}.search-page-title{margin:0;font-size:1.35rem;font-weight:600;color:var(--color-text, #132033)}:host-context(.sm-nav-list) .searchPageContainer{gap:.5rem}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "executor", "widgetId", "nodeId", "actionParams", "scrollOnWrap", "toolbarPropertes"], outputs: ["actionFired"] }, { kind: "component", type: SmartFilterParamsComponent, selector: "smart-filter-group-params", inputs: ["service"] }, { kind: "component", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: ["service"] }, { kind: "component", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout", "parentLayoutComponent", "gridRow"] }, { kind: "component", type: SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "parentLayoutComponent", "dev"] }] }); }
25998
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.8", type: SearchPageComponent, isStandalone: true, selector: "search-page", providers: [SmartFilterEditorService], viewQueries: [{ propertyName: "layoutComponent", first: true, predicate: SmartComponentLayoutComponent, descendants: true, isSignal: true }, { propertyName: "grid", first: true, predicate: ["grid"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"searchPageContainer\"\r\n [ngClass]=\"$safeNavigationMigration(data?.cssClassOfPage)\"\r\n>\r\n @if (data?.showTitle) {\r\n <h1 class=\"search-page-title\">{{ data?.pageTitle }}</h1>\r\n }\r\n <!-- <div class=\"filterContainer\">\r\n <smart-filter [filter]=\"filter\"></smart-filter>\r\n</div> -->\r\n @if (data?.showToolbar) {\r\n <smart-ui-action-toolbar\r\n [uiActionModels]=\"uiActionModels\"\r\n ></smart-ui-action-toolbar>\r\n }\r\n @if (data?.showFilter && filterService.model) {\r\n <div class=\"filter-editor-container\">\r\n @if (showFilterGroupParams()) {\r\n <smart-filter-group-params\r\n [service]=\"filterService\"\r\n ></smart-filter-group-params>\r\n }\r\n <smart-filter-expression-editor\r\n class=\"filter-expression-editor\"\r\n [service]=\"filterService\"\r\n ></smart-filter-expression-editor>\r\n </div>\r\n }\r\n @if (data?.showLayout && layout) {\r\n <smart-component-layout\r\n [smartComponentLayout]=\"layout\"\r\n ></smart-component-layout>\r\n }\r\n @if (data?.showGrid) {\r\n <div class=\"gridContainer\">\r\n @if (isShowNoResultText()) {\r\n <h2 class=\"noResultText\">\r\n {{ data?.noResultText }}\r\n </h2>\r\n }\r\n @if (!isShowNoResultText()) {\r\n <smart-grid\r\n #grid\r\n [smartGrid]=\"smartGrid\"\r\n [uuid]=\"uuid!\"\r\n [parentLayoutComponent]=\"layoutComponent()\"\r\n ></smart-grid>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [".searchPageContainer{display:flex;flex-direction:column;gap:1.5rem}.filterContainer{display:flex;flex-direction:row;gap:1rem}.gridContainer{flex-grow:1}.filter-editor-container{display:flex;flex-direction:row}.noResultText{width:100%;text-align:center;padding-top:2rem;padding-bottom:2rem}.search-page-title{margin:0;font-size:1.35rem;font-weight:600;color:var(--color-text, #132033)}:host-context(.sm-nav-list) .searchPageContainer{gap:.5rem}.filter-expression-editor{flex:1}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "executor", "widgetId", "nodeId", "actionParams", "scrollOnWrap", "toolbarPropertes"], outputs: ["actionFired"] }, { kind: "component", type: SmartFilterParamsComponent, selector: "smart-filter-group-params", inputs: ["service"] }, { kind: "component", type: SmartFilterEditorContentComponent, selector: "smart-filter-expression-editor", inputs: ["service"] }, { kind: "component", type: SmartComponentLayoutComponent, selector: "smart-component-layout", inputs: ["smartComponentLayout", "parentLayoutComponent", "gridRow"] }, { kind: "component", type: SmartGridComponent, selector: "smart-grid", inputs: ["smartGrid", "uuid", "parentLayoutComponent", "dev"] }] }); }
25985
25999
  }
25986
26000
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImport: i0, type: SearchPageComponent, decorators: [{
25987
26001
  type: Component,
25988
- args: [{ selector: 'search-page', providers: [SmartFilterEditorService], imports: [NgClass, UiActionToolbarComponent, SmartFilterParamsComponent, SmartFilterEditorContentComponent, SmartComponentLayoutComponent, SmartGridComponent], template: "<div class=\"searchPageContainer\" [ngClass]=\"$safeNavigationMigration(data?.cssClassOfPage)\">\r\n @if (data?.showTitle) {\r\n <h1 class=\"search-page-title\"> {{ data?.pageTitle }} </h1>\r\n }\r\n <!-- <div class=\"filterContainer\">\r\n <smart-filter [filter]=\"filter\"></smart-filter>\r\n</div> -->\r\n@if (data?.showToolbar) {\r\n <smart-ui-action-toolbar [uiActionModels]=\"uiActionModels\"></smart-ui-action-toolbar>\r\n}\r\n@if (data?.showFilter && filterService.model) {\r\n <div class=\"filter-editor-container\">\r\n <smart-filter-group-params [service]=\"filterService\"></smart-filter-group-params>\r\n <smart-filter-expression-editor [service]=\"filterService\"></smart-filter-expression-editor>\r\n </div>\r\n}\r\n@if (data?.showLayout && layout) {\r\n <smart-component-layout\r\n [smartComponentLayout]=\"layout\"\r\n ></smart-component-layout>\r\n}\r\n@if (data?.showGrid) {\r\n <div class=\"gridContainer\">\r\n @if (isShowNoResultText()) {\r\n <h2 class=\"noResultText\">\r\n {{ data?.noResultText }}\r\n </h2>\r\n }\r\n @if (!isShowNoResultText()) {\r\n <smart-grid\r\n #grid\r\n [smartGrid]=\"smartGrid\"\r\n [uuid]=\"uuid!\"\r\n [parentLayoutComponent]=\"layoutComponent()\"\r\n ></smart-grid>\r\n }\r\n </div>\r\n}\r\n</div>\r\n", styles: [".searchPageContainer{display:flex;flex-direction:column;gap:1.5rem}.filterContainer{display:flex;flex-direction:row;gap:1rem}.gridContainer{flex-grow:1}.filter-editor-container{display:flex;flex-direction:row}.noResultText{width:100%;text-align:center;padding-top:2rem;padding-bottom:2rem}.search-page-title{margin:0;font-size:1.35rem;font-weight:600;color:var(--color-text, #132033)}:host-context(.sm-nav-list) .searchPageContainer{gap:.5rem}\n"] }]
26002
+ args: [{ selector: "search-page", providers: [SmartFilterEditorService], imports: [
26003
+ NgClass,
26004
+ UiActionToolbarComponent,
26005
+ SmartFilterParamsComponent,
26006
+ SmartFilterEditorContentComponent,
26007
+ SmartComponentLayoutComponent,
26008
+ SmartGridComponent,
26009
+ ], template: "<div\r\n class=\"searchPageContainer\"\r\n [ngClass]=\"$safeNavigationMigration(data?.cssClassOfPage)\"\r\n>\r\n @if (data?.showTitle) {\r\n <h1 class=\"search-page-title\">{{ data?.pageTitle }}</h1>\r\n }\r\n <!-- <div class=\"filterContainer\">\r\n <smart-filter [filter]=\"filter\"></smart-filter>\r\n</div> -->\r\n @if (data?.showToolbar) {\r\n <smart-ui-action-toolbar\r\n [uiActionModels]=\"uiActionModels\"\r\n ></smart-ui-action-toolbar>\r\n }\r\n @if (data?.showFilter && filterService.model) {\r\n <div class=\"filter-editor-container\">\r\n @if (showFilterGroupParams()) {\r\n <smart-filter-group-params\r\n [service]=\"filterService\"\r\n ></smart-filter-group-params>\r\n }\r\n <smart-filter-expression-editor\r\n class=\"filter-expression-editor\"\r\n [service]=\"filterService\"\r\n ></smart-filter-expression-editor>\r\n </div>\r\n }\r\n @if (data?.showLayout && layout) {\r\n <smart-component-layout\r\n [smartComponentLayout]=\"layout\"\r\n ></smart-component-layout>\r\n }\r\n @if (data?.showGrid) {\r\n <div class=\"gridContainer\">\r\n @if (isShowNoResultText()) {\r\n <h2 class=\"noResultText\">\r\n {{ data?.noResultText }}\r\n </h2>\r\n }\r\n @if (!isShowNoResultText()) {\r\n <smart-grid\r\n #grid\r\n [smartGrid]=\"smartGrid\"\r\n [uuid]=\"uuid!\"\r\n [parentLayoutComponent]=\"layoutComponent()\"\r\n ></smart-grid>\r\n }\r\n </div>\r\n }\r\n</div>\r\n", styles: [".searchPageContainer{display:flex;flex-direction:column;gap:1.5rem}.filterContainer{display:flex;flex-direction:row;gap:1rem}.gridContainer{flex-grow:1}.filter-editor-container{display:flex;flex-direction:row}.noResultText{width:100%;text-align:center;padding-top:2rem;padding-bottom:2rem}.search-page-title{margin:0;font-size:1.35rem;font-weight:600;color:var(--color-text, #132033)}:host-context(.sm-nav-list) .searchPageContainer{gap:.5rem}.filter-expression-editor{flex:1}\n"] }]
25989
26010
  }], ctorParameters: () => [{ type: i0.Injector }, { type: SmartFilterEditorService }, { type: undefined, decorators: [{
25990
26011
  type: Inject,
25991
26012
  args: [SMART_SEARCH_PAGE_NAME]
@@ -25994,7 +26015,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
25994
26015
  args: [SMART_SEARCH_COMPONENT_NAME]
25995
26016
  }] }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { grid: [{
25996
26017
  type: ViewChild,
25997
- args: ['grid']
26018
+ args: ["grid"]
25998
26019
  }], layoutComponent: [{ type: i0.ViewChild, args: [i0.forwardRef(() => SmartComponentLayoutComponent), { isSignal: true }] }] } });
25999
26020
 
26000
26021
  class UiActionFileUploadDialogComponent {
@@ -26942,5 +26963,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
26942
26963
  * Generated bundle index. Do not edit.
26943
26964
  */
26944
26965
 
26945
- export { ACLEntry, APIS$5 as APIS, AclEditingViewComponent, ApiModule$4 as ApiModule, ApiQueueService, BASE_PATH$7 as BASE_PATH, COLLECTION_FORMATS$7 as COLLECTION_FORMATS, CUSTOM_DIAGRAM_OPTIONS, CloseResult, ComponentFactoryService, ComponentType, ComponentWidgetType, Configuration$7 as Configuration, DEFAULT_ROW_LAYOUT, DIALOG_DISABLE_CLOSE, DataChangeKind, DefaultChartOptionsProvider, DefaultUiActionCode_CLOSE, DrawTime, EMPTY_PARAMS, ExpandableSectionButtonIconPosition, ExpandableSectionButtonType, ExpandableSectionComponent, FilterExpressionBoolOperator$1 as FilterExpressionBoolOperator, FilterExpressionBuilderGroupBuilderGroupKindEnum, FilterExpressionBuilderUiModelTypeEnum, FilterExpressionDataType, FilterExpressionFieldWidgetType, FilterExpressionOperation, FilterExpressionOrderByOrderEnum, GenericPageComponent, GeoMapDataLoadingMode, GeoMapDataSourceType, GeoMapItemKind, GeoMapOperationMode, GeoMapSelectionMode, GeoMapTextType, GridColumnContentType, GridDataAccessConfigKindEnum, GridDefaultRowActionTrigger, GridRowStateDisplay, GridSelectionMode, GridSelectionType, GridUiActionType, GridViewDescriptorKindEnum, HighlightPipe, IS_ASYNC_PARAM_NAME, IconPosition, ImageResourceKindEnum, InvalidSmartlinkComponent, LayoutDirection, LinkTargetEnum, MAP_ENGINE, MapEngine, MenuOpenDirection, MenuTriggerType, MessageOptionType, MessageTextType, MessageType, NAMED_VALIDATOR, NamedValidatorOperationEnum, NamedValidatorService, NoPermissionPageComponent, PageExportFieldScope, PageExportSelectionKind, PageExportValueType, PageExportValuesSource, REUSE_ROUTER_SLOT_COMPONENT, ROOT_CONTAINER_UUID, ROUTER_SLOT_ID, RecordingUploaderPropertiesOpenDirectionEnum, SMART_DATE_FORMATS, SMART_DEFAULT_VIEW_COMPONENTS, SMART_NG_CLIENT_CONFIG, SMART_ROW_LAYOUT_COMPONENT, SearchPageComponent, SelectionDefinitionTypeEnum, SelectionDefinitionValueSetValueTypeEnum, ServerRequestType, SessionAPIS, SessionErrorBehaviour, SessionService, SmartActionHost, SmartActionType, SmartBackendBootstrapService, SmartComponent, SmartComponentApiClient, SmartComponentDetachedDirective, SmartComponentHost, SmartComponentLayoutComponent, SmartDateFnsAdapter, SmartDatePipe, SmartDateTimePipe, SmartDefaultErrorUiService, SmartDiagramComponent, SmartDialog, SmartEmbeddedSlotDirective, SmartExpandableSectionService, SmartFileEditorComponent, SmartFilterComponent, SmartFilterEditorContentComponent, SmartFilterEditorService, SmartFilterExpressionFieldComponent, SmartFilterPosition, SmartFilterType, SmartFilterWidgetComponent, SmartFormInputMode, SmartFormTextFieldButtonIconPosition, SmartFormWidgetDirection, SmartFormWidgetType, SmartFormWidgetWidth, SmartGridButtonType, SmartGridComponent, SmartGridDataLayout, SmartGridService, SmartGridType, SmartIconComponent, SmartIconService, SmartKeybindingService, SmartLayoutDef, SmartLinkChannelVariableInPath, SmartLinkMigrationStatusStatusEnum, SmartLinkUuidVariableInPath, SmartMapComponent, SmartMultiFileEditorComponent, SmartNavbarComponent, SmartNavbarService, SmartNavigationService, SmartNgClientFeatureKind, SmartService, SmartSessionService, SmartSessionTimerComponent, SmartTable, SmartTableButtonType, SmartTableHeaderPropertyType, SmartTableInterfaceTypeEnum, SmartTableOptionButtonDirection, SmartTableOrder, SmartTableType, SmartTimePipe, SmartTooltipDirective, SmartTreeComponent, SmartTreeNodeButtonType, SmartUserSettinsIconPosition, SmartValidatorName, SmartViewContextService, SmartViewRedirect, SmartVoiceRecorderComponent, SmartWidgetHintPosition, SmartWidgetHintPositionEnum, SmartdialogService, SmartfileuploaderComponent, SmartformComponent, SmartformLayoutDefinitionService, SmarttreeGenericService, SmarttreeService, SubjectSelectorComponent, ThemeService, ToggleLabelPosition, ToolbarAlignment, ToolbarAppearance, ToolbarDirection, TreeArrowPosition, TreeGridControl, USE_ADVANCED_FILTER, UiActionButtonComponent, UiActionButtonType, UiActionConfirmDialogService, UiActionDescriptorService, UiActionDialogButtonComponent, UiActionDialogType, UiActionFeedbackType, UiActionInputDialogService, UiActionInputType, UiActionService, UiActionToolbarComponent, UiActionTooltipTooltipPositionEnum, UiBadgeComponent, UiBadgeDirective, UploadWidgetType, ValidationResultPageComponent, ValueChangeMode, ViewContextRebuiltError, ViewEventHandlerViewEventTypeEnum, ViewService, ViewState, ViewType, barChart, bubbleChart, createBasicOptions, doughnutChart, formatChord, horizontalBarChart, horizontalStackedBarChart, injectSmartComponent, isMacPlatform, matches, multiAxisLineChart, parseChord, pieChart, polarAreaChart, provideSmartNgClient, radarChart, registerSmartWidget, resolveDateLocale, resolveSlot, resolveSmartNgClientConfig, resolveViewHandler, scatterChart, stackedBarChart, transformDataToBarLikeDataSet, transformDataToBasicDataSets, transformDataToBubble, transformDataToScatter, withSmartDiagram, withSmartMap };
26966
+ export { ACLEntry, APIS$5 as APIS, AclEditingViewComponent, ApiModule$4 as ApiModule, ApiQueueService, BASE_PATH$7 as BASE_PATH, COLLECTION_FORMATS$7 as COLLECTION_FORMATS, CUSTOM_DIAGRAM_OPTIONS, CloseResult, ComponentFactoryService, ComponentType, ComponentWidgetType, Configuration$7 as Configuration, DEFAULT_ROW_LAYOUT, DIALOG_DISABLE_CLOSE, DataChangeKind, DefaultChartOptionsProvider, DefaultUiActionCode_CLOSE, DrawTime, EMPTY_PARAMS, ExpandableSectionButtonIconPosition, ExpandableSectionButtonType, ExpandableSectionComponent, FilterExpressionBoolOperator$1 as FilterExpressionBoolOperator, FilterExpressionBuilderGroupBuilderGroupKindEnum, FilterExpressionBuilderUiModelTypeEnum, FilterExpressionDataType, FilterExpressionFieldWidgetType, FilterExpressionOperation, FilterExpressionOrderByOrderEnum, GenericPageComponent, GeoMapDataLoadingMode, GeoMapDataSourceType, GeoMapItemKind, GeoMapOperationMode, GeoMapSelectionMode, GeoMapTextType, GridColumnContentType, GridDataAccessConfigKindEnum, GridDefaultRowActionTrigger, GridRowStateDisplay, GridSelectionMode, GridSelectionType, GridUiActionType, GridViewDescriptorKindEnum, HighlightPipe, IS_ASYNC_PARAM_NAME, IconPosition, ImageResourceKindEnum, InvalidSmartlinkComponent, LayoutDirection, LinkTargetEnum, MAP_ENGINE, MapEngine, MenuOpenDirection, MenuTriggerType, MessageOptionType, MessageTextType, MessageType, NAMED_VALIDATOR, NamedValidatorOperationEnum, NamedValidatorService, NoPermissionPageComponent, PageExportFieldScope, PageExportSelectionKind, PageExportValueType, PageExportValuesSource, REUSE_ROUTER_SLOT_COMPONENT, ROOT_CONTAINER_UUID, ROUTER_SLOT_ID, RecordingUploaderPropertiesOpenDirectionEnum, SMART_DATE_FORMATS, SMART_DEFAULT_VIEW_COMPONENTS, SMART_NG_CLIENT_CONFIG, SMART_ROW_LAYOUT_COMPONENT, SearchPageComponent, SelectionDefinitionTypeEnum, SelectionDefinitionValueSetValueTypeEnum, ServerRequestType, SessionAPIS, SessionErrorBehaviour, SessionService, SmartActionHost, SmartActionType, SmartBackendBootstrapService, SmartComponent, SmartComponentApiClient, SmartComponentDetachedDirective, SmartComponentHost, SmartComponentLayoutComponent, SmartDateFnsAdapter, SmartDatePipe, SmartDateTimePipe, SmartDefaultErrorUiService, SmartDiagramComponent, SmartDialog, SmartEmbeddedSlotDirective, SmartExpandableSectionService, SmartFileEditorComponent, SmartFilterComponent, SmartFilterEditorContentComponent, SmartFilterEditorService, SmartFilterExpressionFieldComponent, SmartFilterPosition, SmartFilterType, SmartFilterWidgetComponent, SmartFormInputMode, SmartFormTextFieldButtonIconPosition, SmartFormWidgetDirection, SmartFormWidgetType, SmartFormWidgetWidth, SmartGridButtonType, SmartGridComponent, SmartGridDataLayout, SmartGridService, SmartGridType, SmartIconComponent, SmartIconService, SmartKeybindingService, SmartLayoutDef, SmartLinkChannelVariableInPath, SmartLinkMigrationStatusStatusEnum, SmartLinkUuidVariableInPath, SmartMapComponent, SmartMultiFileEditorComponent, SmartNavbarComponent, SmartNavbarService, SmartNavigationService, SmartNgClientFeatureKind, SmartService, SmartSessionService, SmartSessionTimerComponent, SmartTable, SmartTableButtonType, SmartTableHeaderPropertyType, SmartTableInterfaceTypeEnum, SmartTableOptionButtonDirection, SmartTableOrder, SmartTableType, SmartTimePipe, SmartTooltipDirective, SmartTreeComponent, SmartTreeNodeButtonType, SmartUserSettinsIconPosition, SmartValidatorName, SmartViewContextService, SmartViewRedirect, SmartVoiceRecorderComponent, SmartWidgetHintPosition, SmartWidgetHintPositionEnum, SmartdialogService, SmartfileuploaderComponent, SmartformComponent, SmartformLayoutDefinitionService, SmarttreeGenericService, SmarttreeService, SubjectSelectorComponent, ThemeService, ToggleLabelPosition, ToolbarAlignment, ToolbarAppearance, ToolbarDirection, TreeArrowPosition, TreeGridControl, USE_ADVANCED_FILTER, UiActionButtonComponent, UiActionButtonType, UiActionConfirmDialogService, UiActionDescriptorService, UiActionDialogButtonComponent, UiActionDialogType, UiActionFeedbackType, UiActionInputDialogService, UiActionInputType, UiActionService, UiActionToolbarComponent, UiActionTooltipTooltipPositionEnum, UiBadgeComponent, UiBadgeDirective, UploadWidgetType, ValidationResultPageComponent, ValueChangeMode, ViewContextRebuiltError, ViewEventHandlerViewEventTypeEnum, ViewService, ViewState, ViewType, barChart, bubbleChart, createBasicOptions, doughnutChart, formatChord, hasGroupEditActions, horizontalBarChart, horizontalStackedBarChart, injectSmartComponent, isMacPlatform, matches, multiAxisLineChart, parseChord, pieChart, polarAreaChart, provideSmartNgClient, radarChart, registerSmartWidget, resolveDateLocale, resolveSlot, resolveSmartNgClientConfig, resolveViewHandler, scatterChart, stackedBarChart, transformDataToBarLikeDataSet, transformDataToBasicDataSets, transformDataToBubble, transformDataToScatter, withSmartDiagram, withSmartMap };
26946
26967
  //# sourceMappingURL=smartbit4all-ng-client.mjs.map