cat-qw-lib 0.18.0 → 0.19.1

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.
@@ -23,7 +23,7 @@ import * as i3$2 from 'primeng/checkbox';
23
23
  import { CheckboxModule } from 'primeng/checkbox';
24
24
  import { EntityStore, StoreConfig, QueryEntity } from '@datorama/akita';
25
25
  import { __decorate } from 'tslib';
26
- import { BehaviorSubject, firstValueFrom, of, tap as tap$1, map, Subscription } from 'rxjs';
26
+ import { BehaviorSubject, firstValueFrom, of, tap as tap$1, map, catchError, Subscription } from 'rxjs';
27
27
  import { DragDropModule } from 'primeng/dragdrop';
28
28
  import * as i4$2 from 'primeng/confirmdialog';
29
29
  import { ConfirmDialogModule } from 'primeng/confirmdialog';
@@ -138,6 +138,7 @@ class SHARED {
138
138
  static MISSING_RECORD_ID = "Missing recordId";
139
139
  static EMPTY_STRING = " ";
140
140
  static SELECTED_QUEUE_ID = "selectedQueueId";
141
+ static ISITEMEXPRESSION = "isItemExpression";
141
142
  }
142
143
  const MESSAGE_TYPES = ['SMS', 'WhatsApp', 'Email'];
143
144
  const delimiters = ['|', '/', '-'];
@@ -662,6 +663,7 @@ class ERROR {
662
663
  static ERROR_FETCHING_WIDGET_DATA = "Error fetching record widget data:";
663
664
  static ERROR_MISSING_PARAMETERS = "Required parameters are missing:";
664
665
  static INVALID_INDEX = "Invalid index:";
666
+ static ERROR_DELETE_DICTIONARY_ITEM = "Failed to delete dictionary item with ID:";
665
667
  }
666
668
 
667
669
  /**
@@ -974,11 +976,11 @@ class DropdownComponent extends BaseControlComponent {
974
976
  super.handleModelChange(event, valid);
975
977
  }
976
978
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: DropdownComponent, deps: [{ token: ListService }], target: i0.ɵɵFactoryTarget.Component });
977
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", type: DropdownComponent, isStandalone: true, selector: "dropdown", inputs: { isStaticDropdown: "isStaticDropdown" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <div class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n <div class=\"dropdownbox\">\n\n <p-dropdown \n \n [options]=\"options\" \n [disabled]=\"attributeModel.readonly ?? false\"\n [showClear]=\"true\"\n [name]=\"attributeModel.name ?? 'testSingleSelect'\" \n [ngModel]=\"record[attributeModel.name]\" \n [placeholder]=\"attributeModel.placeholder ?? ''\" \n [required]=\"attributeModel.isRequired ?? false\"\n filterBy=\"label\" \n class=\"dropdownFeild\"\n #dropdown=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, dropdown.valid)\" \n [ngClass]=\"!dropdown.valid && error == attributeModel.name ? 'ng-dirty ng-invalid':''\" \n appendTo=\"body\" \n optionLabel=\"label\" \n optionValue=\"value\">\n</p-dropdown>\n</div>\n\n</ng-container>\n", styles: [".asterisk{color:red}.p-dropdown,.dropdownFeild{width:100%!important}.dropdownbox{position:relative}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i3$4.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
979
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", type: DropdownComponent, isStandalone: true, selector: "dropdown", inputs: { isStaticDropdown: "isStaticDropdown" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container>\n <div class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n <div class=\"dropdownbox\">\n\n <p-dropdown \n \n [options]=\"options\" \n [disabled]=\"attributeModel.readonly ?? false\"\n [showClear]=\"true\"\n [name]=\"attributeModel.name ?? 'testSingleSelect'\" \n [ngModel]=\"record[attributeModel.name]\" \n [placeholder]=\"attributeModel.placeholder ?? ''\" \n [required]=\"attributeModel.isRequired ?? false\"\n filterBy=\"label\" \n [filter]=\"attributeModel.filter ?? false\" \n class=\"dropdownFeild\"\n #dropdown=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, dropdown.valid)\" \n [ngClass]=\"!dropdown.valid && error == attributeModel.name ? 'ng-dirty ng-invalid':''\" \n appendTo=\"body\" \n optionLabel=\"label\" \n optionValue=\"value\">\n</p-dropdown>\n</div>\n\n</ng-container>\n", styles: [".asterisk{color:red}.p-dropdown,.dropdownFeild{width:100%!important}.dropdownbox{position:relative}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: DropdownModule }, { kind: "component", type: i3$4.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "autoShowPanelOnPrintableCharacterKeyDown", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
978
980
  }
979
981
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: DropdownComponent, decorators: [{
980
982
  type: Component,
981
- args: [{ selector: 'dropdown', standalone: true, imports: [CommonModule, DropdownModule, FormsModule], encapsulation: ViewEncapsulation.None, template: "<ng-container>\n <div class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n <div class=\"dropdownbox\">\n\n <p-dropdown \n \n [options]=\"options\" \n [disabled]=\"attributeModel.readonly ?? false\"\n [showClear]=\"true\"\n [name]=\"attributeModel.name ?? 'testSingleSelect'\" \n [ngModel]=\"record[attributeModel.name]\" \n [placeholder]=\"attributeModel.placeholder ?? ''\" \n [required]=\"attributeModel.isRequired ?? false\"\n filterBy=\"label\" \n class=\"dropdownFeild\"\n #dropdown=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, dropdown.valid)\" \n [ngClass]=\"!dropdown.valid && error == attributeModel.name ? 'ng-dirty ng-invalid':''\" \n appendTo=\"body\" \n optionLabel=\"label\" \n optionValue=\"value\">\n</p-dropdown>\n</div>\n\n</ng-container>\n", styles: [".asterisk{color:red}.p-dropdown,.dropdownFeild{width:100%!important}.dropdownbox{position:relative}\n"] }]
983
+ args: [{ selector: 'dropdown', standalone: true, imports: [CommonModule, DropdownModule, FormsModule], encapsulation: ViewEncapsulation.None, template: "<ng-container>\n <div class=\"mb-2\">\n <label>{{ attributeModel.displayText }}</label>\n <span class=\"asterisk ml-1\" *ngIf=\"attributeModel.isRequired\">*</span>\n </div>\n <div class=\"dropdownbox\">\n\n <p-dropdown \n \n [options]=\"options\" \n [disabled]=\"attributeModel.readonly ?? false\"\n [showClear]=\"true\"\n [name]=\"attributeModel.name ?? 'testSingleSelect'\" \n [ngModel]=\"record[attributeModel.name]\" \n [placeholder]=\"attributeModel.placeholder ?? ''\" \n [required]=\"attributeModel.isRequired ?? false\"\n filterBy=\"label\" \n [filter]=\"attributeModel.filter ?? false\" \n class=\"dropdownFeild\"\n #dropdown=\"ngModel\"\n (ngModelChange)=\"handleModelChange($event, dropdown.valid)\" \n [ngClass]=\"!dropdown.valid && error == attributeModel.name ? 'ng-dirty ng-invalid':''\" \n appendTo=\"body\" \n optionLabel=\"label\" \n optionValue=\"value\">\n</p-dropdown>\n</div>\n\n</ng-container>\n", styles: [".asterisk{color:red}.p-dropdown,.dropdownFeild{width:100%!important}.dropdownbox{position:relative}\n"] }]
982
984
  }], ctorParameters: () => [{ type: ListService }], propDecorators: { isStaticDropdown: [{
983
985
  type: Input
984
986
  }] } });
@@ -1408,6 +1410,7 @@ class DATASOURCES {
1408
1410
  static DOCUMETS = "documents";
1409
1411
  static RATIONALE = "rationale";
1410
1412
  static QUEUESAPICONFIG = "api-configurations/get-queues-apiconfig";
1413
+ static DELETEDICTIONARYITEM = "data-dictionaries/dictionaryItems";
1411
1414
  }
1412
1415
 
1413
1416
  class HEADERS {
@@ -1490,6 +1493,7 @@ class AttributeModel {
1490
1493
  textColorOnReadonly;
1491
1494
  hideLabelOnForm = false;
1492
1495
  disable = false;
1496
+ filter = false;
1493
1497
  }
1494
1498
 
1495
1499
  class BaseModel {
@@ -1641,6 +1645,7 @@ class MESSAGE {
1641
1645
  static VALIDATE_SUCCESS_MESSAGE = "API validation completed successfully! Your API is now ready for use.";
1642
1646
  static VALIDATE_ACTION_SUCCESS_MESSAGE = "Validation action was successful. The configuration is valid.";
1643
1647
  static QUERY_CHANGE_EVENT = "Query Change Event:";
1648
+ static DELETE_DICTIONARY_ITEM_SUCCESS = "Dictionary item deleted successfully.";
1644
1649
  }
1645
1650
 
1646
1651
  class LISTCONFIG {
@@ -2670,6 +2675,7 @@ class DdAdminModel extends BaseModel {
2670
2675
  name;
2671
2676
  queueID;
2672
2677
  dictionaryItems = [];
2678
+ message;
2673
2679
  }
2674
2680
  class DdItemModel extends BaseModel {
2675
2681
  itemName;
@@ -2707,6 +2713,13 @@ class DictionaryService extends BaseService {
2707
2713
  getAllApiProperties(name, id) {
2708
2714
  return this.http.get(`${this.apiUrl + name}/${id}`).pipe(tap$1((propertiesData) => this.dictionaryStore.setPropertiesData(propertiesData)));
2709
2715
  }
2716
+ deleteDictionaryItemById(name, dictionaryItemId) {
2717
+ const Url = `${this.apiUrl + name}/${dictionaryItemId}`;
2718
+ return this.http.delete(Url).pipe(catchError((error) => {
2719
+ console.error(ERROR.ERROR_DELETE_DICTIONARY_ITEM, error);
2720
+ return of({ error: true, message: ERROR.ERROR_DELETE_DICTIONARY_ITEM });
2721
+ }));
2722
+ }
2710
2723
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: DictionaryService, deps: [{ token: DictionaryStore }, { token: i1$1.HttpClient }, { token: AppConfigService }, { token: ListService }], target: i0.ɵɵFactoryTarget.Injectable });
2711
2724
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: DictionaryService, providedIn: 'root' });
2712
2725
  }
@@ -2766,17 +2779,21 @@ class DdAdminItemFormComponent {
2766
2779
  ngOnChanges(changes) {
2767
2780
  this.subscriptions.add(this.dictionaryQuery.selectPropertyData().subscribe((res) => {
2768
2781
  if (res) {
2769
- res.properties.forEach((property) => {
2770
- this.propertyOptions.push({ label: `${res.name}.${property}`, value: `${res.name}.${property}` });
2771
- });
2772
- res?.childApis.forEach((childApi) => {
2773
- childApi.properties.forEach((property) => {
2774
- this.propertyOptions.push({ label: `${res.name}.${childApi.name}.${property}`, value: `${res.name}.${childApi.name}.${property}` });
2782
+ if (res?.properties?.length) {
2783
+ res.properties.forEach((property) => {
2784
+ this.propertyOptions.push({ label: `${res.name}.${property}`, value: `${res.name}.${property}` });
2775
2785
  });
2776
- });
2786
+ }
2787
+ if (res?.childApis?.length) {
2788
+ res.childApis.forEach((childApi) => {
2789
+ childApi.properties.forEach((property) => {
2790
+ this.propertyOptions.push({ label: `${res.name}.${childApi.name}.${property}`, value: `${res.name}.${childApi.name}.${property}` });
2791
+ });
2792
+ });
2793
+ }
2777
2794
  }
2778
2795
  }));
2779
- if (changes['isItemExpression']) {
2796
+ if (changes[SHARED.ISITEMEXPRESSION]) {
2780
2797
  this.attributeRecord.mappingInfo = (this.isItemExpression ? this.ddItemRecord.itemExpression : this.ddItemRecord.styleExpression) ?? SHARED.EMPTY;
2781
2798
  }
2782
2799
  }
@@ -2802,11 +2819,11 @@ class DdAdminItemFormComponent {
2802
2819
  this.subscriptions.unsubscribe();
2803
2820
  }
2804
2821
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: DdAdminItemFormComponent, deps: [{ token: DictionaryStore }, { token: DictionaryQuery }], target: i0.ɵɵFactoryTarget.Component });
2805
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", type: DdAdminItemFormComponent, isStandalone: false, selector: "lib-dd-admin-item-form", inputs: { ddItemRecord: "ddItemRecord", isItemExpression: "isItemExpression", isSidebarVisible: "isSidebarVisible" }, outputs: { saveClick: "saveClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dicitonary-edit-action px-3\">\n <div class=\"flex align-items-center justify-content-end mt-3\">\n <lib-button\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n buttonLabel: 'Save',\n isDisabled: false,\n }\"\n (onBtnClick)=\"handleSaveBtnClick($event)\"\n >\n </lib-button>\n </div>\n\n <div class=\"col-12 md:col-12 mt-5\">\n <text-area\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n displayText: 'Expression',\n readonly : false,\n name : 'mappingInfo',\n isRequired : false,\n placeholder : 'Enter Text',\n customPadding: '12px',\n }\"\n ></text-area>\n </div>\n <div class=\"col-12 md:col-12\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"dictionaryStore\" [record]=\"attributeRecord\" [attributeModel]=\"{\n name:'propertyList',\n displayText : 'Select properties',\n isRequired:false,\n options : propertyOptions\n }\">\n </dropdown>\n </div>\n </div>\n <div class=\"col-12 md:col-3\">\n <lib-button\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n buttonLabel: 'Add to expression',\n isDisabled: false,\n }\"\n (onBtnClick)=\"handleAddExpressionClick($event)\"\n >\n </lib-button>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: ButtonComponent, selector: "lib-button" }, { kind: "component", type: TextAreaComponent, selector: "text-area", inputs: ["rowspan"] }] });
2822
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", type: DdAdminItemFormComponent, isStandalone: false, selector: "lib-dd-admin-item-form", inputs: { ddItemRecord: "ddItemRecord", isItemExpression: "isItemExpression", isSidebarVisible: "isSidebarVisible" }, outputs: { saveClick: "saveClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dicitonary-edit-action px-3\">\n <div class=\"flex align-items-center justify-content-end mt-3\">\n <lib-button\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n buttonLabel: 'Save',\n isDisabled: false,\n }\"\n (onBtnClick)=\"handleSaveBtnClick($event)\"\n >\n </lib-button>\n </div>\n\n <div class=\"col-12 md:col-12 mt-5\">\n <label *ngIf=\"!isItemExpression\" for=\"styleInput\" class=\"text-gray-600 text-sm mb-2 block\">\n Hint: Use key-value pairs for styles.\n <br/>\n Example:<code>\n 'background-color': 'lightgray',\n 'font-size': '16px',<br>\n 'padding': '10px'\n </code>\n </label>\n <text-area\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n displayText: 'Expression',\n readonly : false,\n name : 'mappingInfo',\n isRequired : false,\n placeholder : 'Enter Text',\n customPadding: '12px',\n }\"\n ></text-area>\n </div>\n <div class=\"col-12 md:col-12\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"dictionaryStore\" [record]=\"attributeRecord\" [attributeModel]=\"{\n name:'propertyList',\n displayText : 'Select properties',\n isRequired:false,\n options : propertyOptions,\n filter : true\n }\">\n </dropdown>\n </div>\n </div>\n <div class=\"col-12 md:col-3\">\n <lib-button\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n buttonLabel: 'Add to expression',\n isDisabled: false,\n }\"\n (onBtnClick)=\"handleAddExpressionClick($event)\"\n >\n </lib-button>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: ButtonComponent, selector: "lib-button" }, { kind: "component", type: TextAreaComponent, selector: "text-area", inputs: ["rowspan"] }] });
2806
2823
  }
2807
2824
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: DdAdminItemFormComponent, decorators: [{
2808
2825
  type: Component,
2809
- args: [{ selector: 'lib-dd-admin-item-form', standalone: false, template: "<div class=\"dicitonary-edit-action px-3\">\n <div class=\"flex align-items-center justify-content-end mt-3\">\n <lib-button\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n buttonLabel: 'Save',\n isDisabled: false,\n }\"\n (onBtnClick)=\"handleSaveBtnClick($event)\"\n >\n </lib-button>\n </div>\n\n <div class=\"col-12 md:col-12 mt-5\">\n <text-area\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n displayText: 'Expression',\n readonly : false,\n name : 'mappingInfo',\n isRequired : false,\n placeholder : 'Enter Text',\n customPadding: '12px',\n }\"\n ></text-area>\n </div>\n <div class=\"col-12 md:col-12\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"dictionaryStore\" [record]=\"attributeRecord\" [attributeModel]=\"{\n name:'propertyList',\n displayText : 'Select properties',\n isRequired:false,\n options : propertyOptions\n }\">\n </dropdown>\n </div>\n </div>\n <div class=\"col-12 md:col-3\">\n <lib-button\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n buttonLabel: 'Add to expression',\n isDisabled: false,\n }\"\n (onBtnClick)=\"handleAddExpressionClick($event)\"\n >\n </lib-button>\n </div>\n</div>" }]
2826
+ args: [{ selector: 'lib-dd-admin-item-form', standalone: false, template: "<div class=\"dicitonary-edit-action px-3\">\n <div class=\"flex align-items-center justify-content-end mt-3\">\n <lib-button\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n buttonLabel: 'Save',\n isDisabled: false,\n }\"\n (onBtnClick)=\"handleSaveBtnClick($event)\"\n >\n </lib-button>\n </div>\n\n <div class=\"col-12 md:col-12 mt-5\">\n <label *ngIf=\"!isItemExpression\" for=\"styleInput\" class=\"text-gray-600 text-sm mb-2 block\">\n Hint: Use key-value pairs for styles.\n <br/>\n Example:<code>\n 'background-color': 'lightgray',\n 'font-size': '16px',<br>\n 'padding': '10px'\n </code>\n </label>\n <text-area\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n displayText: 'Expression',\n readonly : false,\n name : 'mappingInfo',\n isRequired : false,\n placeholder : 'Enter Text',\n customPadding: '12px',\n }\"\n ></text-area>\n </div>\n <div class=\"col-12 md:col-12\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"dictionaryStore\" [record]=\"attributeRecord\" [attributeModel]=\"{\n name:'propertyList',\n displayText : 'Select properties',\n isRequired:false,\n options : propertyOptions,\n filter : true\n }\">\n </dropdown>\n </div>\n </div>\n <div class=\"col-12 md:col-3\">\n <lib-button\n [store]=\"dictionaryStore\"\n [record]=\"attributeRecord\"\n [attributeModel]=\"{\n buttonLabel: 'Add to expression',\n isDisabled: false,\n }\"\n (onBtnClick)=\"handleAddExpressionClick($event)\"\n >\n </lib-button>\n </div>\n</div>" }]
2810
2827
  }], ctorParameters: () => [{ type: DictionaryStore }, { type: DictionaryQuery }], propDecorators: { ddItemRecord: [{
2811
2828
  type: Input
2812
2829
  }], isItemExpression: [{
@@ -2827,6 +2844,7 @@ class DdAdminFormComponent extends BaseFormComponent {
2827
2844
  baseStore;
2828
2845
  baseQuery;
2829
2846
  sidebarVisibility = [];
2847
+ messages = SHARED.EMPTYARRAY;
2830
2848
  dictionaryItem;
2831
2849
  dictionaryName = SHARED.EMPTY;
2832
2850
  isItemExpression = SHARED.FALSE;
@@ -2864,15 +2882,34 @@ class DdAdminFormComponent extends BaseFormComponent {
2864
2882
  onSidebarClose(isVisible) {
2865
2883
  this.sidebarVisibility = this.sidebarVisibility.map(() => isVisible);
2866
2884
  }
2867
- handleDeleteRecord(index) {
2868
- this.record.dictionaryItems.splice(index, 1);
2885
+ handleDeleteRecord(index, dictionaryItemId) {
2886
+ if (index >= 0 && index < this.record.dictionaryItems.length) {
2887
+ this.record.dictionaryItems = this.record.dictionaryItems.filter((_, i) => i !== index);
2888
+ if (dictionaryItemId) {
2889
+ this.service.deleteDictionaryItemById(DATASOURCES.DELETEDICTIONARYITEM, dictionaryItemId).subscribe((res) => {
2890
+ this.messages = [{ severity: SHARED.SUCCESS, detail: res?.message || MESSAGE.DELETE_DICTIONARY_ITEM_SUCCESS }];
2891
+ setTimeout(() => {
2892
+ this.messages = SHARED.EMPTYARRAY;
2893
+ }, 3000);
2894
+ }, (error) => {
2895
+ this.messages = [{ severity: SHARED.ERROR, detail: `${ERROR.ERROR_DELETE_DICTIONARY_ITEM} ${dictionaryItemId}` }];
2896
+ console.error(`${ERROR.ERROR_DELETE_DICTIONARY_ITEM} ${dictionaryItemId}`, error);
2897
+ setTimeout(() => {
2898
+ this.messages = SHARED.EMPTYARRAY;
2899
+ }, 3000);
2900
+ });
2901
+ }
2902
+ }
2903
+ else {
2904
+ console.error(ERROR.INVALID_INDEX, index);
2905
+ }
2869
2906
  }
2870
2907
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: DdAdminFormComponent, deps: [{ token: DictionaryService }, { token: DictionaryQuery }, { token: ValidatorService }, { token: i3$3.Router }, { token: i3$3.ActivatedRoute }, { token: DictionaryStore }, { token: BaseStore }, { token: BaseQuery }], target: i0.ɵɵFactoryTarget.Component });
2871
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", type: DdAdminFormComponent, isStandalone: false, selector: "lib-dd-admin-form", usesInheritance: true, ngImport: i0, template: "<form-container [record]=\"record\" [headerText]=\"'Dictionary Form'\" [showSave]=\"true\" (onCancel)=\"handleCancel()\"\n (onSave)=\"handleSubmit()\">\n <div class=\"card p-fluid p-formgrid grid\">\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\">\n <div class=\"col-12 md:col-6 p-field\">\n <div class=\"dictionary-name\">\n <text-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n readonly : false,\n name : 'name',\n isRequired : true,\n displayText: 'Dictionary Name',\n placeholder : 'Enter Text',\n }\"></text-box>\n </div>\n </div>\n <div class=\"col-12 md:col-6\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n name: 'queueID',\n dataSource: 'queues',\n listLabelProperty: 'name',\n listValueProperty: '_id',\n displayText: 'Queue',\n placeholder: 'Select Queue',\n isRequired: true\n }\" (onInput)=\"handleGetProperties($event)\">\n </dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"field p-0 pr-2 ml-3 col-12 md:col-2\">\n <div class=\"card m-0 p-0 mb-2\">\n <div class=\"mt-3 w-full flex\">\n <button pButton pRipple routerLinkActive=\"router-link-active\"\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\n (click)=\"handleDictionaryItemAddBtnClick()\">\n Add New Item\n </button>\n </div>\n </div>\n </div>\n\n <!-- dictionary Items -->\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\"\n *ngFor=\"let ddItem of record.dictionaryItems; let i = index\">\n <div class=\"field col-12 md:col-3 pr-0\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'itemName',\n readonly : false,\n displayText : 'Item Name',\n isRequired : true,\n }\"></text-box>\n </div>\n <div class=\"field flex align-items-center justify-content-between col-12 md:col-3 pr-0\">\n <div class=\"flex align-items-center w-full\">\n <div class=\"w-full mr-3\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'itemExpression',\n readonly : false,\n disable : true,\n displayText : 'Item Expression',\n isRequired : true,\n }\">\n </text-box>\n </div>\n <span class=\"pi pi-cog mt-4 cursor-pointer text-xl\" (click)=\"handleItemExpression(i, $event )\"></span>\n </div>\n </div>\n\n <div class=\"field col-12 md:col-3 flex align-items-center justify-content-between pr-0\">\n <div class=\"flex align-items-center w-full\">\n <div class=\"w-full mr-3\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'styleExpression',\n readonly : false,\n disable : true,\n displayText : 'Style Expression',\n isRequired : true,\n }\">\n </text-box>\n </div>\n <span class=\"pi pi-cog mt-4 text-xl cursor-pointer text-color\"\n (click)=\"handleStyleExpression(i, $event)\"></span>\n </div>\n </div>\n\n <div class=\"field col-12 md:col-2 flex align-items-center justify-content-center mt-4\">\n <check-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Is Active',\n }\">\n </check-box>\n\n <div class=\"ml-6 delete-icon-container\">\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleDeleteRecord(i)\"></i>\n </div>\n </div>\n <sidebar [isSidebarVisible]=\"sidebarVisibility[i]\" [title]=\"'Edit Expression'\"\n (onClose)=\"onSidebarClose($event)\">\n <lib-dd-admin-item-form [ddItemRecord]=\"ddItem\" [isItemExpression]=\"isItemExpression\"\n (saveClick)=\"onSidebarClose($event)\"></lib-dd-admin-item-form>\n </sidebar>\n </div>\n\n </div>\n</form-container>", styles: [".trash-icon-wrapper{font-size:20px;color:var(--red-500)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TextBoxComponent, selector: "text-box" }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: SidebarComponent, selector: "sidebar", inputs: ["isSidebarVisible", "title"], outputs: ["onClose"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }, { kind: "directive", type: i2$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: DdAdminItemFormComponent, selector: "lib-dd-admin-item-form", inputs: ["ddItemRecord", "isItemExpression", "isSidebarVisible"], outputs: ["saveClick"] }] });
2908
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.4", type: DdAdminFormComponent, isStandalone: false, selector: "lib-dd-admin-form", usesInheritance: true, ngImport: i0, template: "<form-container \n [messages]=\"messages\" \n [record]=\"record\" \n [headerText]=\"'Dictionary Form'\" \n [showSave]=\"true\" \n (onCancel)=\"handleCancel()\"\n (onSave)=\"handleSubmit()\">\n <div class=\"card p-fluid p-formgrid grid\">\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\">\n <div class=\"col-12 md:col-6 p-field\">\n <div class=\"dictionary-name\">\n <text-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n readonly : false,\n name : 'name',\n isRequired : true,\n displayText: 'Dictionary Name',\n placeholder : 'Enter Text',\n }\"></text-box>\n </div>\n </div>\n <div class=\"col-12 md:col-6\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n name: 'queueID',\n dataSource: 'queues',\n listLabelProperty: 'name',\n listValueProperty: '_id',\n displayText: 'Queue',\n placeholder: 'Select Queue',\n isRequired: true\n }\" (onInput)=\"handleGetProperties($event)\">\n </dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"field p-0 pr-2 ml-3 col-12 md:col-2\">\n <div class=\"card m-0 p-0 mb-2\">\n <div class=\"mt-3 w-full flex\">\n <button pButton pRipple routerLinkActive=\"router-link-active\"\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\n (click)=\"handleDictionaryItemAddBtnClick()\">\n Add New Item\n </button>\n </div>\n </div>\n </div>\n\n <!-- dictionary Items -->\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\"\n *ngFor=\"let ddItem of record.dictionaryItems; let i = index\">\n <div class=\"field col-12 md:col-3 pr-0\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'itemName',\n readonly : false,\n displayText : 'Item Name',\n isRequired : true,\n }\"></text-box>\n </div>\n <div class=\"field flex align-items-center justify-content-between col-12 md:col-3 pr-0\">\n <div class=\"flex align-items-center w-full\">\n <div class=\"w-full mr-3\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'itemExpression',\n readonly : false,\n disable : true,\n displayText : 'Item Expression',\n isRequired : true,\n }\">\n </text-box>\n </div>\n <span class=\"pi pi-cog mt-4 cursor-pointer text-xl\" (click)=\"handleItemExpression(i, $event )\"></span>\n </div>\n </div>\n\n <div class=\"field col-12 md:col-3 flex align-items-center justify-content-between pr-0\">\n <div class=\"flex align-items-center w-full\">\n <div class=\"w-full mr-3\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'styleExpression',\n readonly : false,\n disable : true,\n displayText : 'Style Expression',\n isRequired : true,\n }\">\n </text-box>\n </div>\n <span class=\"pi pi-cog mt-4 text-xl cursor-pointer text-color\"\n (click)=\"handleStyleExpression(i, $event)\"></span>\n </div>\n </div>\n\n <div class=\"field col-12 md:col-2 flex align-items-center justify-content-center mt-4\">\n <check-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Is Active',\n }\">\n </check-box>\n\n <div class=\"ml-6 delete-icon-container\">\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleDeleteRecord(i, ddItem?._id)\"></i>\n </div>\n </div>\n <sidebar [isSidebarVisible]=\"sidebarVisibility[i]\" [title]=\"'Edit Expression'\"\n (onClose)=\"onSidebarClose($event)\">\n <lib-dd-admin-item-form [ddItemRecord]=\"ddItem\" [isItemExpression]=\"isItemExpression\"\n (saveClick)=\"onSidebarClose($event)\"></lib-dd-admin-item-form>\n </sidebar>\n </div>\n\n </div>\n</form-container>", styles: [".trash-icon-wrapper{font-size:20px;color:var(--red-500)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TextBoxComponent, selector: "text-box" }, { kind: "component", type: DropdownComponent, selector: "dropdown", inputs: ["isStaticDropdown"] }, { kind: "component", type: FormContainerComponent, selector: "form-container", inputs: ["messages", "record", "headerText", "showSave", "disableSaveButton"], outputs: ["onSave", "onCancel"] }, { kind: "component", type: SidebarComponent, selector: "sidebar", inputs: ["isSidebarVisible", "title"], outputs: ["onClose"] }, { kind: "component", type: CheckBoxComponent, selector: "check-box" }, { kind: "directive", type: i2$1.ButtonDirective, selector: "[pButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain"] }, { kind: "component", type: DdAdminItemFormComponent, selector: "lib-dd-admin-item-form", inputs: ["ddItemRecord", "isItemExpression", "isSidebarVisible"], outputs: ["saveClick"] }] });
2872
2909
  }
2873
2910
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.4", ngImport: i0, type: DdAdminFormComponent, decorators: [{
2874
2911
  type: Component,
2875
- args: [{ selector: 'lib-dd-admin-form', standalone: false, template: "<form-container [record]=\"record\" [headerText]=\"'Dictionary Form'\" [showSave]=\"true\" (onCancel)=\"handleCancel()\"\n (onSave)=\"handleSubmit()\">\n <div class=\"card p-fluid p-formgrid grid\">\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\">\n <div class=\"col-12 md:col-6 p-field\">\n <div class=\"dictionary-name\">\n <text-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n readonly : false,\n name : 'name',\n isRequired : true,\n displayText: 'Dictionary Name',\n placeholder : 'Enter Text',\n }\"></text-box>\n </div>\n </div>\n <div class=\"col-12 md:col-6\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n name: 'queueID',\n dataSource: 'queues',\n listLabelProperty: 'name',\n listValueProperty: '_id',\n displayText: 'Queue',\n placeholder: 'Select Queue',\n isRequired: true\n }\" (onInput)=\"handleGetProperties($event)\">\n </dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"field p-0 pr-2 ml-3 col-12 md:col-2\">\n <div class=\"card m-0 p-0 mb-2\">\n <div class=\"mt-3 w-full flex\">\n <button pButton pRipple routerLinkActive=\"router-link-active\"\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\n (click)=\"handleDictionaryItemAddBtnClick()\">\n Add New Item\n </button>\n </div>\n </div>\n </div>\n\n <!-- dictionary Items -->\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\"\n *ngFor=\"let ddItem of record.dictionaryItems; let i = index\">\n <div class=\"field col-12 md:col-3 pr-0\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'itemName',\n readonly : false,\n displayText : 'Item Name',\n isRequired : true,\n }\"></text-box>\n </div>\n <div class=\"field flex align-items-center justify-content-between col-12 md:col-3 pr-0\">\n <div class=\"flex align-items-center w-full\">\n <div class=\"w-full mr-3\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'itemExpression',\n readonly : false,\n disable : true,\n displayText : 'Item Expression',\n isRequired : true,\n }\">\n </text-box>\n </div>\n <span class=\"pi pi-cog mt-4 cursor-pointer text-xl\" (click)=\"handleItemExpression(i, $event )\"></span>\n </div>\n </div>\n\n <div class=\"field col-12 md:col-3 flex align-items-center justify-content-between pr-0\">\n <div class=\"flex align-items-center w-full\">\n <div class=\"w-full mr-3\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'styleExpression',\n readonly : false,\n disable : true,\n displayText : 'Style Expression',\n isRequired : true,\n }\">\n </text-box>\n </div>\n <span class=\"pi pi-cog mt-4 text-xl cursor-pointer text-color\"\n (click)=\"handleStyleExpression(i, $event)\"></span>\n </div>\n </div>\n\n <div class=\"field col-12 md:col-2 flex align-items-center justify-content-center mt-4\">\n <check-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Is Active',\n }\">\n </check-box>\n\n <div class=\"ml-6 delete-icon-container\">\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleDeleteRecord(i)\"></i>\n </div>\n </div>\n <sidebar [isSidebarVisible]=\"sidebarVisibility[i]\" [title]=\"'Edit Expression'\"\n (onClose)=\"onSidebarClose($event)\">\n <lib-dd-admin-item-form [ddItemRecord]=\"ddItem\" [isItemExpression]=\"isItemExpression\"\n (saveClick)=\"onSidebarClose($event)\"></lib-dd-admin-item-form>\n </sidebar>\n </div>\n\n </div>\n</form-container>", styles: [".trash-icon-wrapper{font-size:20px;color:var(--red-500)}\n"] }]
2912
+ args: [{ selector: 'lib-dd-admin-form', standalone: false, template: "<form-container \n [messages]=\"messages\" \n [record]=\"record\" \n [headerText]=\"'Dictionary Form'\" \n [showSave]=\"true\" \n (onCancel)=\"handleCancel()\"\n (onSave)=\"handleSubmit()\">\n <div class=\"card p-fluid p-formgrid grid\">\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\">\n <div class=\"col-12 md:col-6 p-field\">\n <div class=\"dictionary-name\">\n <text-box [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n readonly : false,\n name : 'name',\n isRequired : true,\n displayText: 'Dictionary Name',\n placeholder : 'Enter Text',\n }\"></text-box>\n </div>\n </div>\n <div class=\"col-12 md:col-6\">\n <div class=\"p-field queue-list-wrapper\">\n <dropdown [store]=\"ddAdminStore\" [record]=\"record\" [attributeModel]=\"{\n name: 'queueID',\n dataSource: 'queues',\n listLabelProperty: 'name',\n listValueProperty: '_id',\n displayText: 'Queue',\n placeholder: 'Select Queue',\n isRequired: true\n }\" (onInput)=\"handleGetProperties($event)\">\n </dropdown>\n </div>\n </div>\n </div>\n\n <div class=\"field p-0 pr-2 ml-3 col-12 md:col-2\">\n <div class=\"card m-0 p-0 mb-2\">\n <div class=\"mt-3 w-full flex\">\n <button pButton pRipple routerLinkActive=\"router-link-active\"\n class=\"py-3 justify-content-center font-semibold w-full border-round\"\n (click)=\"handleDictionaryItemAddBtnClick()\">\n Add New Item\n </button>\n </div>\n </div>\n </div>\n\n <!-- dictionary Items -->\n <div class=\"col-12 md:col-12 flex align-items-center justify-content-between\"\n *ngFor=\"let ddItem of record.dictionaryItems; let i = index\">\n <div class=\"field col-12 md:col-3 pr-0\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'itemName',\n readonly : false,\n displayText : 'Item Name',\n isRequired : true,\n }\"></text-box>\n </div>\n <div class=\"field flex align-items-center justify-content-between col-12 md:col-3 pr-0\">\n <div class=\"flex align-items-center w-full\">\n <div class=\"w-full mr-3\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'itemExpression',\n readonly : false,\n disable : true,\n displayText : 'Item Expression',\n isRequired : true,\n }\">\n </text-box>\n </div>\n <span class=\"pi pi-cog mt-4 cursor-pointer text-xl\" (click)=\"handleItemExpression(i, $event )\"></span>\n </div>\n </div>\n\n <div class=\"field col-12 md:col-3 flex align-items-center justify-content-between pr-0\">\n <div class=\"flex align-items-center w-full\">\n <div class=\"w-full mr-3\">\n <text-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name : 'styleExpression',\n readonly : false,\n disable : true,\n displayText : 'Style Expression',\n isRequired : true,\n }\">\n </text-box>\n </div>\n <span class=\"pi pi-cog mt-4 text-xl cursor-pointer text-color\"\n (click)=\"handleStyleExpression(i, $event)\"></span>\n </div>\n </div>\n\n <div class=\"field col-12 md:col-2 flex align-items-center justify-content-center mt-4\">\n <check-box [store]=\"ddAdminStore\" [record]=\"ddItem\" [attributeModel]=\"{\n name:'isActive',\n displayText : 'Is Active',\n }\">\n </check-box>\n\n <div class=\"ml-6 delete-icon-container\">\n <i class=\"pi pi-trash trash-icon-wrapper cursor-pointer\" (click)=\"handleDeleteRecord(i, ddItem?._id)\"></i>\n </div>\n </div>\n <sidebar [isSidebarVisible]=\"sidebarVisibility[i]\" [title]=\"'Edit Expression'\"\n (onClose)=\"onSidebarClose($event)\">\n <lib-dd-admin-item-form [ddItemRecord]=\"ddItem\" [isItemExpression]=\"isItemExpression\"\n (saveClick)=\"onSidebarClose($event)\"></lib-dd-admin-item-form>\n </sidebar>\n </div>\n\n </div>\n</form-container>", styles: [".trash-icon-wrapper{font-size:20px;color:var(--red-500)}\n"] }]
2876
2913
  }], ctorParameters: () => [{ type: DictionaryService }, { type: DictionaryQuery }, { type: ValidatorService }, { type: i3$3.Router }, { type: i3$3.ActivatedRoute }, { type: DictionaryStore }, { type: BaseStore }, { type: BaseQuery }] });
2877
2914
 
2878
2915
  class DdAdminListComponent extends BaseListComponent {