@rolatech/angular-authorization 20.2.9-beta.7 → 20.3.0-beta.2

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.
Files changed (24) hide show
  1. package/fesm2022/{rolatech-angular-authorization-clients.routes-BY5Rp-kV.mjs → rolatech-angular-authorization-clients.routes-B-BkjTJk.mjs} +21 -21
  2. package/fesm2022/rolatech-angular-authorization-clients.routes-B-BkjTJk.mjs.map +1 -0
  3. package/fesm2022/{rolatech-angular-authorization-endpoint.service-CD_3hWRA.mjs → rolatech-angular-authorization-endpoint.service-3Tsn-wLH.mjs} +4 -4
  4. package/fesm2022/{rolatech-angular-authorization-endpoint.service-CD_3hWRA.mjs.map → rolatech-angular-authorization-endpoint.service-3Tsn-wLH.mjs.map} +1 -1
  5. package/fesm2022/{rolatech-angular-authorization-endpoints.routes-qhSJtM1L.mjs → rolatech-angular-authorization-endpoints.routes-DK5XdJSK.mjs} +9 -9
  6. package/fesm2022/{rolatech-angular-authorization-endpoints.routes-qhSJtM1L.mjs.map → rolatech-angular-authorization-endpoints.routes-DK5XdJSK.mjs.map} +1 -1
  7. package/fesm2022/{rolatech-angular-authorization-permission.service-ENR-IAUI.mjs → rolatech-angular-authorization-permission.service-CVGprPKX.mjs} +4 -4
  8. package/fesm2022/{rolatech-angular-authorization-permission.service-ENR-IAUI.mjs.map → rolatech-angular-authorization-permission.service-CVGprPKX.mjs.map} +1 -1
  9. package/fesm2022/{rolatech-angular-authorization-permissions.routes-CTqqWVfe.mjs → rolatech-angular-authorization-permissions.routes-BaASXIZG.mjs} +17 -17
  10. package/fesm2022/rolatech-angular-authorization-permissions.routes-BaASXIZG.mjs.map +1 -0
  11. package/fesm2022/{rolatech-angular-authorization-role.service-DVE1XRje.mjs → rolatech-angular-authorization-role.service-CPGLvmBO.mjs} +4 -4
  12. package/fesm2022/{rolatech-angular-authorization-role.service-DVE1XRje.mjs.map → rolatech-angular-authorization-role.service-CPGLvmBO.mjs.map} +1 -1
  13. package/fesm2022/{rolatech-angular-authorization-roles.routes-CWvPqWe4.mjs → rolatech-angular-authorization-roles.routes-C-rluBtM.mjs} +17 -17
  14. package/fesm2022/rolatech-angular-authorization-roles.routes-C-rluBtM.mjs.map +1 -0
  15. package/fesm2022/{rolatech-angular-authorization-settings.routes-CBVNwdrJ.mjs → rolatech-angular-authorization-settings.routes-Bm7Jyxwp.mjs} +4 -4
  16. package/fesm2022/{rolatech-angular-authorization-settings.routes-CBVNwdrJ.mjs.map → rolatech-angular-authorization-settings.routes-Bm7Jyxwp.mjs.map} +1 -1
  17. package/fesm2022/{rolatech-angular-authorization-users.routes-DSKFkB3R.mjs → rolatech-angular-authorization-users.routes-CveansL3.mjs} +19 -19
  18. package/fesm2022/rolatech-angular-authorization-users.routes-CveansL3.mjs.map +1 -0
  19. package/fesm2022/rolatech-angular-authorization.mjs +9 -9
  20. package/package.json +5 -5
  21. package/fesm2022/rolatech-angular-authorization-clients.routes-BY5Rp-kV.mjs.map +0 -1
  22. package/fesm2022/rolatech-angular-authorization-permissions.routes-CTqqWVfe.mjs.map +0 -1
  23. package/fesm2022/rolatech-angular-authorization-roles.routes-CWvPqWe4.mjs.map +0 -1
  24. package/fesm2022/rolatech-angular-authorization-users.routes-DSKFkB3R.mjs.map +0 -1
@@ -2,7 +2,7 @@ import * as i0 from '@angular/core';
2
2
  import { Component, inject, viewChild } from '@angular/core';
3
3
  import { AngularCommonModule } from '@rolatech/angular-common';
4
4
  import { AngularComponentsModule, ToolbarComponent, SpinnerComponent } from '@rolatech/angular-components';
5
- import { P as PermissionService } from './rolatech-angular-authorization-permission.service-ENR-IAUI.mjs';
5
+ import { P as PermissionService } from './rolatech-angular-authorization-permission.service-CVGprPKX.mjs';
6
6
  import * as i7 from '@angular/material/paginator';
7
7
  import { MatPaginator } from '@angular/material/paginator';
8
8
  import { MatSnackBar } from '@angular/material/snack-bar';
@@ -16,24 +16,24 @@ import * as i5 from '@angular/material/input';
16
16
  import * as i6 from '@angular/material/menu';
17
17
  import { SelectionModel } from '@angular/cdk/collections';
18
18
  import { sortBy, differenceBy, findIndex } from 'lodash';
19
- import { E as EndpointService } from './rolatech-angular-authorization-endpoint.service-CD_3hWRA.mjs';
19
+ import { E as EndpointService } from './rolatech-angular-authorization-endpoint.service-3Tsn-wLH.mjs';
20
20
  import * as i5$1 from '@angular/common';
21
21
  import * as i4 from '@angular/material/list';
22
22
 
23
23
  class CreateComponent {
24
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: CreateComponent, isStandalone: true, selector: "rolatech-authorization-create", ngImport: i0, template: "<rolatech-toolbar title=\"Permission create\"></rolatech-toolbar>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
24
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: CreateComponent, isStandalone: true, selector: "rolatech-authorization-create", ngImport: i0, template: "<rolatech-toolbar title=\"Permission create\"></rolatech-toolbar>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
26
26
  }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CreateComponent, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CreateComponent, decorators: [{
28
28
  type: Component,
29
29
  args: [{ imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent], selector: 'rolatech-authorization-create', template: "<rolatech-toolbar title=\"Permission create\"></rolatech-toolbar>\n" }]
30
30
  }] });
31
31
 
32
32
  class DetailsComponent {
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: DetailsComponent, isStandalone: true, selector: "rolatech-authorization-details", ngImport: i0, template: "<rolatech-toolbar title=\"Permission details\"></rolatech-toolbar>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
34
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: DetailsComponent, isStandalone: true, selector: "rolatech-authorization-details", ngImport: i0, template: "<rolatech-toolbar title=\"Permission details\"></rolatech-toolbar>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DetailsComponent, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DetailsComponent, decorators: [{
37
37
  type: Component,
38
38
  args: [{ imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent], selector: 'rolatech-authorization-details', template: "<rolatech-toolbar title=\"Permission details\"></rolatech-toolbar>\n" }]
39
39
  }] });
@@ -118,12 +118,12 @@ class IndexComponent {
118
118
  },
119
119
  });
120
120
  }
121
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: IndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: IndexComponent, isStandalone: true, selector: "rolatech-authorization-index", viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], ngImport: i0, template: "<rolatech-toolbar title=\"Permissions\">\n <button mat-icon-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"isSearch = true\">\n <mat-icon>search</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"beforeMenu\">\n <mat-icon>reorder</mat-icon>\n </button>\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n @for (item of orderOptions; track item) {\n <button mat-menu-item (click)=\"onClick(item)\">\n <span>{{ item.value }}</span>\n <mat-icon>{{ item.icon }}</mat-icon>\n </button>\n }\n </mat-menu>\n</rolatech-toolbar>\n@if (isSearch) {\n <mat-form-field floatLabel=\"auto\">\n <input type=\"text\" matInput placeholder=\"Phone\" (keyup.enter)=\"search($event)\" />\n <button matSuffix mat-icon-button (click)=\"findAll(null); isSearch = false\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n}\n<div class=\"py-3\">\n <rolatech-spinner></rolatech-spinner>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\" sticky>\n <th mat-header-cell *matHeaderCellDef>Name</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container>\n\n <!-- description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>description</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.description }}</td>\n </ng-container>\n\n <!-- resource Column -->\n <ng-container matColumnDef=\"resource\">\n <th mat-header-cell *matHeaderCellDef>resource</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.resource }}</td>\n </ng-container>\n\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\"></th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <mat-icon>navigate_next</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n class=\"cursor-pointer hover:bg-[--rt-raised-background]\"\n [routerLink]=\"['./', row.id]\"\n ></tr>\n </table>\n</div>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = findAll($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
121
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: IndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: IndexComponent, isStandalone: true, selector: "rolatech-authorization-index", viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], ngImport: i0, template: "<rolatech-toolbar title=\"Permissions\">\n <button class=\"cursor-pointer\" mat-icon-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"isSearch = true\">\n <mat-icon>search</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"beforeMenu\">\n <mat-icon>reorder</mat-icon>\n </button>\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n @for (item of orderOptions; track item) {\n <button mat-menu-item (click)=\"onClick(item)\">\n <span>{{ item.value }}</span>\n <mat-icon>{{ item.icon }}</mat-icon>\n </button>\n }\n </mat-menu>\n</rolatech-toolbar>\n@if (isSearch) {\n <mat-form-field floatLabel=\"auto\">\n <input type=\"text\" matInput placeholder=\"Phone\" (keyup.enter)=\"search($event)\" />\n <button matSuffix mat-icon-button (click)=\"findAll(null); isSearch = false\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n}\n<div class=\"py-3\">\n <rolatech-spinner></rolatech-spinner>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\" sticky>\n <th mat-header-cell *matHeaderCellDef>Name</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container>\n\n <!-- description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>description</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.description }}</td>\n </ng-container>\n\n <!-- resource Column -->\n <ng-container matColumnDef=\"resource\">\n <th mat-header-cell *matHeaderCellDef>resource</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.resource }}</td>\n </ng-container>\n\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\"></th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <mat-icon>navigate_next</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n class=\"cursor-pointer hover:bg-(--rt-raised-background)\"\n [routerLink]=\"['./', row.id]\"\n ></tr>\n </table>\n</div>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = findAll($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
123
123
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: IndexComponent, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: IndexComponent, decorators: [{
125
125
  type: Component,
126
- args: [{ imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent, ToolbarComponent], selector: 'rolatech-authorization-index', template: "<rolatech-toolbar title=\"Permissions\">\n <button mat-icon-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"isSearch = true\">\n <mat-icon>search</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"beforeMenu\">\n <mat-icon>reorder</mat-icon>\n </button>\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n @for (item of orderOptions; track item) {\n <button mat-menu-item (click)=\"onClick(item)\">\n <span>{{ item.value }}</span>\n <mat-icon>{{ item.icon }}</mat-icon>\n </button>\n }\n </mat-menu>\n</rolatech-toolbar>\n@if (isSearch) {\n <mat-form-field floatLabel=\"auto\">\n <input type=\"text\" matInput placeholder=\"Phone\" (keyup.enter)=\"search($event)\" />\n <button matSuffix mat-icon-button (click)=\"findAll(null); isSearch = false\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n}\n<div class=\"py-3\">\n <rolatech-spinner></rolatech-spinner>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\" sticky>\n <th mat-header-cell *matHeaderCellDef>Name</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container>\n\n <!-- description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>description</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.description }}</td>\n </ng-container>\n\n <!-- resource Column -->\n <ng-container matColumnDef=\"resource\">\n <th mat-header-cell *matHeaderCellDef>resource</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.resource }}</td>\n </ng-container>\n\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\"></th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <mat-icon>navigate_next</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n class=\"cursor-pointer hover:bg-[--rt-raised-background]\"\n [routerLink]=\"['./', row.id]\"\n ></tr>\n </table>\n</div>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = findAll($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}\n"] }]
126
+ args: [{ imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent, ToolbarComponent], selector: 'rolatech-authorization-index', template: "<rolatech-toolbar title=\"Permissions\">\n <button class=\"cursor-pointer\" mat-icon-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"isSearch = true\">\n <mat-icon>search</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"beforeMenu\">\n <mat-icon>reorder</mat-icon>\n </button>\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n @for (item of orderOptions; track item) {\n <button mat-menu-item (click)=\"onClick(item)\">\n <span>{{ item.value }}</span>\n <mat-icon>{{ item.icon }}</mat-icon>\n </button>\n }\n </mat-menu>\n</rolatech-toolbar>\n@if (isSearch) {\n <mat-form-field floatLabel=\"auto\">\n <input type=\"text\" matInput placeholder=\"Phone\" (keyup.enter)=\"search($event)\" />\n <button matSuffix mat-icon-button (click)=\"findAll(null); isSearch = false\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n}\n<div class=\"py-3\">\n <rolatech-spinner></rolatech-spinner>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\" sticky>\n <th mat-header-cell *matHeaderCellDef>Name</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container>\n\n <!-- description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>description</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.description }}</td>\n </ng-container>\n\n <!-- resource Column -->\n <ng-container matColumnDef=\"resource\">\n <th mat-header-cell *matHeaderCellDef>resource</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.resource }}</td>\n </ng-container>\n\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\"></th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <mat-icon>navigate_next</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n class=\"cursor-pointer hover:bg-(--rt-raised-background)\"\n [routerLink]=\"['./', row.id]\"\n ></tr>\n </table>\n</div>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = findAll($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}\n"] }]
127
127
  }], propDecorators: { paginator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }] } });
128
128
 
129
129
  class UpdateComponent {
@@ -277,12 +277,12 @@ class UpdateComponent {
277
277
  },
278
278
  });
279
279
  }
280
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UpdateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
281
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: UpdateComponent, isStandalone: true, selector: "rolatech-authorization-update", ngImport: i0, template: "<rolatech-toolbar title=\"Permissions update\">\n <button mat-flat-button (click)=\"updateAll()\">\n <mat-icon>sync</mat-icon>\n Sync\n </button>\n</rolatech-toolbar>\n<div class=\"flex flex-row gap-2 pr-3\">\n <div class=\"w-[256px]\">\n <div class=\"text-lg font-bold p-3\">Endpoints</div>\n <mat-selection-list #endpoint [multiple]=\"false\" (selectionChange)=\"selectionChange($event)\">\n @for (endpoint of endpoints; track endpoint; let i = $index) {\n <mat-list-option [value]=\"endpoint\" [selected]=\"endpoint && i === 0\">\n {{ endpoint.resource }}\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n <div class=\"flex gap-2 w-full overflow-hidden\">\n <div class=\"w-1/2 p-3\">\n <div class=\"flex flex-col justify-between\">\n <div class=\"text-lg font-bold\">Server version</div>\n <div class=\"text-sm opacity-70\">\n Total {{ sourceDataSource.data.length }}, New {{ sourceNewLength }}, Deprecated {{ sourceDeprecatedLength }}\n </div>\n </div>\n <div class=\"h-[calc(100vh-190px)] overflow-scroll\">\n <table mat-table [dataSource]=\"sourceDataSource\">\n <!-- name Column -->\n <!-- <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>\u540D\u79F0</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container> -->\n\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">Actions</th>\n <td mat-cell *matCellDef=\"let item; let i = index\" class=\"actions\">\n <!-- <mat-icon>more_vert</mat-icon> -->\n <a class=\"cursor-pointer\" (click)=\"insert(item, i)\"> Insert </a>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"sourceDisplayedColumns; sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: sourceDisplayedColumns\"\n [ngClass]=\"sourceSelection.isSelected(row) ? 'bg-[--rt-brand-color] important' : ''\"\n ></tr>\n </table>\n </div>\n </div>\n\n <div class=\"w-1/2 p-3\">\n <div class=\"flex flex-col\">\n <div class=\"text-lg font-bold\">Database version</div>\n <div class=\"text-sm opacity-70\">Total {{ targetDataSource.data.length }}</div>\n </div>\n\n <div class=\"h-[calc(100vh-190px)] overflow-scroll\">\n <table mat-table [dataSource]=\"targetDataSource\">\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">Actions</th>\n <td mat-cell *matCellDef=\"let item; let i = index\" class=\"actions\">\n <a class=\"cursor-pointer\" (click)=\"delete(item.id, i)\"> Delete </a>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"targetDisplayedColumns; sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: targetDisplayedColumns\"\n [ngClass]=\"targetSelection.isSelected(row) ? 'line-through bg-[--rt-raised-background]' : ''\"\n ></tr>\n </table>\n </div>\n </div>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem;padding:0 28px}.mat-mdc-header-cell.actions{text-align:right;max-width:120px;width:120px;padding:0 28px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}.selected{background:#000;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i5$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i4.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
280
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: UpdateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
281
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: UpdateComponent, isStandalone: true, selector: "rolatech-authorization-update", ngImport: i0, template: "<rolatech-toolbar title=\"Permissions update\">\n <button mat-flat-button (click)=\"updateAll()\">\n <mat-icon>sync</mat-icon>\n Sync\n </button>\n</rolatech-toolbar>\n<div class=\"flex flex-row gap-2 pr-3\">\n <div class=\"w-[256px]\">\n <div class=\"text-lg font-bold p-3\">Endpoints</div>\n <mat-selection-list #endpoint [multiple]=\"false\" (selectionChange)=\"selectionChange($event)\">\n @for (endpoint of endpoints; track endpoint; let i = $index) {\n <mat-list-option [value]=\"endpoint\" [selected]=\"endpoint && i === 0\">\n {{ endpoint.resource }}\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n <div class=\"flex gap-2 w-full overflow-hidden\">\n <div class=\"w-1/2 p-3\">\n <div class=\"flex flex-col justify-between\">\n <div class=\"text-lg font-bold\">Server version</div>\n <div class=\"text-sm opacity-70\">\n Total {{ sourceDataSource.data.length }}, New {{ sourceNewLength }}, Deprecated {{ sourceDeprecatedLength }}\n </div>\n </div>\n <div class=\"h-[calc(100vh-190px)] overflow-scroll\">\n <table mat-table [dataSource]=\"sourceDataSource\">\n <!-- name Column -->\n <!-- <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>\u540D\u79F0</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container> -->\n\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">Actions</th>\n <td mat-cell *matCellDef=\"let item; let i = index\" class=\"actions\">\n <!-- <mat-icon>more_vert</mat-icon> -->\n <a class=\"cursor-pointer\" (click)=\"insert(item, i)\"> Insert </a>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"sourceDisplayedColumns; sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: sourceDisplayedColumns\"\n [ngClass]=\"sourceSelection.isSelected(row) ? 'bg-(--rt-brand-color) important' : ''\"\n ></tr>\n </table>\n </div>\n </div>\n\n <div class=\"w-1/2 p-3\">\n <div class=\"flex flex-col\">\n <div class=\"text-lg font-bold\">Database version</div>\n <div class=\"text-sm opacity-70\">Total {{ targetDataSource.data.length }}</div>\n </div>\n\n <div class=\"h-[calc(100vh-190px)] overflow-scroll\">\n <table mat-table [dataSource]=\"targetDataSource\">\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">Actions</th>\n <td mat-cell *matCellDef=\"let item; let i = index\" class=\"actions\">\n <a class=\"cursor-pointer\" (click)=\"delete(item.id, i)\"> Delete </a>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"targetDisplayedColumns; sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: targetDisplayedColumns\"\n [ngClass]=\"targetSelection.isSelected(row) ? 'line-through bg-(--rt-raised-background)' : ''\"\n ></tr>\n </table>\n </div>\n </div>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem;padding:0 28px}.mat-mdc-header-cell.actions{text-align:right;max-width:120px;width:120px;padding:0 28px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}.selected{background:#000;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i5$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }, { kind: "component", type: i4.MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
282
282
  }
283
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UpdateComponent, decorators: [{
283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: UpdateComponent, decorators: [{
284
284
  type: Component,
285
- args: [{ imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent], selector: 'rolatech-authorization-update', template: "<rolatech-toolbar title=\"Permissions update\">\n <button mat-flat-button (click)=\"updateAll()\">\n <mat-icon>sync</mat-icon>\n Sync\n </button>\n</rolatech-toolbar>\n<div class=\"flex flex-row gap-2 pr-3\">\n <div class=\"w-[256px]\">\n <div class=\"text-lg font-bold p-3\">Endpoints</div>\n <mat-selection-list #endpoint [multiple]=\"false\" (selectionChange)=\"selectionChange($event)\">\n @for (endpoint of endpoints; track endpoint; let i = $index) {\n <mat-list-option [value]=\"endpoint\" [selected]=\"endpoint && i === 0\">\n {{ endpoint.resource }}\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n <div class=\"flex gap-2 w-full overflow-hidden\">\n <div class=\"w-1/2 p-3\">\n <div class=\"flex flex-col justify-between\">\n <div class=\"text-lg font-bold\">Server version</div>\n <div class=\"text-sm opacity-70\">\n Total {{ sourceDataSource.data.length }}, New {{ sourceNewLength }}, Deprecated {{ sourceDeprecatedLength }}\n </div>\n </div>\n <div class=\"h-[calc(100vh-190px)] overflow-scroll\">\n <table mat-table [dataSource]=\"sourceDataSource\">\n <!-- name Column -->\n <!-- <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>\u540D\u79F0</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container> -->\n\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">Actions</th>\n <td mat-cell *matCellDef=\"let item; let i = index\" class=\"actions\">\n <!-- <mat-icon>more_vert</mat-icon> -->\n <a class=\"cursor-pointer\" (click)=\"insert(item, i)\"> Insert </a>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"sourceDisplayedColumns; sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: sourceDisplayedColumns\"\n [ngClass]=\"sourceSelection.isSelected(row) ? 'bg-[--rt-brand-color] important' : ''\"\n ></tr>\n </table>\n </div>\n </div>\n\n <div class=\"w-1/2 p-3\">\n <div class=\"flex flex-col\">\n <div class=\"text-lg font-bold\">Database version</div>\n <div class=\"text-sm opacity-70\">Total {{ targetDataSource.data.length }}</div>\n </div>\n\n <div class=\"h-[calc(100vh-190px)] overflow-scroll\">\n <table mat-table [dataSource]=\"targetDataSource\">\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">Actions</th>\n <td mat-cell *matCellDef=\"let item; let i = index\" class=\"actions\">\n <a class=\"cursor-pointer\" (click)=\"delete(item.id, i)\"> Delete </a>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"targetDisplayedColumns; sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: targetDisplayedColumns\"\n [ngClass]=\"targetSelection.isSelected(row) ? 'line-through bg-[--rt-raised-background]' : ''\"\n ></tr>\n </table>\n </div>\n </div>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem;padding:0 28px}.mat-mdc-header-cell.actions{text-align:right;max-width:120px;width:120px;padding:0 28px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}.selected{background:#000;color:#fff}\n"] }]
285
+ args: [{ imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent], selector: 'rolatech-authorization-update', template: "<rolatech-toolbar title=\"Permissions update\">\n <button mat-flat-button (click)=\"updateAll()\">\n <mat-icon>sync</mat-icon>\n Sync\n </button>\n</rolatech-toolbar>\n<div class=\"flex flex-row gap-2 pr-3\">\n <div class=\"w-[256px]\">\n <div class=\"text-lg font-bold p-3\">Endpoints</div>\n <mat-selection-list #endpoint [multiple]=\"false\" (selectionChange)=\"selectionChange($event)\">\n @for (endpoint of endpoints; track endpoint; let i = $index) {\n <mat-list-option [value]=\"endpoint\" [selected]=\"endpoint && i === 0\">\n {{ endpoint.resource }}\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n <div class=\"flex gap-2 w-full overflow-hidden\">\n <div class=\"w-1/2 p-3\">\n <div class=\"flex flex-col justify-between\">\n <div class=\"text-lg font-bold\">Server version</div>\n <div class=\"text-sm opacity-70\">\n Total {{ sourceDataSource.data.length }}, New {{ sourceNewLength }}, Deprecated {{ sourceDeprecatedLength }}\n </div>\n </div>\n <div class=\"h-[calc(100vh-190px)] overflow-scroll\">\n <table mat-table [dataSource]=\"sourceDataSource\">\n <!-- name Column -->\n <!-- <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>\u540D\u79F0</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container> -->\n\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">Actions</th>\n <td mat-cell *matCellDef=\"let item; let i = index\" class=\"actions\">\n <!-- <mat-icon>more_vert</mat-icon> -->\n <a class=\"cursor-pointer\" (click)=\"insert(item, i)\"> Insert </a>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"sourceDisplayedColumns; sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: sourceDisplayedColumns\"\n [ngClass]=\"sourceSelection.isSelected(row) ? 'bg-(--rt-brand-color) important' : ''\"\n ></tr>\n </table>\n </div>\n </div>\n\n <div class=\"w-1/2 p-3\">\n <div class=\"flex flex-col\">\n <div class=\"text-lg font-bold\">Database version</div>\n <div class=\"text-sm opacity-70\">Total {{ targetDataSource.data.length }}</div>\n </div>\n\n <div class=\"h-[calc(100vh-190px)] overflow-scroll\">\n <table mat-table [dataSource]=\"targetDataSource\">\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">Actions</th>\n <td mat-cell *matCellDef=\"let item; let i = index\" class=\"actions\">\n <a class=\"cursor-pointer\" (click)=\"delete(item.id, i)\"> Delete </a>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"targetDisplayedColumns; sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: targetDisplayedColumns\"\n [ngClass]=\"targetSelection.isSelected(row) ? 'line-through bg-(--rt-raised-background)' : ''\"\n ></tr>\n </table>\n </div>\n </div>\n </div>\n</div>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem;padding:0 28px}.mat-mdc-header-cell.actions{text-align:right;max-width:120px;width:120px;padding:0 28px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}.selected{background:#000;color:#fff}\n"] }]
286
286
  }] });
287
287
 
288
288
  const routes = [
@@ -305,4 +305,4 @@ const routes = [
305
305
  ];
306
306
 
307
307
  export { routes as default };
308
- //# sourceMappingURL=rolatech-angular-authorization-permissions.routes-CTqqWVfe.mjs.map
308
+ //# sourceMappingURL=rolatech-angular-authorization-permissions.routes-BaASXIZG.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rolatech-angular-authorization-permissions.routes-BaASXIZG.mjs","sources":["../../../../packages/angular-authorization/src/lib/pages/permissions/create/create.component.ts","../../../../packages/angular-authorization/src/lib/pages/permissions/create/create.component.html","../../../../packages/angular-authorization/src/lib/pages/permissions/details/details.component.ts","../../../../packages/angular-authorization/src/lib/pages/permissions/details/details.component.html","../../../../packages/angular-authorization/src/lib/pages/permissions/index/index.component.ts","../../../../packages/angular-authorization/src/lib/pages/permissions/index/index.component.html","../../../../packages/angular-authorization/src/lib/pages/permissions/update/update.component.ts","../../../../packages/angular-authorization/src/lib/pages/permissions/update/update.component.html","../../../../packages/angular-authorization/src/lib/pages/permissions/permissions.routes.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, ToolbarComponent } from '@rolatech/angular-components';\n\n@Component({\n imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent],\n selector: 'rolatech-authorization-create',\n templateUrl: './create.component.html',\n styleUrls: ['./create.component.scss'],\n})\nexport class CreateComponent {}\n","<rolatech-toolbar title=\"Permission create\"></rolatech-toolbar>\n","import { Component } from '@angular/core';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, ToolbarComponent } from '@rolatech/angular-components';\n\n@Component({\n imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent],\n selector: 'rolatech-authorization-details',\n templateUrl: './details.component.html',\n styleUrls: ['./details.component.scss'],\n})\nexport class DetailsComponent {}\n","<rolatech-toolbar title=\"Permission details\"></rolatech-toolbar>\n","import { Permission } from '../../../models/permission.model';\nimport { PermissionService } from '../../../services/permission.service';\nimport { Component, OnInit, inject, viewChild } from '@angular/core';\nimport { PageEvent, MatPaginator } from '@angular/material/paginator';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, SpinnerComponent, ToolbarComponent } from '@rolatech/angular-components';\n\n@Component({\n imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent, ToolbarComponent],\n selector: 'rolatech-authorization-index',\n templateUrl: './index.component.html',\n styleUrls: ['./index.component.scss'],\n})\nexport class IndexComponent implements OnInit {\n snackBar = inject(MatSnackBar);\n pageEvent!: PageEvent;\n isLoading = false;\n isSearch = false;\n length = 100;\n pageSize = 15;\n pageSizeOptions: number[] = [5, 10, 25, 100];\n permissions: Permission[] = [];\n displayedColumns: string[] = ['name', 'description', 'resource', 'code', 'pattern', 'method', 'actions'];\n paginator = viewChild(MatPaginator);\n permissionService = inject(PermissionService);\n orderOptions = [\n {\n key: 'createdAt',\n value: 'Created',\n icon: 'arrow_upward',\n sort: 'asc',\n },\n {\n key: 'createdAt',\n value: 'Created',\n icon: 'arrow_downward',\n sort: 'desc',\n },\n ];\n\n orderString = 'createdAt desc';\n dataSource = new MatTableDataSource<Permission>();\n searchWord!: string;\n\n ngOnInit(): void {\n this.findAll(null);\n }\n onClick(item: any) {\n this.orderString = item.key + ' ' + item.sort;\n this.paginator()?.firstPage();\n this.findAll(null);\n }\n findAll(event?: PageEvent | null): any {\n this.isLoading = true;\n this.isSearch = false;\n const page = event ? event.pageIndex + 1 : 1;\n const limit = event ? event.pageSize : 15;\n const sort = this.orderString;\n const options = {\n page,\n limit,\n sort,\n };\n this.permissionService.find(options).subscribe({\n next: (res: any) => {\n this.permissions = res.data;\n this.dataSource.data = this.permissions;\n this.length = res.meta.pagination.count;\n this.isLoading = false;\n },\n error: (error) => {\n this.isLoading = false;\n this.snackBar.open(error.message);\n },\n });\n }\n search(e: any) {\n this.isLoading = true;\n const word = e.target.value;\n const options = {\n filter: `name:${word}`,\n };\n this.permissionService.find(options).subscribe({\n next: (res: any) => {\n this.permissions = res.data;\n this.dataSource.data = this.permissions;\n this.length = res.meta.pagination.count;\n this.isLoading = false;\n },\n error: (error) => {\n this.isLoading = false;\n this.snackBar.open(error.message);\n },\n });\n }\n}\n","<rolatech-toolbar title=\"Permissions\">\n <button class=\"cursor-pointer\" mat-icon-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"isSearch = true\">\n <mat-icon>search</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"beforeMenu\">\n <mat-icon>reorder</mat-icon>\n </button>\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n @for (item of orderOptions; track item) {\n <button mat-menu-item (click)=\"onClick(item)\">\n <span>{{ item.value }}</span>\n <mat-icon>{{ item.icon }}</mat-icon>\n </button>\n }\n </mat-menu>\n</rolatech-toolbar>\n@if (isSearch) {\n <mat-form-field floatLabel=\"auto\">\n <input type=\"text\" matInput placeholder=\"Phone\" (keyup.enter)=\"search($event)\" />\n <button matSuffix mat-icon-button (click)=\"findAll(null); isSearch = false\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n}\n<div class=\"py-3\">\n <rolatech-spinner></rolatech-spinner>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\" sticky>\n <th mat-header-cell *matHeaderCellDef>Name</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container>\n\n <!-- description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>description</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.description }}</td>\n </ng-container>\n\n <!-- resource Column -->\n <ng-container matColumnDef=\"resource\">\n <th mat-header-cell *matHeaderCellDef>resource</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.resource }}</td>\n </ng-container>\n\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\"></th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <mat-icon>navigate_next</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n class=\"cursor-pointer hover:bg-(--rt-raised-background)\"\n [routerLink]=\"['./', row.id]\"\n ></tr>\n </table>\n</div>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = findAll($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n","import { SelectionModel } from '@angular/cdk/collections';\nimport { Component, OnInit, inject } from '@angular/core';\nimport { MatSnackBar } from '@angular/material/snack-bar';\nimport { MatTableDataSource } from '@angular/material/table';\nimport { differenceWith, isEqual, differenceBy, findIndex, pullAt, orderBy, sortBy } from 'lodash';\nimport { Permission } from '../../../models/permission.model';\nimport { EndpointService } from '../../../services/endpoint.service';\nimport { PermissionService } from '../../../services/permission.service';\nimport { AngularCommonModule } from '@rolatech/angular-common';\nimport { AngularComponentsModule, TitleComponent, ToolbarComponent } from '@rolatech/angular-components';\n\n@Component({\n imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent],\n selector: 'rolatech-authorization-update',\n templateUrl: './update.component.html',\n styleUrls: ['./update.component.scss'],\n})\nexport class UpdateComponent implements OnInit {\n permissionService = inject(PermissionService);\n endpointService = inject(EndpointService);\n snackBar = inject(MatSnackBar);\n obj: any = [];\n sourceDisplayedColumns: string[] = ['code', 'pattern', 'method', 'actions'];\n targetDisplayedColumns: string[] = ['code', 'pattern', 'method', 'actions'];\n sourceDataSource = new MatTableDataSource<any>();\n targetDataSource = new MatTableDataSource<any>();\n sourceSelection = new SelectionModel<any>(true, []);\n targetSelection = new SelectionModel<any>(true, []);\n sourceNewLength = 0;\n sourceDeprecatedLength = 0;\n endpoints: any = [];\n permissions: Permission[] = [];\n orderString = 'createdAt desc';\n\n ngOnInit(): void {\n this.findAllEndpoints();\n }\n findAllEndpoints() {\n this.endpointService.find({}).subscribe({\n next: (res: any) => {\n this.endpoints = res.data;\n this.selectionChange(null);\n },\n error: (error) => {\n this.snackBar.open(error.message);\n },\n });\n }\n findPermissions(resource: string): any {\n const options = {\n filter: `resource:${resource}`,\n limit: 1000,\n };\n this.permissionService.find(options).subscribe({\n next: (res: any) => {\n this.permissions = sortBy(res.data, ['code']);\n this.targetDataSource.data = this.permissions;\n this.compare();\n },\n error: (error) => {\n this.snackBar.open(error.message);\n },\n });\n }\n compare() {\n const result = differenceBy(this.obj, this.permissions, 'code');\n if (result.length > 0) {\n result.forEach((item) => {\n const index = findIndex(this.obj, item);\n this.sourceSelection.select(this.obj[index]);\n this.sourceNewLength++;\n });\n }\n const result2 = differenceBy(this.permissions, this.obj, 'code');\n if (result2.length > 0) {\n result2.forEach((item) => {\n const index = findIndex(this.permissions, item);\n this.targetSelection.select(this.permissions[index]);\n this.sourceDeprecatedLength++;\n });\n }\n }\n onSelect(endpoint) {\n const url = endpoint.endpointUrl;\n const resource = endpoint.resource;\n this.endpointService.findByResource(resource).subscribe({\n next: (res: any) => {\n this.obj = sortBy(res, ['code']);\n this.sourceDataSource.data = this.obj;\n this.findPermissions(resource);\n },\n error: (error) => {\n this.snackBar.open(error.message);\n },\n });\n }\n selectionChange(event: any) {\n this.sourceDeprecatedLength = 0;\n this.sourceNewLength = 0;\n let url: string;\n let resource: string;\n if (event) {\n url = event.options[0].value.endpointUrl;\n resource = event.options[0].value.resource;\n } else {\n url = this.endpoints[0].endpointUrl;\n resource = this.endpoints[0].resource;\n }\n\n this.endpointService.findByResource(resource).subscribe({\n next: (res: any) => {\n this.obj = sortBy(res, ['code']);\n this.sourceDataSource.data = this.obj;\n this.findPermissions(resource);\n },\n error: (error) => {\n this.snackBar.open(error.message);\n },\n });\n }\n insert(item: any, index: number) {\n const body = {\n permissions: [item],\n };\n this.permissionService.create(body).subscribe({\n next: (res: any) => {\n this.snackBar.open('Add successfully');\n this.sourceSelection.deselect(this.obj[index]);\n this.targetDataSource.data.unshift(res.data[0]);\n this.targetDataSource._updateChangeSubscription();\n this.sourceNewLength--;\n },\n error: (error) => {\n this.snackBar.open(error.message);\n },\n });\n }\n delete(id: string, index: number) {\n this.permissionService.delete(id).subscribe({\n next: (res) => {\n this.snackBar.open('Delete successfully');\n this.targetSelection.deselect(this.permissions[index]);\n this.sourceDeprecatedLength--;\n this.targetDataSource.data.splice(index, 1);\n this.targetDataSource._updateChangeSubscription();\n },\n error: (error) => {\n this.snackBar.open(error.message);\n },\n });\n }\n updateAll() {\n const body = {\n permissions: this.obj,\n };\n this.permissionService.create(body).subscribe({\n next: (res: any) => {\n this.snackBar.open('Update successfully');\n this.sourceSelection.clear();\n this.permissions = res.data;\n this.targetDataSource.data = res.data;\n this.targetDataSource._updateChangeSubscription();\n this.sourceNewLength = 0;\n },\n error: (error) => {\n this.snackBar.open(error.message);\n },\n });\n }\n}\n","<rolatech-toolbar title=\"Permissions update\">\n <button mat-flat-button (click)=\"updateAll()\">\n <mat-icon>sync</mat-icon>\n Sync\n </button>\n</rolatech-toolbar>\n<div class=\"flex flex-row gap-2 pr-3\">\n <div class=\"w-[256px]\">\n <div class=\"text-lg font-bold p-3\">Endpoints</div>\n <mat-selection-list #endpoint [multiple]=\"false\" (selectionChange)=\"selectionChange($event)\">\n @for (endpoint of endpoints; track endpoint; let i = $index) {\n <mat-list-option [value]=\"endpoint\" [selected]=\"endpoint && i === 0\">\n {{ endpoint.resource }}\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n <div class=\"flex gap-2 w-full overflow-hidden\">\n <div class=\"w-1/2 p-3\">\n <div class=\"flex flex-col justify-between\">\n <div class=\"text-lg font-bold\">Server version</div>\n <div class=\"text-sm opacity-70\">\n Total {{ sourceDataSource.data.length }}, New {{ sourceNewLength }}, Deprecated {{ sourceDeprecatedLength }}\n </div>\n </div>\n <div class=\"h-[calc(100vh-190px)] overflow-scroll\">\n <table mat-table [dataSource]=\"sourceDataSource\">\n <!-- name Column -->\n <!-- <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>名称</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container> -->\n\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">Actions</th>\n <td mat-cell *matCellDef=\"let item; let i = index\" class=\"actions\">\n <!-- <mat-icon>more_vert</mat-icon> -->\n <a class=\"cursor-pointer\" (click)=\"insert(item, i)\"> Insert </a>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"sourceDisplayedColumns; sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: sourceDisplayedColumns\"\n [ngClass]=\"sourceSelection.isSelected(row) ? 'bg-(--rt-brand-color) important' : ''\"\n ></tr>\n </table>\n </div>\n </div>\n\n <div class=\"w-1/2 p-3\">\n <div class=\"flex flex-col\">\n <div class=\"text-lg font-bold\">Database version</div>\n <div class=\"text-sm opacity-70\">Total {{ targetDataSource.data.length }}</div>\n </div>\n\n <div class=\"h-[calc(100vh-190px)] overflow-scroll\">\n <table mat-table [dataSource]=\"targetDataSource\">\n <!-- code Column -->\n <ng-container matColumnDef=\"code\">\n <th mat-header-cell *matHeaderCellDef>code</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.code }}</td>\n </ng-container>\n\n <!-- pattern Column -->\n <ng-container matColumnDef=\"pattern\">\n <th mat-header-cell *matHeaderCellDef>pattern</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.pattern }}</td>\n </ng-container>\n\n <!-- method Column -->\n <ng-container matColumnDef=\"method\">\n <th mat-header-cell *matHeaderCellDef>method</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.method }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\">Actions</th>\n <td mat-cell *matCellDef=\"let item; let i = index\" class=\"actions\">\n <a class=\"cursor-pointer\" (click)=\"delete(item.id, i)\"> Delete </a>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"targetDisplayedColumns; sticky: true\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: targetDisplayedColumns\"\n [ngClass]=\"targetSelection.isSelected(row) ? 'line-through bg-(--rt-raised-background)' : ''\"\n ></tr>\n </table>\n </div>\n </div>\n </div>\n</div>\n","import { Routes } from '@angular/router';\nimport { CreateComponent } from './create/create.component';\nimport { DetailsComponent } from './details/details.component';\nimport { IndexComponent } from './index/index.component';\nimport { UpdateComponent } from './update/update.component';\n\nconst routes: Routes = [\n {\n path: '',\n component: IndexComponent,\n },\n {\n path: 'create',\n component: CreateComponent,\n },\n {\n path: 'update',\n component: UpdateComponent,\n },\n {\n path: ':id',\n component: DetailsComponent,\n },\n];\nexport default routes;\n"],"names":["i4","i1"],"mappings":"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"}
@@ -12,10 +12,10 @@ class RoleService extends BaseService {
12
12
  withCredentials: true,
13
13
  });
14
14
  }
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: RoleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: RoleService, providedIn: 'root' });
15
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RoleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
16
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RoleService, providedIn: 'root' });
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: RoleService, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RoleService, decorators: [{
19
19
  type: Injectable,
20
20
  args: [{
21
21
  providedIn: 'root',
@@ -23,4 +23,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImpor
23
23
  }] });
24
24
 
25
25
  export { RoleService as R };
26
- //# sourceMappingURL=rolatech-angular-authorization-role.service-DVE1XRje.mjs.map
26
+ //# sourceMappingURL=rolatech-angular-authorization-role.service-CPGLvmBO.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"rolatech-angular-authorization-role.service-DVE1XRje.mjs","sources":["../../../../packages/angular-authorization/src/lib/services/role.service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseService } from '@rolatech/angular-services';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RoleService extends BaseService {\n override init() {\n this.endpoint = 'auth/roles';\n super.init();\n }\n updatePermissions(id: string, data: any): Observable<any> {\n return this.http.put(`${this.actionUrl}/${id}/permissions`, data, {\n withCredentials: true,\n });\n }\n}\n"],"names":[],"mappings":";;;;AAOM,MAAO,WAAY,SAAQ,WAAW,CAAA;IACjC,IAAI,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,GAAG,YAAY;QAC5B,KAAK,CAAC,IAAI,EAAE;IACd;IACA,iBAAiB,CAAC,EAAU,EAAE,IAAS,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAA,EAAI,EAAE,CAAA,YAAA,CAAc,EAAE,IAAI,EAAE;AAChE,YAAA,eAAe,EAAE,IAAI;AACtB,SAAA,CAAC;IACJ;uGATW,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAX,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;;;"}
1
+ {"version":3,"file":"rolatech-angular-authorization-role.service-CPGLvmBO.mjs","sources":["../../../../packages/angular-authorization/src/lib/services/role.service.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { BaseService } from '@rolatech/angular-services';\nimport { Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class RoleService extends BaseService {\n override init() {\n this.endpoint = 'auth/roles';\n super.init();\n }\n updatePermissions(id: string, data: any): Observable<any> {\n return this.http.put(`${this.actionUrl}/${id}/permissions`, data, {\n withCredentials: true,\n });\n }\n}\n"],"names":[],"mappings":";;;;AAOM,MAAO,WAAY,SAAQ,WAAW,CAAA;IACjC,IAAI,GAAA;AACX,QAAA,IAAI,CAAC,QAAQ,GAAG,YAAY;QAC5B,KAAK,CAAC,IAAI,EAAE;IACd;IACA,iBAAiB,CAAC,EAAU,EAAE,IAAS,EAAA;AACrC,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,EAAG,IAAI,CAAC,SAAS,CAAA,CAAA,EAAI,EAAE,CAAA,YAAA,CAAc,EAAE,IAAI,EAAE;AAChE,YAAA,eAAe,EAAE,IAAI;AACtB,SAAA,CAAC;IACJ;uGATW,WAAW,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAAX,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA;;2FAEP,WAAW,EAAA,UAAA,EAAA,CAAA;kBAHvB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;;;"}
@@ -3,13 +3,13 @@ import { inject, Component, model, output, signal, computed, viewChild } from '@
3
3
  import * as i1 from '@angular/forms';
4
4
  import { FormBuilder, Validators } from '@angular/forms';
5
5
  import { MatSnackBar } from '@angular/material/snack-bar';
6
- import { R as RoleService } from './rolatech-angular-authorization-role.service-DVE1XRje.mjs';
6
+ import { R as RoleService } from './rolatech-angular-authorization-role.service-CPGLvmBO.mjs';
7
7
  import { AngularCommonModule } from '@rolatech/angular-common';
8
8
  import { AngularComponentsModule, ToolbarComponent, BaseComponent, PanelComponent, PanelHeaderComponent, SpinnerComponent } from '@rolatech/angular-components';
9
9
  import * as i2 from '@angular/material/button';
10
10
  import * as i3 from '@angular/material/form-field';
11
11
  import * as i5 from '@angular/material/input';
12
- import { P as PermissionService } from './rolatech-angular-authorization-permission.service-ENR-IAUI.mjs';
12
+ import { P as PermissionService } from './rolatech-angular-authorization-permission.service-CVGprPKX.mjs';
13
13
  import { groupBy, forEach, keys, values, map, find, assign, some } from 'lodash';
14
14
  import * as i3$1 from '@angular/material/checkbox';
15
15
  import * as i3$2 from '@angular/material/icon';
@@ -48,10 +48,10 @@ class CreateComponent {
48
48
  },
49
49
  });
50
50
  }
51
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: CreateComponent, isStandalone: true, selector: "rolatech-authorization-create", ngImport: i0, template: "<rolatech-toolbar title=\"Create Role\" link=\"../\"></rolatech-toolbar>\n<div class=\"p-4\">\n <form [formGroup]=\"roleCreateForm\" (submit)=\"submit()\">\n <div class=\"flex flex-col lg:w-1/2\">\n <!-- name -->\n <h2 class=\"mb-3\">Info</h2>\n <mat-form-field appearance=\"fill\">\n <mat-label> Name </mat-label>\n <input matInput formControlName=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label> Description </mat-label>\n <input matInput formControlName=\"description\" required />\n </mat-form-field>\n </div>\n <button mat-flat-button type=\"submit\">Save</button>\n </form>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
51
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.1", type: CreateComponent, isStandalone: true, selector: "rolatech-authorization-create", ngImport: i0, template: "<rolatech-toolbar title=\"Create Role\" link=\"../\"></rolatech-toolbar>\n<div class=\"p-4\">\n <form [formGroup]=\"roleCreateForm\" (submit)=\"submit()\">\n <div class=\"flex flex-col lg:w-1/2\">\n <!-- name -->\n <h2 class=\"mb-3\">Info</h2>\n <mat-form-field appearance=\"fill\">\n <mat-label> Name </mat-label>\n <input matInput formControlName=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label> Description </mat-label>\n <input matInput formControlName=\"description\" required />\n </mat-form-field>\n </div>\n <button mat-flat-button type=\"submit\">Save</button>\n </form>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CreateComponent, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: CreateComponent, decorators: [{
55
55
  type: Component,
56
56
  args: [{ imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent], selector: 'rolatech-authorization-create', template: "<rolatech-toolbar title=\"Create Role\" link=\"../\"></rolatech-toolbar>\n<div class=\"p-4\">\n <form [formGroup]=\"roleCreateForm\" (submit)=\"submit()\">\n <div class=\"flex flex-col lg:w-1/2\">\n <!-- name -->\n <h2 class=\"mb-3\">Info</h2>\n <mat-form-field appearance=\"fill\">\n <mat-label> Name </mat-label>\n <input matInput formControlName=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label> Description </mat-label>\n <input matInput formControlName=\"description\" required />\n </mat-form-field>\n </div>\n <button mat-flat-button type=\"submit\">Save</button>\n </form>\n</div>\n" }]
57
57
  }] });
@@ -77,10 +77,10 @@ class RoleUpdateComponent {
77
77
  ngDoCheck() {
78
78
  this.output.emit(this.roleUpdateForm.value);
79
79
  }
80
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: RoleUpdateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.1", type: RoleUpdateComponent, isStandalone: true, selector: "rolatech-authorization-role-update", inputs: { role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { role: "roleChange", output: "output" }, ngImport: i0, template: "<div>\n <form [formGroup]=\"roleUpdateForm\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput formControlName=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <input matInput formControlName=\"description\" required />\n </mat-form-field>\n </form>\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }] });
80
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RoleUpdateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
81
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.1", type: RoleUpdateComponent, isStandalone: true, selector: "rolatech-authorization-role-update", inputs: { role: { classPropertyName: "role", publicName: "role", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { role: "roleChange", output: "output" }, ngImport: i0, template: "<div>\n <form [formGroup]=\"roleUpdateForm\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput formControlName=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <input matInput formControlName=\"description\" required />\n </mat-form-field>\n </form>\n</div>\n", styles: ["mat-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }] });
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: RoleUpdateComponent, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: RoleUpdateComponent, decorators: [{
84
84
  type: Component,
85
85
  args: [{ selector: 'rolatech-authorization-role-update', imports: [AngularCommonModule, AngularComponentsModule], template: "<div>\n <form [formGroup]=\"roleUpdateForm\">\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Name </mat-label>\n <input matInput formControlName=\"name\" required />\n </mat-form-field>\n <mat-form-field appearance=\"fill\">\n <mat-label i18n> Description </mat-label>\n <input matInput formControlName=\"description\" required />\n </mat-form-field>\n </form>\n</div>\n", styles: ["mat-form-field{width:100%}\n"] }]
86
86
  }], propDecorators: { role: [{ type: i0.Input, args: [{ isSignal: true, alias: "role", required: false }] }, { type: i0.Output, args: ["roleChange"] }], output: [{ type: i0.Output, args: ["output"] }] } });
@@ -218,12 +218,12 @@ class DetailsComponent extends BaseComponent {
218
218
  onMouseover(item) {
219
219
  this.detail = item;
220
220
  }
221
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DetailsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
222
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: DetailsComponent, isStandalone: true, selector: "rolatech-authorization-details", usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar [title]=\"title()\">\n <button mat-icon-button (click)=\"update()\">\n <mat-icon>edit</mat-icon>\n </button>\n <button mat-icon-button (click)=\"save()\">\n <mat-icon>save</mat-icon>\n </button>\n</rolatech-toolbar>\n<div class=\"flex flex-row\">\n <div class=\"p-3 w-1/3 h-[calc(100vh-128px)] overflow-scroll\">\n @for (item of formattedPermissions; track item) {\n <div class=\"p-1\">\n <rolatech-panel>\n <rolatech-panel-header>\n <div class=\"px-2\">\n <mat-checkbox\n class=\"text-lg font-medium\"\n [checked]=\"item.completed\"\n [indeterminate]=\"someComplete(item)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"setAll(item, $event.checked)\"\n >\n {{ item.name }}\n </mat-checkbox>\n </div>\n </rolatech-panel-header>\n <div class=\"pl-6\">\n <div>\n @for (sub of item.values; track sub) {\n <div class=\"p-2 flex justify-between hover:bg-[--rt-raised-background]\" (mouseover)=\"onMouseover(sub)\">\n <div class=\"pb-3\">\n <mat-checkbox [(ngModel)]=\"sub.completed\" (ngModelChange)=\"updateAllComplete(item)\">\n {{ sub.name }}\n </mat-checkbox>\n <div class=\"pl-6 text-[--rt-text-secondary]\">\n {{ sub.description }}\n </div>\n </div>\n <!-- <div>\n <mat-icon>info</mat-icon>\n </div> -->\n </div>\n }\n </div>\n </div>\n </rolatech-panel>\n </div>\n }\n </div>\n <div class=\"p-3\">\n <div>{{ detail?.name }}</div>\n <div>{{ detail?.description }}</div>\n <div>{{ detail?.code }}</div>\n <div>{{ detail?.pattern }}</div>\n <div>{{ detail?.method }}</div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: PanelComponent, selector: "rolatech-panel", inputs: ["border", "divider", "expanded", "title", "subtitle"], outputs: ["expandedChange"] }, { kind: "component", type: PanelHeaderComponent, selector: "rolatech-panel-header" }] });
221
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DetailsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
222
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: DetailsComponent, isStandalone: true, selector: "rolatech-authorization-details", usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar [title]=\"title()\">\n <button mat-icon-button (click)=\"update()\">\n <mat-icon>edit</mat-icon>\n </button>\n <button mat-icon-button (click)=\"save()\">\n <mat-icon>save</mat-icon>\n </button>\n</rolatech-toolbar>\n<div class=\"flex flex-row\">\n <div class=\"p-3 w-1/3 h-[calc(100vh-128px)] overflow-scroll\">\n @for (item of formattedPermissions; track item) {\n <div class=\"p-1\">\n <rolatech-panel>\n <rolatech-panel-header>\n <div class=\"px-2\">\n <mat-checkbox\n class=\"text-lg font-medium\"\n [checked]=\"item.completed\"\n [indeterminate]=\"someComplete(item)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"setAll(item, $event.checked)\"\n >\n {{ item.name }}\n </mat-checkbox>\n </div>\n </rolatech-panel-header>\n <div class=\"pl-6\">\n <div>\n @for (sub of item.values; track sub) {\n <div class=\"p-2 flex justify-between hover:bg-(--rt-raised-background)\" (mouseover)=\"onMouseover(sub)\">\n <div class=\"pb-3\">\n <mat-checkbox [(ngModel)]=\"sub.completed\" (ngModelChange)=\"updateAllComplete(item)\">\n {{ sub.name }}\n </mat-checkbox>\n <div class=\"pl-6 text-(--rt-text-secondary)\">\n {{ sub.description }}\n </div>\n </div>\n <!-- <div>\n <mat-icon>info</mat-icon>\n </div> -->\n </div>\n }\n </div>\n </div>\n </rolatech-panel>\n </div>\n }\n </div>\n <div class=\"p-3\">\n <div>{{ detail?.name }}</div>\n <div>{{ detail?.description }}</div>\n <div>{{ detail?.code }}</div>\n <div>{{ detail?.pattern }}</div>\n <div>{{ detail?.method }}</div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i3$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }, { kind: "component", type: PanelComponent, selector: "rolatech-panel", inputs: ["border", "divider", "expanded", "title", "subtitle"], outputs: ["expandedChange"] }, { kind: "component", type: PanelHeaderComponent, selector: "rolatech-panel-header" }] });
223
223
  }
224
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: DetailsComponent, decorators: [{
224
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: DetailsComponent, decorators: [{
225
225
  type: Component,
226
- args: [{ imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent, PanelComponent, PanelHeaderComponent], selector: 'rolatech-authorization-details', template: "<rolatech-toolbar [title]=\"title()\">\n <button mat-icon-button (click)=\"update()\">\n <mat-icon>edit</mat-icon>\n </button>\n <button mat-icon-button (click)=\"save()\">\n <mat-icon>save</mat-icon>\n </button>\n</rolatech-toolbar>\n<div class=\"flex flex-row\">\n <div class=\"p-3 w-1/3 h-[calc(100vh-128px)] overflow-scroll\">\n @for (item of formattedPermissions; track item) {\n <div class=\"p-1\">\n <rolatech-panel>\n <rolatech-panel-header>\n <div class=\"px-2\">\n <mat-checkbox\n class=\"text-lg font-medium\"\n [checked]=\"item.completed\"\n [indeterminate]=\"someComplete(item)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"setAll(item, $event.checked)\"\n >\n {{ item.name }}\n </mat-checkbox>\n </div>\n </rolatech-panel-header>\n <div class=\"pl-6\">\n <div>\n @for (sub of item.values; track sub) {\n <div class=\"p-2 flex justify-between hover:bg-[--rt-raised-background]\" (mouseover)=\"onMouseover(sub)\">\n <div class=\"pb-3\">\n <mat-checkbox [(ngModel)]=\"sub.completed\" (ngModelChange)=\"updateAllComplete(item)\">\n {{ sub.name }}\n </mat-checkbox>\n <div class=\"pl-6 text-[--rt-text-secondary]\">\n {{ sub.description }}\n </div>\n </div>\n <!-- <div>\n <mat-icon>info</mat-icon>\n </div> -->\n </div>\n }\n </div>\n </div>\n </rolatech-panel>\n </div>\n }\n </div>\n <div class=\"p-3\">\n <div>{{ detail?.name }}</div>\n <div>{{ detail?.description }}</div>\n <div>{{ detail?.code }}</div>\n <div>{{ detail?.pattern }}</div>\n <div>{{ detail?.method }}</div>\n </div>\n</div>\n" }]
226
+ args: [{ imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent, PanelComponent, PanelHeaderComponent], selector: 'rolatech-authorization-details', template: "<rolatech-toolbar [title]=\"title()\">\n <button mat-icon-button (click)=\"update()\">\n <mat-icon>edit</mat-icon>\n </button>\n <button mat-icon-button (click)=\"save()\">\n <mat-icon>save</mat-icon>\n </button>\n</rolatech-toolbar>\n<div class=\"flex flex-row\">\n <div class=\"p-3 w-1/3 h-[calc(100vh-128px)] overflow-scroll\">\n @for (item of formattedPermissions; track item) {\n <div class=\"p-1\">\n <rolatech-panel>\n <rolatech-panel-header>\n <div class=\"px-2\">\n <mat-checkbox\n class=\"text-lg font-medium\"\n [checked]=\"item.completed\"\n [indeterminate]=\"someComplete(item)\"\n (click)=\"$event.stopPropagation()\"\n (change)=\"setAll(item, $event.checked)\"\n >\n {{ item.name }}\n </mat-checkbox>\n </div>\n </rolatech-panel-header>\n <div class=\"pl-6\">\n <div>\n @for (sub of item.values; track sub) {\n <div class=\"p-2 flex justify-between hover:bg-(--rt-raised-background)\" (mouseover)=\"onMouseover(sub)\">\n <div class=\"pb-3\">\n <mat-checkbox [(ngModel)]=\"sub.completed\" (ngModelChange)=\"updateAllComplete(item)\">\n {{ sub.name }}\n </mat-checkbox>\n <div class=\"pl-6 text-(--rt-text-secondary)\">\n {{ sub.description }}\n </div>\n </div>\n <!-- <div>\n <mat-icon>info</mat-icon>\n </div> -->\n </div>\n }\n </div>\n </div>\n </rolatech-panel>\n </div>\n }\n </div>\n <div class=\"p-3\">\n <div>{{ detail?.name }}</div>\n <div>{{ detail?.description }}</div>\n <div>{{ detail?.code }}</div>\n <div>{{ detail?.pattern }}</div>\n <div>{{ detail?.method }}</div>\n </div>\n</div>\n" }]
227
227
  }] });
228
228
 
229
229
  class IndexComponent extends BaseComponent {
@@ -326,12 +326,12 @@ class IndexComponent extends BaseComponent {
326
326
  }
327
327
  });
328
328
  }
329
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: IndexComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
330
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: IndexComponent, isStandalone: true, selector: "rolatech-authorization-index", viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"Roles\">\n <button mat-icon-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"isSearch = true\">\n <mat-icon>search</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"beforeMenu\">\n <mat-icon>reorder</mat-icon>\n </button>\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n @for (item of orderOptions; track item) {\n <button mat-menu-item (click)=\"onClick(item)\">\n <span>{{ item.value }}</span>\n <mat-icon>{{ item.icon }}</mat-icon>\n </button>\n }\n </mat-menu>\n</rolatech-toolbar>\n@if (isSearch) {\n <mat-form-field floatLabel=\"auto\">\n <input type=\"text\" matInput placeholder=\"Name\" (keyup.enter)=\"search($event)\" />\n <button matSuffix mat-icon-button (click)=\"findAll(null); isSearch = false\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n}\n<div class=\"py-3\">\n <rolatech-spinner></rolatech-spinner>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>Name</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container>\n\n <!-- description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.description }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\"></th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <mat-icon>navigate_next</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n class=\"cursor-pointer hover:bg-[--rt-raised-background]\"\n [routerLink]=\"['./', row.id]\"\n ></tr>\n </table>\n</div>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = findAll($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem;padding:0 28px}.mat-mdc-header-cell.actions{text-align:right;max-width:120px;width:120px;padding:0 28px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
329
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: IndexComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
330
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.1", type: IndexComponent, isStandalone: true, selector: "rolatech-authorization-index", viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<rolatech-toolbar title=\"Roles\">\n <button class=\"cursor-pointer\" mat-icon-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"isSearch = true\">\n <mat-icon>search</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"beforeMenu\">\n <mat-icon>reorder</mat-icon>\n </button>\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n @for (item of orderOptions; track item) {\n <button mat-menu-item (click)=\"onClick(item)\">\n <span>{{ item.value }}</span>\n <mat-icon>{{ item.icon }}</mat-icon>\n </button>\n }\n </mat-menu>\n</rolatech-toolbar>\n@if (isSearch) {\n <mat-form-field floatLabel=\"auto\">\n <input type=\"text\" matInput placeholder=\"Name\" (keyup.enter)=\"search($event)\" />\n <button matSuffix mat-icon-button (click)=\"findAll(null); isSearch = false\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n}\n<div class=\"py-3\">\n <rolatech-spinner></rolatech-spinner>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>Name</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container>\n\n <!-- description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.description }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\"></th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <mat-icon>navigate_next</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n class=\"cursor-pointer hover:bg-(--rt-raised-background)\"\n [routerLink]=\"['./', row.id]\"\n ></tr>\n </table>\n</div>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = findAll($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem;padding:0 28px}.mat-mdc-header-cell.actions{text-align:right;max-width:120px;width:120px;padding:0 28px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\n"], dependencies: [{ kind: "ngmodule", type: AngularCommonModule }, { kind: "directive", type: i1$1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: AngularComponentsModule }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i3$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i7.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }, { kind: "component", type: i8.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i8.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i8.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i8.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i8.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i8.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i8.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i8.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i8.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i8.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "component", type: SpinnerComponent, selector: "rolatech-spinner", inputs: ["title"] }, { kind: "component", type: ToolbarComponent, selector: "rolatech-toolbar", inputs: ["title", "subtitle", "back", "link", "large", "divider"] }] });
331
331
  }
332
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: IndexComponent, decorators: [{
332
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.1", ngImport: i0, type: IndexComponent, decorators: [{
333
333
  type: Component,
334
- args: [{ imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent, ToolbarComponent], selector: 'rolatech-authorization-index', template: "<rolatech-toolbar title=\"Roles\">\n <button mat-icon-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"isSearch = true\">\n <mat-icon>search</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"beforeMenu\">\n <mat-icon>reorder</mat-icon>\n </button>\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n @for (item of orderOptions; track item) {\n <button mat-menu-item (click)=\"onClick(item)\">\n <span>{{ item.value }}</span>\n <mat-icon>{{ item.icon }}</mat-icon>\n </button>\n }\n </mat-menu>\n</rolatech-toolbar>\n@if (isSearch) {\n <mat-form-field floatLabel=\"auto\">\n <input type=\"text\" matInput placeholder=\"Name\" (keyup.enter)=\"search($event)\" />\n <button matSuffix mat-icon-button (click)=\"findAll(null); isSearch = false\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n}\n<div class=\"py-3\">\n <rolatech-spinner></rolatech-spinner>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>Name</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container>\n\n <!-- description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.description }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\"></th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <mat-icon>navigate_next</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n class=\"cursor-pointer hover:bg-[--rt-raised-background]\"\n [routerLink]=\"['./', row.id]\"\n ></tr>\n </table>\n</div>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = findAll($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem;padding:0 28px}.mat-mdc-header-cell.actions{text-align:right;max-width:120px;width:120px;padding:0 28px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\n"] }]
334
+ args: [{ imports: [AngularCommonModule, AngularComponentsModule, SpinnerComponent, ToolbarComponent], selector: 'rolatech-authorization-index', template: "<rolatech-toolbar title=\"Roles\">\n <button class=\"cursor-pointer\" mat-icon-button routerLink=\"./create\">\n <mat-icon>add</mat-icon>\n </button>\n <button mat-icon-button (click)=\"isSearch = true\">\n <mat-icon>search</mat-icon>\n </button>\n <button mat-icon-button [matMenuTriggerFor]=\"beforeMenu\">\n <mat-icon>reorder</mat-icon>\n </button>\n <mat-menu #beforeMenu=\"matMenu\" xPosition=\"before\">\n @for (item of orderOptions; track item) {\n <button mat-menu-item (click)=\"onClick(item)\">\n <span>{{ item.value }}</span>\n <mat-icon>{{ item.icon }}</mat-icon>\n </button>\n }\n </mat-menu>\n</rolatech-toolbar>\n@if (isSearch) {\n <mat-form-field floatLabel=\"auto\">\n <input type=\"text\" matInput placeholder=\"Name\" (keyup.enter)=\"search($event)\" />\n <button matSuffix mat-icon-button (click)=\"findAll(null); isSearch = false\">\n <mat-icon>close</mat-icon>\n </button>\n </mat-form-field>\n}\n<div class=\"py-3\">\n <rolatech-spinner></rolatech-spinner>\n <table mat-table [dataSource]=\"dataSource\">\n <!-- name Column -->\n <ng-container matColumnDef=\"name\">\n <th mat-header-cell *matHeaderCellDef>Name</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.name }}</td>\n </ng-container>\n\n <!-- description Column -->\n <ng-container matColumnDef=\"description\">\n <th mat-header-cell *matHeaderCellDef>Description</th>\n <td mat-cell *matCellDef=\"let item\">{{ item.description }}</td>\n </ng-container>\n\n <!-- actions Column -->\n <ng-container matColumnDef=\"actions\" stickyEnd>\n <th mat-header-cell *matHeaderCellDef class=\"actions\"></th>\n <td mat-cell *matCellDef=\"let item\" class=\"actions\">\n <mat-icon>navigate_next</mat-icon>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr\n mat-row\n *matRowDef=\"let row; columns: displayedColumns\"\n class=\"cursor-pointer hover:bg-(--rt-raised-background)\"\n [routerLink]=\"['./', row.id]\"\n ></tr>\n </table>\n</div>\n<mat-paginator\n #paginator\n [length]=\"length\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n (page)=\"pageEvent = findAll($event)\"\n hidePageSize\n showFirstLastButtons\n>\n</mat-paginator>\n", styles: ["mat-form-field{width:100%}table{width:100%}td.mat-column-actions{text-align:right;min-width:80px;font-size:.8rem;padding:0 28px}.mat-mdc-header-cell.actions{text-align:right;max-width:120px;width:120px;padding:0 28px}mat-cell:last-of-type,mat-header-cell:last-of-type,mat-footer-cell:last-of-type{text-align:right;padding-right:8px!important}\n"] }]
335
335
  }], propDecorators: { paginator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }] } });
336
336
 
337
337
  const routes = [
@@ -350,4 +350,4 @@ const routes = [
350
350
  ];
351
351
 
352
352
  export { routes as default };
353
- //# sourceMappingURL=rolatech-angular-authorization-roles.routes-CWvPqWe4.mjs.map
353
+ //# sourceMappingURL=rolatech-angular-authorization-roles.routes-C-rluBtM.mjs.map