@rolatech/angular-authorization 20.1.6-beta.6 → 20.1.6-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/{rolatech-angular-authorization-clients.routes-CUhnGT3n.mjs → rolatech-angular-authorization-clients.routes-vq9pfnDd.mjs} +22 -22
- package/fesm2022/rolatech-angular-authorization-clients.routes-vq9pfnDd.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-authorization-endpoint.service-Bb2Q9peT.mjs → rolatech-angular-authorization-endpoint.service-Dt_4NG3P.mjs} +4 -4
- package/fesm2022/rolatech-angular-authorization-endpoint.service-Dt_4NG3P.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-authorization-endpoints.routes-C2H0ELRe.mjs → rolatech-angular-authorization-endpoints.routes-Cpz-uZiY.mjs} +8 -8
- package/fesm2022/rolatech-angular-authorization-endpoints.routes-Cpz-uZiY.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-authorization-permission.service-C67beh-B.mjs → rolatech-angular-authorization-permission.service-JWYhB6dG.mjs} +4 -4
- package/fesm2022/rolatech-angular-authorization-permission.service-JWYhB6dG.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-authorization-permissions.routes-DrLSLkzq.mjs → rolatech-angular-authorization-permissions.routes-DXBr3b4S.mjs} +16 -16
- package/fesm2022/rolatech-angular-authorization-permissions.routes-DXBr3b4S.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-authorization-role.service-CJ9OWfn-.mjs → rolatech-angular-authorization-role.service-CcnqnLZD.mjs} +4 -4
- package/fesm2022/rolatech-angular-authorization-role.service-CcnqnLZD.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-authorization-roles.routes-7viqa6ZE.mjs → rolatech-angular-authorization-roles.routes-aB8e5OUK.mjs} +17 -17
- package/fesm2022/rolatech-angular-authorization-roles.routes-aB8e5OUK.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-authorization-settings.routes-CALsjEEv.mjs → rolatech-angular-authorization-settings.routes-BSm3OkNO.mjs} +4 -4
- package/fesm2022/rolatech-angular-authorization-settings.routes-BSm3OkNO.mjs.map +1 -0
- package/fesm2022/{rolatech-angular-authorization-users.routes-BJPW9u0u.mjs → rolatech-angular-authorization-users.routes-Dcyrh1Ca.mjs} +19 -19
- package/fesm2022/rolatech-angular-authorization-users.routes-Dcyrh1Ca.mjs.map +1 -0
- package/fesm2022/rolatech-angular-authorization.mjs +9 -9
- package/fesm2022/rolatech-angular-authorization.mjs.map +1 -1
- package/package.json +1 -1
- package/fesm2022/rolatech-angular-authorization-clients.routes-CUhnGT3n.mjs.map +0 -1
- package/fesm2022/rolatech-angular-authorization-endpoint.service-Bb2Q9peT.mjs.map +0 -1
- package/fesm2022/rolatech-angular-authorization-endpoints.routes-C2H0ELRe.mjs.map +0 -1
- package/fesm2022/rolatech-angular-authorization-permission.service-C67beh-B.mjs.map +0 -1
- package/fesm2022/rolatech-angular-authorization-permissions.routes-DrLSLkzq.mjs.map +0 -1
- package/fesm2022/rolatech-angular-authorization-role.service-CJ9OWfn-.mjs.map +0 -1
- package/fesm2022/rolatech-angular-authorization-roles.routes-7viqa6ZE.mjs.map +0 -1
- package/fesm2022/rolatech-angular-authorization-settings.routes-CALsjEEv.mjs.map +0 -1
- package/fesm2022/rolatech-angular-authorization-users.routes-BJPW9u0u.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-
|
|
5
|
+
import { P as PermissionService } from './rolatech-angular-authorization-permission.service-JWYhB6dG.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,17 +16,17 @@ 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-
|
|
19
|
+
import { E as EndpointService } from './rolatech-angular-authorization-endpoint.service-Dt_4NG3P.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
24
|
constructor() { }
|
|
25
25
|
ngOnInit() { }
|
|
26
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
27
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: CreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", type: CreateComponent, isStandalone: true, selector: "rolatech-authorization-create", ngImport: i0, template: "<rolatech-toolbar title=\"\u6743\u9650\u521B\u5EFA\"></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"] }] });
|
|
28
28
|
}
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: CreateComponent, decorators: [{
|
|
30
30
|
type: Component,
|
|
31
31
|
args: [{ imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent], selector: 'rolatech-authorization-create', template: "<rolatech-toolbar title=\"\u6743\u9650\u521B\u5EFA\"></rolatech-toolbar>\n" }]
|
|
32
32
|
}], ctorParameters: () => [] });
|
|
@@ -34,10 +34,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImpor
|
|
|
34
34
|
class DetailsComponent {
|
|
35
35
|
constructor() { }
|
|
36
36
|
ngOnInit() { }
|
|
37
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
38
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
37
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: DetailsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", 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"] }] });
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: DetailsComponent, decorators: [{
|
|
41
41
|
type: Component,
|
|
42
42
|
args: [{ imports: [AngularCommonModule, AngularComponentsModule, ToolbarComponent], selector: 'rolatech-authorization-details', template: "<rolatech-toolbar title=\"Permission details\"></rolatech-toolbar>\n" }]
|
|
43
43
|
}], ctorParameters: () => [] });
|
|
@@ -122,13 +122,13 @@ class IndexComponent {
|
|
|
122
122
|
},
|
|
123
123
|
});
|
|
124
124
|
}
|
|
125
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
126
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
125
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: IndexComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
126
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", 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"] }] });
|
|
127
127
|
}
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: IndexComponent, decorators: [{
|
|
129
129
|
type: Component,
|
|
130
130
|
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"] }]
|
|
131
|
-
}] });
|
|
131
|
+
}], propDecorators: { paginator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }] } });
|
|
132
132
|
|
|
133
133
|
class UpdateComponent {
|
|
134
134
|
permissionService = inject(PermissionService);
|
|
@@ -281,10 +281,10 @@ class UpdateComponent {
|
|
|
281
281
|
},
|
|
282
282
|
});
|
|
283
283
|
}
|
|
284
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
285
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
284
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: UpdateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
285
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", 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"] }] });
|
|
286
286
|
}
|
|
287
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
287
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: UpdateComponent, decorators: [{
|
|
288
288
|
type: Component,
|
|
289
289
|
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"] }]
|
|
290
290
|
}] });
|
|
@@ -309,4 +309,4 @@ const routes = [
|
|
|
309
309
|
];
|
|
310
310
|
|
|
311
311
|
export { routes as default };
|
|
312
|
-
//# sourceMappingURL=rolatech-angular-authorization-permissions.routes-
|
|
312
|
+
//# sourceMappingURL=rolatech-angular-authorization-permissions.routes-DXBr3b4S.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolatech-angular-authorization-permissions.routes-DXBr3b4S.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, OnInit } 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 implements OnInit {\n constructor() { }\n\n ngOnInit(): void { }\n}\n","<rolatech-toolbar title=\"权限创建\"></rolatech-toolbar>\n","import { Component, OnInit } 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 implements OnInit {\n constructor() { }\n\n ngOnInit(): void { }\n}\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: '创建时间',\n icon: 'arrow_upward',\n sort: 'asc',\n },\n {\n key: 'createdAt',\n value: '创建时间',\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 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: 600,\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: "20.3.
|
|
16
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
15
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: RoleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
16
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: RoleService, providedIn: 'root' });
|
|
17
17
|
}
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", 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: "20.3.4", ngImpor
|
|
|
23
23
|
}] });
|
|
24
24
|
|
|
25
25
|
export { RoleService as R };
|
|
26
|
-
//# sourceMappingURL=rolatech-angular-authorization-role.service-
|
|
26
|
+
//# sourceMappingURL=rolatech-angular-authorization-role.service-CcnqnLZD.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rolatech-angular-authorization-role.service-CcnqnLZD.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;wGATW,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,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAW,cAFV,MAAM,EAAA,CAAA;;4FAEP,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-
|
|
6
|
+
import { R as RoleService } from './rolatech-angular-authorization-role.service-CcnqnLZD.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-
|
|
12
|
+
import { P as PermissionService } from './rolatech-angular-authorization-permission.service-JWYhB6dG.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: "20.3.
|
|
52
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
51
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: CreateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.12", 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],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: "20.3.
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", 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,13 +77,13 @@ 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: "20.3.
|
|
81
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.
|
|
80
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: RoleUpdateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
81
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.12", 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],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: "20.3.
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", 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"] }] } });
|
|
87
87
|
|
|
88
88
|
class DetailsComponent extends BaseComponent {
|
|
89
89
|
roleService = inject(RoleService);
|
|
@@ -218,10 +218,10 @@ 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: "20.3.
|
|
222
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
221
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: DetailsComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
222
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", 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: "20.3.
|
|
224
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: DetailsComponent, decorators: [{
|
|
225
225
|
type: Component,
|
|
226
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
|
}] });
|
|
@@ -326,13 +326,13 @@ class IndexComponent extends BaseComponent {
|
|
|
326
326
|
}
|
|
327
327
|
});
|
|
328
328
|
}
|
|
329
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
330
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
329
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: IndexComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
330
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.12", 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"] }] });
|
|
331
331
|
}
|
|
332
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
332
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImport: i0, type: IndexComponent, decorators: [{
|
|
333
333
|
type: Component,
|
|
334
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"] }]
|
|
335
|
-
}] });
|
|
335
|
+
}], propDecorators: { paginator: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MatPaginator), { isSignal: true }] }] } });
|
|
336
336
|
|
|
337
337
|
const routes = [
|
|
338
338
|
{
|
|
@@ -350,4 +350,4 @@ const routes = [
|
|
|
350
350
|
];
|
|
351
351
|
|
|
352
352
|
export { routes as default };
|
|
353
|
-
//# sourceMappingURL=rolatech-angular-authorization-roles.routes-
|
|
353
|
+
//# sourceMappingURL=rolatech-angular-authorization-roles.routes-aB8e5OUK.mjs.map
|