@indigina/ui-kit 1.1.516 → 1.1.517
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.
|
@@ -1037,6 +1037,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
1037
1037
|
], template: "<div class=\"kit-textbox\"\n [ngClass]=\"[state(), size()]\"\n [class.disabled]=\"disabled()\"\n [class.readonly]=\"readonly()\">\n @if (label()) {\n <kit-form-label class=\"label\"\n [for]=\"textbox\"\n [text]=\"label()\"\n [tooltip]=\"labelTooltip()\"\n ></kit-form-label>\n }\n <div class=\"kit-textbox-input\">\n @if (icon()) {\n <kit-svg-icon class=\"kit-textbox-icon\"\n [icon]=\"icon()\"\n ></kit-svg-icon>\n }\n <kendo-textbox #textbox\n [type]=\"type()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"disabled()\"\n [readonly]=\"readonly()\"\n [value]=\"defaultValue()\"\n [maxlength]=\"maxlength()\"\n [clearButton]=\"clearButton()\"\n (blur)=\"onInputBlur()\"\n (focus)=\"focused.emit()\"\n (valueChange)=\"onInputChange($event)\"\n ></kendo-textbox>\n @if (showStateIcon()) {\n <kit-svg-icon class=\"kit-textbox-state-icon\"\n [icon]=\"customStateIcon() || textboxStateIcon[state()]\"\n ></kit-svg-icon>\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"messageTemplate()\" />\n\n @if (messageText() && !messageTemplate()) {\n <kit-form-message [icon]=\"messageIcon()\"\n [message]=\"messageText()\"\n ></kit-form-message>\n }\n</div>\n", styles: [".kit-textbox.large .kit-textbox-input{padding:0 12px;border-radius:8px}.kit-textbox.large .k-input{height:44px}.kit-textbox.regular .kit-textbox-input{padding:0 12px;border-radius:8px}.kit-textbox.regular .k-input{height:38px}.kit-textbox.small .kit-textbox-input{padding:0 8px;border-radius:4px}.kit-textbox.small .k-input{height:30px}.kit-textbox .label{display:block;margin-bottom:4px}.kit-textbox-input{display:flex;align-items:center;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-textbox-icon{flex-shrink:0;display:block;margin-right:8px;width:16px;height:16px;fill:var(--ui-kit-color-grey-10)}.kit-textbox-state-icon{flex-shrink:0;display:block;margin-left:12px;width:14px;height:14px}.kit-textbox .k-input{padding:0;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;opacity:1;box-shadow:none;border:none}.kit-textbox .k-input:focus-within{box-shadow:none}.kit-textbox .k-input .k-input-inner{padding:0}.kit-textbox .k-input-inner{width:100%;color:inherit;line-height:1}.kit-textbox .k-input-inner::placeholder{color:var(--ui-kit-color-grey-12)}.kit-textbox .k-input-prefix,.kit-textbox .k-input-suffix{height:0}.kit-textbox.default .kit-textbox-state-icon{fill:var(--ui-kit-color-grey-12)}.kit-textbox.default:hover .kit-textbox-input{border-color:var(--ui-kit-color-hover)}.kit-textbox.default:focus-within .kit-textbox-input{border-color:var(--ui-kit-color-main);outline:2px solid var(--ui-kit-color-focus);outline-offset:0}.kit-textbox.warning .kit-textbox-input{border-color:var(--ui-kit-color-orange)}.kit-textbox.warning .kit-textbox-state-icon,.kit-textbox.warning .kit-textbox-icon{fill:var(--ui-kit-color-orange)}.kit-textbox.warning:focus-within .kit-textbox-input{outline:2px solid var(--ui-kit-color-orange-1);outline-offset:0}.kit-textbox.error .kit-textbox-input{border-color:var(--ui-kit-color-red-1)}.kit-textbox.error .kit-textbox-state-icon,.kit-textbox.error .kit-textbox-icon{fill:var(--ui-kit-color-red-1)}.kit-textbox.error:focus-within .kit-textbox-input{outline:2px solid var(--ui-kit-color-red-2);outline-offset:0}.kit-textbox.error .kit-form-message-text{color:var(--ui-kit-color-red-1)}.kit-textbox.success .kit-textbox-state-icon{fill:var(--ui-kit-color-green-1)}.kit-textbox.success:hover .kit-textbox-input{border-color:var(--ui-kit-color-green-1)}.kit-textbox.success:focus-within .kit-textbox-input{border-color:var(--ui-kit-color-green-1);outline:2px solid var(--ui-kit-color-green-2);outline-offset:0}.kit-textbox.disabled .k-input{color:var(--ui-kit-color-grey-12);background:var(--ui-kit-color-grey-13)}.kit-textbox.disabled .kit-textbox-input{border-color:var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-13)}.kit-textbox.disabled .k-input-inner::placeholder{color:var(--ui-kit-color-grey-12)}.kit-textbox.disabled .kit-textbox-icon{fill:var(--ui-kit-color-grey-12)}.kit-textbox.disabled:hover .kit-textbox-input{border-color:var(--ui-kit-color-grey-11)}.kit-textbox.readonly{background:none}.kit-textbox.readonly .k-input{color:var(--ui-kit-color-grey-12)}.kit-textbox.readonly .k-input-inner{cursor:default}.kit-textbox.readonly:focus-within .kit-textbox-input{border-color:var(--ui-kit-color-grey-11);outline:none}.kit-textbox.readonly:hover .kit-textbox-input{border-color:var(--ui-kit-color-grey-11)}\n"] }]
|
|
1038
1038
|
}], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], labelTooltip: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelTooltip", required: false }] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }, { type: i0.Output, args: ["defaultValueChange"] }], messageIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "messageIcon", required: false }] }], messageText: [{ type: i0.Input, args: [{ isSignal: true, alias: "messageText", required: false }] }], messageTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "messageTemplate", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], maxlength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxlength", required: false }] }], state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], clearButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "clearButton", required: false }] }], showStateIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showStateIcon", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], customStateIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "customStateIcon", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], blured: [{ type: i0.Output, args: ["blured"] }], focused: [{ type: i0.Output, args: ["focused"] }], changed: [{ type: i0.Output, args: ["changed"] }], textboxComponent: [{ type: i0.ViewChild, args: [i0.forwardRef(() => TextBoxComponent), { isSignal: true }] }] } });
|
|
1039
1039
|
|
|
1040
|
+
const getTextboxState = (control = null) => {
|
|
1041
|
+
return control?.invalid && control?.touched ? KitTextboxState.ERROR : KitTextboxState.DEFAULT;
|
|
1042
|
+
};
|
|
1043
|
+
|
|
1040
1044
|
var KitFormErrorCode;
|
|
1041
1045
|
(function (KitFormErrorCode) {
|
|
1042
1046
|
KitFormErrorCode["Required"] = "required";
|
|
@@ -8433,6 +8437,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
8433
8437
|
}]
|
|
8434
8438
|
}] });
|
|
8435
8439
|
|
|
8440
|
+
const KIT_ALL_PERMISSIONS_PATH = new InjectionToken('kitAllPermissionsPath');
|
|
8441
|
+
|
|
8436
8442
|
const KIT_BASE_PATH = new InjectionToken('kitBasePath');
|
|
8437
8443
|
const trimTrailingSlash = (path) => {
|
|
8438
8444
|
return path.endsWith('/') ? path.slice(0, -1) : path;
|
|
@@ -8445,11 +8451,16 @@ class KitPermissionsApiService {
|
|
|
8445
8451
|
this.httpClient = inject(HttpClient);
|
|
8446
8452
|
this.basePath = inject(KIT_BASE_PATH);
|
|
8447
8453
|
this.userPermissionsPath = inject(KIT_USER_PERMISSIONS_PATH);
|
|
8454
|
+
this.allPermissionsPath = inject(KIT_ALL_PERMISSIONS_PATH);
|
|
8448
8455
|
}
|
|
8449
8456
|
getUserPermissions() {
|
|
8450
8457
|
const url = `${this.basePath}/${this.userPermissionsPath}`;
|
|
8451
8458
|
return this.httpClient.get(url);
|
|
8452
8459
|
}
|
|
8460
|
+
getAllPermissions() {
|
|
8461
|
+
const url = `${this.basePath}/${this.allPermissionsPath}`;
|
|
8462
|
+
return this.httpClient.get(url);
|
|
8463
|
+
}
|
|
8453
8464
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitPermissionsApiService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
8454
8465
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitPermissionsApiService, providedIn: 'root' }); }
|
|
8455
8466
|
}
|
|
@@ -11003,6 +11014,11 @@ const kitTranslations = {
|
|
|
11003
11014
|
error: 'An error occurred while loading data',
|
|
11004
11015
|
loadMore: 'Load More',
|
|
11005
11016
|
selectValue: 'Select value',
|
|
11017
|
+
create: 'Create New',
|
|
11018
|
+
delete: 'Delete',
|
|
11019
|
+
confirmationDelete: 'Are you sure you want to permanently delete {{name}}?',
|
|
11020
|
+
name: 'Name',
|
|
11021
|
+
save: 'Save',
|
|
11006
11022
|
},
|
|
11007
11023
|
tree: {
|
|
11008
11024
|
actions: {
|
|
@@ -11080,6 +11096,13 @@ const kitTranslations = {
|
|
|
11080
11096
|
cancel: 'Cancel',
|
|
11081
11097
|
delete: 'Delete',
|
|
11082
11098
|
},
|
|
11099
|
+
userRoles: {
|
|
11100
|
+
title: 'User\'s Roles Maintenance',
|
|
11101
|
+
details: 'User\'s Role Details',
|
|
11102
|
+
permissions: {
|
|
11103
|
+
maintain: 'Maintain',
|
|
11104
|
+
},
|
|
11105
|
+
},
|
|
11083
11106
|
},
|
|
11084
11107
|
},
|
|
11085
11108
|
ru: {
|
|
@@ -11245,6 +11268,11 @@ const kitTranslations = {
|
|
|
11245
11268
|
error: 'Произошла ошибка при загрузке данных',
|
|
11246
11269
|
loadMore: 'Загрузить еще',
|
|
11247
11270
|
selectValue: 'Выберите значение',
|
|
11271
|
+
create: 'Создать',
|
|
11272
|
+
delete: 'Удалить',
|
|
11273
|
+
confirmationDelete: 'Вы уверены, что хотите безвозвратно удалить {{name}}?',
|
|
11274
|
+
name: 'Название',
|
|
11275
|
+
save: 'Сохранить',
|
|
11248
11276
|
},
|
|
11249
11277
|
tree: {
|
|
11250
11278
|
actions: {
|
|
@@ -11319,6 +11347,10 @@ const kitTranslations = {
|
|
|
11319
11347
|
cancel: 'Отмена',
|
|
11320
11348
|
delete: 'Удалить',
|
|
11321
11349
|
},
|
|
11350
|
+
userRoles: {
|
|
11351
|
+
title: 'Управление ролями пользователей',
|
|
11352
|
+
details: 'Детали роли пользователя',
|
|
11353
|
+
},
|
|
11322
11354
|
},
|
|
11323
11355
|
},
|
|
11324
11356
|
};
|
|
@@ -15982,11 +16014,484 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
15982
16014
|
], template: "<div class=\"kit-tree\">\n <div class=\"kit-tree-toolbar\">\n @if (isStructuredFormat()) {\n <kit-button kitTooltip\n kitTooltipFilter=\"kit-button\"\n [title]=\"toggleAllTitleKey() | translate\"\n [kitTooltipPosition]=\"kitTooltipPosition.TOP\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"toggleAllIcon()\"\n [disabled]=\"isExpandAllDisabled()\"\n (clicked)=\"toggleAll()\"\n ></kit-button>\n }\n <kit-button kitTooltip\n kitTooltipFilter=\"kit-button\"\n [title]=\"'kit.tree.actions.copyRaw' | translate\"\n [kitTooltipPosition]=\"kitTooltipPosition.TOP\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"kitSvgIcon.COPY\"\n [iconType]=\"kitSvgIconType.STROKE\"\n (clicked)=\"copyRawInput()\"\n ></kit-button>\n <kit-button kitTooltip\n kitTooltipFilter=\"kit-button\"\n [title]=\"'kit.tree.actions.copyPrettified' | translate\"\n [kitTooltipPosition]=\"kitTooltipPosition.TOP\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"kitSvgIcon.MAGIC_WAND\"\n (clicked)=\"copyPrettifiedInput()\"\n ></kit-button>\n\n @if (isStructuredFormat()) {\n <kit-button kitTooltip\n kitTooltipFilter=\"kit-button\"\n [title]=\"toggleViewTitleKey() | translate\"\n [kitTooltipPosition]=\"kitTooltipPosition.TOP\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"toggleViewIcon()\"\n [active]=\"isRawView()\"\n (clicked)=\"toggleRawFormattedView()\"\n ></kit-button>\n }\n\n @for (action of customActions(); track action.id) {\n <kit-button kitTooltip\n kitTooltipFilter=\"kit-button\"\n [title]=\"action.label\"\n [kitTooltipPosition]=\"kitTooltipPosition.TOP\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [icon]=\"action.icon\"\n [active]=\"activeCustomActionId() === action.id\"\n [disabled]=\"!!action.disabled\"\n (clicked)=\"onCustomActionClick(action)\"\n ></kit-button>\n }\n </div>\n\n <div class=\"kit-tree-content\">\n @if (isCustomContentActive()) {\n <div class=\"kit-tree-custom-content\">\n <ng-container [ngTemplateOutlet]=\"activeTemplate()?.templateRef ?? null\"></ng-container>\n </div>\n } @else if (isRawView() || !isStructuredFormat()) {\n <pre class=\"kit-tree-raw\">{{ rawContent() }}</pre>\n } @else {\n <kendo-treeview kendoTreeViewHierarchyBinding\n kendoTreeViewExpandable\n childrenField=\"children\"\n textField=\"displayKey\"\n expandBy=\"key\"\n [nodes]=\"treeNodes()\"\n [expandedKeys]=\"expandedKeys()\"\n (expandedKeysChange)=\"onExpandedKeysChange($event)\">\n <ng-template kendoTreeViewNodeTemplate\n let-dataItem>\n <div class=\"kit-tree-node\">\n @if (dataItem.displayValue !== undefined) {\n <div class=\"kit-tree-node-key\">{{ dataItem.displayKey }}</div>\n <div class=\"kit-tree-node-separator\">:</div>\n @if (!isNodeExpanded(dataItem)) {\n <div class=\"kit-tree-node-value\">{{ dataItem.displayValue }}</div>\n }\n } @else {\n <div class=\"kit-tree-node-key\">{{ dataItem.text }}</div>\n }\n </div>\n </ng-template>\n </kendo-treeview>\n }\n </div>\n</div>\n", styles: [".display-flex{display:flex}.flex-align-items-center{align-items:center}.flex-justify-content-center{justify-content:center}.flex-justify-content-end{justify-content:flex-end}.display-block{display:block}div[kendowatermarkoverlay]{display:none}:root{--ui-kit-header-height: 86px;--ui-kit-sidebar-collapsed-width: 56px;--ui-kit-sidebar-expanded-width: 256px;--ui-kit-layout-gap: 25px}.kit-tree{padding:15px;background-color:var(--ui-kit-color-white);border:1px solid var(--ui-kit-color-grey-11);border-radius:10px}.kit-tree-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--ui-kit-color-grey-11)}.kit-tree-content{padding:15px 0 0}.kit-tree-node{display:flex;align-items:center;gap:5px;padding:3px 0;font-size:14px;font-family:monospace;line-height:1.5}.kit-tree-node-key{color:var(--ui-kit-color-grey-10);font-weight:600}.kit-tree-node-separator{color:var(--ui-kit-color-grey-10)}.kit-tree-node-value{color:var(--ui-kit-color-main)}.kit-tree-raw{margin:0;padding:10px;color:var(--ui-kit-color-grey-10);font-family:monospace;border-radius:6px;white-space:pre-wrap;word-break:break-word;background:var(--ui-kit-color-grey-8)}.kit-tree .k-treeview::-webkit-scrollbar{height:8px;width:8px;background-color:var(--ui-kit-color-white)}.kit-tree .k-treeview::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-12);border-radius:4px}.kit-tree .k-treeview::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-18)}.kit-tree .k-treeview{scrollbar-color:initial}.kit-tree .k-treeview-group{padding-left:20px}.kit-tree .k-treeview-lines{margin:0;padding:0;list-style:none}.kit-tree .k-treeview-leaf{padding:0}.kit-tree .k-treeview-item{list-style:none}.kit-tree .k-treeview-item-content{display:flex;align-items:center;gap:5px;padding-inline-start:calc(var(--kendo-treeview-level, 0) * 20px)}.kit-tree .k-treeview-item-content:hover{background:none}.kit-tree .k-treeview-item-content.k-focus{box-shadow:none}.kit-tree .k-treeview-toggle{margin-inline-start:-25px;width:18px;height:18px;cursor:pointer}.kit-tree .k-treeview-toggle:hover{color:var(--ui-kit-color-main)}.kit-tree .k-treeview-toggle .k-icon{padding:0;width:100%;height:100%}\n"] }]
|
|
15983
16015
|
}], ctorParameters: () => [], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], customActions: [{ type: i0.Input, args: [{ isSignal: true, alias: "customActions", required: false }] }], contentTemplates: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => KitTreeContentDirective), { isSignal: true }] }] } });
|
|
15984
16016
|
|
|
16017
|
+
const KIT_ENTITY_CREATE_SERVICE = new InjectionToken('kitEntityCreateService');
|
|
16018
|
+
class KitCreateEntityDialogComponent extends DialogContentBase {
|
|
16019
|
+
constructor() {
|
|
16020
|
+
super(...arguments);
|
|
16021
|
+
this.entityService = inject(KIT_ENTITY_CREATE_SERVICE);
|
|
16022
|
+
this.kitFormErrors = inject(KitFormErrors);
|
|
16023
|
+
this.formBuilder = inject(FormBuilder);
|
|
16024
|
+
this.form = this.formBuilder.group({
|
|
16025
|
+
name: this.formBuilder.control('', [
|
|
16026
|
+
Validators.required,
|
|
16027
|
+
kitWhitespaceValidator(),
|
|
16028
|
+
Validators.maxLength(256),
|
|
16029
|
+
]),
|
|
16030
|
+
});
|
|
16031
|
+
this.kitButtonKind = KitButtonKind;
|
|
16032
|
+
this.kitButtonType = KitButtonType;
|
|
16033
|
+
this.isSaving = signal(false, ...(ngDevMode ? [{ debugName: "isSaving" }] : /* istanbul ignore next */ []));
|
|
16034
|
+
this.getTextboxState = getTextboxState;
|
|
16035
|
+
}
|
|
16036
|
+
createEntity() {
|
|
16037
|
+
this.isSaving.set(true);
|
|
16038
|
+
this.entityService.save({ name: this.form.controls['name'].value }).pipe(finalize(() => this.isSaving.set(false))).subscribe((data) => {
|
|
16039
|
+
this.dialog.close(data);
|
|
16040
|
+
});
|
|
16041
|
+
}
|
|
16042
|
+
getFormErrorMessages(form, controlName) {
|
|
16043
|
+
return this.kitFormErrors.getErrors(form.controls[controlName]).join('. ');
|
|
16044
|
+
}
|
|
16045
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitCreateEntityDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
16046
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: KitCreateEntityDialogComponent, isStandalone: true, selector: "kit-create-entity-dialog", providers: [KitFormErrors], usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"form\">\n <kit-textbox class=\"textbox\"\n formControlName=\"name\"\n [label]=\"'Name' | translate\"\n [showStateIcon]=\"false\"\n [state]=\"getTextboxState(form.get('name'))\"\n [messageText]=\"getFormErrorMessages(form, 'name')\" />\n\n <kit-dialog-actions>\n <kit-button [label]=\"'Cancel' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"dialog.close()\" />\n <kit-button [label]=\"'Save' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"form.invalid || isSaving()\"\n (clicked)=\"createEntity()\" />\n </kit-dialog-actions>\n</div>\n", styles: ["::ng-deep .kit-dialog .k-dialog{min-width:400px}::ng-deep .kit-dialog .k-dialog .k-dialog-content{padding:20px 25px}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "component", type: KitTextboxComponent, selector: "kit-textbox", inputs: ["placeholder", "label", "labelTooltip", "defaultValue", "messageIcon", "messageText", "messageTemplate", "disabled", "maxlength", "state", "size", "icon", "clearButton", "showStateIcon", "readonly", "customStateIcon", "type"], outputs: ["defaultValueChange", "disabledChange", "blured", "focused", "changed"] }, { kind: "component", type: KitDialogActionsComponent, selector: "kit-dialog-actions" }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$8.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$8.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "pipe", type: i1$e.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16047
|
+
}
|
|
16048
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitCreateEntityDialogComponent, decorators: [{
|
|
16049
|
+
type: Component,
|
|
16050
|
+
args: [{ selector: 'kit-create-entity-dialog', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
16051
|
+
TranslateModule,
|
|
16052
|
+
KitTextboxComponent,
|
|
16053
|
+
KitDialogActionsComponent,
|
|
16054
|
+
KitButtonComponent,
|
|
16055
|
+
FormsModule,
|
|
16056
|
+
ReactiveFormsModule,
|
|
16057
|
+
], providers: [KitFormErrors], template: "<div [formGroup]=\"form\">\n <kit-textbox class=\"textbox\"\n formControlName=\"name\"\n [label]=\"'Name' | translate\"\n [showStateIcon]=\"false\"\n [state]=\"getTextboxState(form.get('name'))\"\n [messageText]=\"getFormErrorMessages(form, 'name')\" />\n\n <kit-dialog-actions>\n <kit-button [label]=\"'Cancel' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"dialog.close()\" />\n <kit-button [label]=\"'Save' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [disabled]=\"form.invalid || isSaving()\"\n (clicked)=\"createEntity()\" />\n </kit-dialog-actions>\n</div>\n", styles: ["::ng-deep .kit-dialog .k-dialog{min-width:400px}::ng-deep .kit-dialog .k-dialog .k-dialog-content{padding:20px 25px}\n"] }]
|
|
16058
|
+
}] });
|
|
16059
|
+
|
|
16060
|
+
var KitPermissionTypes;
|
|
16061
|
+
(function (KitPermissionTypes) {
|
|
16062
|
+
KitPermissionTypes["Create"] = "Create";
|
|
16063
|
+
KitPermissionTypes["Delete"] = "Delete";
|
|
16064
|
+
KitPermissionTypes["Edit"] = "Edit";
|
|
16065
|
+
KitPermissionTypes["View"] = "View";
|
|
16066
|
+
KitPermissionTypes["Set"] = "Set";
|
|
16067
|
+
KitPermissionTypes["Use"] = "Use";
|
|
16068
|
+
})(KitPermissionTypes || (KitPermissionTypes = {}));
|
|
16069
|
+
const defaultUserRolesSort = [{ field: 'name', dir: 'asc' }];
|
|
16070
|
+
const exportedUserRoleColumns = [
|
|
16071
|
+
kitBuildGridColumn('name', 'Name', 'string', false, false, KIT_GRID_COLUMN_WIDTH),
|
|
16072
|
+
];
|
|
16073
|
+
|
|
16074
|
+
class FetchUserRoles extends KitAbstractPayloadAction {
|
|
16075
|
+
static { this.type = '[KitUserRoles] Fetch User Roles'; }
|
|
16076
|
+
}
|
|
16077
|
+
class FetchUserRoleDetails extends KitAbstractPayloadAction {
|
|
16078
|
+
static { this.type = '[KitUserRoles] Fetch User Role Details'; }
|
|
16079
|
+
}
|
|
16080
|
+
class DeleteUserRole extends KitAbstractPayloadAction {
|
|
16081
|
+
static { this.type = '[KitUserRoles] Delete User Role'; }
|
|
16082
|
+
}
|
|
16083
|
+
class UpdateUserRole extends KitAbstractPayloadAction {
|
|
16084
|
+
static { this.type = '[KitUserRoles] Update User Role'; }
|
|
16085
|
+
}
|
|
16086
|
+
|
|
16087
|
+
class KitUserRolesService {
|
|
16088
|
+
constructor() {
|
|
16089
|
+
this.httpClient = inject(HttpClient);
|
|
16090
|
+
this.baseUrl = `${trimTrailingSlash(inject(KIT_BASE_PATH))}`;
|
|
16091
|
+
}
|
|
16092
|
+
fetchUserRoles({ skip, take, sort, filter }) {
|
|
16093
|
+
return this.httpClient.get(`${this.baseUrl}/users/roles`, { params: kitBuildHttpParams({ $skip: skip, $top: take, $orderby: kitBuildSortString(sort), $filter: kitBuildOdataFilter(filter) }) });
|
|
16094
|
+
}
|
|
16095
|
+
fetchUserRoleDetails(id) {
|
|
16096
|
+
return this.httpClient.get(`${this.baseUrl}/users/roles/${id}`);
|
|
16097
|
+
}
|
|
16098
|
+
save(payload) {
|
|
16099
|
+
if (!payload.id) {
|
|
16100
|
+
return this.httpClient.post(`${this.baseUrl}/users/roles`, { ...payload, permissions: {} });
|
|
16101
|
+
}
|
|
16102
|
+
return this.httpClient.put(`${this.baseUrl}/users/roles/${payload.id}`, payload);
|
|
16103
|
+
}
|
|
16104
|
+
deleteUserRole(id) {
|
|
16105
|
+
return this.httpClient.delete(`${this.baseUrl}/users/roles/${id}`);
|
|
16106
|
+
}
|
|
16107
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitUserRolesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16108
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitUserRolesService }); }
|
|
16109
|
+
}
|
|
16110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitUserRolesService, decorators: [{
|
|
16111
|
+
type: Injectable
|
|
16112
|
+
}] });
|
|
16113
|
+
|
|
16114
|
+
const KIT_USER_ROLES_STATE_TOKEN = new StateToken('kitUserRoles');
|
|
16115
|
+
let KitUserRolesState = class KitUserRolesState {
|
|
16116
|
+
constructor() {
|
|
16117
|
+
this.kitUserRolesService = inject(KitUserRolesService);
|
|
16118
|
+
}
|
|
16119
|
+
fetchUserRoles(ctx, action) {
|
|
16120
|
+
const { skip, take, filter, sort } = action.payload;
|
|
16121
|
+
return this.kitUserRolesService.fetchUserRoles({ skip, take, filter, sort }).pipe(tap(data => {
|
|
16122
|
+
ctx.patchState({
|
|
16123
|
+
roles: {
|
|
16124
|
+
loading: false,
|
|
16125
|
+
data: data.data,
|
|
16126
|
+
total: data.total,
|
|
16127
|
+
},
|
|
16128
|
+
});
|
|
16129
|
+
}), catchError(err => {
|
|
16130
|
+
ctx.patchState({
|
|
16131
|
+
roles: {
|
|
16132
|
+
loading: false,
|
|
16133
|
+
data: [],
|
|
16134
|
+
total: 0,
|
|
16135
|
+
},
|
|
16136
|
+
});
|
|
16137
|
+
return throwError(() => err);
|
|
16138
|
+
}));
|
|
16139
|
+
}
|
|
16140
|
+
fetchUserRoleDetails(ctx, { payload }) {
|
|
16141
|
+
ctx.patchState({
|
|
16142
|
+
roleDetails: { loading: true, data: null },
|
|
16143
|
+
});
|
|
16144
|
+
return this.kitUserRolesService.fetchUserRoleDetails(payload.id).pipe(tap(data => ctx.patchState({
|
|
16145
|
+
roleDetails: {
|
|
16146
|
+
loading: false,
|
|
16147
|
+
data,
|
|
16148
|
+
},
|
|
16149
|
+
})));
|
|
16150
|
+
}
|
|
16151
|
+
deleteUserRole(ctx, { payload }) {
|
|
16152
|
+
return this.kitUserRolesService.deleteUserRole(payload.id).pipe(tap(() => {
|
|
16153
|
+
const state = ctx.getState();
|
|
16154
|
+
const filteredData = state.roles.data.filter(p => p.id !== payload.id);
|
|
16155
|
+
const wasDeleted = filteredData.length < state.roles.data.length;
|
|
16156
|
+
ctx.patchState({
|
|
16157
|
+
roles: {
|
|
16158
|
+
loading: false,
|
|
16159
|
+
data: filteredData,
|
|
16160
|
+
total: wasDeleted ? (state.roles.total ?? 1) - 1 : state.roles.total,
|
|
16161
|
+
},
|
|
16162
|
+
roleDetails: {
|
|
16163
|
+
data: null,
|
|
16164
|
+
loading: false,
|
|
16165
|
+
},
|
|
16166
|
+
});
|
|
16167
|
+
}));
|
|
16168
|
+
}
|
|
16169
|
+
updateUserRoleDetails(ctx, { payload }) {
|
|
16170
|
+
return this.kitUserRolesService.save(payload).pipe(tap(() => {
|
|
16171
|
+
ctx.setState(patch({
|
|
16172
|
+
roles: patch({
|
|
16173
|
+
data: updateItem(ud => ud?.id === payload.id, patch({ name: payload.name })),
|
|
16174
|
+
}),
|
|
16175
|
+
roleDetails: patch({
|
|
16176
|
+
data: payload,
|
|
16177
|
+
}),
|
|
16178
|
+
}));
|
|
16179
|
+
}));
|
|
16180
|
+
}
|
|
16181
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitUserRolesState, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16182
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitUserRolesState }); }
|
|
16183
|
+
};
|
|
16184
|
+
__decorate([
|
|
16185
|
+
Action(FetchUserRoles)
|
|
16186
|
+
], KitUserRolesState.prototype, "fetchUserRoles", null);
|
|
16187
|
+
__decorate([
|
|
16188
|
+
Action(FetchUserRoleDetails)
|
|
16189
|
+
], KitUserRolesState.prototype, "fetchUserRoleDetails", null);
|
|
16190
|
+
__decorate([
|
|
16191
|
+
Action(DeleteUserRole)
|
|
16192
|
+
], KitUserRolesState.prototype, "deleteUserRole", null);
|
|
16193
|
+
__decorate([
|
|
16194
|
+
Action(UpdateUserRole)
|
|
16195
|
+
], KitUserRolesState.prototype, "updateUserRoleDetails", null);
|
|
16196
|
+
KitUserRolesState = __decorate([
|
|
16197
|
+
State({
|
|
16198
|
+
name: KIT_USER_ROLES_STATE_TOKEN,
|
|
16199
|
+
defaults: {
|
|
16200
|
+
roles: kitApiResponseDefaultEntities(),
|
|
16201
|
+
roleDetails: kitApiResponseDefaultEntities(),
|
|
16202
|
+
},
|
|
16203
|
+
})
|
|
16204
|
+
], KitUserRolesState);
|
|
16205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitUserRolesState, decorators: [{
|
|
16206
|
+
type: Injectable
|
|
16207
|
+
}], propDecorators: { fetchUserRoles: [], fetchUserRoleDetails: [], deleteUserRole: [], updateUserRoleDetails: [] } });
|
|
16208
|
+
|
|
16209
|
+
class KitUserRoleDetailsComponent {
|
|
16210
|
+
constructor() {
|
|
16211
|
+
this.store = inject(Store);
|
|
16212
|
+
this.kitDialogService = inject(KitDialogService);
|
|
16213
|
+
this.translateService = inject(TranslateService);
|
|
16214
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
16215
|
+
this.kitFormErrors = inject(KitFormErrors);
|
|
16216
|
+
this.roleId = input.required(...(ngDevMode ? [{ debugName: "roleId" }] : /* istanbul ignore next */ []));
|
|
16217
|
+
this.allPermissions = input.required(...(ngDevMode ? [{ debugName: "allPermissions" }] : /* istanbul ignore next */ []));
|
|
16218
|
+
this.deleted = output();
|
|
16219
|
+
this.updated = output();
|
|
16220
|
+
this.kitSvgIcon = KitSvgIcon;
|
|
16221
|
+
this.kitSvgIconType = KitSvgIconType;
|
|
16222
|
+
this.kitButtonType = KitButtonType;
|
|
16223
|
+
this.kitButtonKind = KitButtonKind;
|
|
16224
|
+
this.kitButtonIconPosition = KitButtonIconPosition;
|
|
16225
|
+
this.crudPermissionTypes = [
|
|
16226
|
+
KitPermissionTypes.View,
|
|
16227
|
+
KitPermissionTypes.Create,
|
|
16228
|
+
KitPermissionTypes.Edit,
|
|
16229
|
+
KitPermissionTypes.Delete,
|
|
16230
|
+
];
|
|
16231
|
+
this.nameControl = new FormControl('', {
|
|
16232
|
+
nonNullable: true,
|
|
16233
|
+
validators: [
|
|
16234
|
+
Validators.required,
|
|
16235
|
+
Validators.maxLength(256),
|
|
16236
|
+
],
|
|
16237
|
+
});
|
|
16238
|
+
this.userRoleDetails = toSignal(this.store.select(KIT_USER_ROLES_STATE_TOKEN).pipe(map(({ roleDetails }) => roleDetails)), { initialValue: { loading: false, data: null } });
|
|
16239
|
+
this.pendingRoleDetails = signal(null, ...(ngDevMode ? [{ debugName: "pendingRoleDetails" }] : /* istanbul ignore next */ []));
|
|
16240
|
+
this.crudCategories = computed(() => this.filterCategories(true), ...(ngDevMode ? [{ debugName: "crudCategories" }] : /* istanbul ignore next */ []));
|
|
16241
|
+
this.nonCrudCategories = computed(() => this.filterCategories(false), ...(ngDevMode ? [{ debugName: "nonCrudCategories" }] : /* istanbul ignore next */ []));
|
|
16242
|
+
this.isNameTouched = signal(false, ...(ngDevMode ? [{ debugName: "isNameTouched" }] : /* istanbul ignore next */ []));
|
|
16243
|
+
this.isDirty = computed(() => {
|
|
16244
|
+
const pending = this.pendingRoleDetails();
|
|
16245
|
+
const original = this.userRoleDetails().data;
|
|
16246
|
+
if (!pending || !original) {
|
|
16247
|
+
return false;
|
|
16248
|
+
}
|
|
16249
|
+
if (this.nameValue() !== original.name) {
|
|
16250
|
+
return true;
|
|
16251
|
+
}
|
|
16252
|
+
return !this.permissionsEqual(pending.permissions, original.permissions);
|
|
16253
|
+
}, ...(ngDevMode ? [{ debugName: "isDirty" }] : /* istanbul ignore next */ []));
|
|
16254
|
+
this.canSave = computed(() => this.isDirty() && this.nameStatus() === 'VALID', ...(ngDevMode ? [{ debugName: "canSave" }] : /* istanbul ignore next */ []));
|
|
16255
|
+
this.getTextboxState = getTextboxState;
|
|
16256
|
+
this.nameStatus = toSignal(this.nameControl.statusChanges, { initialValue: this.nameControl.status });
|
|
16257
|
+
this.nameValue = toSignal(this.nameControl.valueChanges, { initialValue: this.nameControl.value });
|
|
16258
|
+
this.cancelAction = {
|
|
16259
|
+
text: this.translateService.instant('Cancel'),
|
|
16260
|
+
cssClass: `${KitButtonType.GHOST} ${KitButtonState.DEFAULT} ${KitButtonKind.MEDIUM}`,
|
|
16261
|
+
};
|
|
16262
|
+
this.deleteAction = {
|
|
16263
|
+
text: this.translateService.instant('Buttons.Delete'),
|
|
16264
|
+
cssClass: `${KitButtonType.PRIMARY} ${KitButtonState.ERROR} ${KitButtonKind.MEDIUM}`,
|
|
16265
|
+
};
|
|
16266
|
+
effect(() => {
|
|
16267
|
+
const id = this.roleId();
|
|
16268
|
+
this.store.dispatch(new FetchUserRoleDetails({ id }));
|
|
16269
|
+
this.pendingRoleDetails.set(null);
|
|
16270
|
+
this.isNameTouched.set(false);
|
|
16271
|
+
this.nameControl.reset();
|
|
16272
|
+
});
|
|
16273
|
+
effect(() => {
|
|
16274
|
+
const state = this.userRoleDetails();
|
|
16275
|
+
if (!state.loading && state.data && !this.pendingRoleDetails()) {
|
|
16276
|
+
this.pendingRoleDetails.set({ ...state.data, permissions: { ...state.data.permissions } });
|
|
16277
|
+
this.nameControl.setValue(state.data.name);
|
|
16278
|
+
this.nameControl.markAsPristine();
|
|
16279
|
+
}
|
|
16280
|
+
});
|
|
16281
|
+
}
|
|
16282
|
+
isPermissionSelected(permissions, category, type) {
|
|
16283
|
+
return permissions[category]?.includes(type) ?? false;
|
|
16284
|
+
}
|
|
16285
|
+
togglePermission(category, type, selected) {
|
|
16286
|
+
const pending = this.pendingRoleDetails();
|
|
16287
|
+
if (!pending) {
|
|
16288
|
+
return;
|
|
16289
|
+
}
|
|
16290
|
+
;
|
|
16291
|
+
const currentTypes = pending.permissions[category] ?? [];
|
|
16292
|
+
const updatedTypes = selected
|
|
16293
|
+
? [
|
|
16294
|
+
...currentTypes,
|
|
16295
|
+
type,
|
|
16296
|
+
]
|
|
16297
|
+
: currentTypes.filter(t => t !== type);
|
|
16298
|
+
this.pendingRoleDetails.set({
|
|
16299
|
+
...pending,
|
|
16300
|
+
permissions: {
|
|
16301
|
+
...pending.permissions,
|
|
16302
|
+
[category]: updatedTypes,
|
|
16303
|
+
},
|
|
16304
|
+
});
|
|
16305
|
+
}
|
|
16306
|
+
saveRole() {
|
|
16307
|
+
const pending = this.pendingRoleDetails();
|
|
16308
|
+
if (!pending) {
|
|
16309
|
+
return;
|
|
16310
|
+
}
|
|
16311
|
+
;
|
|
16312
|
+
this.updated.emit({ ...pending, name: this.nameControl.value });
|
|
16313
|
+
}
|
|
16314
|
+
deleteRole(name) {
|
|
16315
|
+
this.kitDialogService.openDialog({
|
|
16316
|
+
title: `${this.translateService.instant('kit.common.delete')} ${name}`,
|
|
16317
|
+
content: `${this.translateService.instant('kit.common.confirmationDelete', { name })}`,
|
|
16318
|
+
appendTo: this.viewContainerRef,
|
|
16319
|
+
actions: [
|
|
16320
|
+
this.cancelAction,
|
|
16321
|
+
this.deleteAction,
|
|
16322
|
+
],
|
|
16323
|
+
cssClass: 'delete-group-dialog',
|
|
16324
|
+
});
|
|
16325
|
+
this.kitDialogService.dialogRef?.result.pipe(take(1)).subscribe(action => {
|
|
16326
|
+
if (action === this.deleteAction) {
|
|
16327
|
+
this.deleted.emit();
|
|
16328
|
+
}
|
|
16329
|
+
});
|
|
16330
|
+
}
|
|
16331
|
+
getNameErrorMessages() {
|
|
16332
|
+
return this.kitFormErrors.getErrors(this.nameControl).join('. ');
|
|
16333
|
+
}
|
|
16334
|
+
isCrudCategory(types) {
|
|
16335
|
+
if (types.length !== this.crudPermissionTypes.length) {
|
|
16336
|
+
return false;
|
|
16337
|
+
}
|
|
16338
|
+
return this.crudPermissionTypes.every(t => types.includes(t));
|
|
16339
|
+
}
|
|
16340
|
+
filterCategories(crud) {
|
|
16341
|
+
return Object.entries(this.allPermissions())
|
|
16342
|
+
.filter(([, types]) => this.isCrudCategory(types) === crud)
|
|
16343
|
+
.map(entry => ({ category: entry[0], types: entry[1] }))
|
|
16344
|
+
.sort((a, b) => a.category.localeCompare(b.category));
|
|
16345
|
+
}
|
|
16346
|
+
permissionsEqual(a, b) {
|
|
16347
|
+
const keysA = Object.keys(a).sort((x, y) => x.localeCompare(y));
|
|
16348
|
+
const keysB = Object.keys(b).sort((x, y) => x.localeCompare(y));
|
|
16349
|
+
if (keysA.join() !== keysB.join()) {
|
|
16350
|
+
return false;
|
|
16351
|
+
}
|
|
16352
|
+
return keysA.every(key => {
|
|
16353
|
+
const sortedA = [...(a[key] ?? [])].sort((x, y) => x.localeCompare(y)).join();
|
|
16354
|
+
const sortedB = [...(b[key] ?? [])].sort((x, y) => x.localeCompare(y)).join();
|
|
16355
|
+
return sortedA === sortedB;
|
|
16356
|
+
});
|
|
16357
|
+
}
|
|
16358
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitUserRoleDetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16359
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: KitUserRoleDetailsComponent, isStandalone: true, selector: "kit-user-role-details", inputs: { roleId: { classPropertyName: "roleId", publicName: "roleId", isSignal: true, isRequired: true, transformFunction: null }, allPermissions: { classPropertyName: "allPermissions", publicName: "allPermissions", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { deleted: "deleted", updated: "updated" }, providers: [KitFormErrors], ngImport: i0, template: "@if (userRoleDetails().loading) {\n <kit-skeleton-section />\n} @else if (pendingRoleDetails()) {\n <div class=\"user-role-details\">\n <kit-entity-section-container>\n <ng-container title>\n <div class=\"details-header\">\n <span>{{ \"kit.userRoles.details\" | translate }}</span>\n <div class=\"details-header-actions\">\n <kit-button [label]=\"'kit.common.save' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.PRIMARY\"\n [disabled]=\"!canSave()\"\n (clicked)=\"saveRole()\" />\n <kit-button [label]=\"'kit.common.delete' | translate\"\n [icon]=\"kitSvgIcon.TRASH\"\n [iconType]=\"kitSvgIconType.STROKE\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n (clicked)=\"deleteRole(pendingRoleDetails()?.name || '')\"/>\n </div>\n </div>\n </ng-container>\n </kit-entity-section-container>\n <div class=\"details-content\">\n <kit-textbox class=\"textbox-name\"\n [label]=\"'kit.common.name' | translate\"\n [showStateIcon]=\"false\"\n [formControl]=\"nameControl\"\n [state]=\"getTextboxState(nameControl)\"\n [messageText]=\"getNameErrorMessages()\" />\n\n <div class=\"permissions\">\n @if (crudCategories().length) {\n <table class=\"permissions-table\">\n <thead>\n <tr>\n <th></th>\n @for (type of crudPermissionTypes; track type) {\n <th>{{ \"Permissions.\" + type | translate }}</th>\n }\n </tr>\n </thead>\n <tbody>\n @for (entry of crudCategories(); track entry.category) {\n <tr>\n <td class=\"permissions-table-category\">\n {{ \"kit.userRoles.permissions.maintain\" | translate }} {{ \"Permissions.\" + entry.category | translate }}\n </td>\n @for (type of crudPermissionTypes; track type) {\n <td class=\"permissions-table-cell\">\n <kit-checkbox [checked]=\"isPermissionSelected(pendingRoleDetails()!.permissions, entry.category, type)\"\n (changed)=\"togglePermission(entry.category, type, $event)\"\n />\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n }\n\n @if (nonCrudCategories().length) {\n <div class=\"non-crud-permissions\">\n @for (entry of nonCrudCategories(); track entry.category) {\n @for (type of $any(entry.types); track type) {\n <kit-checkbox [label]=\"('Permissions.' + entry.category | translate) + ' ' + ('Permissions.' + type | translate)\"\n [checked]=\"isPermissionSelected(pendingRoleDetails()!.permissions, entry.category, type)\"\n (changed)=\"togglePermission(entry.category, type, $event)\"\n />\n }\n }\n </div>\n }\n </div>\n </div>\n </div>\n}\n", styles: [".user-role-details .details-header{display:flex;justify-content:space-between;align-items:center}.user-role-details .details-header-actions{display:flex;gap:10px}.user-role-details .details-content{padding-top:20px}.user-role-details .permissions{margin-top:15px}.user-role-details .permissions-table{width:100%;border-collapse:collapse}.user-role-details .permissions-table thead th{text-align:center;padding:8px 12px;font-weight:600}.user-role-details .permissions-table thead th:first-child{text-align:left}.user-role-details .permissions-table tbody tr:nth-child(odd){background-color:var(--ui-kit-color-white)}.user-role-details .permissions-table .permissions-table-category,.user-role-details .permissions-table .permissions-table-cell{padding:8px 12px}.user-role-details .permissions-table .permissions-table-cell{text-align:center}.user-role-details .non-crud-permissions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;padding:8px 12px;margin-top:15px}.user-role-details ::ng-deep .kit-entity-section-container{padding-bottom:10px;gap:0}.user-role-details ::ng-deep .permissions-table .kit-checkbox-input{margin:auto}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: KitCheckboxComponent, selector: "kit-checkbox", inputs: ["label", "disabled", "checked", "readonly", "state", "messageIcon", "messageText", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: KitEntitySectionContainerComponent, selector: "kit-entity-section-container" }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "component", type: KitTextboxComponent, selector: "kit-textbox", inputs: ["placeholder", "label", "labelTooltip", "defaultValue", "messageIcon", "messageText", "messageTemplate", "disabled", "maxlength", "state", "size", "icon", "clearButton", "showStateIcon", "readonly", "customStateIcon", "type"], outputs: ["defaultValueChange", "disabledChange", "blured", "focused", "changed"] }, { kind: "component", type: KitSkeletonSectionComponent, selector: "kit-skeleton-section" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16360
|
+
}
|
|
16361
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitUserRoleDetailsComponent, decorators: [{
|
|
16362
|
+
type: Component,
|
|
16363
|
+
args: [{ selector: 'kit-user-role-details', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
16364
|
+
ReactiveFormsModule,
|
|
16365
|
+
KitCheckboxComponent,
|
|
16366
|
+
KitEntitySectionContainerComponent,
|
|
16367
|
+
KitButtonComponent,
|
|
16368
|
+
KitTextboxComponent,
|
|
16369
|
+
TranslatePipe,
|
|
16370
|
+
KitSkeletonSectionComponent,
|
|
16371
|
+
], providers: [KitFormErrors], template: "@if (userRoleDetails().loading) {\n <kit-skeleton-section />\n} @else if (pendingRoleDetails()) {\n <div class=\"user-role-details\">\n <kit-entity-section-container>\n <ng-container title>\n <div class=\"details-header\">\n <span>{{ \"kit.userRoles.details\" | translate }}</span>\n <div class=\"details-header-actions\">\n <kit-button [label]=\"'kit.common.save' | translate\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.PRIMARY\"\n [disabled]=\"!canSave()\"\n (clicked)=\"saveRole()\" />\n <kit-button [label]=\"'kit.common.delete' | translate\"\n [icon]=\"kitSvgIcon.TRASH\"\n [iconType]=\"kitSvgIconType.STROKE\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [type]=\"kitButtonType.GHOST\"\n [kind]=\"kitButtonKind.MEDIUM\"\n (clicked)=\"deleteRole(pendingRoleDetails()?.name || '')\"/>\n </div>\n </div>\n </ng-container>\n </kit-entity-section-container>\n <div class=\"details-content\">\n <kit-textbox class=\"textbox-name\"\n [label]=\"'kit.common.name' | translate\"\n [showStateIcon]=\"false\"\n [formControl]=\"nameControl\"\n [state]=\"getTextboxState(nameControl)\"\n [messageText]=\"getNameErrorMessages()\" />\n\n <div class=\"permissions\">\n @if (crudCategories().length) {\n <table class=\"permissions-table\">\n <thead>\n <tr>\n <th></th>\n @for (type of crudPermissionTypes; track type) {\n <th>{{ \"Permissions.\" + type | translate }}</th>\n }\n </tr>\n </thead>\n <tbody>\n @for (entry of crudCategories(); track entry.category) {\n <tr>\n <td class=\"permissions-table-category\">\n {{ \"kit.userRoles.permissions.maintain\" | translate }} {{ \"Permissions.\" + entry.category | translate }}\n </td>\n @for (type of crudPermissionTypes; track type) {\n <td class=\"permissions-table-cell\">\n <kit-checkbox [checked]=\"isPermissionSelected(pendingRoleDetails()!.permissions, entry.category, type)\"\n (changed)=\"togglePermission(entry.category, type, $event)\"\n />\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n }\n\n @if (nonCrudCategories().length) {\n <div class=\"non-crud-permissions\">\n @for (entry of nonCrudCategories(); track entry.category) {\n @for (type of $any(entry.types); track type) {\n <kit-checkbox [label]=\"('Permissions.' + entry.category | translate) + ' ' + ('Permissions.' + type | translate)\"\n [checked]=\"isPermissionSelected(pendingRoleDetails()!.permissions, entry.category, type)\"\n (changed)=\"togglePermission(entry.category, type, $event)\"\n />\n }\n }\n </div>\n }\n </div>\n </div>\n </div>\n}\n", styles: [".user-role-details .details-header{display:flex;justify-content:space-between;align-items:center}.user-role-details .details-header-actions{display:flex;gap:10px}.user-role-details .details-content{padding-top:20px}.user-role-details .permissions{margin-top:15px}.user-role-details .permissions-table{width:100%;border-collapse:collapse}.user-role-details .permissions-table thead th{text-align:center;padding:8px 12px;font-weight:600}.user-role-details .permissions-table thead th:first-child{text-align:left}.user-role-details .permissions-table tbody tr:nth-child(odd){background-color:var(--ui-kit-color-white)}.user-role-details .permissions-table .permissions-table-category,.user-role-details .permissions-table .permissions-table-cell{padding:8px 12px}.user-role-details .permissions-table .permissions-table-cell{text-align:center}.user-role-details .non-crud-permissions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 24px;padding:8px 12px;margin-top:15px}.user-role-details ::ng-deep .kit-entity-section-container{padding-bottom:10px;gap:0}.user-role-details ::ng-deep .permissions-table .kit-checkbox-input{margin:auto}\n"] }]
|
|
16372
|
+
}], ctorParameters: () => [], propDecorators: { roleId: [{ type: i0.Input, args: [{ isSignal: true, alias: "roleId", required: true }] }], allPermissions: [{ type: i0.Input, args: [{ isSignal: true, alias: "allPermissions", required: true }] }], deleted: [{ type: i0.Output, args: ["deleted"] }], updated: [{ type: i0.Output, args: ["updated"] }] } });
|
|
16373
|
+
|
|
16374
|
+
const kitUserRolesConfig = new InjectionToken('KitUserRolesConfig', {
|
|
16375
|
+
factory: () => {
|
|
16376
|
+
return {
|
|
16377
|
+
listFilters$: of([]),
|
|
16378
|
+
};
|
|
16379
|
+
},
|
|
16380
|
+
});
|
|
16381
|
+
|
|
16382
|
+
class KitUserRolesComponent {
|
|
16383
|
+
constructor() {
|
|
16384
|
+
this.store = inject(Store);
|
|
16385
|
+
this.kitUserRolesService = inject(KitUserRolesService);
|
|
16386
|
+
this.kitDialogService = inject(KitDialogService);
|
|
16387
|
+
this.translateService = inject(TranslateService);
|
|
16388
|
+
this.viewContainerRef = inject(ViewContainerRef);
|
|
16389
|
+
this.injector = inject(Injector);
|
|
16390
|
+
this.kitExcelExportService = inject(KitExcelExportService);
|
|
16391
|
+
this.kitPermissionsApiService = inject(KitPermissionsApiService);
|
|
16392
|
+
this.configFilters = toSignal(inject(kitUserRolesConfig).listFilters$, { initialValue: [] });
|
|
16393
|
+
this.kitCardDetailsComponent = viewChild.required((KitCardDetailsComponent));
|
|
16394
|
+
this.roles$ = this.store.select(KIT_USER_ROLES_STATE_TOKEN).pipe(map(({ roles }) => kitBuildGridDataResults(roles.data, roles.loading, roles.total)));
|
|
16395
|
+
this.permissions$ = this.kitPermissionsApiService.getAllPermissions();
|
|
16396
|
+
this.kitSvgIcon = KitSvgIcon;
|
|
16397
|
+
this.kitSvgIconType = KitSvgIconType;
|
|
16398
|
+
this.kitButtonType = KitButtonType;
|
|
16399
|
+
this.kitButtonKind = KitButtonKind;
|
|
16400
|
+
this.kitButtonIconPosition = KitButtonIconPosition;
|
|
16401
|
+
this.selectedCard = signal(null, ...(ngDevMode ? [{ debugName: "selectedCard" }] : /* istanbul ignore next */ []));
|
|
16402
|
+
this.cardDetailsSkeletonConfig = {
|
|
16403
|
+
itemHeight: 54,
|
|
16404
|
+
itemsCount: 5,
|
|
16405
|
+
};
|
|
16406
|
+
}
|
|
16407
|
+
ngOnDestroy() {
|
|
16408
|
+
this.store.dispatch(new StateReset(KitUserRolesState));
|
|
16409
|
+
}
|
|
16410
|
+
onDataStateChanged({ skip, take, search, filters }) {
|
|
16411
|
+
const filter = {
|
|
16412
|
+
logic: filters?.logic ?? KitFilterLogic.AND,
|
|
16413
|
+
filters: [
|
|
16414
|
+
...(search ? [{ field: 'name', operator: 'contains', value: search }] : []),
|
|
16415
|
+
...(filters?.filters || []),
|
|
16416
|
+
...this.configFilters(),
|
|
16417
|
+
],
|
|
16418
|
+
};
|
|
16419
|
+
this.store.dispatch(new FetchUserRoles({ skip, take, filter, sort: defaultUserRolesSort }));
|
|
16420
|
+
}
|
|
16421
|
+
createNewRole() {
|
|
16422
|
+
this.kitDialogService.openDialog({
|
|
16423
|
+
title: `${this.translateService.instant('CreateNew')}`,
|
|
16424
|
+
content: KitCreateEntityDialogComponent,
|
|
16425
|
+
appendTo: this.viewContainerRef,
|
|
16426
|
+
});
|
|
16427
|
+
this.kitDialogService.dialogRef?.result.pipe(take(1)).subscribe((result) => {
|
|
16428
|
+
if (result && 'id' in result) {
|
|
16429
|
+
this.kitCardDetailsComponent().appendCard(result);
|
|
16430
|
+
this.kitCardDetailsComponent().onCardClick(result);
|
|
16431
|
+
requestAnimationFrame(() => this.kitCardDetailsComponent().scrollToCardById(result.id.toString()));
|
|
16432
|
+
}
|
|
16433
|
+
});
|
|
16434
|
+
}
|
|
16435
|
+
deleteRole(id) {
|
|
16436
|
+
this.store.dispatch(new DeleteUserRole({ id })).subscribe(() => {
|
|
16437
|
+
this.kitCardDetailsComponent().deleteCard(id);
|
|
16438
|
+
});
|
|
16439
|
+
}
|
|
16440
|
+
updateRole(role) {
|
|
16441
|
+
this.store.dispatch(new UpdateUserRole(role)).subscribe(() => {
|
|
16442
|
+
this.kitCardDetailsComponent().updateSpecificCardData({ id: role.id, name: role.name });
|
|
16443
|
+
});
|
|
16444
|
+
}
|
|
16445
|
+
exportExcel() {
|
|
16446
|
+
const configFilters = this.configFilters();
|
|
16447
|
+
const filter = {
|
|
16448
|
+
logic: KitFilterLogic.AND,
|
|
16449
|
+
filters: [...configFilters],
|
|
16450
|
+
};
|
|
16451
|
+
this.kitUserRolesService.fetchUserRoles({ filter }).subscribe(data => {
|
|
16452
|
+
runInInjectionContext(this.injector, () => {
|
|
16453
|
+
this.kitExcelExportService.export(data.data, exportedUserRoleColumns, 'User Roles', {});
|
|
16454
|
+
});
|
|
16455
|
+
});
|
|
16456
|
+
}
|
|
16457
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitUserRolesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16458
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.4", type: KitUserRolesComponent, isStandalone: true, selector: "kit-user-roles", providers: [
|
|
16459
|
+
KitGridCellService,
|
|
16460
|
+
DecimalPipe,
|
|
16461
|
+
DatePipe,
|
|
16462
|
+
KitExcelExportService,
|
|
16463
|
+
{
|
|
16464
|
+
provide: KIT_ENTITY_CREATE_SERVICE,
|
|
16465
|
+
useExisting: KitUserRolesService,
|
|
16466
|
+
},
|
|
16467
|
+
], viewQueries: [{ propertyName: "kitCardDetailsComponent", first: true, predicate: (KitCardDetailsComponent), descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"user-roles\">\n <kit-card-details [cardData$]=\"roles$\"\n [pageSize]=\"10\"\n [title]=\"'kit.userRoles.title' | translate\"\n [cardSkeletonConfig]=\"cardDetailsSkeletonConfig\"\n (dataStateChanged)=\"onDataStateChanged($event)\"\n (cardClicked)=\"selectedCard.set($event)\">\n <ng-template #headerActions>\n <div class=\"header-actions\">\n <kit-button [label]=\"'kit.export.title' | translate\"\n [icon]=\"kitSvgIcon.EXPORT\"\n [iconType]=\"kitSvgIconType.STROKE\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"exportExcel()\" />\n <kit-button [label]=\"'kit.common.create' | translate\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"createNewRole()\" />\n </div>\n </ng-template>\n\n <ng-template #cardElement\n let-card>\n <p class=\"user-roles-card-name\">\n <kit-truncate-text>{{ card.name }}</kit-truncate-text>\n </p>\n </ng-template>\n\n <ng-template #details\n let-activeId>\n <div class=\"user-roles-details\">\n <kit-user-role-details [roleId]=\"activeId\"\n [allPermissions]=\"(permissions$ | async) || {}\"\n (deleted)=\"deleteRole(activeId)\"\n (updated)=\"updateRole($event)\" />\n </div>\n </ng-template>\n </kit-card-details>\n</div>\n", styles: [".user-roles .header-actions{display:flex;gap:10px}.user-roles-card-name{margin:10px 0}\n"], dependencies: [{ kind: "component", type: KitCardDetailsComponent, selector: "kit-card-details", inputs: ["cardData$", "pageSize", "title", "cardSkeletonConfig"], outputs: ["dataStateChanged", "cardClicked"] }, { kind: "component", type: KitButtonComponent, selector: "kit-button", inputs: ["disabled", "label", "type", "icon", "iconType", "kind", "state", "iconPosition", "buttonClass", "active"], outputs: ["clicked"] }, { kind: "component", type: KitTruncateTextComponent, selector: "kit-truncate-text", inputs: ["tooltipText"] }, { kind: "component", type: KitUserRoleDetailsComponent, selector: "kit-user-role-details", inputs: ["roleId", "allPermissions"], outputs: ["deleted", "updated"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
16468
|
+
}
|
|
16469
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitUserRolesComponent, decorators: [{
|
|
16470
|
+
type: Component,
|
|
16471
|
+
args: [{ selector: 'kit-user-roles', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
16472
|
+
KitCardDetailsComponent,
|
|
16473
|
+
TranslatePipe,
|
|
16474
|
+
KitButtonComponent,
|
|
16475
|
+
KitTruncateTextComponent,
|
|
16476
|
+
KitUserRoleDetailsComponent,
|
|
16477
|
+
AsyncPipe,
|
|
16478
|
+
], providers: [
|
|
16479
|
+
KitGridCellService,
|
|
16480
|
+
DecimalPipe,
|
|
16481
|
+
DatePipe,
|
|
16482
|
+
KitExcelExportService,
|
|
16483
|
+
{
|
|
16484
|
+
provide: KIT_ENTITY_CREATE_SERVICE,
|
|
16485
|
+
useExisting: KitUserRolesService,
|
|
16486
|
+
},
|
|
16487
|
+
], template: "<div class=\"user-roles\">\n <kit-card-details [cardData$]=\"roles$\"\n [pageSize]=\"10\"\n [title]=\"'kit.userRoles.title' | translate\"\n [cardSkeletonConfig]=\"cardDetailsSkeletonConfig\"\n (dataStateChanged)=\"onDataStateChanged($event)\"\n (cardClicked)=\"selectedCard.set($event)\">\n <ng-template #headerActions>\n <div class=\"header-actions\">\n <kit-button [label]=\"'kit.export.title' | translate\"\n [icon]=\"kitSvgIcon.EXPORT\"\n [iconType]=\"kitSvgIconType.STROKE\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"exportExcel()\" />\n <kit-button [label]=\"'kit.common.create' | translate\"\n [icon]=\"kitSvgIcon.PLUS\"\n [iconPosition]=\"kitButtonIconPosition.LEADING\"\n [kind]=\"kitButtonKind.MEDIUM\"\n [type]=\"kitButtonType.GHOST\"\n (clicked)=\"createNewRole()\" />\n </div>\n </ng-template>\n\n <ng-template #cardElement\n let-card>\n <p class=\"user-roles-card-name\">\n <kit-truncate-text>{{ card.name }}</kit-truncate-text>\n </p>\n </ng-template>\n\n <ng-template #details\n let-activeId>\n <div class=\"user-roles-details\">\n <kit-user-role-details [roleId]=\"activeId\"\n [allPermissions]=\"(permissions$ | async) || {}\"\n (deleted)=\"deleteRole(activeId)\"\n (updated)=\"updateRole($event)\" />\n </div>\n </ng-template>\n </kit-card-details>\n</div>\n", styles: [".user-roles .header-actions{display:flex;gap:10px}.user-roles-card-name{margin:10px 0}\n"] }]
|
|
16488
|
+
}], propDecorators: { kitCardDetailsComponent: [{ type: i0.ViewChild, args: [i0.forwardRef(() => KitCardDetailsComponent), { isSignal: true }] }] } });
|
|
16489
|
+
|
|
15985
16490
|
// KitButton
|
|
15986
16491
|
|
|
15987
16492
|
/**
|
|
15988
16493
|
* Generated bundle index. Do not edit.
|
|
15989
16494
|
*/
|
|
15990
16495
|
|
|
15991
|
-
export { AbstractKitCtaPanelConfirmationComponent, AddGridFilter, FetchApiTokens, FetchUser, FetchUserIdentities, FetchUserPermissions, FetchUserSettings, HighlightPipe, KIT_API_TOKENS_STATE_TOKEN, KIT_BASE_PATH, KIT_DATETIME_FORMAT_LONG, KIT_DATE_FORMAT, KIT_DATE_FORMAT_SHORT, KIT_GRID_CELL_DATE_FORMAT_CONFIG, KIT_GRID_COLUMN_WIDTH, KIT_GRID_PAGE_SIZE, KIT_GRID_STATE_TOKEN, KIT_TIME_FORMAT_SHORT, KIT_USER_APPLICATIONS_PATH, KIT_USER_IDENTITIES_STATE_TOKEN, KIT_USER_PATH, KIT_USER_PERMISSIONS_PATH, KIT_USER_PERMISSIONS_STATE_TOKEN, KIT_USER_STATE_TOKEN, KitAbstractIdPayloadAction, KitAbstractPayloadAction, KitAccountService, KitApiTokenMaintenanceListComponent, KitApiTokenMaintenanceListState, KitApiTokensPermissionCategories, KitAutocompleteComponent, KitAutocompleteDirective, KitAvatarComponent, KitAvatarSize, KitBackButtonComponent, KitBadgeDirective, KitBadgeTheme, KitBreadcrumbsComponent, KitBreadcrumbsService, KitButtonComponent, KitButtonIconPosition, KitButtonKind, KitButtonState, KitButtonType, KitCardComponent, KitCardDetailsComponent, KitCardTheme, KitCheckboxComponent, KitCheckboxState, KitClipboardService, KitCodeEditorComponent, KitCodeEditorLanguage, KitCollapsedListComponent, KitCollapsedListDropdownAlign, KitCopyTextComponent, KitCtaPanelAbstractConfirmationComponent, KitCtaPanelActionComponent, KitCtaPanelConfirmationComponent, KitCtaPanelItemComponent, KitCtaPanelItemType, KitDataFieldComponent, KitDataFieldState, KitDateRangeSingleInput, KitDatepickerComponent, KitDatepickerSize, KitDaterangeComponent, KitDaterangeType, KitDatetimepickerComponent, KitDeferredFailedRequestService, KitDialogActionsComponent, KitDialogComponent, KitDialogService, KitDialogTitlebarComponent, KitDialogType, KitDrawerComponent, KitDrawerContentTemplateDirective, KitDrawerFooterTemplateDirective, KitDrawerMode, KitDropdownComponent, KitDropdownItemTemplateDirective, KitDropdownSize, KitEmptySectionComponent, KitEntityGridComponent, KitEntitySectionComponent, KitEntitySectionContainerComponent, KitEntitySectionEditableActionsTemplateDirective, KitEntitySectionEditableComponent, KitEntitySectionEditableEditTemplateDirective, KitEntitySectionEditableMode, KitEntitySectionEditableViewTemplateDirective, KitEntityTitleComponent, KitExcelExportService, KitExpansionPanelComponent, KitExpansionPanelHeaderTemplateDirective, KitExpansionPanelToggleMode, KitExpansionPanelView, KitFileCardComponent, KitFileCardMessagesComponent, KitFileCardSize, KitFileUploadComponent, KitFilterCheckboxComponent, KitFilterDateRange, KitFilterLogic, KitFilterOperator, KitFilterType, KitForbiddenComponent, KitFormErrors, KitFormFieldComponent, KitFormLabelComponent, KitFormMessageComponent, KitGlobalSearchComponent, KitGridActionComponent, KitGridArchiveToggle, KitGridCellComponent, KitGridCellService, KitGridCellTemplateDirective, KitGridCheckboxColumnComponent, KitGridCheckboxColumnType, KitGridColumnComponent, KitGridColumnManagerComponent, KitGridComponent, KitGridDetailTemplateDirective, KitGridDetailsButtonComponent, KitGridDropPosition, KitGridExportComponent, KitGridFiltersComponent, KitGridFiltersToggleComponent, KitGridLiveUpdatesControlComponent, KitGridSearchComponent, KitGridSortSettingsMode, KitGridState, KitGridUrlStateService, KitGridViewType, KitGridViewsComponent, KitGridViewsState, KitListComponent, KitLoaderComponent, KitLocationStepperComponent, KitLocationStepperIconTheme, KitLocationStepperTheme, KitMobileHeaderComponent, KitMobileMenuComponent, KitMobileMenuState, KitMultiselectComponent, KitMultiselectGroupTagTemplateDirective, KitMultiselectItemsDirection, KitMultiselectSize, KitNavigationMenuComponent, KitNavigationMenuService, KitNavigationMenuSubmenuComponent, KitNavigationTabsComponent, KitNavigationTabsType, KitNotFoundComponent, KitNoteComponent, KitNotificationComponent, KitNotificationService, KitNotificationType, KitNumericTextboxComponent, KitNumericTextboxSize, KitNumericTextboxState, KitOptionToggleComponent, KitOptionToggleSize, KitPageLayoutComponent, KitPermissionDirective, KitPillComponent, KitPillTheme, KitPillType, KitPopoverAnchorDirective, KitPopoverComponent, KitPopoverPosition, KitPopoverShowOption, KitPopupAlignHorizontal, KitPopupAlignVertical, KitPopupComponent, KitPopupPositionMode, KitProfileMenuComponent, KitQueryParamsName, KitQueryParamsService, KitRadioButtonComponent, KitRadioButtonType, KitRoutePathComponent, KitSchedulerAgendaTimeTemplateDirective, KitSchedulerComponent, KitSchedulerCustomViewTemplateDirective, KitSchedulerMonthEventTemplateDirective, KitSchedulerMonthHeaderCellTemplateDirective, KitSchedulerToolbarTemplateDirective, KitSchedulerWeekEventTemplateDirective, KitScrollNavigationComponent, KitScrollNavigationSectionComponent, KitSearchBarComponent, KitSidebarComponent, KitSkeletonAnimation, KitSkeletonComponent, KitSkeletonGridComponent, KitSkeletonSectionComponent, KitSkeletonShape, KitSortDirection, KitSortableComponent, KitSplitContainerComponent, KitStatusLabelColor, KitStatusLabelComponent, KitStatusLabelSize, KitSvgIcon, KitSvgIconComponent, KitSvgIconType, KitSvgSpriteComponent, KitSwitchComponent, KitSwitchMode, KitSwitchState, KitTabComponent, KitTabContentDirective, KitTabsComponent, KitTabsSize, KitTabsType, KitTextLabelComponent, KitTextLabelState, KitTextareaAutoresizeDirective, KitTextareaComponent, KitTextareaState, KitTextboxActionsComponent, KitTextboxComponent, KitTextboxSize, KitTextboxState, KitThemeService, KitThemes, KitTileLayoutComponent, KitTileLayoutItemComponent, KitTimelineCardComponent, KitTimelineCompactComponent, KitTimelineCompactItemTheme, KitTimelineComponent, KitTimelineTheme, KitTimelineType, KitTimepickerComponent, KitTitleTemplateDirective, KitToastrModule, KitToastrPosition, KitToastrService, KitToastrType, KitToggleComponent, KitToggleSize, KitTooltipDirective, KitTooltipPosition, KitTopBarComponent, KitTrackingCardComponent, KitTrackingTimelineComponent, KitTranslateLoader, KitTranslateService, KitTreeComponent, KitTreeContentDirective, KitTreeContentFormat, KitTreeViewMode, KitTruncateTextComponent, KitUnitsTextboxComponent, KitUnitsTextboxDropdownPosition, KitUnitsTextboxType, KitUserApplicationsState, KitUserIdentitiesInterceptor, KitUserIdentitiesSelector, KitUserIdentitiesState, KitUserPermissionsState, KitUserSettingsComponent, KitUserSettingsKeys, KitUserSettingsState, KitUserState, KitUserType, KitUsersSettingsComponent, KitUsersSettingsEntitlementsService, KitUsersSettingsEntitlementsState, KitUsersSettingsReferenceService, KitUsersSettingsService, KitUsersSettingsState, RemoveGridFilter, SetGridColumns, SetGridFilters, SetGridSearch, SetGridSkip, SetGridSort, SetGridTake, SetUserIdentity, UpdateGridFilter, buildRandomUUID, changeFilterField, createDataFetcherFactory, findMatches, isKitFilterDescriptor, kitApiResponseDefaultEntities, kitApiTokenMaintenanceConfig, kitApiTokenMaintenanceRoutes, kitBuildFilterBooleanOptions, kitBuildFilterListOptions, kitBuildFilters, kitBuildGridColumn, kitBuildGridDataResults, kitBuildHttpParams, kitBuildOdataFilter, kitBuildSortString, kitDataStateToODataString, kitEncodeViewNameToUrl, kitFetchExportGridData, kitFetchGridData, kitFilterBy, kitFormatStringForSearch, kitGetPermissionTypesByCategory, kitHasPermission, kitNormalizeDateToUtc, kitShouldResetGridState, kitTranslations, kitUserPermissionsGuard, kitWhitespaceValidator, mapGlobalSearchResult, trimTrailingSlash };
|
|
16496
|
+
export { AbstractKitCtaPanelConfirmationComponent, AddGridFilter, FetchApiTokens, FetchUser, FetchUserIdentities, FetchUserPermissions, FetchUserSettings, HighlightPipe, KIT_ALL_PERMISSIONS_PATH, KIT_API_TOKENS_STATE_TOKEN, KIT_BASE_PATH, KIT_DATETIME_FORMAT_LONG, KIT_DATE_FORMAT, KIT_DATE_FORMAT_SHORT, KIT_ENTITY_CREATE_SERVICE, KIT_GRID_CELL_DATE_FORMAT_CONFIG, KIT_GRID_COLUMN_WIDTH, KIT_GRID_PAGE_SIZE, KIT_GRID_STATE_TOKEN, KIT_TIME_FORMAT_SHORT, KIT_USER_APPLICATIONS_PATH, KIT_USER_IDENTITIES_STATE_TOKEN, KIT_USER_PATH, KIT_USER_PERMISSIONS_PATH, KIT_USER_PERMISSIONS_STATE_TOKEN, KIT_USER_STATE_TOKEN, KitAbstractIdPayloadAction, KitAbstractPayloadAction, KitAccountService, KitApiTokenMaintenanceListComponent, KitApiTokenMaintenanceListState, KitApiTokensPermissionCategories, KitAutocompleteComponent, KitAutocompleteDirective, KitAvatarComponent, KitAvatarSize, KitBackButtonComponent, KitBadgeDirective, KitBadgeTheme, KitBreadcrumbsComponent, KitBreadcrumbsService, KitButtonComponent, KitButtonIconPosition, KitButtonKind, KitButtonState, KitButtonType, KitCardComponent, KitCardDetailsComponent, KitCardTheme, KitCheckboxComponent, KitCheckboxState, KitClipboardService, KitCodeEditorComponent, KitCodeEditorLanguage, KitCollapsedListComponent, KitCollapsedListDropdownAlign, KitCopyTextComponent, KitCreateEntityDialogComponent, KitCtaPanelAbstractConfirmationComponent, KitCtaPanelActionComponent, KitCtaPanelConfirmationComponent, KitCtaPanelItemComponent, KitCtaPanelItemType, KitDataFieldComponent, KitDataFieldState, KitDateRangeSingleInput, KitDatepickerComponent, KitDatepickerSize, KitDaterangeComponent, KitDaterangeType, KitDatetimepickerComponent, KitDeferredFailedRequestService, KitDialogActionsComponent, KitDialogComponent, KitDialogService, KitDialogTitlebarComponent, KitDialogType, KitDrawerComponent, KitDrawerContentTemplateDirective, KitDrawerFooterTemplateDirective, KitDrawerMode, KitDropdownComponent, KitDropdownItemTemplateDirective, KitDropdownSize, KitEmptySectionComponent, KitEntityGridComponent, KitEntitySectionComponent, KitEntitySectionContainerComponent, KitEntitySectionEditableActionsTemplateDirective, KitEntitySectionEditableComponent, KitEntitySectionEditableEditTemplateDirective, KitEntitySectionEditableMode, KitEntitySectionEditableViewTemplateDirective, KitEntityTitleComponent, KitExcelExportService, KitExpansionPanelComponent, KitExpansionPanelHeaderTemplateDirective, KitExpansionPanelToggleMode, KitExpansionPanelView, KitFileCardComponent, KitFileCardMessagesComponent, KitFileCardSize, KitFileUploadComponent, KitFilterCheckboxComponent, KitFilterDateRange, KitFilterLogic, KitFilterOperator, KitFilterType, KitForbiddenComponent, KitFormErrors, KitFormFieldComponent, KitFormLabelComponent, KitFormMessageComponent, KitGlobalSearchComponent, KitGridActionComponent, KitGridArchiveToggle, KitGridCellComponent, KitGridCellService, KitGridCellTemplateDirective, KitGridCheckboxColumnComponent, KitGridCheckboxColumnType, KitGridColumnComponent, KitGridColumnManagerComponent, KitGridComponent, KitGridDetailTemplateDirective, KitGridDetailsButtonComponent, KitGridDropPosition, KitGridExportComponent, KitGridFiltersComponent, KitGridFiltersToggleComponent, KitGridLiveUpdatesControlComponent, KitGridSearchComponent, KitGridSortSettingsMode, KitGridState, KitGridUrlStateService, KitGridViewType, KitGridViewsComponent, KitGridViewsState, KitListComponent, KitLoaderComponent, KitLocationStepperComponent, KitLocationStepperIconTheme, KitLocationStepperTheme, KitMobileHeaderComponent, KitMobileMenuComponent, KitMobileMenuState, KitMultiselectComponent, KitMultiselectGroupTagTemplateDirective, KitMultiselectItemsDirection, KitMultiselectSize, KitNavigationMenuComponent, KitNavigationMenuService, KitNavigationMenuSubmenuComponent, KitNavigationTabsComponent, KitNavigationTabsType, KitNotFoundComponent, KitNoteComponent, KitNotificationComponent, KitNotificationService, KitNotificationType, KitNumericTextboxComponent, KitNumericTextboxSize, KitNumericTextboxState, KitOptionToggleComponent, KitOptionToggleSize, KitPageLayoutComponent, KitPermissionDirective, KitPillComponent, KitPillTheme, KitPillType, KitPopoverAnchorDirective, KitPopoverComponent, KitPopoverPosition, KitPopoverShowOption, KitPopupAlignHorizontal, KitPopupAlignVertical, KitPopupComponent, KitPopupPositionMode, KitProfileMenuComponent, KitQueryParamsName, KitQueryParamsService, KitRadioButtonComponent, KitRadioButtonType, KitRoutePathComponent, KitSchedulerAgendaTimeTemplateDirective, KitSchedulerComponent, KitSchedulerCustomViewTemplateDirective, KitSchedulerMonthEventTemplateDirective, KitSchedulerMonthHeaderCellTemplateDirective, KitSchedulerToolbarTemplateDirective, KitSchedulerWeekEventTemplateDirective, KitScrollNavigationComponent, KitScrollNavigationSectionComponent, KitSearchBarComponent, KitSidebarComponent, KitSkeletonAnimation, KitSkeletonComponent, KitSkeletonGridComponent, KitSkeletonSectionComponent, KitSkeletonShape, KitSortDirection, KitSortableComponent, KitSplitContainerComponent, KitStatusLabelColor, KitStatusLabelComponent, KitStatusLabelSize, KitSvgIcon, KitSvgIconComponent, KitSvgIconType, KitSvgSpriteComponent, KitSwitchComponent, KitSwitchMode, KitSwitchState, KitTabComponent, KitTabContentDirective, KitTabsComponent, KitTabsSize, KitTabsType, KitTextLabelComponent, KitTextLabelState, KitTextareaAutoresizeDirective, KitTextareaComponent, KitTextareaState, KitTextboxActionsComponent, KitTextboxComponent, KitTextboxSize, KitTextboxState, KitThemeService, KitThemes, KitTileLayoutComponent, KitTileLayoutItemComponent, KitTimelineCardComponent, KitTimelineCompactComponent, KitTimelineCompactItemTheme, KitTimelineComponent, KitTimelineTheme, KitTimelineType, KitTimepickerComponent, KitTitleTemplateDirective, KitToastrModule, KitToastrPosition, KitToastrService, KitToastrType, KitToggleComponent, KitToggleSize, KitTooltipDirective, KitTooltipPosition, KitTopBarComponent, KitTrackingCardComponent, KitTrackingTimelineComponent, KitTranslateLoader, KitTranslateService, KitTreeComponent, KitTreeContentDirective, KitTreeContentFormat, KitTreeViewMode, KitTruncateTextComponent, KitUnitsTextboxComponent, KitUnitsTextboxDropdownPosition, KitUnitsTextboxType, KitUserApplicationsState, KitUserIdentitiesInterceptor, KitUserIdentitiesSelector, KitUserIdentitiesState, KitUserPermissionsState, KitUserRoleDetailsComponent, KitUserRolesComponent, KitUserRolesService, KitUserRolesState, KitUserSettingsComponent, KitUserSettingsKeys, KitUserSettingsState, KitUserState, KitUserType, KitUsersSettingsComponent, KitUsersSettingsEntitlementsService, KitUsersSettingsEntitlementsState, KitUsersSettingsReferenceService, KitUsersSettingsService, KitUsersSettingsState, RemoveGridFilter, SetGridColumns, SetGridFilters, SetGridSearch, SetGridSkip, SetGridSort, SetGridTake, SetUserIdentity, UpdateGridFilter, buildRandomUUID, changeFilterField, createDataFetcherFactory, findMatches, getTextboxState, isKitFilterDescriptor, kitApiResponseDefaultEntities, kitApiTokenMaintenanceConfig, kitApiTokenMaintenanceRoutes, kitBuildFilterBooleanOptions, kitBuildFilterListOptions, kitBuildFilters, kitBuildGridColumn, kitBuildGridDataResults, kitBuildHttpParams, kitBuildOdataFilter, kitBuildSortString, kitDataStateToODataString, kitEncodeViewNameToUrl, kitFetchExportGridData, kitFetchGridData, kitFilterBy, kitFormatStringForSearch, kitGetPermissionTypesByCategory, kitHasPermission, kitNormalizeDateToUtc, kitShouldResetGridState, kitTranslations, kitUserPermissionsGuard, kitUserRolesConfig, kitWhitespaceValidator, mapGlobalSearchResult, trimTrailingSlash };
|
|
15992
16497
|
//# sourceMappingURL=indigina-ui-kit.mjs.map
|