@elite.framework/ng.ui.core 1.0.63 → 1.0.65

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.
@@ -122,7 +122,7 @@ class GenericCrudHeaderComponent {
122
122
  }
123
123
  }
124
124
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericCrudHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
125
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: GenericCrudHeaderComponent, isStandalone: true, selector: "app-generic-crud-header", inputs: { mode: "mode", breadcrumb: "breadcrumb", isSingleItemSelected: "isSingleItemSelected", selectedItems: "selectedItems", singleActionButtons: "singleActionButtons", bulkActionButtons: "bulkActionButtons", addButtonConfigs: "addButtonConfigs", filters: "filters", filterModel: "filterModel", showSearch: "showSearch", first: "first", rows: "rows", totalRecords: "totalRecords" }, outputs: { singleItemAction: "singleItemAction", bulkAction: "bulkAction", search: "search", resetSearch: "resetSearch", action: "action", paginateChange: "paginateChange" }, ngImport: i0, template: "@if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"flex items-start gap-2 justify-between\">\r\n <div>\r\n <app-breadcrumb\r\n class=\"xs:block hidden\"\r\n [breadcrumb]=\"breadcrumb\"\r\n ></app-breadcrumb>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2 justify-end flex-wrap\">\r\n @if (mode === 'full') {\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0645\u0641\u0631\u062F\u0629 -->\r\n <ng-container *ngIf=\"isSingleItemSelected\">\r\n <ng-container\r\n *ngFor=\"let btn of singleActionButtons; trackBy: trackByIdx\"\r\n >\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onSingleItemAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0645\u062A\u0639\u062F\u062F\u0629 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 -->\r\n <ng-container *ngIf=\"selectedItems.length > 0\">\r\n <ng-container *ngFor=\"let btn of bulkActionButtons; trackBy: trackByIdx\">\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onInternalBulkAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0625\u0636\u0627\u0641\u0629 -->\r\n <ng-container *ngFor=\"let btn of addButtonConfigs; trackBy: trackByIdx\">\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"handleButtonClick(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n }\r\n </div>\r\n</div>\r\n} @if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"mt-2 mb-4 flex items-center justify-between\">\r\n <!-- \u0627\u0644\u0628\u062D\u062B -->\r\n <ng-container *ngIf=\"showSearch && filters; else emptySearch\">\r\n <lib-generic-search\r\n [model]=\"filterModel\"\r\n [fields]=\"filters\"\r\n (search)=\"applySearch($event)\"\r\n (reset)=\"reset()\"\r\n ></lib-generic-search>\r\n </ng-container>\r\n <ng-template #emptySearch></ng-template>\r\n\r\n <!-- \u0623\u062F\u0648\u0627\u062A \u0625\u0636\u0627\u0641\u064A\u0629 -->\r\n <div class=\"flex items-center gap-3\">\r\n <p-button\r\n icon=\"pi pi-refresh\"\r\n outlined\r\n severity=\"secondary\"\r\n (onClick)=\"reset()\"\r\n />\r\n <p-divider layout=\"vertical\" class=\"m-0 p-0 xs:block hidden\" />\r\n <p-button\r\n icon=\"pi pi-sort\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n />\r\n <p-button\r\n label=\"1 of 15\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n />\r\n <p-button\r\n icon=\"pi pi-chevron-right\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n (click)=\"goNext()\"\r\n [disabled]=\"isLastPage()\"\r\n ></p-button>\r\n\r\n <p-button\r\n icon=\"pi pi-chevron-left\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n (click)=\"goPrev()\"\r\n [disabled]=\"isFirstPage()\"\r\n ></p-button>\r\n\r\n\r\n </div>\r\n</div>\r\n}\r\n", dependencies: [{ kind: "component", type: GenericButton, selector: "lib-generic-button", inputs: ["model", "type", "icon", "label", "variant", "severity", "size", "iconPosition", "disabled", "loading", "ariaLabel", "extraClasses", "permission"], outputs: ["clicked", "itemClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: BreadcrumbComponent, selector: "app-breadcrumb", inputs: ["breadcrumb"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: GenericSearch, selector: "lib-generic-search", inputs: ["model", "fields"], outputs: ["search"] }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i3.Divider, selector: "p-divider", inputs: ["styleClass", "layout", "type", "align"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
125
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: GenericCrudHeaderComponent, isStandalone: true, selector: "app-generic-crud-header", inputs: { mode: "mode", breadcrumb: "breadcrumb", isSingleItemSelected: "isSingleItemSelected", selectedItems: "selectedItems", singleActionButtons: "singleActionButtons", bulkActionButtons: "bulkActionButtons", addButtonConfigs: "addButtonConfigs", filters: "filters", filterModel: "filterModel", showSearch: "showSearch", first: "first", rows: "rows", totalRecords: "totalRecords" }, outputs: { singleItemAction: "singleItemAction", bulkAction: "bulkAction", search: "search", resetSearch: "resetSearch", action: "action", paginateChange: "paginateChange" }, ngImport: i0, template: "@if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"flex items-start gap-2 justify-between\">\r\n <div>\r\n <app-breadcrumb\r\n class=\"xs:block hidden\"\r\n [breadcrumb]=\"breadcrumb\"\r\n ></app-breadcrumb>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2 justify-end flex-wrap\">\r\n @if (mode === 'full') {\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0645\u0641\u0631\u062F\u0629 -->\r\n <ng-container *ngIf=\"isSingleItemSelected\">\r\n <ng-container\r\n *ngFor=\"let btn of singleActionButtons; trackBy: trackByIdx\"\r\n >\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onSingleItemAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0645\u062A\u0639\u062F\u062F\u0629 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 -->\r\n <ng-container *ngIf=\"selectedItems.length > 0\">\r\n <ng-container *ngFor=\"let btn of bulkActionButtons; trackBy: trackByIdx\">\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onInternalBulkAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0625\u0636\u0627\u0641\u0629 -->\r\n <ng-container *ngFor=\"let btn of addButtonConfigs; trackBy: trackByIdx\">\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"handleButtonClick(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n }\r\n </div>\r\n</div>\r\n} @if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"mt-2 mb-4 flex items-center justify-between\">\r\n <!-- \u0627\u0644\u0628\u062D\u062B -->\r\n <ng-container *ngIf=\"showSearch && filters; else emptySearch\">\r\n <lib-generic-search\r\n [model]=\"filterModel\"\r\n [fields]=\"filters\"\r\n (search)=\"applySearch($event)\"\r\n (reset)=\"reset()\"\r\n ></lib-generic-search>\r\n </ng-container>\r\n <ng-template #emptySearch></ng-template>\r\n\r\n <!-- \u0623\u062F\u0648\u0627\u062A \u0625\u0636\u0627\u0641\u064A\u0629 -->\r\n <div class=\"flex items-center gap-3\">\r\n <p-button\r\n icon=\"pi pi-refresh\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n (onClick)=\"reset()\"\r\n />\r\n <p-divider layout=\"vertical\" class=\"m-0 p-0 xs:block hidden\" />\r\n <p-button\r\n icon=\"pi pi-sort\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n />\r\n <p-button\r\n label=\"{{totalRecords}}\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n />\r\n <p-button\r\n icon=\"pi pi-chevron-right\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block\"\r\n (click)=\"goNext()\"\r\n [disabled]=\"isLastPage()\"\r\n ></p-button>\r\n\r\n <p-button\r\n icon=\"pi pi-chevron-left\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block\"\r\n (click)=\"goPrev()\"\r\n [disabled]=\"isFirstPage()\"\r\n ></p-button>\r\n\r\n\r\n </div>\r\n</div>\r\n}\r\n", dependencies: [{ kind: "component", type: GenericButton, selector: "lib-generic-button", inputs: ["model", "type", "icon", "label", "variant", "severity", "size", "iconPosition", "disabled", "loading", "ariaLabel", "extraClasses", "permission"], outputs: ["clicked", "itemClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "component", type: BreadcrumbComponent, selector: "app-breadcrumb", inputs: ["breadcrumb"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i2.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "buttonProps", "autofocus", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: GenericSearch, selector: "lib-generic-search", inputs: ["model", "fields"], outputs: ["search"] }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i3.Divider, selector: "p-divider", inputs: ["styleClass", "layout", "type", "align"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }] });
126
126
  }
127
127
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericCrudHeaderComponent, decorators: [{
128
128
  type: Component,
@@ -134,7 +134,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImpor
134
134
  ButtonModule,
135
135
  GenericSearch,
136
136
  DividerModule
137
- ], template: "@if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"flex items-start gap-2 justify-between\">\r\n <div>\r\n <app-breadcrumb\r\n class=\"xs:block hidden\"\r\n [breadcrumb]=\"breadcrumb\"\r\n ></app-breadcrumb>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2 justify-end flex-wrap\">\r\n @if (mode === 'full') {\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0645\u0641\u0631\u062F\u0629 -->\r\n <ng-container *ngIf=\"isSingleItemSelected\">\r\n <ng-container\r\n *ngFor=\"let btn of singleActionButtons; trackBy: trackByIdx\"\r\n >\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onSingleItemAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0645\u062A\u0639\u062F\u062F\u0629 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 -->\r\n <ng-container *ngIf=\"selectedItems.length > 0\">\r\n <ng-container *ngFor=\"let btn of bulkActionButtons; trackBy: trackByIdx\">\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onInternalBulkAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0625\u0636\u0627\u0641\u0629 -->\r\n <ng-container *ngFor=\"let btn of addButtonConfigs; trackBy: trackByIdx\">\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"handleButtonClick(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n }\r\n </div>\r\n</div>\r\n} @if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"mt-2 mb-4 flex items-center justify-between\">\r\n <!-- \u0627\u0644\u0628\u062D\u062B -->\r\n <ng-container *ngIf=\"showSearch && filters; else emptySearch\">\r\n <lib-generic-search\r\n [model]=\"filterModel\"\r\n [fields]=\"filters\"\r\n (search)=\"applySearch($event)\"\r\n (reset)=\"reset()\"\r\n ></lib-generic-search>\r\n </ng-container>\r\n <ng-template #emptySearch></ng-template>\r\n\r\n <!-- \u0623\u062F\u0648\u0627\u062A \u0625\u0636\u0627\u0641\u064A\u0629 -->\r\n <div class=\"flex items-center gap-3\">\r\n <p-button\r\n icon=\"pi pi-refresh\"\r\n outlined\r\n severity=\"secondary\"\r\n (onClick)=\"reset()\"\r\n />\r\n <p-divider layout=\"vertical\" class=\"m-0 p-0 xs:block hidden\" />\r\n <p-button\r\n icon=\"pi pi-sort\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n />\r\n <p-button\r\n label=\"1 of 15\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n />\r\n <p-button\r\n icon=\"pi pi-chevron-right\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n (click)=\"goNext()\"\r\n [disabled]=\"isLastPage()\"\r\n ></p-button>\r\n\r\n <p-button\r\n icon=\"pi pi-chevron-left\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n (click)=\"goPrev()\"\r\n [disabled]=\"isFirstPage()\"\r\n ></p-button>\r\n\r\n\r\n </div>\r\n</div>\r\n}\r\n" }]
137
+ ], template: "@if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"flex items-start gap-2 justify-between\">\r\n <div>\r\n <app-breadcrumb\r\n class=\"xs:block hidden\"\r\n [breadcrumb]=\"breadcrumb\"\r\n ></app-breadcrumb>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2 justify-end flex-wrap\">\r\n @if (mode === 'full') {\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0645\u0641\u0631\u062F\u0629 -->\r\n <ng-container *ngIf=\"isSingleItemSelected\">\r\n <ng-container\r\n *ngFor=\"let btn of singleActionButtons; trackBy: trackByIdx\"\r\n >\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onSingleItemAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0645\u062A\u0639\u062F\u062F\u0629 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 -->\r\n <ng-container *ngIf=\"selectedItems.length > 0\">\r\n <ng-container *ngFor=\"let btn of bulkActionButtons; trackBy: trackByIdx\">\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"onInternalBulkAction(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n </ng-container>\r\n\r\n <!-- \u0623\u0632\u0631\u0627\u0631 \u0627\u0644\u0625\u0636\u0627\u0641\u0629 -->\r\n <ng-container *ngFor=\"let btn of addButtonConfigs; trackBy: trackByIdx\">\r\n @if (!btn.visible || (btn.visible && btn.visible === true)) {\r\n <lib-generic-button\r\n [icon]=\"btn.icon\"\r\n [label]=\"btn.label | translate\"\r\n [variant]=\"btn.variant\"\r\n [size]=\"btn.size\"\r\n [severity]=\"btn.severity\"\r\n [model]=\"btn.splitActions\"\r\n [permission]=\"btn.permission\"\r\n (clicked)=\"handleButtonClick(btn)\"\r\n ></lib-generic-button>\r\n }\r\n </ng-container>\r\n }\r\n </div>\r\n</div>\r\n} @if (mode !== 'form-only' && mode !== 'detail') {\r\n<div class=\"mt-2 mb-4 flex items-center justify-between\">\r\n <!-- \u0627\u0644\u0628\u062D\u062B -->\r\n <ng-container *ngIf=\"showSearch && filters; else emptySearch\">\r\n <lib-generic-search\r\n [model]=\"filterModel\"\r\n [fields]=\"filters\"\r\n (search)=\"applySearch($event)\"\r\n (reset)=\"reset()\"\r\n ></lib-generic-search>\r\n </ng-container>\r\n <ng-template #emptySearch></ng-template>\r\n\r\n <!-- \u0623\u062F\u0648\u0627\u062A \u0625\u0636\u0627\u0641\u064A\u0629 -->\r\n <div class=\"flex items-center gap-3\">\r\n <p-button\r\n icon=\"pi pi-refresh\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n (onClick)=\"reset()\"\r\n />\r\n <p-divider layout=\"vertical\" class=\"m-0 p-0 xs:block hidden\" />\r\n <p-button\r\n icon=\"pi pi-sort\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n />\r\n <p-button\r\n label=\"{{totalRecords}}\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block hidden\"\r\n />\r\n <p-button\r\n icon=\"pi pi-chevron-right\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block\"\r\n (click)=\"goNext()\"\r\n [disabled]=\"isLastPage()\"\r\n ></p-button>\r\n\r\n <p-button\r\n icon=\"pi pi-chevron-left\"\r\n outlined\r\n severity=\"secondary\"\r\n class=\"xs:block\"\r\n (click)=\"goPrev()\"\r\n [disabled]=\"isFirstPage()\"\r\n ></p-button>\r\n\r\n\r\n </div>\r\n</div>\r\n}\r\n" }]
138
138
  }], propDecorators: { mode: [{
139
139
  type: Input
140
140
  }], breadcrumb: [{
@@ -469,7 +469,7 @@ class GenericCrudTableComponent {
469
469
  });
470
470
  }
471
471
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericCrudTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
472
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: GenericCrudTableComponent, isStandalone: true, selector: "app-generic-crud-table", inputs: { data: "data", formFields: "formFields", columns: "columns", dialogMaxWidth: "dialogMaxWidth", isViewMode: "isViewMode", displayMode: "displayMode", useConfirmOnSave: "useConfirmOnSave", isEditMode: "isEditMode", drawerVisible: "drawerVisible", dialogVisible: "dialogVisible", model: "model", loading: "loading", errorMsg: "errorMsg", errorMessage: "errorMessage", actions: "actions", actionsMode: "actionsMode", beforeSaveTransform: "beforeSaveTransform", filters: "filters", filterModel: "filterModel", showSearch: "showSearch", first: "first", rows: "rows", totalRecords: "totalRecords", rowSelectable: "rowSelectable", scrollHeight: "scrollHeight", paginator: "paginator", service: "service", apiName: "apiName", idField: "idField", showRowSelectionCheckbox: "showRowSelectionCheckbox", showAddButton: "showAddButton", addPermissionName: "addPermissionName", addButtonConfigs: "addButtonConfigs", createEditActions: "createEditActions", tabs: "tabs", bulkActionButtons: "bulkActionButtons", singleActionButtons: "singleActionButtons", breadcrumb: "breadcrumb", mode: "mode", forceState: "forceState", hideTable: "hideTable", autoShowForm: "autoShowForm" }, outputs: { action: "action", bulkAction: "bulkAction", singleAction: "singleAction", afterSave: "afterSave", afterDelete: "afterDelete", beforeSave: "beforeSave", beforeDelete: "beforeDelete", formCancel: "formCancel", formInit: "formInit", dataLoaded: "dataLoaded", selectionChange: "selectionChange", error: "error", search: "search", pageChange: "pageChange", onSearch: "onSearch", visibleChange: "visibleChange", rowSelect: "rowSelect" }, viewQueries: [{ propertyName: "genericTable", first: true, predicate: ["genericTable"], descendants: true }, { propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<div\r\n [class]=\"mode !== 'form-only' && mode !== 'detail' ? tableClass : ''\"\r\n>\r\n <app-generic-crud-header\r\n [mode]=\"mode\"\r\n [breadcrumb]=\"breadcrumb_\"\r\n [isSingleItemSelected]=\"isSingleItemSelected\"\r\n [selectedItems]=\"_selectedRows\"\r\n [singleActionButtons]=\"singleActionButtons\"\r\n [bulkActionButtons]=\"bulkActionButtons\"\r\n [addButtonConfigs]=\"addButtonConfigs\"\r\n [filters]=\"filters\"\r\n [filterModel]=\"filterModel\"\r\n [showSearch]=\"showSearch\"\r\n (singleItemAction)=\"onSingleItemAction($event)\"\r\n (bulkAction)=\"onInternalBulkAction($event)\"\r\n (action)=\"action.emit($event)\"\r\n (search)=\"applySearch($event)\"\r\n (resetSearch)=\"applySearch('')\"\r\n (paginateChange)=\"onHeaderPaginateChange($event)\"\r\n [first]=\"first\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n/>\r\n\r\n @if (!hideTable) {\r\n <lib-generic-table\r\n [data]=\"data\"\r\n [columns]=\"columns\"\r\n [paginator]=\"paginator\"\r\n [loading]=\"loading\"\r\n [actions]=\"actions\"\r\n [actionsMode]=\"actionsMode\"\r\n [first]=\"first\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n [sortField]=\"sortField\"\r\n [sortOrder]=\"sortOrder\"\r\n [addButtonConfigs]=\"addButtonConfigs\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [showRowSelectionCheckbox]=\"showRowSelectionCheckbox\"\r\n (action)=\"action.emit($event)\"\r\n (onAddNew)=\"action.emit({ name: 'add', row: null! })\"\r\n (pageChange)=\"onLazyLoad($event)\"\r\n [rowSelectable]=\"rowSelectable\"\r\n (rowSelect)=\"onRowClick($event)\"\r\n [(selection)]=\"_selectedRows\"\r\n #genericTable\r\n ></lib-generic-table>\r\n\r\n }\r\n\r\n <app-generic-dialog\r\n #dialog\r\n [service]=\"service\"\r\n [formFields]=\"formFields\"\r\n [model]=\"model\"\r\n [apiName]=\"apiName\"\r\n [idField]=\"idField\"\r\n [dialogMaxWidth]=\"dialogMaxWidth\"\r\n [displayMode]=\"displayMode\"\r\n [mode]=\"mode\"\r\n [forceState]=\"forceState\"\r\n [drawerVisible]=\"drawerVisible\"\r\n [dialogVisible]=\"dialogVisible\"\r\n [isViewMode]=\"isViewMode\"\r\n [isEditMode]=\"isEditMode\"\r\n [useConfirmOnSave]=\"useConfirmOnSave\"\r\n [loading]=\"loading\"\r\n [errorMsg]=\"errorMsg\"\r\n [errorMessage]=\"errorMessage\"\r\n [beforeSaveTransform]=\"beforeSaveTransform\"\r\n (action)=\"action.emit($event)\"\r\n (afterSave)=\"afterSave.emit($event);onSubmit();\"\r\n (afterDelete)=\"afterDelete.emit($event)\"\r\n (beforeSave)=\"beforeSave.emit($event)\"\r\n (beforeDelete)=\"beforeDelete.emit($event)\"\r\n (formCancel)=\"formCancel.emit()\"\r\n (formInit)=\"formInit.emit($event)\"\r\n (dataLoaded)=\"dataLoaded.emit($event)\"\r\n (selectionChange)=\"selectionChange.emit($event)\"\r\n (error)=\"error.emit($event)\"\r\n (visibleChange)=\"visibleChange.emit($event)\"\r\n >\r\n </app-generic-dialog>\r\n\r\n <app-detail-view\r\n [displayMode]=\"displayMode\"\r\n [mode]=\"mode\"\r\n [title]=\"breadcrumb_?.[0]?.label || 'Detail'\"\r\n [service]=\"service\"\r\n [apiName]=\"apiName\"\r\n [idField]=\"idField\"\r\n [actions]=\"actions\"\r\n [formFields]=\"formFields\"\r\n [model]=\"model\"\r\n [tabs]=\"tabs\"\r\n [loading]=\"loading\"\r\n [breadcrumb]=\"breadcrumb_\"\r\n [createEditActions]=\"createEditActions\"\r\n (action)=\"action.emit($event)\"\r\n >\r\n </app-detail-view>\r\n\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TableModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: GenericTable, selector: "lib-generic-table", inputs: ["data", "columns", "loading", "actions", "actionsMode", "first", "rows", "totalRecords", "sortField", "sortOrder", "globalFilterFields", "addButtonConfigs", "scrollHeight", "rowSelectable", "selection", "paginator", "showRowSelectionCheckbox"], outputs: ["action", "pageChange", "onAddNew", "rowSelect", "selectionChange"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: DividerModule }, { kind: "ngmodule", type: IconFieldModule }, { kind: "ngmodule", type: DrawerModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MessageModule }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: GenericDialogComponent, selector: "app-generic-dialog", inputs: ["form", "service", "formFields", "model", "apiName", "idField", "dialogMaxWidth", "displayMode", "mode", "forceState", "drawerVisible", "dialogVisible", "isViewMode", "isEditMode", "useConfirmOnSave", "loading", "errorMsg", "errorMessage", "beforeSaveTransform", "hideTable", "autoShowForm"], outputs: ["action", "afterSave", "afterDelete", "beforeSave", "beforeDelete", "formCancel", "formInit", "dataLoaded", "selectionChange", "error", "visibleChange"] }, { kind: "component", type: GenericCrudHeaderComponent, selector: "app-generic-crud-header", inputs: ["mode", "breadcrumb", "isSingleItemSelected", "selectedItems", "singleActionButtons", "bulkActionButtons", "addButtonConfigs", "filters", "filterModel", "showSearch", "first", "rows", "totalRecords"], outputs: ["singleItemAction", "bulkAction", "search", "resetSearch", "action", "paginateChange"] }, { kind: "component", type: GenericViewComponent, selector: "app-detail-view", inputs: ["title", "actions", "createEditActions", "tabs", "viewMode", "breadcrumb", "service", "formFields", "apiName", "idField", "standaloneMode", "isViewMode", "isCreateMode", "isEditMode", "model", "displayMode", "mode", "loading"], outputs: ["action", "afterDelete"] }] });
472
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.8", type: GenericCrudTableComponent, isStandalone: true, selector: "app-generic-crud-table", inputs: { data: "data", formFields: "formFields", columns: "columns", dialogMaxWidth: "dialogMaxWidth", isViewMode: "isViewMode", displayMode: "displayMode", useConfirmOnSave: "useConfirmOnSave", isEditMode: "isEditMode", drawerVisible: "drawerVisible", dialogVisible: "dialogVisible", model: "model", loading: "loading", errorMsg: "errorMsg", errorMessage: "errorMessage", actions: "actions", actionsMode: "actionsMode", beforeSaveTransform: "beforeSaveTransform", filters: "filters", filterModel: "filterModel", showSearch: "showSearch", first: "first", rows: "rows", totalRecords: "totalRecords", rowSelectable: "rowSelectable", scrollHeight: "scrollHeight", paginator: "paginator", service: "service", apiName: "apiName", idField: "idField", showRowSelectionCheckbox: "showRowSelectionCheckbox", showAddButton: "showAddButton", addPermissionName: "addPermissionName", addButtonConfigs: "addButtonConfigs", createEditActions: "createEditActions", tabs: "tabs", bulkActionButtons: "bulkActionButtons", singleActionButtons: "singleActionButtons", breadcrumb: "breadcrumb", mode: "mode", forceState: "forceState", hideTable: "hideTable", autoShowForm: "autoShowForm" }, outputs: { action: "action", bulkAction: "bulkAction", singleAction: "singleAction", afterSave: "afterSave", afterDelete: "afterDelete", beforeSave: "beforeSave", beforeDelete: "beforeDelete", formCancel: "formCancel", formInit: "formInit", dataLoaded: "dataLoaded", selectionChange: "selectionChange", error: "error", search: "search", pageChange: "pageChange", onSearch: "onSearch", visibleChange: "visibleChange", rowSelect: "rowSelect" }, viewQueries: [{ propertyName: "genericTable", first: true, predicate: ["genericTable"], descendants: true }, { propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true }], ngImport: i0, template: "<div\r\n [class]=\"mode !== 'form-only' && mode !== 'detail' ? tableClass : ''\"\r\n>\r\n <app-generic-crud-header\r\n [mode]=\"mode\"\r\n [breadcrumb]=\"breadcrumb_\"\r\n [isSingleItemSelected]=\"isSingleItemSelected\"\r\n [selectedItems]=\"_selectedRows\"\r\n [singleActionButtons]=\"singleActionButtons\"\r\n [bulkActionButtons]=\"bulkActionButtons\"\r\n [addButtonConfigs]=\"addButtonConfigs\"\r\n [filters]=\"filters\"\r\n [filterModel]=\"filterModel\"\r\n [showSearch]=\"showSearch\"\r\n (singleItemAction)=\"onSingleItemAction($event)\"\r\n (bulkAction)=\"onInternalBulkAction($event)\"\r\n (action)=\"action.emit($event)\"\r\n (search)=\"applySearch($event)\"\r\n (resetSearch)=\"applySearch('')\"\r\n (paginateChange)=\"onHeaderPaginateChange($event)\"\r\n [first]=\"first\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n/>\r\n\r\n @if (!hideTable) {\r\n <lib-generic-table\r\n [data]=\"data\"\r\n [columns]=\"columns\"\r\n [paginator]=\"paginator\"\r\n [loading]=\"loading\"\r\n [actions]=\"actions\"\r\n [actionsMode]=\"actionsMode\"\r\n [first]=\"first\"\r\n [rows]=\"rows\"\r\n [totalRecords]=\"totalRecords\"\r\n [sortField]=\"sortField\"\r\n [sortOrder]=\"sortOrder\"\r\n [addButtonConfigs]=\"addButtonConfigs\"\r\n [globalFilterFields]=\"globalFilterFields\"\r\n [scrollHeight]=\"scrollHeight\"\r\n [showRowSelectionCheckbox]=\"showRowSelectionCheckbox\"\r\n (action)=\"action.emit($event)\"\r\n (onAddNew)=\"action.emit({ name: 'add', row: null! })\"\r\n (pageChange)=\"onLazyLoad($event)\"\r\n [rowSelectable]=\"rowSelectable\"\r\n (rowSelect)=\"onRowClick($event)\"\r\n [(selection)]=\"_selectedRows\"\r\n #genericTable\r\n ></lib-generic-table>\r\n\r\n }\r\n\r\n <app-generic-dialog\r\n #dialog\r\n [service]=\"service\"\r\n [formFields]=\"formFields\"\r\n [model]=\"model\"\r\n [apiName]=\"apiName\"\r\n [idField]=\"idField\"\r\n [dialogMaxWidth]=\"dialogMaxWidth\"\r\n [displayMode]=\"displayMode\"\r\n [mode]=\"mode\"\r\n [forceState]=\"forceState\"\r\n [drawerVisible]=\"drawerVisible\"\r\n [dialogVisible]=\"dialogVisible\"\r\n [isViewMode]=\"isViewMode\"\r\n [isEditMode]=\"isEditMode\"\r\n [useConfirmOnSave]=\"useConfirmOnSave\"\r\n [loading]=\"loading\"\r\n [errorMsg]=\"errorMsg\"\r\n [errorMessage]=\"errorMessage\"\r\n [beforeSaveTransform]=\"beforeSaveTransform\"\r\n (action)=\"action.emit($event)\"\r\n (afterSave)=\"afterSave.emit($event);onSubmit();\"\r\n (afterDelete)=\"afterDelete.emit($event)\"\r\n (beforeSave)=\"beforeSave.emit($event)\"\r\n (beforeDelete)=\"beforeDelete.emit($event)\"\r\n (formCancel)=\"formCancel.emit()\"\r\n (formInit)=\"formInit.emit($event)\"\r\n (dataLoaded)=\"dataLoaded.emit($event)\"\r\n (selectionChange)=\"selectionChange.emit($event)\"\r\n (error)=\"error.emit($event)\"\r\n (visibleChange)=\"visibleChange.emit($event)\"\r\n >\r\n </app-generic-dialog>\r\n\r\n <app-detail-view\r\n [displayMode]=\"displayMode\"\r\n [mode]=\"mode\"\r\n [title]=\"breadcrumb_?.[0]?.label || 'Detail'\"\r\n [service]=\"service\"\r\n [apiName]=\"apiName\"\r\n [idField]=\"idField\"\r\n [actions]=\"actions\"\r\n [formFields]=\"formFields\"\r\n [model]=\"model\"\r\n [tabs]=\"tabs\"\r\n [loading]=\"loading\"\r\n [breadcrumb]=\"breadcrumb_\"\r\n [createEditActions]=\"createEditActions\"\r\n (action)=\"action.emit($event)\"\r\n >\r\n </app-detail-view>\r\n\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: TableModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: GenericTable, selector: "lib-generic-table", inputs: ["data", "columns", "loading", "actions", "actionsPosition", "actionsMode", "first", "rows", "totalRecords", "sortField", "sortOrder", "globalFilterFields", "addButtonConfigs", "scrollHeight", "rowSelectable", "selection", "paginator", "showRowSelectionCheckbox"], outputs: ["action", "pageChange", "onAddNew", "rowSelect", "selectionChange"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "ngmodule", type: DividerModule }, { kind: "ngmodule", type: IconFieldModule }, { kind: "ngmodule", type: DrawerModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: MessageModule }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: GenericDialogComponent, selector: "app-generic-dialog", inputs: ["form", "service", "formFields", "model", "apiName", "idField", "dialogMaxWidth", "displayMode", "mode", "forceState", "drawerVisible", "dialogVisible", "isViewMode", "isEditMode", "useConfirmOnSave", "loading", "errorMsg", "errorMessage", "beforeSaveTransform", "hideTable", "autoShowForm"], outputs: ["action", "afterSave", "afterDelete", "beforeSave", "beforeDelete", "formCancel", "formInit", "dataLoaded", "selectionChange", "error", "visibleChange"] }, { kind: "component", type: GenericCrudHeaderComponent, selector: "app-generic-crud-header", inputs: ["mode", "breadcrumb", "isSingleItemSelected", "selectedItems", "singleActionButtons", "bulkActionButtons", "addButtonConfigs", "filters", "filterModel", "showSearch", "first", "rows", "totalRecords"], outputs: ["singleItemAction", "bulkAction", "search", "resetSearch", "action", "paginateChange"] }, { kind: "component", type: GenericViewComponent, selector: "app-detail-view", inputs: ["title", "actions", "createEditActions", "tabs", "viewMode", "breadcrumb", "service", "formFields", "apiName", "idField", "standaloneMode", "isViewMode", "isCreateMode", "isEditMode", "model", "displayMode", "mode", "loading"], outputs: ["action", "afterDelete"] }] });
473
473
  }
474
474
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.8", ngImport: i0, type: GenericCrudTableComponent, decorators: [{
475
475
  type: Component,