@abp/ng.identity 5.2.0-rc.2 → 5.3.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/config/identity-config.module.mjs +4 -4
- package/esm2020/lib/components/roles/roles.component.mjs +10 -8
- package/esm2020/lib/components/users/users.component.mjs +16 -11
- package/esm2020/lib/defaults/default-users-entity-actions.mjs +2 -2
- package/esm2020/lib/guards/extensions.guard.mjs +3 -3
- package/esm2020/lib/identity-routing.module.mjs +4 -4
- package/esm2020/lib/identity.module.mjs +4 -4
- package/esm2020/proxy/lib/proxy/identity/identity-role.service.mjs +3 -3
- package/esm2020/proxy/lib/proxy/identity/identity-user-lookup.service.mjs +3 -3
- package/esm2020/proxy/lib/proxy/identity/identity-user.service.mjs +3 -3
- package/fesm2015/abp-ng.identity-config.mjs +4 -4
- package/fesm2015/abp-ng.identity-config.mjs.map +1 -1
- package/fesm2015/abp-ng.identity-proxy.mjs +9 -9
- package/fesm2015/abp-ng.identity-proxy.mjs.map +1 -1
- package/fesm2015/abp-ng.identity.mjs +34 -27
- package/fesm2015/abp-ng.identity.mjs.map +1 -1
- package/fesm2020/abp-ng.identity-config.mjs +4 -4
- package/fesm2020/abp-ng.identity-config.mjs.map +1 -1
- package/fesm2020/abp-ng.identity-proxy.mjs +9 -9
- package/fesm2020/abp-ng.identity-proxy.mjs.map +1 -1
- package/fesm2020/abp-ng.identity.mjs +34 -27
- package/fesm2020/abp-ng.identity.mjs.map +1 -1
- package/lib/components/roles/roles.component.d.ts +3 -2
- package/lib/components/users/users.component.d.ts +5 -3
- package/package.json +4 -4
|
@@ -9,10 +9,10 @@ export class IdentityConfigModule {
|
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
-
IdentityConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
13
|
-
IdentityConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
14
|
-
IdentityConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
12
|
+
IdentityConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
+
IdentityConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityConfigModule });
|
|
14
|
+
IdentityConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityConfigModule });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityConfigModule, decorators: [{
|
|
16
16
|
type: NgModule
|
|
17
17
|
}] });
|
|
18
18
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHktY29uZmlnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L2NvbmZpZy9zcmMvaWRlbnRpdHktY29uZmlnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHdEUsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1NBQ3RDLENBQUM7SUFDSixDQUFDOztpSEFOVSxvQkFBb0I7a0hBQXBCLG9CQUFvQjtrSEFBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBRGhDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJREVOVElUWV9ST1VURV9QUk9WSURFUlMgfSBmcm9tICcuL3Byb3ZpZGVycy9yb3V0ZS5wcm92aWRlcic7XHJcblxyXG5ATmdNb2R1bGUoKVxyXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlDb25maWdNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWRlbnRpdHlDb25maWdNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZGVudGl0eUNvbmZpZ01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbSURFTlRJVFlfUk9VVEVfUFJPVklERVJTXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ListService } from '@abp/ng.core';
|
|
2
2
|
import { IdentityRoleService } from '@abp/ng.identity/proxy';
|
|
3
|
-
import { Confirmation, ConfirmationService } from '@abp/ng.theme.shared';
|
|
3
|
+
import { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
|
|
4
4
|
import { EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, } from '@abp/ng.theme.shared/extensions';
|
|
5
5
|
import { Component, Injector } from '@angular/core';
|
|
6
6
|
import { finalize } from 'rxjs/operators';
|
|
@@ -13,9 +13,10 @@ import * as i5 from "@abp/ng.permission-management";
|
|
|
13
13
|
import * as i6 from "@angular/forms";
|
|
14
14
|
import * as i7 from "@ngx-validate/core";
|
|
15
15
|
export class RolesComponent {
|
|
16
|
-
constructor(list, confirmationService, injector, service) {
|
|
16
|
+
constructor(list, confirmationService, toasterService, injector, service) {
|
|
17
17
|
this.list = list;
|
|
18
18
|
this.confirmationService = confirmationService;
|
|
19
|
+
this.toasterService = toasterService;
|
|
19
20
|
this.injector = injector;
|
|
20
21
|
this.service = service;
|
|
21
22
|
this.data = { items: [], totalCount: 0 };
|
|
@@ -68,6 +69,7 @@ export class RolesComponent {
|
|
|
68
69
|
})
|
|
69
70
|
.subscribe((status) => {
|
|
70
71
|
if (status === Confirmation.Status.confirm) {
|
|
72
|
+
this.toasterService.success('AbpUi::SuccessfullyDeleted');
|
|
71
73
|
this.service.delete(id).subscribe(() => this.list.get());
|
|
72
74
|
}
|
|
73
75
|
});
|
|
@@ -87,15 +89,15 @@ export class RolesComponent {
|
|
|
87
89
|
this.list.sortOrder = dir;
|
|
88
90
|
}
|
|
89
91
|
}
|
|
90
|
-
RolesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
91
|
-
RolesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
92
|
+
RolesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: RolesComponent, deps: [{ token: i1.ListService }, { token: i2.ConfirmationService }, { token: i2.ToasterService }, { token: i0.Injector }, { token: i3.IdentityRoleService }], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
+
RolesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: RolesComponent, selector: "abp-roles", providers: [
|
|
92
94
|
ListService,
|
|
93
95
|
{
|
|
94
96
|
provide: EXTENSIONS_IDENTIFIER,
|
|
95
97
|
useValue: "Identity.RolesComponent" /* Roles */,
|
|
96
98
|
},
|
|
97
|
-
], ngImport: i0, template: "<div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpIdentity::Roles' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <abp-extensible-table\r\n [data]=\"data.items\"\r\n [recordsTotal]=\"data.totalCount\"\r\n [list]=\"list\"\r\n ></abp-extensible-table>\r\n </div>\r\n</div>\r\n\r\n<abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\r\n <ng-template #abpHeader>\r\n <h3>{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\" validateOnSubmit>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpIdentity::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"form?.invalid\" (click)=\"save()\">{{\r\n 'AbpIdentity::Save' | abpLocalization\r\n }}</abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n\r\n<abp-permission-management\r\n #abpPermissionManagement=\"abpPermissionManagement\"\r\n *abpReplaceableTemplate=\"\r\n {\r\n inputs: {\r\n providerName: { value: 'R' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visiblePermissions, twoWay: true },\r\n hideBadges: { value: true }\r\n },\r\n outputs: { visibleChange: onVisiblePermissionChange },\r\n componentKey: permissionManagementKey\r\n };\r\n let init = initTemplate\r\n \"\r\n (abpInit)=\"init(abpPermissionManagement)\"\r\n>\r\n</abp-permission-management>\r\n", components: [{ type: i4.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }, { type: i4.ExtensibleTableComponent, selector: "abp-extensible-table", inputs: ["actionsText", "data", "list", "recordsTotal", "actionsColumnWidth", "actionsTemplate"], exportAs: ["abpExtensibleTable"] }, { type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { type: i4.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { type: i5.PermissionManagementComponent, selector: "abp-permission-management", inputs: ["providerName", "providerKey", "hideBadges", "visible"], outputs: ["visibleChange"], exportAs: ["abpPermissionManagement"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { type: i2.ModalCloseDirective, selector: "[abpClose]" }, { type: i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }], pipes: { "abpLocalization": i1.LocalizationPipe } });
|
|
98
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
99
|
+
], ngImport: i0, template: "<div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpIdentity::Roles' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <abp-extensible-table\r\n [data]=\"data.items\"\r\n [recordsTotal]=\"data.totalCount\"\r\n [list]=\"list\"\r\n ></abp-extensible-table>\r\n </div>\r\n</div>\r\n\r\n<abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\r\n <ng-template #abpHeader>\r\n <h3>{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\" validateOnSubmit>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpIdentity::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"form?.invalid\" (click)=\"save()\">{{\r\n 'AbpIdentity::Save' | abpLocalization\r\n }}</abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n\r\n<abp-permission-management\r\n #abpPermissionManagement=\"abpPermissionManagement\"\r\n *abpReplaceableTemplate=\"\r\n {\r\n inputs: {\r\n providerName: { value: 'R' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visiblePermissions, twoWay: true },\r\n hideBadges: { value: true }\r\n },\r\n outputs: { visibleChange: onVisiblePermissionChange },\r\n componentKey: permissionManagementKey\r\n };\r\n let init = initTemplate\r\n \"\r\n (abpInit)=\"init(abpPermissionManagement)\"\r\n>\r\n</abp-permission-management>\r\n", components: [{ type: i4.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }, { type: i4.ExtensibleTableComponent, selector: "abp-extensible-table", inputs: ["actionsText", "data", "list", "recordsTotal", "actionsColumnWidth", "actionsTemplate"], exportAs: ["abpExtensibleTable"] }, { type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { type: i4.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { type: i5.PermissionManagementComponent, selector: "abp-permission-management", inputs: ["providerName", "providerKey", "hideBadges", "entityDisplayName", "visible"], outputs: ["visibleChange"], exportAs: ["abpPermissionManagement"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { type: i2.ModalCloseDirective, selector: "[abpClose]" }, { type: i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }], pipes: { "abpLocalization": i1.LocalizationPipe } });
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: RolesComponent, decorators: [{
|
|
99
101
|
type: Component,
|
|
100
102
|
args: [{ selector: 'abp-roles', providers: [
|
|
101
103
|
ListService,
|
|
@@ -104,5 +106,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
104
106
|
useValue: "Identity.RolesComponent" /* Roles */,
|
|
105
107
|
},
|
|
106
108
|
], template: "<div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpIdentity::Roles' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <abp-extensible-table\r\n [data]=\"data.items\"\r\n [recordsTotal]=\"data.totalCount\"\r\n [list]=\"list\"\r\n ></abp-extensible-table>\r\n </div>\r\n</div>\r\n\r\n<abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\r\n <ng-template #abpHeader>\r\n <h3>{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\" validateOnSubmit>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpIdentity::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"form?.invalid\" (click)=\"save()\">{{\r\n 'AbpIdentity::Save' | abpLocalization\r\n }}</abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n\r\n<abp-permission-management\r\n #abpPermissionManagement=\"abpPermissionManagement\"\r\n *abpReplaceableTemplate=\"\r\n {\r\n inputs: {\r\n providerName: { value: 'R' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visiblePermissions, twoWay: true },\r\n hideBadges: { value: true }\r\n },\r\n outputs: { visibleChange: onVisiblePermissionChange },\r\n componentKey: permissionManagementKey\r\n };\r\n let init = initTemplate\r\n \"\r\n (abpInit)=\"init(abpPermissionManagement)\"\r\n>\r\n</abp-permission-management>\r\n" }]
|
|
107
|
-
}], ctorParameters: function () { return [{ type: i1.ListService }, { type: i2.ConfirmationService }, { type: i0.Injector }, { type: i3.IdentityRoleService }]; } });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaWRlbnRpdHkvc3JjL2xpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFrRCxNQUFNLGNBQWMsQ0FBQztBQUMzRixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsWUFBWSxFQUNaLHFCQUFxQixHQUN0QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBYzFDLE1BQU0sT0FBTyxjQUFjO0lBcUJ6QixZQUNrQixJQUFpRCxFQUN2RCxtQkFBd0MsRUFDeEMsUUFBa0IsRUFDbEIsT0FBNEI7UUFIdEIsU0FBSSxHQUFKLElBQUksQ0FBNkM7UUFDdkQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBeEJ4QyxTQUFJLEdBQW9DLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFRckUsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBSTNCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsNEJBQXVC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QUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxXQUFtQjtRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsSUFBSSxDQUFDLElBQUk7UUFDUCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUM1QixDQUFDOzsyR0FqR1UsY0FBYzsrRkFBZCxjQUFjLG9DQVJkO1FBQ1QsV0FBVztRQUNYO1lBQ0UsT0FBTyxFQUFFLHFCQUFxQjtZQUM5QixRQUFRLHVDQUEyQjtTQUNwQztLQUNGLDBCQ3ZCSCwrZ0VBNERBOzJGRG5DYSxjQUFjO2tCQVgxQixTQUFTOytCQUNFLFdBQVcsYUFFVjt3QkFDVCxXQUFXO3dCQUNYOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsdUNBQTJCO3lCQUNwQztxQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RTZXJ2aWNlLCBQYWdlZEFuZFNvcnRlZFJlc3VsdFJlcXVlc3REdG8sIFBhZ2VkUmVzdWx0RHRvIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgSWRlbnRpdHlSb2xlRHRvLCBJZGVudGl0eVJvbGVTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5pZGVudGl0eS9wcm94eSc7XHJcbmltcG9ydCB7IGVQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudHMgfSBmcm9tICdAYWJwL25nLnBlcm1pc3Npb24tbWFuYWdlbWVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHtcclxuICBFWFRFTlNJT05TX0lERU5USUZJRVIsXHJcbiAgRm9ybVByb3BEYXRhLFxyXG4gIGdlbmVyYXRlRm9ybUZyb21Qcm9wcyxcclxufSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGVJZGVudGl0eUNvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9lbnVtcy9jb21wb25lbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXJvbGVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcm9sZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTGlzdFNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEVYVEVOU0lPTlNfSURFTlRJRklFUixcclxuICAgICAgdXNlVmFsdWU6IGVJZGVudGl0eUNvbXBvbmVudHMuUm9sZXMsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb2xlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZGF0YTogUGFnZWRSZXN1bHREdG88SWRlbnRpdHlSb2xlRHRvPiA9IHsgaXRlbXM6IFtdLCB0b3RhbENvdW50OiAwIH07XHJcblxyXG4gIGZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgc2VsZWN0ZWQ6IElkZW50aXR5Um9sZUR0bztcclxuXHJcbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XHJcblxyXG4gIHZpc2libGVQZXJtaXNzaW9ucyA9IGZhbHNlO1xyXG5cclxuICBwcm92aWRlcktleTogc3RyaW5nO1xyXG5cclxuICBtb2RhbEJ1c3kgPSBmYWxzZTtcclxuXHJcbiAgcGVybWlzc2lvbk1hbmFnZW1lbnRLZXkgPSBlUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnRzLlBlcm1pc3Npb25NYW5hZ2VtZW50O1xyXG5cclxuICBvblZpc2libGVQZXJtaXNzaW9uQ2hhbmdlID0gZXZlbnQgPT4ge1xyXG4gICAgdGhpcy52aXNpYmxlUGVybWlzc2lvbnMgPSBldmVudDtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZTxQYWdlZEFuZFNvcnRlZFJlc3VsdFJlcXVlc3REdG8+LFxyXG4gICAgcHJvdGVjdGVkIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJvdGVjdGVkIHNlcnZpY2U6IElkZW50aXR5Um9sZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaG9va1RvUXVlcnkoKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkRm9ybSgpIHtcclxuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybVByb3BEYXRhKHRoaXMuaW5qZWN0b3IsIHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5mb3JtID0gZ2VuZXJhdGVGb3JtRnJvbVByb3BzKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgb3Blbk1vZGFsKCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIElkZW50aXR5Um9sZUR0bztcclxuICAgIHRoaXMub3Blbk1vZGFsKCk7XHJcbiAgfVxyXG5cclxuICBlZGl0KGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXQoaWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gcmVzO1xyXG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHJldHVybjtcclxuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB7IGlkIH0gPSB0aGlzLnNlbGVjdGVkO1xyXG4gICAgKGlkXHJcbiAgICAgID8gdGhpcy5zZXJ2aWNlLnVwZGF0ZShpZCwgeyAuLi50aGlzLnNlbGVjdGVkLCAuLi50aGlzLmZvcm0udmFsdWUgfSlcclxuICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMuZm9ybS52YWx1ZSlcclxuICAgIClcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubW9kYWxCdXN5ID0gZmFsc2UpKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubGlzdC5nZXQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpSb2xlRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xyXG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcclxuICAgICAgfSlcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBDb25maXJtYXRpb24uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSB7XHJcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlKGlkKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5saXN0LmdldCgpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBob29rVG9RdWVyeSgpIHtcclxuICAgIHRoaXMubGlzdC5ob29rVG9RdWVyeShxdWVyeSA9PiB0aGlzLnNlcnZpY2UuZ2V0TGlzdChxdWVyeSkpLnN1YnNjcmliZShyZXMgPT4gKHRoaXMuZGF0YSA9IHJlcykpO1xyXG4gIH1cclxuXHJcbiAgb3BlblBlcm1pc3Npb25zTW9kYWwocHJvdmlkZXJLZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy5wcm92aWRlcktleSA9IHByb3ZpZGVyS2V5O1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gdHJ1ZTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgc29ydChkYXRhKSB7XHJcbiAgICBjb25zdCB7IHByb3AsIGRpciB9ID0gZGF0YS5zb3J0c1swXTtcclxuICAgIHRoaXMubGlzdC5zb3J0S2V5ID0gcHJvcDtcclxuICAgIHRoaXMubGlzdC5zb3J0T3JkZXIgPSBkaXI7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJpZGVudGl0eS1yb2xlcy13cmFwcGVyXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLW1kLTZcIj5cclxuICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgJ0FicElkZW50aXR5OjpSb2xlcycgfCBhYnBMb2NhbGl6YXRpb24gfX08L2g1PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIGNvbCBjb2wtbWQtNlwiPlxyXG4gICAgICAgIDxhYnAtcGFnZS10b29sYmFyIFtyZWNvcmRdPVwiZGF0YS5pdGVtc1wiPjwvYWJwLXBhZ2UtdG9vbGJhcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgPGFicC1leHRlbnNpYmxlLXRhYmxlXHJcbiAgICAgIFtkYXRhXT1cImRhdGEuaXRlbXNcIlxyXG4gICAgICBbcmVjb3Jkc1RvdGFsXT1cImRhdGEudG90YWxDb3VudFwiXHJcbiAgICAgIFtsaXN0XT1cImxpc3RcIlxyXG4gICAgPjwvYWJwLWV4dGVuc2libGUtdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGFicC1tb2RhbCBbKHZpc2libGUpXT1cImlzTW9kYWxWaXNpYmxlXCIgW2J1c3ldPVwibW9kYWxCdXN5XCI+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICA8aDM+e3sgKHNlbGVjdGVkPy5pZCA/ICdBYnBJZGVudGl0eTo6RWRpdCcgOiAnQWJwSWRlbnRpdHk6Ok5ld1JvbGUnKSB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInNhdmUoKVwiIHZhbGlkYXRlT25TdWJtaXQ+XHJcbiAgICAgIDxhYnAtZXh0ZW5zaWJsZS1mb3JtIFtzZWxlY3RlZFJlY29yZF09XCJzZWxlY3RlZFwiPjwvYWJwLWV4dGVuc2libGUtZm9ybT5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBhYnBDbG9zZT5cclxuICAgICAge3sgJ0FicElkZW50aXR5OjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIiAoY2xpY2spPVwic2F2ZSgpXCI+e3tcclxuICAgICAgJ0FicElkZW50aXR5OjpTYXZlJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgfX08L2FicC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcblxyXG48YWJwLXBlcm1pc3Npb24tbWFuYWdlbWVudFxyXG4gICNhYnBQZXJtaXNzaW9uTWFuYWdlbWVudD1cImFicFBlcm1pc3Npb25NYW5hZ2VtZW50XCJcclxuICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIlxyXG4gICAge1xyXG4gICAgICBpbnB1dHM6IHtcclxuICAgICAgICBwcm92aWRlck5hbWU6IHsgdmFsdWU6ICdSJyB9LFxyXG4gICAgICAgIHByb3ZpZGVyS2V5OiB7IHZhbHVlOiBwcm92aWRlcktleSB9LFxyXG4gICAgICAgIHZpc2libGU6IHsgdmFsdWU6IHZpc2libGVQZXJtaXNzaW9ucywgdHdvV2F5OiB0cnVlIH0sXHJcbiAgICAgICAgaGlkZUJhZGdlczogeyB2YWx1ZTogdHJ1ZSB9XHJcbiAgICAgIH0sXHJcbiAgICAgIG91dHB1dHM6IHsgdmlzaWJsZUNoYW5nZTogb25WaXNpYmxlUGVybWlzc2lvbkNoYW5nZSB9LFxyXG4gICAgICBjb21wb25lbnRLZXk6IHBlcm1pc3Npb25NYW5hZ2VtZW50S2V5XHJcbiAgICB9O1xyXG4gICAgbGV0IGluaXQgPSBpbml0VGVtcGxhdGVcclxuICBcIlxyXG4gIChhYnBJbml0KT1cImluaXQoYWJwUGVybWlzc2lvbk1hbmFnZW1lbnQpXCJcclxuPlxyXG48L2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQ+XHJcbiJdfQ==
|
|
109
|
+
}], ctorParameters: function () { return [{ type: i1.ListService }, { type: i2.ConfirmationService }, { type: i2.ToasterService }, { type: i0.Injector }, { type: i3.IdentityRoleService }]; } });
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaWRlbnRpdHkvc3JjL2xpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFrRCxNQUFNLGNBQWMsQ0FBQztBQUMzRixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUUsT0FBTyxFQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixxQkFBcUIsR0FDdEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQWMxQyxNQUFNLE9BQU8sY0FBYztJQXFCekIsWUFDa0IsSUFBaUQsRUFDdkQsbUJBQXdDLEVBQzFDLGNBQThCLEVBQzVCLFFBQWtCLEVBQ2xCLE9BQTRCO1FBSnRCLFNBQUksR0FBSixJQUFJLENBQTZDO1FBQ3ZELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDMUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzVCLGFBQVEsR0FBUixRQUFRLENBQVU7UUFDbEIsWUFBTyxHQUFQLE9BQU8sQ0FBcUI7UUF6QnhDLFNBQUksR0FBb0MsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQztRQVFyRSx1QkFBa0IsR0FB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QUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELG9CQUFvQixDQUFDLFdBQW1CO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBSTtRQUNQLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQzVCLENBQUM7OzJHQW5HVSxjQUFjOytGQUFkLGNBQWMsb0NBUmQ7UUFDVCxXQUFXO1FBQ1g7WUFDRSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsdUNBQTJCO1NBQ3BDO0tBQ0YsMEJDdkJILCtnRUE0REE7MkZEbkNhLGNBQWM7a0JBWDFCLFNBQVM7K0JBQ0UsV0FBVyxhQUVWO3dCQUNULFdBQVc7d0JBQ1g7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSx1Q0FBMkI7eUJBQ3BDO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdFNlcnZpY2UsIFBhZ2VkQW5kU29ydGVkUmVzdWx0UmVxdWVzdER0bywgUGFnZWRSZXN1bHREdG8gfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBJZGVudGl0eVJvbGVEdG8sIElkZW50aXR5Um9sZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmlkZW50aXR5L3Byb3h5JztcclxuaW1wb3J0IHsgZVBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50cyB9IGZyb20gJ0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50JztcclxuaW1wb3J0IHtDb25maXJtYXRpb24sIENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7XHJcbiAgRVhURU5TSU9OU19JREVOVElGSUVSLFxyXG4gIEZvcm1Qcm9wRGF0YSxcclxuICBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMsXHJcbn0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQvZXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0b3IsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBlSWRlbnRpdHlDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vZW51bXMvY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC1yb2xlcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3JvbGVzLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIExpc3RTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBFWFRFTlNJT05TX0lERU5USUZJRVIsXHJcbiAgICAgIHVzZVZhbHVlOiBlSWRlbnRpdHlDb21wb25lbnRzLlJvbGVzLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUm9sZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRhdGE6IFBhZ2VkUmVzdWx0RHRvPElkZW50aXR5Um9sZUR0bz4gPSB7IGl0ZW1zOiBbXSwgdG90YWxDb3VudDogMCB9O1xyXG5cclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcblxyXG4gIHNlbGVjdGVkOiBJZGVudGl0eVJvbGVEdG87XHJcblxyXG4gIGlzTW9kYWxWaXNpYmxlOiBib29sZWFuO1xyXG5cclxuICB2aXNpYmxlUGVybWlzc2lvbnMgPSBmYWxzZTtcclxuXHJcbiAgcHJvdmlkZXJLZXk6IHN0cmluZztcclxuXHJcbiAgbW9kYWxCdXN5ID0gZmFsc2U7XHJcblxyXG4gIHBlcm1pc3Npb25NYW5hZ2VtZW50S2V5ID0gZVBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50cy5QZXJtaXNzaW9uTWFuYWdlbWVudDtcclxuXHJcbiAgb25WaXNpYmxlUGVybWlzc2lvbkNoYW5nZSA9IGV2ZW50ID0+IHtcclxuICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gZXZlbnQ7XHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdDogTGlzdFNlcnZpY2U8UGFnZWRBbmRTb3J0ZWRSZXN1bHRSZXF1ZXN0RHRvPixcclxuICAgIHByb3RlY3RlZCBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJvdGVjdGVkIHNlcnZpY2U6IElkZW50aXR5Um9sZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaG9va1RvUXVlcnkoKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkRm9ybSgpIHtcclxuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybVByb3BEYXRhKHRoaXMuaW5qZWN0b3IsIHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5mb3JtID0gZ2VuZXJhdGVGb3JtRnJvbVByb3BzKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgb3Blbk1vZGFsKCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIElkZW50aXR5Um9sZUR0bztcclxuICAgIHRoaXMub3Blbk1vZGFsKCk7XHJcbiAgfVxyXG5cclxuICBlZGl0KGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXQoaWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gcmVzO1xyXG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHJldHVybjtcclxuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB7IGlkIH0gPSB0aGlzLnNlbGVjdGVkO1xyXG4gICAgKGlkXHJcbiAgICAgID8gdGhpcy5zZXJ2aWNlLnVwZGF0ZShpZCwgeyAuLi50aGlzLnNlbGVjdGVkLCAuLi50aGlzLmZvcm0udmFsdWUgfSlcclxuICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMuZm9ybS52YWx1ZSlcclxuICAgIClcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubW9kYWxCdXN5ID0gZmFsc2UpKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubGlzdC5nZXQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpSb2xlRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xyXG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcclxuICAgICAgfSlcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBDb25maXJtYXRpb24uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ0FicFVpOjpTdWNjZXNzZnVsbHlEZWxldGVkJyk7XHJcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlKGlkKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5saXN0LmdldCgpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBob29rVG9RdWVyeSgpIHtcclxuICAgIHRoaXMubGlzdC5ob29rVG9RdWVyeShxdWVyeSA9PiB0aGlzLnNlcnZpY2UuZ2V0TGlzdChxdWVyeSkpLnN1YnNjcmliZShyZXMgPT4gKHRoaXMuZGF0YSA9IHJlcykpO1xyXG4gIH1cclxuXHJcbiAgb3BlblBlcm1pc3Npb25zTW9kYWwocHJvdmlkZXJLZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy5wcm92aWRlcktleSA9IHByb3ZpZGVyS2V5O1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gdHJ1ZTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgc29ydChkYXRhKSB7XHJcbiAgICBjb25zdCB7IHByb3AsIGRpciB9ID0gZGF0YS5zb3J0c1swXTtcclxuICAgIHRoaXMubGlzdC5zb3J0S2V5ID0gcHJvcDtcclxuICAgIHRoaXMubGlzdC5zb3J0T3JkZXIgPSBkaXI7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJpZGVudGl0eS1yb2xlcy13cmFwcGVyXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLW1kLTZcIj5cclxuICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgJ0FicElkZW50aXR5OjpSb2xlcycgfCBhYnBMb2NhbGl6YXRpb24gfX08L2g1PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIGNvbCBjb2wtbWQtNlwiPlxyXG4gICAgICAgIDxhYnAtcGFnZS10b29sYmFyIFtyZWNvcmRdPVwiZGF0YS5pdGVtc1wiPjwvYWJwLXBhZ2UtdG9vbGJhcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgPGFicC1leHRlbnNpYmxlLXRhYmxlXHJcbiAgICAgIFtkYXRhXT1cImRhdGEuaXRlbXNcIlxyXG4gICAgICBbcmVjb3Jkc1RvdGFsXT1cImRhdGEudG90YWxDb3VudFwiXHJcbiAgICAgIFtsaXN0XT1cImxpc3RcIlxyXG4gICAgPjwvYWJwLWV4dGVuc2libGUtdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGFicC1tb2RhbCBbKHZpc2libGUpXT1cImlzTW9kYWxWaXNpYmxlXCIgW2J1c3ldPVwibW9kYWxCdXN5XCI+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICA8aDM+e3sgKHNlbGVjdGVkPy5pZCA/ICdBYnBJZGVudGl0eTo6RWRpdCcgOiAnQWJwSWRlbnRpdHk6Ok5ld1JvbGUnKSB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInNhdmUoKVwiIHZhbGlkYXRlT25TdWJtaXQ+XHJcbiAgICAgIDxhYnAtZXh0ZW5zaWJsZS1mb3JtIFtzZWxlY3RlZFJlY29yZF09XCJzZWxlY3RlZFwiPjwvYWJwLWV4dGVuc2libGUtZm9ybT5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBhYnBDbG9zZT5cclxuICAgICAge3sgJ0FicElkZW50aXR5OjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIiAoY2xpY2spPVwic2F2ZSgpXCI+e3tcclxuICAgICAgJ0FicElkZW50aXR5OjpTYXZlJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgfX08L2FicC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcblxyXG48YWJwLXBlcm1pc3Npb24tbWFuYWdlbWVudFxyXG4gICNhYnBQZXJtaXNzaW9uTWFuYWdlbWVudD1cImFicFBlcm1pc3Npb25NYW5hZ2VtZW50XCJcclxuICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIlxyXG4gICAge1xyXG4gICAgICBpbnB1dHM6IHtcclxuICAgICAgICBwcm92aWRlck5hbWU6IHsgdmFsdWU6ICdSJyB9LFxyXG4gICAgICAgIHByb3ZpZGVyS2V5OiB7IHZhbHVlOiBwcm92aWRlcktleSB9LFxyXG4gICAgICAgIHZpc2libGU6IHsgdmFsdWU6IHZpc2libGVQZXJtaXNzaW9ucywgdHdvV2F5OiB0cnVlIH0sXHJcbiAgICAgICAgaGlkZUJhZGdlczogeyB2YWx1ZTogdHJ1ZSB9XHJcbiAgICAgIH0sXHJcbiAgICAgIG91dHB1dHM6IHsgdmlzaWJsZUNoYW5nZTogb25WaXNpYmxlUGVybWlzc2lvbkNoYW5nZSB9LFxyXG4gICAgICBjb21wb25lbnRLZXk6IHBlcm1pc3Npb25NYW5hZ2VtZW50S2V5XHJcbiAgICB9O1xyXG4gICAgbGV0IGluaXQgPSBpbml0VGVtcGxhdGVcclxuICBcIlxyXG4gIChhYnBJbml0KT1cImluaXQoYWJwUGVybWlzc2lvbk1hbmFnZW1lbnQpXCJcclxuPlxyXG48L2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQ+XHJcbiJdfQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ListService } from '@abp/ng.core';
|
|
2
2
|
import { IdentityUserService, } from '@abp/ng.identity/proxy';
|
|
3
|
-
import { Confirmation, ConfirmationService } from '@abp/ng.theme.shared';
|
|
3
|
+
import { Confirmation, ConfirmationService, ToasterService } from '@abp/ng.theme.shared';
|
|
4
4
|
import { EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, } from '@abp/ng.theme.shared/extensions';
|
|
5
5
|
import { Component, Injector, TemplateRef, ViewChild, } from '@angular/core';
|
|
6
6
|
import { FormBuilder } from '@angular/forms';
|
|
@@ -16,10 +16,11 @@ import * as i7 from "@abp/ng.permission-management";
|
|
|
16
16
|
import * as i8 from "@angular/common";
|
|
17
17
|
import * as i9 from "@ngx-validate/core";
|
|
18
18
|
export class UsersComponent {
|
|
19
|
-
constructor(list, confirmationService, service, fb, injector) {
|
|
19
|
+
constructor(list, confirmationService, service, toasterService, fb, injector) {
|
|
20
20
|
this.list = list;
|
|
21
21
|
this.confirmationService = confirmationService;
|
|
22
22
|
this.service = service;
|
|
23
|
+
this.toasterService = toasterService;
|
|
23
24
|
this.fb = fb;
|
|
24
25
|
this.injector = injector;
|
|
25
26
|
this.data = { items: [], totalCount: 0 };
|
|
@@ -97,7 +98,10 @@ export class UsersComponent {
|
|
|
97
98
|
})
|
|
98
99
|
.subscribe((status) => {
|
|
99
100
|
if (status === Confirmation.Status.confirm) {
|
|
100
|
-
this.service.delete(id).subscribe(() =>
|
|
101
|
+
this.service.delete(id).subscribe(() => {
|
|
102
|
+
this.toasterService.success('AbpUi::SuccessfullyDeleted');
|
|
103
|
+
this.list.get();
|
|
104
|
+
});
|
|
101
105
|
}
|
|
102
106
|
});
|
|
103
107
|
}
|
|
@@ -109,22 +113,23 @@ export class UsersComponent {
|
|
|
109
113
|
hookToQuery() {
|
|
110
114
|
this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res));
|
|
111
115
|
}
|
|
112
|
-
openPermissionsModal(providerKey) {
|
|
116
|
+
openPermissionsModal(providerKey, entityDisplayName) {
|
|
113
117
|
this.providerKey = providerKey;
|
|
118
|
+
this.entityDisplayName = entityDisplayName;
|
|
114
119
|
setTimeout(() => {
|
|
115
120
|
this.visiblePermissions = true;
|
|
116
121
|
}, 0);
|
|
117
122
|
}
|
|
118
123
|
}
|
|
119
|
-
UsersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
120
|
-
UsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
124
|
+
UsersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: UsersComponent, deps: [{ token: i1.ListService }, { token: i2.ConfirmationService }, { token: i3.IdentityUserService }, { token: i2.ToasterService }, { token: i4.FormBuilder }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
125
|
+
UsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.6", type: UsersComponent, selector: "abp-users", providers: [
|
|
121
126
|
ListService,
|
|
122
127
|
{
|
|
123
128
|
provide: EXTENSIONS_IDENTIFIER,
|
|
124
129
|
useValue: "Identity.UsersComponent" /* Users */,
|
|
125
130
|
},
|
|
126
|
-
], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true }], ngImport: i0, template: "<div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpIdentity::Users' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\r\n <div class=\"input-group\">\r\n <input\r\n type=\"search\"\r\n class=\"form-control\"\r\n [placeholder]=\"'AbpUi::PagerSearch' | abpLocalization\"\r\n [(ngModel)]=\"list.filter\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <abp-extensible-table\r\n [data]=\"data.items\"\r\n [recordsTotal]=\"data.totalCount\"\r\n [list]=\"list\"\r\n ></abp-extensible-table>\r\n </div>\r\n</div>\r\n\r\n<abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\r\n <ng-template #abpHeader>\r\n <h3>{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <ng-template #loaderRef\r\n ><div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\"></i></div\r\n ></ng-template>\r\n\r\n <form *ngIf=\"form; else loaderRef\" [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'AbpIdentity::UserInformations' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n </ng-template>\r\n </li>\r\n\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'AbpIdentity::Roles' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <div\r\n *ngFor=\"let roleGroup of roleGroups; let i = index; trackBy: trackByFn\"\r\n class=\"form-check mb-2\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n class=\"form-check-input\"\r\n [attr.id]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n />\r\n <label class=\"form-check-label\" [attr.for]=\"'roles-' + i\">{{ roles[i].name }}</label>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n\r\n <div class=\"mt-2 fade-in-top\" [ngbNavOutlet]=\"nav\"></div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpIdentity::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"form?.invalid\" (click)=\"save()\">{{\r\n 'AbpIdentity::Save' | abpLocalization\r\n }}</abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n\r\n<abp-permission-management\r\n #abpPermissionManagement=\"abpPermissionManagement\"\r\n *abpReplaceableTemplate=\"\r\n {\r\n inputs: {\r\n providerName: { value: 'U' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visiblePermissions, twoWay: true }\r\n },\r\n outputs: { visibleChange: onVisiblePermissionChange },\r\n componentKey: permissionManagementKey\r\n };\r\n let init = initTemplate\r\n \"\r\n (abpInit)=\"init(abpPermissionManagement)\"\r\n>\r\n</abp-permission-management>\r\n", components: [{ type: i5.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }, { type: i5.ExtensibleTableComponent, selector: "abp-extensible-table", inputs: ["actionsText", "data", "list", "recordsTotal", "actionsColumnWidth", "actionsTemplate"], exportAs: ["abpExtensibleTable"] }, { type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { type: i5.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { type: i6.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { type: i7.PermissionManagementComponent, selector: "abp-permission-management", inputs: ["providerName", "providerKey", "hideBadges", "visible"], outputs: ["visibleChange"], exportAs: ["abpPermissionManagement"] }], directives: [{ type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { type: i6.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { type: i6.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { type: i6.NgbNavLink, selector: "a[ngbNavLink]" }, { type: i6.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { type: i2.ModalCloseDirective, selector: "[abpClose]" }, { type: i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }], pipes: { "abpLocalization": i1.LocalizationPipe } });
|
|
127
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
131
|
+
], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true }], ngImport: i0, template: "<div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpIdentity::Users' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\r\n <div class=\"input-group\">\r\n <input\r\n type=\"search\"\r\n class=\"form-control\"\r\n [placeholder]=\"'AbpUi::PagerSearch' | abpLocalization\"\r\n [(ngModel)]=\"list.filter\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <abp-extensible-table\r\n [data]=\"data.items\"\r\n [recordsTotal]=\"data.totalCount\"\r\n [list]=\"list\"\r\n ></abp-extensible-table>\r\n </div>\r\n</div>\r\n\r\n<abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\r\n <ng-template #abpHeader>\r\n <h3>{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <ng-template #loaderRef\r\n ><div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\"></i></div\r\n ></ng-template>\r\n\r\n <form *ngIf=\"form; else loaderRef\" [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'AbpIdentity::UserInformations' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n </ng-template>\r\n </li>\r\n\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'AbpIdentity::Roles' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <div\r\n *ngFor=\"let roleGroup of roleGroups; let i = index; trackBy: trackByFn\"\r\n class=\"form-check mb-2\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n class=\"form-check-input\"\r\n [attr.id]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n />\r\n <label class=\"form-check-label\" [attr.for]=\"'roles-' + i\">{{ roles[i].name }}</label>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n\r\n <div class=\"mt-2 fade-in-top\" [ngbNavOutlet]=\"nav\"></div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpIdentity::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"form?.invalid\" (click)=\"save()\">{{\r\n 'AbpIdentity::Save' | abpLocalization\r\n }}</abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n\r\n<abp-permission-management\r\n #abpPermissionManagement=\"abpPermissionManagement\"\r\n *abpReplaceableTemplate=\"\r\n {\r\n inputs: {\r\n providerName: { value: 'U' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visiblePermissions, twoWay: true }\r\n },\r\n outputs: { visibleChange: onVisiblePermissionChange },\r\n componentKey: permissionManagementKey\r\n };\r\n let init = initTemplate\r\n \"\r\n [entityDisplayName]=\"entityDisplayName\"\r\n (abpInit)=\"init(abpPermissionManagement)\"\r\n>\r\n</abp-permission-management>\r\n", components: [{ type: i5.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }, { type: i5.ExtensibleTableComponent, selector: "abp-extensible-table", inputs: ["actionsText", "data", "list", "recordsTotal", "actionsColumnWidth", "actionsTemplate"], exportAs: ["abpExtensibleTable"] }, { type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { type: i5.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { type: i6.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { type: i7.PermissionManagementComponent, selector: "abp-permission-management", inputs: ["providerName", "providerKey", "hideBadges", "entityDisplayName", "visible"], outputs: ["visibleChange"], exportAs: ["abpPermissionManagement"] }], directives: [{ type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { type: i6.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { type: i6.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { type: i6.NgbNavLink, selector: "a[ngbNavLink]" }, { type: i6.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i9.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { type: i2.ModalCloseDirective, selector: "[abpClose]" }, { type: i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }], pipes: { "abpLocalization": i1.LocalizationPipe } });
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: UsersComponent, decorators: [{
|
|
128
133
|
type: Component,
|
|
129
134
|
args: [{ selector: 'abp-users', providers: [
|
|
130
135
|
ListService,
|
|
@@ -132,9 +137,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
132
137
|
provide: EXTENSIONS_IDENTIFIER,
|
|
133
138
|
useValue: "Identity.UsersComponent" /* Users */,
|
|
134
139
|
},
|
|
135
|
-
], template: "<div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpIdentity::Users' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\r\n <div class=\"input-group\">\r\n <input\r\n type=\"search\"\r\n class=\"form-control\"\r\n [placeholder]=\"'AbpUi::PagerSearch' | abpLocalization\"\r\n [(ngModel)]=\"list.filter\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <abp-extensible-table\r\n [data]=\"data.items\"\r\n [recordsTotal]=\"data.totalCount\"\r\n [list]=\"list\"\r\n ></abp-extensible-table>\r\n </div>\r\n</div>\r\n\r\n<abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\r\n <ng-template #abpHeader>\r\n <h3>{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <ng-template #loaderRef\r\n ><div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\"></i></div\r\n ></ng-template>\r\n\r\n <form *ngIf=\"form; else loaderRef\" [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'AbpIdentity::UserInformations' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n </ng-template>\r\n </li>\r\n\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'AbpIdentity::Roles' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <div\r\n *ngFor=\"let roleGroup of roleGroups; let i = index; trackBy: trackByFn\"\r\n class=\"form-check mb-2\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n class=\"form-check-input\"\r\n [attr.id]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n />\r\n <label class=\"form-check-label\" [attr.for]=\"'roles-' + i\">{{ roles[i].name }}</label>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n\r\n <div class=\"mt-2 fade-in-top\" [ngbNavOutlet]=\"nav\"></div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpIdentity::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"form?.invalid\" (click)=\"save()\">{{\r\n 'AbpIdentity::Save' | abpLocalization\r\n }}</abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n\r\n<abp-permission-management\r\n #abpPermissionManagement=\"abpPermissionManagement\"\r\n *abpReplaceableTemplate=\"\r\n {\r\n inputs: {\r\n providerName: { value: 'U' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visiblePermissions, twoWay: true }\r\n },\r\n outputs: { visibleChange: onVisiblePermissionChange },\r\n componentKey: permissionManagementKey\r\n };\r\n let init = initTemplate\r\n \"\r\n (abpInit)=\"init(abpPermissionManagement)\"\r\n>\r\n</abp-permission-management>\r\n" }]
|
|
136
|
-
}], ctorParameters: function () { return [{ type: i1.ListService }, { type: i2.ConfirmationService }, { type: i3.IdentityUserService }, { type: i4.FormBuilder }, { type: i0.Injector }]; }, propDecorators: { modalContent: [{
|
|
140
|
+
], template: "<div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpIdentity::Users' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\r\n <div class=\"input-group\">\r\n <input\r\n type=\"search\"\r\n class=\"form-control\"\r\n [placeholder]=\"'AbpUi::PagerSearch' | abpLocalization\"\r\n [(ngModel)]=\"list.filter\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <abp-extensible-table\r\n [data]=\"data.items\"\r\n [recordsTotal]=\"data.totalCount\"\r\n [list]=\"list\"\r\n ></abp-extensible-table>\r\n </div>\r\n</div>\r\n\r\n<abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\r\n <ng-template #abpHeader>\r\n <h3>{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <ng-template #loaderRef\r\n ><div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\"></i></div\r\n ></ng-template>\r\n\r\n <form *ngIf=\"form; else loaderRef\" [formGroup]=\"form\" (ngSubmit)=\"save()\">\r\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'AbpIdentity::UserInformations' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n </ng-template>\r\n </li>\r\n\r\n <li ngbNavItem>\r\n <a ngbNavLink>{{ 'AbpIdentity::Roles' | abpLocalization }}</a>\r\n <ng-template ngbNavContent>\r\n <div\r\n *ngFor=\"let roleGroup of roleGroups; let i = index; trackBy: trackByFn\"\r\n class=\"form-check mb-2\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n class=\"form-check-input\"\r\n [attr.id]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n />\r\n <label class=\"form-check-label\" [attr.for]=\"'roles-' + i\">{{ roles[i].name }}</label>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\r\n\r\n <div class=\"mt-2 fade-in-top\" [ngbNavOutlet]=\"nav\"></div>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpIdentity::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"form?.invalid\" (click)=\"save()\">{{\r\n 'AbpIdentity::Save' | abpLocalization\r\n }}</abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n\r\n<abp-permission-management\r\n #abpPermissionManagement=\"abpPermissionManagement\"\r\n *abpReplaceableTemplate=\"\r\n {\r\n inputs: {\r\n providerName: { value: 'U' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visiblePermissions, twoWay: true }\r\n },\r\n outputs: { visibleChange: onVisiblePermissionChange },\r\n componentKey: permissionManagementKey\r\n };\r\n let init = initTemplate\r\n \"\r\n [entityDisplayName]=\"entityDisplayName\"\r\n (abpInit)=\"init(abpPermissionManagement)\"\r\n>\r\n</abp-permission-management>\r\n" }]
|
|
141
|
+
}], ctorParameters: function () { return [{ type: i1.ListService }, { type: i2.ConfirmationService }, { type: i3.IdentityUserService }, { type: i2.ToasterService }, { type: i4.FormBuilder }, { type: i0.Injector }]; }, propDecorators: { modalContent: [{
|
|
137
142
|
type: ViewChild,
|
|
138
143
|
args: ['modalContent', { static: false }]
|
|
139
144
|
}] } });
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaWRlbnRpdHkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvY29tcG9uZW50cy91c2Vycy91c2Vycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFrQixNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBSUwsbUJBQW1CLEdBQ3BCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsWUFBWSxFQUNaLHFCQUFxQixHQUN0QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFDTCxTQUFTLEVBQ1QsUUFBUSxFQUVSLFdBQVcsRUFFWCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUE4QixXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQztBQUNwRixPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFjMUQsTUFBTSxPQUFPLGNBQWM7SUFrQ3pCLFlBQ2tCLElBQXdDLEVBQzlDLG1CQUF3QyxFQUN4QyxPQUE0QixFQUM1QixFQUFlLEVBQ2YsUUFBa0I7UUFKWixTQUFJLEdBQUosSUFBSSxDQUFvQztRQUM5Qyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBQzVCLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBdEM5QixTQUFJLEdB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QUFDO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7OzJHQWxKVSxjQUFjOytGQUFkLGNBQWMsb0NBUmQ7UUFDVCxXQUFXO1FBQ1g7WUFDRSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsdUNBQTJCO1NBQ3BDO0tBQ0Ysd0lDbkNILGdpSEFvR0E7MkZEL0RhLGNBQWM7a0JBWDFCLFNBQVM7K0JBQ0UsV0FBVyxhQUVWO3dCQUNULFdBQVc7d0JBQ1g7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSx1Q0FBMkI7eUJBQ3BDO3FCQUNGO3VOQU1ELFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdFNlcnZpY2UsIFBhZ2VkUmVzdWx0RHRvIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHtcclxuICBHZXRJZGVudGl0eVVzZXJzSW5wdXQsXHJcbiAgSWRlbnRpdHlSb2xlRHRvLFxyXG4gIElkZW50aXR5VXNlckR0byxcclxuICBJZGVudGl0eVVzZXJTZXJ2aWNlLFxyXG59IGZyb20gJ0BhYnAvbmcuaWRlbnRpdHkvcHJveHknO1xyXG5pbXBvcnQgeyBlUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnRzIH0gZnJvbSAnQGFicC9uZy5wZXJtaXNzaW9uLW1hbmFnZW1lbnQnO1xyXG5pbXBvcnQgeyBDb25maXJtYXRpb24sIENvbmZpcm1hdGlvblNlcnZpY2UgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7XHJcbiAgRVhURU5TSU9OU19JREVOVElGSUVSLFxyXG4gIEZvcm1Qcm9wRGF0YSxcclxuICBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMsXHJcbn0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQvZXh0ZW5zaW9ucyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEluamVjdG9yLFxyXG4gIE9uSW5pdCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBUcmFja0J5RnVuY3Rpb24sXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1BcnJheSwgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBlSWRlbnRpdHlDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vZW51bXMvY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC11c2VycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIExpc3RTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBFWFRFTlNJT05TX0lERU5USUZJRVIsXHJcbiAgICAgIHVzZVZhbHVlOiBlSWRlbnRpdHlDb21wb25lbnRzLlVzZXJzLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRhdGE6IFBhZ2VkUmVzdWx0RHRvPElkZW50aXR5VXNlckR0bz4gPSB7IGl0ZW1zOiBbXSwgdG90YWxDb3VudDogMCB9O1xyXG5cclxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBtb2RhbENvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT47XHJcblxyXG4gIGZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgc2VsZWN0ZWQ6IElkZW50aXR5VXNlckR0bztcclxuXHJcbiAgc2VsZWN0ZWRVc2VyUm9sZXM6IElkZW50aXR5Um9sZUR0b1tdO1xyXG5cclxuICByb2xlczogSWRlbnRpdHlSb2xlRHRvW107XHJcblxyXG4gIHZpc2libGVQZXJtaXNzaW9ucyA9IGZhbHNlO1xyXG5cclxuICBwcm92aWRlcktleTogc3RyaW5nO1xyXG5cclxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcclxuXHJcbiAgbW9kYWxCdXN5ID0gZmFsc2U7XHJcblxyXG4gIHBlcm1pc3Npb25NYW5hZ2VtZW50S2V5ID0gZVBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50cy5QZXJtaXNzaW9uTWFuYWdlbWVudDtcclxuXHJcbiAgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248QWJzdHJhY3RDb250cm9sPiA9IChpbmRleCwgaXRlbSkgPT4gT2JqZWN0LmtleXMoaXRlbSlbMF0gfHwgaW5kZXg7XHJcblxyXG4gIG9uVmlzaWJsZVBlcm1pc3Npb25DaGFuZ2UgPSBldmVudCA9PiB7XHJcbiAgICB0aGlzLnZpc2libGVQZXJtaXNzaW9ucyA9IGV2ZW50O1xyXG4gIH07XHJcblxyXG4gIGdldCByb2xlR3JvdXBzKCk6IEZvcm1Hcm91cFtdIHtcclxuICAgIHJldHVybiAoKHRoaXMuZm9ybS5nZXQoJ3JvbGVOYW1lcycpIGFzIEZvcm1BcnJheSk/LmNvbnRyb2xzIGFzIEZvcm1Hcm91cFtdKSB8fCBbXTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlYWRvbmx5IGxpc3Q6IExpc3RTZXJ2aWNlPEdldElkZW50aXR5VXNlcnNJbnB1dD4sXHJcbiAgICBwcm90ZWN0ZWQgY29uZmlybWF0aW9uU2VydmljZTogQ29uZmlybWF0aW9uU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBzZXJ2aWNlOiBJZGVudGl0eVVzZXJTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGZiOiBGb3JtQnVpbGRlcixcclxuICAgIHByb3RlY3RlZCBpbmplY3RvcjogSW5qZWN0b3IsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaG9va1RvUXVlcnkoKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkRm9ybSgpIHtcclxuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybVByb3BEYXRhKHRoaXMuaW5qZWN0b3IsIHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5mb3JtID0gZ2VuZXJhdGVGb3JtRnJvbVByb3BzKGRhdGEpO1xyXG5cclxuICAgIHRoaXMuc2VydmljZS5nZXRBc3NpZ25hYmxlUm9sZXMoKS5zdWJzY3JpYmUoKHsgaXRlbXMgfSkgPT4ge1xyXG4gICAgICB0aGlzLnJvbGVzID0gaXRlbXM7XHJcbiAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKFxyXG4gICAgICAgICdyb2xlTmFtZXMnLFxyXG4gICAgICAgIHRoaXMuZmIuYXJyYXkoXHJcbiAgICAgICAgICB0aGlzLnJvbGVzLm1hcChyb2xlID0+XHJcbiAgICAgICAgICAgIHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICAgICAgICAgIFtyb2xlLm5hbWVdOiBbXHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkLmlkXHJcbiAgICAgICAgICAgICAgICAgID8gISF0aGlzLnNlbGVjdGVkVXNlclJvbGVzPy5maW5kKHVzZXJSb2xlID0+IHVzZXJSb2xlLmlkID09PSByb2xlLmlkKVxyXG4gICAgICAgICAgICAgICAgICA6IHJvbGUuaXNEZWZhdWx0LFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgKSxcclxuICAgICAgICApLFxyXG4gICAgICApO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBvcGVuTW9kYWwoKSB7XHJcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xyXG4gICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBhZGQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0ge30gYXMgSWRlbnRpdHlVc2VyRHRvO1xyXG4gICAgdGhpcy5zZWxlY3RlZFVzZXJSb2xlcyA9IFtdIGFzIElkZW50aXR5Um9sZUR0b1tdO1xyXG4gICAgdGhpcy5vcGVuTW9kYWwoKTtcclxuICB9XHJcblxyXG4gIGVkaXQoaWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5nZXQoaWQpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRhcCh1c2VyID0+ICh0aGlzLnNlbGVjdGVkID0gdXNlcikpLFxyXG4gICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLnNlcnZpY2UuZ2V0Um9sZXMoaWQpKSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHVzZXJSb2xlID0+IHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkVXNlclJvbGVzID0gdXNlclJvbGUuaXRlbXMgfHwgW107XHJcbiAgICAgICAgdGhpcy5vcGVuTW9kYWwoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQgfHwgdGhpcy5tb2RhbEJ1c3kpIHJldHVybjtcclxuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB7IHJvbGVOYW1lcyA9IFtdIH0gPSB0aGlzLmZvcm0udmFsdWU7XHJcbiAgICBjb25zdCBtYXBwZWRSb2xlTmFtZXMgPVxyXG4gICAgICByb2xlTmFtZXMuZmlsdGVyKHJvbGUgPT4gISFyb2xlW09iamVjdC5rZXlzKHJvbGUpWzBdXSkubWFwKHJvbGUgPT4gT2JqZWN0LmtleXMocm9sZSlbMF0pIHx8XHJcbiAgICAgIFtdO1xyXG5cclxuICAgIGNvbnN0IHsgaWQgfSA9IHRoaXMuc2VsZWN0ZWQ7XHJcblxyXG4gICAgKGlkXHJcbiAgICAgID8gdGhpcy5zZXJ2aWNlLnVwZGF0ZShpZCwge1xyXG4gICAgICAgICAgLi4udGhpcy5zZWxlY3RlZCxcclxuICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcclxuICAgICAgICAgIHJvbGVOYW1lczogbWFwcGVkUm9sZU5hbWVzLFxyXG4gICAgICAgIH0pXHJcbiAgICAgIDogdGhpcy5zZXJ2aWNlLmNyZWF0ZSh7IC4uLnRoaXMuZm9ybS52YWx1ZSwgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMgfSlcclxuICAgIClcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubW9kYWxCdXN5ID0gZmFsc2UpKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubGlzdC5nZXQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUoaWQ6IHN0cmluZywgdXNlck5hbWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5jb25maXJtYXRpb25TZXJ2aWNlXHJcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6VXNlckRlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcclxuICAgICAgICBtZXNzYWdlTG9jYWxpemF0aW9uUGFyYW1zOiBbdXNlck5hbWVdLFxyXG4gICAgICB9KVxyXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IENvbmZpcm1hdGlvbi5TdGF0dXMpID0+IHtcclxuICAgICAgICBpZiAoc3RhdHVzID09PSBDb25maXJtYXRpb24uU3RhdHVzLmNvbmZpcm0pIHtcclxuICAgICAgICAgIHRoaXMuc2VydmljZS5kZWxldGUoaWQpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmxpc3QuZ2V0KCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzb3J0KGRhdGEpIHtcclxuICAgIGNvbnN0IHsgcHJvcCwgZGlyIH0gPSBkYXRhLnNvcnRzWzBdO1xyXG4gICAgdGhpcy5saXN0LnNvcnRLZXkgPSBwcm9wO1xyXG4gICAgdGhpcy5saXN0LnNvcnRPcmRlciA9IGRpcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaG9va1RvUXVlcnkoKSB7XHJcbiAgICB0aGlzLmxpc3QuaG9va1RvUXVlcnkocXVlcnkgPT4gdGhpcy5zZXJ2aWNlLmdldExpc3QocXVlcnkpKS5zdWJzY3JpYmUocmVzID0+ICh0aGlzLmRhdGEgPSByZXMpKTtcclxuICB9XHJcblxyXG4gIG9wZW5QZXJtaXNzaW9uc01vZGFsKHByb3ZpZGVyS2V5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMucHJvdmlkZXJLZXkgPSBwcm92aWRlcktleTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnZpc2libGVQZXJtaXNzaW9ucyA9IHRydWU7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBpZD1cImlkZW50aXR5LXJvbGVzLXdyYXBwZXJcIiBjbGFzcz1cImNhcmRcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbCBjb2wtbWQtNlwiPlxyXG4gICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj57eyAnQWJwSWRlbnRpdHk6OlVzZXJzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvaDU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGV4dC1lbmQgY29sIGNvbC1tZC02XCI+XHJcbiAgICAgICAgPGFicC1wYWdlLXRvb2xiYXIgW3JlY29yZF09XCJkYXRhLml0ZW1zXCI+PC9hYnAtcGFnZS10b29sYmFyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgIDxkaXYgaWQ9XCJkYXRhLXRhYmxlcy10YWJsZS1maWx0ZXJcIiBjbGFzcz1cImRhdGEtdGFibGVzLWZpbHRlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgIHR5cGU9XCJzZWFyY2hcIlxyXG4gICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidBYnBVaTo6UGFnZXJTZWFyY2gnIHwgYWJwTG9jYWxpemF0aW9uXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwibGlzdC5maWx0ZXJcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGFicC1leHRlbnNpYmxlLXRhYmxlXHJcbiAgICAgIFtkYXRhXT1cImRhdGEuaXRlbXNcIlxyXG4gICAgICBbcmVjb3Jkc1RvdGFsXT1cImRhdGEudG90YWxDb3VudFwiXHJcbiAgICAgIFtsaXN0XT1cImxpc3RcIlxyXG4gICAgPjwvYWJwLWV4dGVuc2libGUtdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGFicC1tb2RhbCBbKHZpc2libGUpXT1cImlzTW9kYWxWaXNpYmxlXCIgW2J1c3ldPVwibW9kYWxCdXN5XCI+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICA8aDM+e3sgKHNlbGVjdGVkPy5pZCA/ICdBYnBJZGVudGl0eTo6RWRpdCcgOiAnQWJwSWRlbnRpdHk6Ok5ld1VzZXInKSB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPG5nLXRlbXBsYXRlICNsb2FkZXJSZWZcclxuICAgICAgPjxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlclwiPjxpIGNsYXNzPVwiZmEgZmEtcHVsc2UgZmEtc3Bpbm5lclwiPjwvaT48L2RpdlxyXG4gICAgPjwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPGZvcm0gKm5nSWY9XCJmb3JtOyBlbHNlIGxvYWRlclJlZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cclxuICAgICAgPHVsIG5nYk5hdiAjbmF2PVwibmdiTmF2XCIgY2xhc3M9XCJuYXYtdGFic1wiPlxyXG4gICAgICAgIDxsaSBuZ2JOYXZJdGVtPlxyXG4gICAgICAgICAgPGEgbmdiTmF2TGluaz57eyAnQWJwSWRlbnRpdHk6OlVzZXJJbmZvcm1hdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYk5hdkNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxhYnAtZXh0ZW5zaWJsZS1mb3JtIFtzZWxlY3RlZFJlY29yZF09XCJzZWxlY3RlZFwiPjwvYWJwLWV4dGVuc2libGUtZm9ybT5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9saT5cclxuXHJcbiAgICAgICAgPGxpIG5nYk5hdkl0ZW0+XHJcbiAgICAgICAgICA8YSBuZ2JOYXZMaW5rPnt7ICdBYnBJZGVudGl0eTo6Um9sZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlIG5nYk5hdkNvbnRlbnQ+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcm9sZUdyb3VwIG9mIHJvbGVHcm91cHM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrIG1iLTJcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgICAgICB0eXBlPVwiY2hlY2tib3hcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCJcclxuICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cIidyb2xlcy0nICsgaVwiXHJcbiAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwicm9sZUdyb3VwLmNvbnRyb2xzW3JvbGVzW2ldLm5hbWVdXCJcclxuICAgICAgICAgICAgICAvPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIiBbYXR0ci5mb3JdPVwiJ3JvbGVzLScgKyBpXCI+e3sgcm9sZXNbaV0ubmFtZSB9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L2xpPlxyXG4gICAgICA8L3VsPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cIm10LTIgZmFkZS1pbi10b3BcIiBbbmdiTmF2T3V0bGV0XT1cIm5hdlwiPjwvZGl2PlxyXG4gICAgPC9mb3JtPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwRm9vdGVyPlxyXG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPlxyXG4gICAgICB7eyAnQWJwSWRlbnRpdHk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGFicC1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIiBbZGlzYWJsZWRdPVwiZm9ybT8uaW52YWxpZFwiIChjbGljayk9XCJzYXZlKClcIj57e1xyXG4gICAgICAnQWJwSWRlbnRpdHk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICB9fTwvYWJwLWJ1dHRvbj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG48L2FicC1tb2RhbD5cclxuXHJcbjxhYnAtcGVybWlzc2lvbi1tYW5hZ2VtZW50XHJcbiAgI2FicFBlcm1pc3Npb25NYW5hZ2VtZW50PVwiYWJwUGVybWlzc2lvbk1hbmFnZW1lbnRcIlxyXG4gICphYnBSZXBsYWNlYWJsZVRlbXBsYXRlPVwiXHJcbiAgICB7XHJcbiAgICAgIGlucHV0czoge1xyXG4gICAgICAgIHByb3ZpZGVyTmFtZTogeyB2YWx1ZTogJ1UnIH0sXHJcbiAgICAgICAgcHJvdmlkZXJLZXk6IHsgdmFsdWU6IHByb3ZpZGVyS2V5IH0sXHJcbiAgICAgICAgdmlzaWJsZTogeyB2YWx1ZTogdmlzaWJsZVBlcm1pc3Npb25zLCB0d29XYXk6IHRydWUgfVxyXG4gICAgICB9LFxyXG4gICAgICBvdXRwdXRzOiB7IHZpc2libGVDaGFuZ2U6IG9uVmlzaWJsZVBlcm1pc3Npb25DaGFuZ2UgfSxcclxuICAgICAgY29tcG9uZW50S2V5OiBwZXJtaXNzaW9uTWFuYWdlbWVudEtleVxyXG4gICAgfTtcclxuICAgIGxldCBpbml0ID0gaW5pdFRlbXBsYXRlXHJcbiAgXCJcclxuICAoYWJwSW5pdCk9XCJpbml0KGFicFBlcm1pc3Npb25NYW5hZ2VtZW50KVwiXHJcbj5cclxuPC9hYnAtcGVybWlzc2lvbi1tYW5hZ2VtZW50PlxyXG4iXX0=
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaWRlbnRpdHkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvY29tcG9uZW50cy91c2Vycy91c2Vycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFrQixNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBSUwsbUJBQW1CLEdBQ3BCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixxQkFBcUIsR0FDdEIsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6QyxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFFUixXQUFXLEVBRVgsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBOEIsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBYzFELE1BQU0sT0FBTyxjQUFjO0lBb0N6QixZQUNrQixJQUF3QyxFQUM5QyxtQkFBd0MsRUFDeEMsT0FBNEIsRUFDOUIsY0FBOEIsRUFDNUIsRUFBZSxFQUNmLFFBQWtCO1FBTFosU0FBSSxHQUFKLElBQUksQ0FBb0M7UUFDOUMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM5QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDNUIsT0FBRSxHQUFG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LEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsV0FBbUIsRUFBRSxpQkFBMEI7UUFDbEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQzNDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7OzJHQXhKVSxjQUFjOytGQUFkLGNBQWMsb0NBUmQ7UUFDVCxXQUFXO1FBQ1g7WUFDRSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsdUNBQTJCO1NBQ3BDO0tBQ0Ysd0lDbkNILCtrSEFxR0E7MkZEaEVhLGNBQWM7a0JBWDFCLFNBQVM7K0JBQ0UsV0FBVyxhQUVWO3dCQUNULFdBQVc7d0JBQ1g7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSx1Q0FBMkI7eUJBQ3BDO3FCQUNGO29QQU1ELFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdFNlcnZpY2UsIFBhZ2VkUmVzdWx0RHRvIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHtcclxuICBHZXRJZGVudGl0eVVzZXJzSW5wdXQsXHJcbiAgSWRlbnRpdHlSb2xlRHRvLFxyXG4gIElkZW50aXR5VXNlckR0byxcclxuICBJZGVudGl0eVVzZXJTZXJ2aWNlLFxyXG59IGZyb20gJ0BhYnAvbmcuaWRlbnRpdHkvcHJveHknO1xyXG5pbXBvcnQgeyBlUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnRzIH0gZnJvbSAnQGFicC9uZy5wZXJtaXNzaW9uLW1hbmFnZW1lbnQnO1xyXG5pbXBvcnQge0NvbmZpcm1hdGlvbiwgQ29uZmlybWF0aW9uU2VydmljZSwgVG9hc3RlclNlcnZpY2V9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHtcclxuICBFWFRFTlNJT05TX0lERU5USUZJRVIsXHJcbiAgRm9ybVByb3BEYXRhLFxyXG4gIGdlbmVyYXRlRm9ybUZyb21Qcm9wcyxcclxufSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5qZWN0b3IsXHJcbiAgT25Jbml0LFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIFRyYWNrQnlGdW5jdGlvbixcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUFycmF5LCBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBmaW5hbGl6ZSwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGVJZGVudGl0eUNvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9lbnVtcy9jb21wb25lbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXVzZXJzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdXNlcnMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTGlzdFNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEVYVEVOU0lPTlNfSURFTlRJRklFUixcclxuICAgICAgdXNlVmFsdWU6IGVJZGVudGl0eUNvbXBvbmVudHMuVXNlcnMsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVc2Vyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZGF0YTogUGFnZWRSZXN1bHREdG88SWRlbnRpdHlVc2VyRHRvPiA9IHsgaXRlbXM6IFtdLCB0b3RhbENvdW50OiAwIH07XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ21vZGFsQ29udGVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxyXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG5cclxuICBzZWxlY3RlZDogSWRlbnRpdHlVc2VyRHRvO1xyXG5cclxuICBzZWxlY3RlZFVzZXJSb2xlczogSWRlbnRpdHlSb2xlRHRvW107XHJcblxyXG4gIHJvbGVzOiBJZGVudGl0eVJvbGVEdG9bXTtcclxuXHJcbiAgdmlzaWJsZVBlcm1pc3Npb25zID0gZmFsc2U7XHJcblxyXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XHJcblxyXG4gIGlzTW9kYWxWaXNpYmxlOiBib29sZWFuO1xyXG5cclxuICBtb2RhbEJ1c3kgPSBmYWxzZTtcclxuXHJcbiAgcGVybWlzc2lvbk1hbmFnZW1lbnRLZXkgPSBlUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnRzLlBlcm1pc3Npb25NYW5hZ2VtZW50O1xyXG5cclxuICBlbnRpdHlEaXNwbGF5TmFtZTogc3RyaW5nO1xyXG5cclxuICB0cmFja0J5Rm46IFRyYWNrQnlGdW5jdGlvbjxBYnN0cmFjdENvbnRyb2w+ID0gKGluZGV4LCBpdGVtKSA9PiBPYmplY3Qua2V5cyhpdGVtKVswXSB8fCBpbmRleDtcclxuXHJcbiAgb25WaXNpYmxlUGVybWlzc2lvbkNoYW5nZSA9IGV2ZW50ID0+IHtcclxuICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gZXZlbnQ7XHJcbiAgfTtcclxuXHJcbiAgZ2V0IHJvbGVHcm91cHMoKTogRm9ybUdyb3VwW10ge1xyXG4gICAgcmV0dXJuICgodGhpcy5mb3JtLmdldCgncm9sZU5hbWVzJykgYXMgRm9ybUFycmF5KT8uY29udHJvbHMgYXMgRm9ybUdyb3VwW10pIHx8IFtdO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdDogTGlzdFNlcnZpY2U8R2V0SWRlbnRpdHlVc2Vyc0lucHV0PixcclxuICAgIHByb3RlY3RlZCBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHNlcnZpY2U6IElkZW50aXR5VXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBmYjogRm9ybUJ1aWxkZXIsXHJcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmhvb2tUb1F1ZXJ5KCk7XHJcbiAgfVxyXG5cclxuICBidWlsZEZvcm0oKSB7XHJcbiAgICBjb25zdCBkYXRhID0gbmV3IEZvcm1Qcm9wRGF0YSh0aGlzLmluamVjdG9yLCB0aGlzLnNlbGVjdGVkKTtcclxuICAgIHRoaXMuZm9ybSA9IGdlbmVyYXRlRm9ybUZyb21Qcm9wcyhkYXRhKTtcclxuXHJcbiAgICB0aGlzLnNlcnZpY2UuZ2V0QXNzaWduYWJsZVJvbGVzKCkuc3Vic2NyaWJlKCh7IGl0ZW1zIH0pID0+IHtcclxuICAgICAgdGhpcy5yb2xlcyA9IGl0ZW1zO1xyXG4gICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChcclxuICAgICAgICAncm9sZU5hbWVzJyxcclxuICAgICAgICB0aGlzLmZiLmFycmF5KFxyXG4gICAgICAgICAgdGhpcy5yb2xlcy5tYXAocm9sZSA9PlxyXG4gICAgICAgICAgICB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgICAgICAgICBbcm9sZS5uYW1lXTogW1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZC5pZFxyXG4gICAgICAgICAgICAgICAgICA/ICEhdGhpcy5zZWxlY3RlZFVzZXJSb2xlcz8uZmluZCh1c2VyUm9sZSA9PiB1c2VyUm9sZS5pZCA9PT0gcm9sZS5pZClcclxuICAgICAgICAgICAgICAgICAgOiByb2xlLmlzRGVmYXVsdCxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICB9KSxcclxuICAgICAgICAgICksXHJcbiAgICAgICAgKSxcclxuICAgICAgKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3Blbk1vZGFsKCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIElkZW50aXR5VXNlckR0bztcclxuICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBbXSBhcyBJZGVudGl0eVJvbGVEdG9bXTtcclxuICAgIHRoaXMub3Blbk1vZGFsKCk7XHJcbiAgfVxyXG5cclxuICBlZGl0KGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0KGlkKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YXAodXNlciA9PiAodGhpcy5zZWxlY3RlZCA9IHVzZXIpKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zZXJ2aWNlLmdldFJvbGVzKGlkKSksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSh1c2VyUm9sZSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJSb2xlcyA9IHVzZXJSb2xlLml0ZW1zIHx8IFtdO1xyXG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkIHx8IHRoaXMubW9kYWxCdXN5KSByZXR1cm47XHJcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgeyByb2xlTmFtZXMgPSBbXSB9ID0gdGhpcy5mb3JtLnZhbHVlO1xyXG4gICAgY29uc3QgbWFwcGVkUm9sZU5hbWVzID1cclxuICAgICAgcm9sZU5hbWVzLmZpbHRlcihyb2xlID0+ICEhcm9sZVtPYmplY3Qua2V5cyhyb2xlKVswXV0pLm1hcChyb2xlID0+IE9iamVjdC5rZXlzKHJvbGUpWzBdKSB8fFxyXG4gICAgICBbXTtcclxuXHJcbiAgICBjb25zdCB7IGlkIH0gPSB0aGlzLnNlbGVjdGVkO1xyXG5cclxuICAgIChpZFxyXG4gICAgICA/IHRoaXMuc2VydmljZS51cGRhdGUoaWQsIHtcclxuICAgICAgICAgIC4uLnRoaXMuc2VsZWN0ZWQsXHJcbiAgICAgICAgICAuLi50aGlzLmZvcm0udmFsdWUsXHJcbiAgICAgICAgICByb2xlTmFtZXM6IG1hcHBlZFJvbGVOYW1lcyxcclxuICAgICAgICB9KVxyXG4gICAgICA6IHRoaXMuc2VydmljZS5jcmVhdGUoeyAuLi50aGlzLmZvcm0udmFsdWUsIHJvbGVOYW1lczogbWFwcGVkUm9sZU5hbWVzIH0pXHJcbiAgICApXHJcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLm1vZGFsQnVzeSA9IGZhbHNlKSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxpc3QuZ2V0KCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZGVsZXRlKGlkOiBzdHJpbmcsIHVzZXJOYW1lOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuY29uZmlybWF0aW9uU2VydmljZVxyXG4gICAgICAud2FybignQWJwSWRlbnRpdHk6OlVzZXJEZWxldGlvbkNvbmZpcm1hdGlvbk1lc3NhZ2UnLCAnQWJwSWRlbnRpdHk6OkFyZVlvdVN1cmUnLCB7XHJcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW3VzZXJOYW1lXSxcclxuICAgICAgfSlcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBDb25maXJtYXRpb24uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSB7XHJcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlKGlkKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ0FicFVpOjpTdWNjZXNzZnVsbHlEZWxldGVkJyk7XHJcbiAgICAgICAgICAgIHRoaXMubGlzdC5nZXQoKX0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzb3J0KGRhdGEpIHtcclxuICAgIGNvbnN0IHsgcHJvcCwgZGlyIH0gPSBkYXRhLnNvcnRzWzBdO1xyXG4gICAgdGhpcy5saXN0LnNvcnRLZXkgPSBwcm9wO1xyXG4gICAgdGhpcy5saXN0LnNvcnRPcmRlciA9IGRpcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaG9va1RvUXVlcnkoKSB7XHJcbiAgICB0aGlzLmxpc3QuaG9va1RvUXVlcnkocXVlcnkgPT4gdGhpcy5zZXJ2aWNlLmdldExpc3QocXVlcnkpKS5zdWJzY3JpYmUocmVzID0+ICh0aGlzLmRhdGEgPSByZXMpKTtcclxuICB9XHJcblxyXG4gIG9wZW5QZXJtaXNzaW9uc01vZGFsKHByb3ZpZGVyS2V5OiBzdHJpbmcsIGVudGl0eURpc3BsYXlOYW1lPzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnByb3ZpZGVyS2V5ID0gcHJvdmlkZXJLZXk7XHJcbiAgICB0aGlzLmVudGl0eURpc3BsYXlOYW1lID0gZW50aXR5RGlzcGxheU5hbWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy52aXNpYmxlUGVybWlzc2lvbnMgPSB0cnVlO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJpZGVudGl0eS1yb2xlcy13cmFwcGVyXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLW1kLTZcIj5cclxuICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgJ0FicElkZW50aXR5OjpVc2VycycgfCBhYnBMb2NhbGl6YXRpb24gfX08L2g1PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIGNvbCBjb2wtbWQtNlwiPlxyXG4gICAgICAgIDxhYnAtcGFnZS10b29sYmFyIFtyZWNvcmRdPVwiZGF0YS5pdGVtc1wiPjwvYWJwLXBhZ2UtdG9vbGJhcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICA8ZGl2IGlkPVwiZGF0YS10YWJsZXMtdGFibGUtZmlsdGVyXCIgY2xhc3M9XCJkYXRhLXRhYmxlcy1maWx0ZXJcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWdyb3VwXCI+XHJcbiAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICB0eXBlPVwic2VhcmNoXCJcclxuICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInQWJwVWk6OlBhZ2VyU2VhcmNoJyB8IGFicExvY2FsaXphdGlvblwiXHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImxpc3QuZmlsdGVyXCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxhYnAtZXh0ZW5zaWJsZS10YWJsZVxyXG4gICAgICBbZGF0YV09XCJkYXRhLml0ZW1zXCJcclxuICAgICAgW3JlY29yZHNUb3RhbF09XCJkYXRhLnRvdGFsQ291bnRcIlxyXG4gICAgICBbbGlzdF09XCJsaXN0XCJcclxuICAgID48L2FicC1leHRlbnNpYmxlLXRhYmxlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbjxhYnAtbW9kYWwgWyh2aXNpYmxlKV09XCJpc01vZGFsVmlzaWJsZVwiIFtidXN5XT1cIm1vZGFsQnVzeVwiPlxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgPGgzPnt7IChzZWxlY3RlZD8uaWQgPyAnQWJwSWRlbnRpdHk6OkVkaXQnIDogJ0FicElkZW50aXR5OjpOZXdVc2VyJykgfCBhYnBMb2NhbGl6YXRpb24gfX08L2gzPlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgIDxuZy10ZW1wbGF0ZSAjbG9hZGVyUmVmXHJcbiAgICAgID48ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXJcIj48aSBjbGFzcz1cImZhIGZhLXB1bHNlIGZhLXNwaW5uZXJcIj48L2k+PC9kaXZcclxuICAgID48L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxmb3JtICpuZ0lmPVwiZm9ybTsgZWxzZSBsb2FkZXJSZWZcIiBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwic2F2ZSgpXCI+XHJcbiAgICAgIDx1bCBuZ2JOYXYgI25hdj1cIm5nYk5hdlwiIGNsYXNzPVwibmF2LXRhYnNcIj5cclxuICAgICAgICA8bGkgbmdiTmF2SXRlbT5cclxuICAgICAgICAgIDxhIG5nYk5hdkxpbms+e3sgJ0FicElkZW50aXR5OjpVc2VySW5mb3JtYXRpb25zJyB8IGFicExvY2FsaXphdGlvbiB9fTwvYT5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ2JOYXZDb250ZW50PlxyXG4gICAgICAgICAgICA8YWJwLWV4dGVuc2libGUtZm9ybSBbc2VsZWN0ZWRSZWNvcmRdPVwic2VsZWN0ZWRcIj48L2FicC1leHRlbnNpYmxlLWZvcm0+XHJcbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvbGk+XHJcblxyXG4gICAgICAgIDxsaSBuZ2JOYXZJdGVtPlxyXG4gICAgICAgICAgPGEgbmdiTmF2TGluaz57eyAnQWJwSWRlbnRpdHk6OlJvbGVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvYT5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSBuZ2JOYXZDb250ZW50PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHJvbGVHcm91cCBvZiByb2xlR3JvdXBzOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5Rm5cIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjayBtYi0yXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICAgICAgdHlwZT1cImNoZWNrYm94XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jaGVjay1pbnB1dFwiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCIncm9sZXMtJyArIGlcIlxyXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJvbGVHcm91cC5jb250cm9sc1tyb2xlc1tpXS5uYW1lXVwiXHJcbiAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCIgW2F0dHIuZm9yXT1cIidyb2xlcy0nICsgaVwiPnt7IHJvbGVzW2ldLm5hbWUgfX08L2xhYmVsPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGZhZGUtaW4tdG9wXCIgW25nYk5hdk91dGxldF09XCJuYXZcIj48L2Rpdj5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBhYnBDbG9zZT5cclxuICAgICAge3sgJ0FicElkZW50aXR5OjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIiAoY2xpY2spPVwic2F2ZSgpXCI+e3tcclxuICAgICAgJ0FicElkZW50aXR5OjpTYXZlJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgfX08L2FicC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcblxyXG48YWJwLXBlcm1pc3Npb24tbWFuYWdlbWVudFxyXG4gICNhYnBQZXJtaXNzaW9uTWFuYWdlbWVudD1cImFicFBlcm1pc3Npb25NYW5hZ2VtZW50XCJcclxuICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIlxyXG4gICAge1xyXG4gICAgICBpbnB1dHM6IHtcclxuICAgICAgICBwcm92aWRlck5hbWU6IHsgdmFsdWU6ICdVJyB9LFxyXG4gICAgICAgIHByb3ZpZGVyS2V5OiB7IHZhbHVlOiBwcm92aWRlcktleSB9LFxyXG4gICAgICAgIHZpc2libGU6IHsgdmFsdWU6IHZpc2libGVQZXJtaXNzaW9ucywgdHdvV2F5OiB0cnVlIH1cclxuICAgICAgfSxcclxuICAgICAgb3V0cHV0czogeyB2aXNpYmxlQ2hhbmdlOiBvblZpc2libGVQZXJtaXNzaW9uQ2hhbmdlIH0sXHJcbiAgICAgIGNvbXBvbmVudEtleTogcGVybWlzc2lvbk1hbmFnZW1lbnRLZXlcclxuICAgIH07XHJcbiAgICBsZXQgaW5pdCA9IGluaXRUZW1wbGF0ZVxyXG4gIFwiXHJcbiAgW2VudGl0eURpc3BsYXlOYW1lXT1cImVudGl0eURpc3BsYXlOYW1lXCJcclxuICAoYWJwSW5pdCk9XCJpbml0KGFicFBlcm1pc3Npb25NYW5hZ2VtZW50KVwiXHJcbj5cclxuPC9hYnAtcGVybWlzc2lvbi1tYW5hZ2VtZW50PlxyXG4iXX0=
|
|
@@ -13,7 +13,7 @@ export const DEFAULT_USERS_ENTITY_ACTIONS = EntityAction.createMany([
|
|
|
13
13
|
text: 'AbpIdentity::Permissions',
|
|
14
14
|
action: data => {
|
|
15
15
|
const component = data.getInjected(UsersComponent);
|
|
16
|
-
component.openPermissionsModal(data.record.id);
|
|
16
|
+
component.openPermissionsModal(data.record.id, data.record.userName);
|
|
17
17
|
},
|
|
18
18
|
permission: 'AbpIdentity.Users.ManagePermissions',
|
|
19
19
|
},
|
|
@@ -26,4 +26,4 @@ export const DEFAULT_USERS_ENTITY_ACTIONS = EntityAction.createMany([
|
|
|
26
26
|
permission: 'AbpIdentity.Users.Delete',
|
|
27
27
|
},
|
|
28
28
|
]);
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC11c2Vycy1lbnRpdHktYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvZGVmYXVsdHMvZGVmYXVsdC11c2Vycy1lbnRpdHktYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLFlBQVksQ0FBQyxVQUFVLENBQWtCO0lBQ25GO1FBQ0UsSUFBSSxFQUFFLG1CQUFtQjtRQUN6QixNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDYixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25ELFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsVUFBVSxFQUFFLDBCQUEwQjtLQUN2QztJQUNEO1FBQ0UsSUFBSSxFQUFFLDBCQUEwQjtRQUNoQyxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQUU7WUFDYixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQ25ELFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxVQUFVLEVBQUUscUNBQXFDO0tBQ2xEO0lBQ0Q7UUFDRSxJQUFJLEVBQUUscUJBQXFCO1FBQzNCLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRTtZQUNiLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsY0FBYyxDQUFDLENBQUM7WUFDbkQsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdFLENBQUM7UUFDRCxVQUFVLEVBQUUsMEJBQTBCO0tBQ3ZDO0NBQ0YsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSWRlbnRpdHlVc2VyRHRvIH0gZnJvbSAnQGFicC9uZy5pZGVudGl0eS9wcm94eSc7XHJcbmltcG9ydCB7IEVudGl0eUFjdGlvbiB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xyXG5pbXBvcnQgeyBVc2Vyc0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvdXNlcnMvdXNlcnMuY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX1VTRVJTX0VOVElUWV9BQ1RJT05TID0gRW50aXR5QWN0aW9uLmNyZWF0ZU1hbnk8SWRlbnRpdHlVc2VyRHRvPihbXHJcbiAge1xyXG4gICAgdGV4dDogJ0FicElkZW50aXR5OjpFZGl0JyxcclxuICAgIGFjdGlvbjogZGF0YSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGRhdGEuZ2V0SW5qZWN0ZWQoVXNlcnNDb21wb25lbnQpO1xyXG4gICAgICBjb21wb25lbnQuZWRpdChkYXRhLnJlY29yZC5pZCk7XHJcbiAgICB9LFxyXG4gICAgcGVybWlzc2lvbjogJ0FicElkZW50aXR5LlVzZXJzLlVwZGF0ZScsXHJcbiAgfSxcclxuICB7XHJcbiAgICB0ZXh0OiAnQWJwSWRlbnRpdHk6OlBlcm1pc3Npb25zJyxcclxuICAgIGFjdGlvbjogZGF0YSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGRhdGEuZ2V0SW5qZWN0ZWQoVXNlcnNDb21wb25lbnQpO1xyXG4gICAgICBjb21wb25lbnQub3BlblBlcm1pc3Npb25zTW9kYWwoZGF0YS5yZWNvcmQuaWQsIGRhdGEucmVjb3JkLnVzZXJOYW1lKTtcclxuICAgIH0sXHJcbiAgICBwZXJtaXNzaW9uOiAnQWJwSWRlbnRpdHkuVXNlcnMuTWFuYWdlUGVybWlzc2lvbnMnLFxyXG4gIH0sXHJcbiAge1xyXG4gICAgdGV4dDogJ0FicElkZW50aXR5OjpEZWxldGUnLFxyXG4gICAgYWN0aW9uOiBkYXRhID0+IHtcclxuICAgICAgY29uc3QgY29tcG9uZW50ID0gZGF0YS5nZXRJbmplY3RlZChVc2Vyc0NvbXBvbmVudCk7XHJcbiAgICAgIGNvbXBvbmVudC5kZWxldGUoZGF0YS5yZWNvcmQuaWQsIGRhdGEucmVjb3JkLm5hbWUgfHwgZGF0YS5yZWNvcmQudXNlck5hbWUpO1xyXG4gICAgfSxcclxuICAgIHBlcm1pc3Npb246ICdBYnBJZGVudGl0eS5Vc2Vycy5EZWxldGUnLFxyXG4gIH0sXHJcbl0pO1xyXG4iXX0=
|
|
@@ -28,9 +28,9 @@ export class IdentityExtensionsGuard {
|
|
|
28
28
|
}), mapTo(true));
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
IdentityExtensionsGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
32
|
-
IdentityExtensionsGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
31
|
+
IdentityExtensionsGuard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityExtensionsGuard, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
IdentityExtensionsGuard.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityExtensionsGuard });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityExtensionsGuard, decorators: [{
|
|
34
34
|
type: Injectable
|
|
35
35
|
}], ctorParameters: function () { return [{ type: i0.Injector }]; } });
|
|
36
36
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvZ3VhcmRzL2V4dGVuc2lvbnMuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ2xELE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsbUNBQW1DLEVBQ25DLHlCQUF5QixFQUN6Qix1QkFBdUIsRUFDdkIscUJBQXFCLEdBQ3RCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHckQsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFTakQsT0FBTyxFQUNMLGtDQUFrQyxFQUNsQyxnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLDZCQUE2QixFQUM3QixnQ0FBZ0MsRUFDaEMsc0NBQXNDLEVBQ3RDLG9DQUFvQyxFQUNwQyxtQ0FBbUMsRUFDbkMsaUNBQWlDLEVBQ2pDLG9DQUFvQyxHQUNyQyxNQUFNLDRCQUE0QixDQUFDOztBQUdwQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQW9CLFFBQWtCO1FBQWxCLGFBQVEsR0FBUixRQUFRLENBQVU7SUFBRyxDQUFDO0lBRTFDLFdBQVc7UUFDVCxNQUFNLFVBQVUsR0FBc0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMzRSxNQUFNLGtCQUFrQixHQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQ0FBbUMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckUsTUFBTSxtQkFBbUIsR0FDdkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0NBQW9DLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RFLE1BQU0sZ0JBQWdCLEdBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGlDQUFpQyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRSxNQUFNLHNCQUFzQixHQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxzQ0FBc0MsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDeEUsTUFBTSxvQkFBb0IsR0FDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsb0NBQW9DLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBRXRFLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDMUQsT0FBTyxtQ0FBbUMsQ0FBQyxXQUFXLEVBQUUsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUN0RSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2YsdUNBQTJCLEVBQUUsUUFBUSxDQUFDLElBQUk7WUFDMUMsdUNBQTJCLEVBQUUsUUFBUSxDQUFDLElBQUk7U0FDM0MsQ0FBQyxDQUFDLEVBQ0gseUJBQXlCLENBQUMsV0FBVyxFQUFFLGFBQWEsQ0FBQyxFQUNyRCxHQUFHLENBQUMsMkJBQTJCLENBQUMsRUFBRTtZQUNoQyx1QkFBdUIsQ0FDckIsVUFBVSxDQUFDLGFBQWEsRUFDeEIsK0JBQStCLEVBQy9CLGtCQUFrQixDQUNuQixDQUFDO1lBQ0YsdUJBQXVCLENBQ3JCLFVBQVUsQ0FBQyxjQUFjLEVBQ3pCLGdDQUFnQyxFQUNoQyxtQkFBbUIsQ0FDcEIsQ0FBQztZQUNGLHFCQUFxQixDQUNuQixVQUFVLENBQUMsV0FBVyxFQUN0Qiw2QkFBNkIsRUFDN0IsMkJBQTJCLENBQUMsSUFBSSxFQUNoQyxnQkFBZ0IsQ0FDakIsQ0FBQztZQUNGLHFCQUFxQixDQUNuQixVQUFVLENBQUMsZUFBZSxFQUMxQixrQ0FBa0MsRUFDbEMsMkJBQTJCLENBQUMsVUFBVSxFQUN0QyxzQkFBc0IsQ0FDdkIsQ0FBQztZQUNGLHFCQUFxQixDQUNuQixVQUFVLENBQUMsYUFBYSxFQUN4QixnQ0FBZ0MsRUFDaEMsMkJBQTJCLENBQUMsUUFBUSxFQUNwQyxvQkFBb0IsQ0FDckIsQ0FBQztRQUNKLENBQUMsQ0FBQyxFQUNGLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FDWixDQUFDO0lBQ0osQ0FBQzs7b0hBdkRVLHVCQUF1Qjt3SEFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBRG5DLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWdTdGF0ZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEV4dGVuc2lvbnNTZXJ2aWNlLFxyXG4gIGdldE9iamVjdEV4dGVuc2lvbkVudGl0aWVzRnJvbVN0b3JlLFxyXG4gIG1hcEVudGl0aWVzVG9Db250cmlidXRvcnMsXHJcbiAgbWVyZ2VXaXRoRGVmYXVsdEFjdGlvbnMsXHJcbiAgbWVyZ2VXaXRoRGVmYXVsdFByb3BzLFxyXG59IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDYW5BY3RpdmF0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgbWFwLCBtYXBUbywgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBlSWRlbnRpdHlDb21wb25lbnRzIH0gZnJvbSAnLi4vZW51bXMvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7XHJcbiAgSWRlbnRpdHlDcmVhdGVGb3JtUHJvcENvbnRyaWJ1dG9ycyxcclxuICBJZGVudGl0eUVkaXRGb3JtUHJvcENvbnRyaWJ1dG9ycyxcclxuICBJZGVudGl0eUVudGl0eUFjdGlvbkNvbnRyaWJ1dG9ycyxcclxuICBJZGVudGl0eUVudGl0eVByb3BDb250cmlidXRvcnMsXHJcbiAgSWRlbnRpdHlUb29sYmFyQWN0aW9uQ29udHJpYnV0b3JzLFxyXG59IGZyb20gJy4uL21vZGVscy9jb25maWctb3B0aW9ucyc7XHJcbmltcG9ydCB7XHJcbiAgREVGQVVMVF9JREVOVElUWV9DUkVBVEVfRk9STV9QUk9QUyxcclxuICBERUZBVUxUX0lERU5USVRZX0VESVRfRk9STV9QUk9QUyxcclxuICBERUZBVUxUX0lERU5USVRZX0VOVElUWV9BQ1RJT05TLFxyXG4gIERFRkFVTFRfSURFTlRJVFlfRU5USVRZX1BST1BTLFxyXG4gIERFRkFVTFRfSURFTlRJVFlfVE9PTEJBUl9BQ1RJT05TLFxyXG4gIElERU5USVRZX0NSRUFURV9GT1JNX1BST1BfQ09OVFJJQlVUT1JTLFxyXG4gIElERU5USVRZX0VESVRfRk9STV9QUk9QX0NPTlRSSUJVVE9SUyxcclxuICBJREVOVElUWV9FTlRJVFlfQUNUSU9OX0NPTlRSSUJVVE9SUyxcclxuICBJREVOVElUWV9FTlRJVFlfUFJPUF9DT05UUklCVVRPUlMsXHJcbiAgSURFTlRJVFlfVE9PTEJBUl9BQ1RJT05fQ09OVFJJQlVUT1JTLFxyXG59IGZyb20gJy4uL3Rva2Vucy9leHRlbnNpb25zLnRva2VuJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIElkZW50aXR5RXh0ZW5zaW9uc0d1YXJkIGltcGxlbWVudHMgQ2FuQWN0aXZhdGUge1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yKSB7fVxyXG5cclxuICBjYW5BY3RpdmF0ZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IGV4dGVuc2lvbnM6IEV4dGVuc2lvbnNTZXJ2aWNlID0gdGhpcy5pbmplY3Rvci5nZXQoRXh0ZW5zaW9uc1NlcnZpY2UpO1xyXG4gICAgY29uc3QgYWN0aW9uQ29udHJpYnV0b3JzOiBJZGVudGl0eUVudGl0eUFjdGlvbkNvbnRyaWJ1dG9ycyA9XHJcbiAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KElERU5USVRZX0VOVElUWV9BQ1RJT05fQ09OVFJJQlVUT1JTLCBudWxsKSB8fCB7fTtcclxuICAgIGNvbnN0IHRvb2xiYXJDb250cmlidXRvcnM6IElkZW50aXR5VG9vbGJhckFjdGlvbkNvbnRyaWJ1dG9ycyA9XHJcbiAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KElERU5USVRZX1RPT0xCQVJfQUNUSU9OX0NPTlRSSUJVVE9SUywgbnVsbCkgfHwge307XHJcbiAgICBjb25zdCBwcm9wQ29udHJpYnV0b3JzOiBJZGVudGl0eUVudGl0eVByb3BDb250cmlidXRvcnMgPVxyXG4gICAgICB0aGlzLmluamVjdG9yLmdldChJREVOVElUWV9FTlRJVFlfUFJPUF9DT05UUklCVVRPUlMsIG51bGwpIHx8IHt9O1xyXG4gICAgY29uc3QgY3JlYXRlRm9ybUNvbnRyaWJ1dG9yczogSWRlbnRpdHlDcmVhdGVGb3JtUHJvcENvbnRyaWJ1dG9ycyA9XHJcbiAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KElERU5USVRZX0NSRUFURV9GT1JNX1BST1BfQ09OVFJJQlVUT1JTLCBudWxsKSB8fCB7fTtcclxuICAgIGNvbnN0IGVkaXRGb3JtQ29udHJpYnV0b3JzOiBJZGVudGl0eUVkaXRGb3JtUHJvcENvbnRyaWJ1dG9ycyA9XHJcbiAgICAgIHRoaXMuaW5qZWN0b3IuZ2V0KElERU5USVRZX0VESVRfRk9STV9QUk9QX0NPTlRSSUJVVE9SUywgbnVsbCkgfHwge307XHJcblxyXG4gICAgY29uc3QgY29uZmlnU3RhdGUgPSB0aGlzLmluamVjdG9yLmdldChDb25maWdTdGF0ZVNlcnZpY2UpO1xyXG4gICAgcmV0dXJuIGdldE9iamVjdEV4dGVuc2lvbkVudGl0aWVzRnJvbVN0b3JlKGNvbmZpZ1N0YXRlLCAnSWRlbnRpdHknKS5waXBlKFxyXG4gICAgICBtYXAoZW50aXRpZXMgPT4gKHtcclxuICAgICAgICBbZUlkZW50aXR5Q29tcG9uZW50cy5Sb2xlc106IGVudGl0aWVzLlJvbGUsXHJcbiAgICAgICAgW2VJZGVudGl0eUNvbXBvbmVudHMuVXNlcnNdOiBlbnRpdGllcy5Vc2VyLFxyXG4gICAgICB9KSksXHJcbiAgICAgIG1hcEVudGl0aWVzVG9Db250cmlidXRvcnMoY29uZmlnU3RhdGUsICdBYnBJZGVudGl0eScpLFxyXG4gICAgICB0YXAob2JqZWN0RXh0ZW5zaW9uQ29udHJpYnV0b3JzID0+IHtcclxuICAgICAgICBtZXJnZVdpdGhEZWZhdWx0QWN0aW9ucyhcclxuICAgICAgICAgIGV4dGVuc2lvbnMuZW50aXR5QWN0aW9ucyxcclxuICAgICAgICAgIERFRkFVTFRfSURFTlRJVFlfRU5USVRZX0FDVElPTlMsXHJcbiAgICAgICAgICBhY3Rpb25Db250cmlidXRvcnMsXHJcbiAgICAgICAgKTtcclxuICAgICAgICBtZXJnZVdpdGhEZWZhdWx0QWN0aW9ucyhcclxuICAgICAgICAgIGV4dGVuc2lvbnMudG9vbGJhckFjdGlvbnMsXHJcbiAgICAgICAgICBERUZBVUxUX0lERU5USVRZX1RPT0xCQVJfQUNUSU9OUyxcclxuICAgICAgICAgIHRvb2xiYXJDb250cmlidXRvcnMsXHJcbiAgICAgICAgKTtcclxuICAgICAgICBtZXJnZVdpdGhEZWZhdWx0UHJvcHMoXHJcbiAgICAgICAgICBleHRlbnNpb25zLmVudGl0eVByb3BzLFxyXG4gICAgICAgICAgREVGQVVMVF9JREVOVElUWV9FTlRJVFlfUFJPUFMsXHJcbiAgICAgICAgICBvYmplY3RFeHRlbnNpb25Db250cmlidXRvcnMucHJvcCxcclxuICAgICAgICAgIHByb3BDb250cmlidXRvcnMsXHJcbiAgICAgICAgKTtcclxuICAgICAgICBtZXJnZVdpdGhEZWZhdWx0UHJvcHMoXHJcbiAgICAgICAgICBleHRlbnNpb25zLmNyZWF0ZUZvcm1Qcm9wcyxcclxuICAgICAgICAgIERFRkFVTFRfSURFTlRJVFlfQ1JFQVRFX0ZPUk1fUFJPUFMsXHJcbiAgICAgICAgICBvYmplY3RFeHRlbnNpb25Db250cmlidXRvcnMuY3JlYXRlRm9ybSxcclxuICAgICAgICAgIGNyZWF0ZUZvcm1Db250cmlidXRvcnMsXHJcbiAgICAgICAgKTtcclxuICAgICAgICBtZXJnZVdpdGhEZWZhdWx0UHJvcHMoXHJcbiAgICAgICAgICBleHRlbnNpb25zLmVkaXRGb3JtUHJvcHMsXHJcbiAgICAgICAgICBERUZBVUxUX0lERU5USVRZX0VESVRfRk9STV9QUk9QUyxcclxuICAgICAgICAgIG9iamVjdEV4dGVuc2lvbkNvbnRyaWJ1dG9ycy5lZGl0Rm9ybSxcclxuICAgICAgICAgIGVkaXRGb3JtQ29udHJpYnV0b3JzLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH0pLFxyXG4gICAgICBtYXBUbyh0cnVlKSxcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -40,10 +40,10 @@ const routes = [
|
|
|
40
40
|
];
|
|
41
41
|
export class IdentityRoutingModule {
|
|
42
42
|
}
|
|
43
|
-
IdentityRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
44
|
-
IdentityRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
45
|
-
IdentityRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
43
|
+
IdentityRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
44
|
+
IdentityRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
|
|
45
|
+
IdentityRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityRoutingModule, imports: [[RouterModule.forChild(routes)], RouterModule] });
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityRoutingModule, decorators: [{
|
|
47
47
|
type: NgModule,
|
|
48
48
|
args: [{
|
|
49
49
|
imports: [RouterModule.forChild(routes)],
|
|
@@ -44,8 +44,8 @@ export class IdentityModule {
|
|
|
44
44
|
return new LazyModuleFactory(IdentityModule.forChild(options));
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
|
-
IdentityModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
48
|
-
IdentityModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
47
|
+
IdentityModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
48
|
+
IdentityModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityModule, declarations: [RolesComponent, UsersComponent], imports: [CoreModule,
|
|
49
49
|
IdentityRoutingModule,
|
|
50
50
|
NgbNavModule,
|
|
51
51
|
ThemeSharedModule,
|
|
@@ -53,7 +53,7 @@ IdentityModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
|
|
|
53
53
|
NgbDropdownModule,
|
|
54
54
|
PermissionManagementModule,
|
|
55
55
|
NgxValidateCoreModule], exports: [RolesComponent, UsersComponent] });
|
|
56
|
-
IdentityModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
56
|
+
IdentityModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityModule, imports: [[
|
|
57
57
|
CoreModule,
|
|
58
58
|
IdentityRoutingModule,
|
|
59
59
|
NgbNavModule,
|
|
@@ -63,7 +63,7 @@ IdentityModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
|
|
|
63
63
|
PermissionManagementModule,
|
|
64
64
|
NgxValidateCoreModule,
|
|
65
65
|
]] });
|
|
66
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
66
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityModule, decorators: [{
|
|
67
67
|
type: NgModule,
|
|
68
68
|
args: [{
|
|
69
69
|
declarations: [RolesComponent, UsersComponent],
|
|
@@ -35,9 +35,9 @@ export class IdentityRoleService {
|
|
|
35
35
|
}, { apiName: this.apiName });
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
IdentityRoleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
39
|
-
IdentityRoleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
38
|
+
IdentityRoleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityRoleService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
|
+
IdentityRoleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityRoleService, providedIn: 'root' });
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityRoleService, decorators: [{
|
|
41
41
|
type: Injectable,
|
|
42
42
|
args: [{
|
|
43
43
|
providedIn: 'root',
|
|
@@ -26,9 +26,9 @@ export class IdentityUserLookupService {
|
|
|
26
26
|
}, { apiName: this.apiName });
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
IdentityUserLookupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
30
|
-
IdentityUserLookupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
29
|
+
IdentityUserLookupService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityUserLookupService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
30
|
+
IdentityUserLookupService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityUserLookupService, providedIn: 'root' });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityUserLookupService, decorators: [{
|
|
32
32
|
type: Injectable,
|
|
33
33
|
args: [{
|
|
34
34
|
providedIn: 'root',
|
|
@@ -52,9 +52,9 @@ export class IdentityUserService {
|
|
|
52
52
|
}, { apiName: this.apiName });
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
IdentityUserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
56
|
-
IdentityUserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
55
|
+
IdentityUserService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityUserService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
56
|
+
IdentityUserService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityUserService, providedIn: 'root' });
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityUserService, decorators: [{
|
|
58
58
|
type: Injectable,
|
|
59
59
|
args: [{
|
|
60
60
|
providedIn: 'root',
|
|
@@ -43,10 +43,10 @@ class IdentityConfigModule {
|
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
IdentityConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
47
|
-
IdentityConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
48
|
-
IdentityConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
46
|
+
IdentityConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
47
|
+
IdentityConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityConfigModule });
|
|
48
|
+
IdentityConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityConfigModule });
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.6", ngImport: i0, type: IdentityConfigModule, decorators: [{
|
|
50
50
|
type: NgModule
|
|
51
51
|
}] });
|
|
52
52
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abp-ng.identity-config.mjs","sources":["../../../../packages/identity/config/src/providers/route.provider.ts","../../../../packages/identity/config/src/identity-config.module.ts","../../../../packages/identity/config/src/abp-ng.identity-config.ts"],"sourcesContent":["import { eLayoutType, RoutesService } from '@abp/ng.core';\r\nimport { eThemeSharedRouteNames } from '@abp/ng.theme.shared';\r\nimport { APP_INITIALIZER } from '@angular/core';\r\nimport { eIdentityPolicyNames } from '../enums/policy-names';\r\nimport { eIdentityRouteNames } from '../enums/route-names';\r\n\r\nexport const IDENTITY_ROUTE_PROVIDERS = [\r\n { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },\r\n];\r\n\r\nexport function configureRoutes(routesService: RoutesService) {\r\n return () => {\r\n routesService.add([\r\n {\r\n path: undefined,\r\n name: eIdentityRouteNames.IdentityManagement,\r\n parentName: eThemeSharedRouteNames.Administration,\r\n requiredPolicy: eIdentityPolicyNames.IdentityManagement,\r\n iconClass: 'fa fa-id-card-o',\r\n layout: eLayoutType.application,\r\n order: 1,\r\n },\r\n {\r\n path: '/identity/roles',\r\n name: eIdentityRouteNames.Roles,\r\n parentName: eIdentityRouteNames.IdentityManagement,\r\n requiredPolicy: eIdentityPolicyNames.Roles,\r\n order: 1,\r\n },\r\n {\r\n path: '/identity/users',\r\n name: eIdentityRouteNames.Users,\r\n parentName: eIdentityRouteNames.IdentityManagement,\r\n requiredPolicy: eIdentityPolicyNames.Users,\r\n order: 2,\r\n },\r\n ]);\r\n };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { IDENTITY_ROUTE_PROVIDERS } from './providers/route.provider';\r\n\r\n@NgModule()\r\nexport class IdentityConfigModule {\r\n static forRoot(): ModuleWithProviders<IdentityConfigModule> {\r\n return {\r\n ngModule: IdentityConfigModule,\r\n providers: [IDENTITY_ROUTE_PROVIDERS],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"abp-ng.identity-config.mjs","sources":["../../../../packages/identity/config/src/providers/route.provider.ts","../../../../packages/identity/config/src/identity-config.module.ts","../../../../packages/identity/config/src/abp-ng.identity-config.ts"],"sourcesContent":["import { eLayoutType, RoutesService } from '@abp/ng.core';\r\nimport { eThemeSharedRouteNames } from '@abp/ng.theme.shared';\r\nimport { APP_INITIALIZER } from '@angular/core';\r\nimport { eIdentityPolicyNames } from '../enums/policy-names';\r\nimport { eIdentityRouteNames } from '../enums/route-names';\r\n\r\nexport const IDENTITY_ROUTE_PROVIDERS = [\r\n { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },\r\n];\r\n\r\nexport function configureRoutes(routesService: RoutesService) {\r\n return () => {\r\n routesService.add([\r\n {\r\n path: undefined,\r\n name: eIdentityRouteNames.IdentityManagement,\r\n parentName: eThemeSharedRouteNames.Administration,\r\n requiredPolicy: eIdentityPolicyNames.IdentityManagement,\r\n iconClass: 'fa fa-id-card-o',\r\n layout: eLayoutType.application,\r\n order: 1,\r\n },\r\n {\r\n path: '/identity/roles',\r\n name: eIdentityRouteNames.Roles,\r\n parentName: eIdentityRouteNames.IdentityManagement,\r\n requiredPolicy: eIdentityPolicyNames.Roles,\r\n order: 1,\r\n },\r\n {\r\n path: '/identity/users',\r\n name: eIdentityRouteNames.Users,\r\n parentName: eIdentityRouteNames.IdentityManagement,\r\n requiredPolicy: eIdentityPolicyNames.Users,\r\n order: 2,\r\n },\r\n ]);\r\n };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { IDENTITY_ROUTE_PROVIDERS } from './providers/route.provider';\r\n\r\n@NgModule()\r\nexport class IdentityConfigModule {\r\n static forRoot(): ModuleWithProviders<IdentityConfigModule> {\r\n return {\r\n ngModule: IdentityConfigModule,\r\n providers: [IDENTITY_ROUTE_PROVIDERS],\r\n };\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAMa,MAAA,wBAAwB,GAAG;AACtC,IAAA,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;EAC7F;AAEI,SAAU,eAAe,CAAC,aAA4B,EAAA;AAC1D,IAAA,OAAO,MAAK;QACV,aAAa,CAAC,GAAG,CAAC;AAChB,YAAA;AACE,gBAAA,IAAI,EAAE,SAAS;gBACf,IAAI,EAAwC,sCAAA;gBAC5C,UAAU,EAAuC,sCAAA;gBACjD,cAAc,EAAyC,wCAAA;AACvD,gBAAA,SAAS,EAAE,iBAAiB;gBAC5B,MAAM,EAAyB,aAAA;AAC/B,gBAAA,KAAK,EAAE,CAAC;AACT,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAA2B,oBAAA;gBAC/B,UAAU,EAAwC,sCAAA;gBAClD,cAAc,EAA4B,mBAAA;AAC1C,gBAAA,KAAK,EAAE,CAAC;AACT,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAA2B,oBAAA;gBAC/B,UAAU,EAAwC,sCAAA;gBAClD,cAAc,EAA4B,mBAAA;AAC1C,gBAAA,KAAK,EAAE,CAAC;AACT,aAAA;AACF,SAAA,CAAC,CAAC;AACL,KAAC,CAAC;AACJ;;MClCa,oBAAoB,CAAA;AAC/B,IAAA,OAAO,OAAO,GAAA;QACZ,OAAO;AACL,YAAA,QAAQ,EAAE,oBAAoB;YAC9B,SAAS,EAAE,CAAC,wBAAwB,CAAC;SACtC,CAAC;KACH;;iHANU,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;kHAApB,oBAAoB,EAAA,CAAA,CAAA;kHAApB,oBAAoB,EAAA,CAAA,CAAA;2FAApB,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBADhC,QAAQ;;;ACHT;;AAEG;;;;"}
|