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.
- package/fesm2022/cat-qw-lib.mjs +54 -17
- package/fesm2022/cat-qw-lib.mjs.map +1 -1
- package/lib/admin/dd-admin/components/dd-admin-form/dd-admin-form.component.d.ts +3 -1
- package/lib/admin/dd-admin/models/dictionary.model.d.ts +1 -0
- package/lib/admin/dd-admin/state/dictionary.service.d.ts +1 -0
- package/lib/shared/constant/DATASOURCES.d.ts +1 -0
- package/lib/shared/constant/ERROR.d.ts +1 -0
- package/lib/shared/constant/MESSAGES.d.ts +1 -0
- package/lib/shared/constant/SHARED.d.ts +1 -0
- package/lib/shared/models/attribute.model.d.ts +1 -0
- package/package.json +1 -1
package/fesm2022/cat-qw-lib.mjs
CHANGED
|
@@ -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
|
|
2770
|
-
|
|
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[
|
|
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.
|
|
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
|
|
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
|
|
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 {
|