@abp/ng.identity 8.0.1 → 8.0.3
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/esm2022/config/identity-config.module.mjs +4 -4
- package/esm2022/lib/components/roles/roles.component.mjs +6 -6
- package/esm2022/lib/components/users/users.component.mjs +6 -6
- package/esm2022/lib/guards/extensions.guard.mjs +3 -3
- package/esm2022/lib/identity-routing.module.mjs +4 -4
- package/esm2022/lib/identity.module.mjs +4 -4
- package/esm2022/proxy/lib/proxy/identity/identity-role.service.mjs +3 -3
- package/esm2022/proxy/lib/proxy/identity/identity-user-lookup.service.mjs +3 -3
- package/esm2022/proxy/lib/proxy/identity/identity-user.service.mjs +3 -3
- package/fesm2022/abp-ng.identity-config.mjs +4 -4
- package/fesm2022/abp-ng.identity-proxy.mjs +9 -9
- package/fesm2022/abp-ng.identity.mjs +22 -22
- package/fesm2022/abp-ng.identity.mjs.map +1 -1
- package/package.json +4 -4
|
@@ -8,11 +8,11 @@ export class IdentityConfigModule {
|
|
|
8
8
|
providers: [IDENTITY_ROUTE_PROVIDERS],
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.
|
|
13
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: IdentityConfigModule }); }
|
|
13
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityConfigModule }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityConfigModule, decorators: [{
|
|
16
16
|
type: NgModule
|
|
17
17
|
}] });
|
|
18
18
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpdHktY29uZmlnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L2NvbmZpZy9zcmMvaWRlbnRpdHktY29uZmlnLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXVCLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFHdEUsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixNQUFNLENBQUMsT0FBTztRQUNaLE9BQU87WUFDTCxRQUFRLEVBQUUsb0JBQW9CO1lBQzlCLFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDO1NBQ3RDLENBQUM7SUFDSixDQUFDOzhHQU5VLG9CQUFvQjsrR0FBcEIsb0JBQW9COytHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBRGhDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJREVOVElUWV9ST1VURV9QUk9WSURFUlMgfSBmcm9tICcuL3Byb3ZpZGVycy9yb3V0ZS5wcm92aWRlcic7XHJcblxyXG5ATmdNb2R1bGUoKVxyXG5leHBvcnQgY2xhc3MgSWRlbnRpdHlDb25maWdNb2R1bGUge1xyXG4gIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8SWRlbnRpdHlDb25maWdNb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBJZGVudGl0eUNvbmZpZ01vZHVsZSxcclxuICAgICAgcHJvdmlkZXJzOiBbSURFTlRJVFlfUk9VVEVfUFJPVklERVJTXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -89,16 +89,16 @@ export class RolesComponent {
|
|
|
89
89
|
this.list.sortKey = prop;
|
|
90
90
|
this.list.sortOrder = dir;
|
|
91
91
|
}
|
|
92
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
93
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
92
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", 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
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: RolesComponent, selector: "abp-roles", providers: [
|
|
94
94
|
ListService,
|
|
95
95
|
{
|
|
96
96
|
provide: EXTENSIONS_IDENTIFIER,
|
|
97
97
|
useValue: "Identity.RolesComponent" /* eIdentityComponents.Roles */,
|
|
98
98
|
},
|
|
99
|
-
], ngImport: i0, template: "<abp-page [title]=\"'AbpIdentity::Roles' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\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-
|
|
99
|
+
], ngImport: i0, template: "<abp-page [title]=\"'AbpIdentity::Roles' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\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-outline-primary\" 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</abp-page>\r\n", dependencies: [{ kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "directive", type: i5.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i2.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i6.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { kind: "component", type: i6.ExtensibleTableComponent, selector: "abp-extensible-table", inputs: ["actionsText", "data", "list", "recordsTotal", "actionsColumnWidth", "actionsTemplate"], outputs: ["tableActivate"], exportAs: ["abpExtensibleTable"] }, { kind: "component", type: i7.PermissionManagementComponent, selector: "abp-permission-management", inputs: ["providerName", "providerKey", "hideBadges", "entityDisplayName", "visible"], outputs: ["visibleChange"], exportAs: ["abpPermissionManagement"] }, { kind: "component", type: i8.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
100
100
|
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RolesComponent, decorators: [{
|
|
102
102
|
type: Component,
|
|
103
103
|
args: [{ selector: 'abp-roles', providers: [
|
|
104
104
|
ListService,
|
|
@@ -106,6 +106,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
106
106
|
provide: EXTENSIONS_IDENTIFIER,
|
|
107
107
|
useValue: "Identity.RolesComponent" /* eIdentityComponents.Roles */,
|
|
108
108
|
},
|
|
109
|
-
], template: "<abp-page [title]=\"'AbpIdentity::Roles' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\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-
|
|
109
|
+
], template: "<abp-page [title]=\"'AbpIdentity::Roles' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\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-outline-primary\" 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</abp-page>\r\n" }]
|
|
110
110
|
}], ctorParameters: () => [{ type: i1.ListService }, { type: i2.ConfirmationService }, { type: i2.ToasterService }, { type: i0.Injector }, { type: i3.IdentityRoleService }] });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaWRlbnRpdHkvc3JjL2xpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFrRCxNQUFNLGNBQWMsQ0FBQztBQUMzRixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUUsT0FBTyxFQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixxQkFBcUIsR0FDdEIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFjMUMsTUFBTSxPQUFPLGNBQWM7SUFxQnpCLFlBQ2tCLElBQWlELEVBQ3ZELG1CQUF3QyxFQUMxQyxjQUE4QixFQUM1QixRQUFrQixFQUNsQixPQUE0QjtRQUp0QixTQUFJLEdBQUosSUFBSSxDQUE2QztRQUN2RCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBekJ4QyxTQUFJLEdBQW9DLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFRckUsdUJBQWtCLEdB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QUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxXQUFtQjtRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsSUFBSSxDQUFDLElBQVM7UUFDWixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUM1QixDQUFDOzhHQW5HVSxjQUFjO2tHQUFkLGNBQWMsb0NBUmQ7WUFDVCxXQUFXO1lBQ1g7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsUUFBUSwyREFBMkI7YUFDcEM7U0FDRiwwQkN2QkgsODBEQW1EQTs7MkZEMUJhLGNBQWM7a0JBWDFCLFNBQVM7K0JBQ0UsV0FBVyxhQUVWO3dCQUNULFdBQVc7d0JBQ1g7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSwyREFBMkI7eUJBQ3BDO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdFNlcnZpY2UsIFBhZ2VkQW5kU29ydGVkUmVzdWx0UmVxdWVzdER0bywgUGFnZWRSZXN1bHREdG8gfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBJZGVudGl0eVJvbGVEdG8sIElkZW50aXR5Um9sZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmlkZW50aXR5L3Byb3h5JztcclxuaW1wb3J0IHsgZVBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50cyB9IGZyb20gJ0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50JztcclxuaW1wb3J0IHtDb25maXJtYXRpb24sIENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7XHJcbiAgRVhURU5TSU9OU19JREVOVElGSUVSLFxyXG4gIEZvcm1Qcm9wRGF0YSxcclxuICBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMsXHJcbn0gZnJvbSAnQGFicC9uZy5jb21wb25lbnRzL2V4dGVuc2libGUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGVJZGVudGl0eUNvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9lbnVtcy9jb21wb25lbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXJvbGVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcm9sZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTGlzdFNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEVYVEVOU0lPTlNfSURFTlRJRklFUixcclxuICAgICAgdXNlVmFsdWU6IGVJZGVudGl0eUNvbXBvbmVudHMuUm9sZXMsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb2xlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZGF0YTogUGFnZWRSZXN1bHREdG88SWRlbnRpdHlSb2xlRHRvPiA9IHsgaXRlbXM6IFtdLCB0b3RhbENvdW50OiAwIH07XHJcblxyXG4gIGZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cclxuICBzZWxlY3RlZD86IElkZW50aXR5Um9sZUR0bztcclxuXHJcbiAgaXNNb2RhbFZpc2libGUhOiBib29sZWFuO1xyXG5cclxuICB2aXNpYmxlUGVybWlzc2lvbnMgPSBmYWxzZTtcclxuXHJcbiAgcHJvdmlkZXJLZXk/OiBzdHJpbmc7XHJcblxyXG4gIG1vZGFsQnVzeSA9IGZhbHNlO1xyXG5cclxuICBwZXJtaXNzaW9uTWFuYWdlbWVudEtleSA9IGVQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudHMuUGVybWlzc2lvbk1hbmFnZW1lbnQ7XHJcblxyXG4gIG9uVmlzaWJsZVBlcm1pc3Npb25DaGFuZ2UgPSAoZXZlbnQ6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gZXZlbnQ7XHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdDogTGlzdFNlcnZpY2U8UGFnZWRBbmRTb3J0ZWRSZXN1bHRSZXF1ZXN0RHRvPixcclxuICAgIHByb3RlY3RlZCBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJvdGVjdGVkIHNlcnZpY2U6IElkZW50aXR5Um9sZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaG9va1RvUXVlcnkoKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkRm9ybSgpIHtcclxuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybVByb3BEYXRhKHRoaXMuaW5qZWN0b3IsIHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5mb3JtID0gZ2VuZXJhdGVGb3JtRnJvbVByb3BzKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgb3Blbk1vZGFsKCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIElkZW50aXR5Um9sZUR0bztcclxuICAgIHRoaXMub3Blbk1vZGFsKCk7XHJcbiAgfVxyXG5cclxuICBlZGl0KGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXQoaWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gcmVzO1xyXG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHJldHVybjtcclxuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB7IGlkIH0gPSB0aGlzLnNlbGVjdGVkIHx8IHt9O1xyXG4gICAgKGlkXHJcbiAgICAgID8gdGhpcy5zZXJ2aWNlLnVwZGF0ZShpZCwgeyAuLi50aGlzLnNlbGVjdGVkLCAuLi50aGlzLmZvcm0udmFsdWUgfSlcclxuICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMuZm9ybS52YWx1ZSlcclxuICAgIClcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubW9kYWxCdXN5ID0gZmFsc2UpKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubGlzdC5nZXQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpSb2xlRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xyXG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcclxuICAgICAgfSlcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBDb25maXJtYXRpb24uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ0FicFVpOjpTdWNjZXNzZnVsbHlEZWxldGVkJyk7XHJcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlKGlkKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5saXN0LmdldCgpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBob29rVG9RdWVyeSgpIHtcclxuICAgIHRoaXMubGlzdC5ob29rVG9RdWVyeShxdWVyeSA9PiB0aGlzLnNlcnZpY2UuZ2V0TGlzdChxdWVyeSkpLnN1YnNjcmliZShyZXMgPT4gKHRoaXMuZGF0YSA9IHJlcykpO1xyXG4gIH1cclxuXHJcbiAgb3BlblBlcm1pc3Npb25zTW9kYWwocHJvdmlkZXJLZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy5wcm92aWRlcktleSA9IHByb3ZpZGVyS2V5O1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gdHJ1ZTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgc29ydChkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgcHJvcCwgZGlyIH0gPSBkYXRhLnNvcnRzWzBdO1xyXG4gICAgdGhpcy5saXN0LnNvcnRLZXkgPSBwcm9wO1xyXG4gICAgdGhpcy5saXN0LnNvcnRPcmRlciA9IGRpcjtcclxuICB9XHJcbn1cclxuIiwiPGFicC1wYWdlIFt0aXRsZV09XCInQWJwSWRlbnRpdHk6OlJvbGVzJyB8IGFicExvY2FsaXphdGlvblwiIFt0b29sYmFyXT1cImRhdGEuaXRlbXNcIj5cclxuICA8ZGl2IGlkPVwiaWRlbnRpdHktcm9sZXMtd3JhcHBlclwiIGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICA8YWJwLWV4dGVuc2libGUtdGFibGVcclxuICAgICAgICBbZGF0YV09XCJkYXRhLml0ZW1zXCJcclxuICAgICAgICBbcmVjb3Jkc1RvdGFsXT1cImRhdGEudG90YWxDb3VudFwiXHJcbiAgICAgICAgW2xpc3RdPVwibGlzdFwiXHJcbiAgICAgID48L2FicC1leHRlbnNpYmxlLXRhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxhYnAtbW9kYWwgWyh2aXNpYmxlKV09XCJpc01vZGFsVmlzaWJsZVwiIFtidXN5XT1cIm1vZGFsQnVzeVwiPlxyXG4gICAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICAgIDxoMz57eyAoc2VsZWN0ZWQ/LmlkID8gJ0FicElkZW50aXR5OjpFZGl0JyA6ICdBYnBJZGVudGl0eTo6TmV3Um9sZScpIHwgYWJwTG9jYWxpemF0aW9uIH19PC9oMz5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwic2F2ZSgpXCIgdmFsaWRhdGVPblN1Ym1pdD5cclxuICAgICAgICA8YWJwLWV4dGVuc2libGUtZm9ybSBbc2VsZWN0ZWRSZWNvcmRdPVwic2VsZWN0ZWRcIj48L2FicC1leHRlbnNpYmxlLWZvcm0+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNhYnBGb290ZXI+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBhYnBDbG9zZT5cclxuICAgICAgICB7eyAnQWJwSWRlbnRpdHk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIiAoY2xpY2spPVwic2F2ZSgpXCI+e3tcclxuICAgICAgICAnQWJwSWRlbnRpdHk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgICAgfX08L2FicC1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvYWJwLW1vZGFsPlxyXG5cclxuICA8YWJwLXBlcm1pc3Npb24tbWFuYWdlbWVudFxyXG4gICAgI2FicFBlcm1pc3Npb25NYW5hZ2VtZW50PVwiYWJwUGVybWlzc2lvbk1hbmFnZW1lbnRcIlxyXG4gICAgKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJcclxuICAgIHtcclxuICAgICAgaW5wdXRzOiB7XHJcbiAgICAgICAgcHJvdmlkZXJOYW1lOiB7IHZhbHVlOiAnUicgfSxcclxuICAgICAgICBwcm92aWRlcktleTogeyB2YWx1ZTogcHJvdmlkZXJLZXkgfSxcclxuICAgICAgICB2aXNpYmxlOiB7IHZhbHVlOiB2aXNpYmxlUGVybWlzc2lvbnMsIHR3b1dheTogdHJ1ZSB9LFxyXG4gICAgICAgIGhpZGVCYWRnZXM6IHsgdmFsdWU6IHRydWUgfVxyXG4gICAgICB9LFxyXG4gICAgICBvdXRwdXRzOiB7IHZpc2libGVDaGFuZ2U6IG9uVmlzaWJsZVBlcm1pc3Npb25DaGFuZ2UgfSxcclxuICAgICAgY29tcG9uZW50S2V5OiBwZXJtaXNzaW9uTWFuYWdlbWVudEtleVxyXG4gICAgfTtcclxuICAgIGxldCBpbml0ID0gaW5pdFRlbXBsYXRlXHJcbiAgXCJcclxuICAgIChhYnBJbml0KT1cImluaXQoYWJwUGVybWlzc2lvbk1hbmFnZW1lbnQpXCJcclxuICA+XHJcbiAgPC9hYnAtcGVybWlzc2lvbi1tYW5hZ2VtZW50PlxyXG48L2FicC1wYWdlPlxyXG4iXX0=
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaWRlbnRpdHkvc3JjL2xpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFrRCxNQUFNLGNBQWMsQ0FBQztBQUMzRixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUUsT0FBTyxFQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RixPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixxQkFBcUIsR0FDdEIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUU1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7QUFjMUMsTUFBTSxPQUFPLGNBQWM7SUFxQnpCLFlBQ2tCLElBQWlELEVBQ3ZELG1CQUF3QyxFQUMxQyxjQUE4QixFQUM1QixRQUFrQixFQUNsQixPQUE0QjtRQUp0QixTQUFJLEdBQUosSUFBSSxDQUE2QztRQUN2RCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQzFDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM1QixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBekJ4QyxTQUFJLEdBQW9DLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFRckUsdUJBQWtCLEdB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QUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxXQUFtQjtRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDO0lBRUQsSUFBSSxDQUFDLElBQVM7UUFDWixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQztJQUM1QixDQUFDOzhHQW5HVSxjQUFjO2tHQUFkLGNBQWMsb0NBUmQ7WUFDVCxXQUFXO1lBQ1g7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsUUFBUSwyREFBMkI7YUFDcEM7U0FDRiwwQkN2QkgsbzFEQW1EQTs7MkZEMUJhLGNBQWM7a0JBWDFCLFNBQVM7K0JBQ0UsV0FBVyxhQUVWO3dCQUNULFdBQVc7d0JBQ1g7NEJBQ0UsT0FBTyxFQUFFLHFCQUFxQjs0QkFDOUIsUUFBUSwyREFBMkI7eUJBQ3BDO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdFNlcnZpY2UsIFBhZ2VkQW5kU29ydGVkUmVzdWx0UmVxdWVzdER0bywgUGFnZWRSZXN1bHREdG8gfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQgeyBJZGVudGl0eVJvbGVEdG8sIElkZW50aXR5Um9sZVNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmlkZW50aXR5L3Byb3h5JztcclxuaW1wb3J0IHsgZVBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50cyB9IGZyb20gJ0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50JztcclxuaW1wb3J0IHtDb25maXJtYXRpb24sIENvbmZpcm1hdGlvblNlcnZpY2UsIFRvYXN0ZXJTZXJ2aWNlfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7XHJcbiAgRVhURU5TSU9OU19JREVOVElGSUVSLFxyXG4gIEZvcm1Qcm9wRGF0YSxcclxuICBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMsXHJcbn0gZnJvbSAnQGFicC9uZy5jb21wb25lbnRzL2V4dGVuc2libGUnO1xyXG5pbXBvcnQgeyBDb21wb25lbnQsIEluamVjdG9yLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGVJZGVudGl0eUNvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9lbnVtcy9jb21wb25lbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXJvbGVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcm9sZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTGlzdFNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEVYVEVOU0lPTlNfSURFTlRJRklFUixcclxuICAgICAgdXNlVmFsdWU6IGVJZGVudGl0eUNvbXBvbmVudHMuUm9sZXMsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb2xlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZGF0YTogUGFnZWRSZXN1bHREdG88SWRlbnRpdHlSb2xlRHRvPiA9IHsgaXRlbXM6IFtdLCB0b3RhbENvdW50OiAwIH07XHJcblxyXG4gIGZvcm0hOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cclxuICBzZWxlY3RlZD86IElkZW50aXR5Um9sZUR0bztcclxuXHJcbiAgaXNNb2RhbFZpc2libGUhOiBib29sZWFuO1xyXG5cclxuICB2aXNpYmxlUGVybWlzc2lvbnMgPSBmYWxzZTtcclxuXHJcbiAgcHJvdmlkZXJLZXk/OiBzdHJpbmc7XHJcblxyXG4gIG1vZGFsQnVzeSA9IGZhbHNlO1xyXG5cclxuICBwZXJtaXNzaW9uTWFuYWdlbWVudEtleSA9IGVQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudHMuUGVybWlzc2lvbk1hbmFnZW1lbnQ7XHJcblxyXG4gIG9uVmlzaWJsZVBlcm1pc3Npb25DaGFuZ2UgPSAoZXZlbnQ6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gZXZlbnQ7XHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdDogTGlzdFNlcnZpY2U8UGFnZWRBbmRTb3J0ZWRSZXN1bHRSZXF1ZXN0RHRvPixcclxuICAgIHByb3RlY3RlZCBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdGVyU2VydmljZTogVG9hc3RlclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJvdGVjdGVkIHNlcnZpY2U6IElkZW50aXR5Um9sZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaG9va1RvUXVlcnkoKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkRm9ybSgpIHtcclxuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybVByb3BEYXRhKHRoaXMuaW5qZWN0b3IsIHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5mb3JtID0gZ2VuZXJhdGVGb3JtRnJvbVByb3BzKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgb3Blbk1vZGFsKCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIElkZW50aXR5Um9sZUR0bztcclxuICAgIHRoaXMub3Blbk1vZGFsKCk7XHJcbiAgfVxyXG5cclxuICBlZGl0KGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXQoaWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gcmVzO1xyXG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHJldHVybjtcclxuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB7IGlkIH0gPSB0aGlzLnNlbGVjdGVkIHx8IHt9O1xyXG4gICAgKGlkXHJcbiAgICAgID8gdGhpcy5zZXJ2aWNlLnVwZGF0ZShpZCwgeyAuLi50aGlzLnNlbGVjdGVkLCAuLi50aGlzLmZvcm0udmFsdWUgfSlcclxuICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMuZm9ybS52YWx1ZSlcclxuICAgIClcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubW9kYWxCdXN5ID0gZmFsc2UpKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubGlzdC5nZXQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpSb2xlRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xyXG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcclxuICAgICAgfSlcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBDb25maXJtYXRpb24uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0ZXJTZXJ2aWNlLnN1Y2Nlc3MoJ0FicFVpOjpTdWNjZXNzZnVsbHlEZWxldGVkJyk7XHJcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlKGlkKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5saXN0LmdldCgpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBob29rVG9RdWVyeSgpIHtcclxuICAgIHRoaXMubGlzdC5ob29rVG9RdWVyeShxdWVyeSA9PiB0aGlzLnNlcnZpY2UuZ2V0TGlzdChxdWVyeSkpLnN1YnNjcmliZShyZXMgPT4gKHRoaXMuZGF0YSA9IHJlcykpO1xyXG4gIH1cclxuXHJcbiAgb3BlblBlcm1pc3Npb25zTW9kYWwocHJvdmlkZXJLZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy5wcm92aWRlcktleSA9IHByb3ZpZGVyS2V5O1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gdHJ1ZTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgc29ydChkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgcHJvcCwgZGlyIH0gPSBkYXRhLnNvcnRzWzBdO1xyXG4gICAgdGhpcy5saXN0LnNvcnRLZXkgPSBwcm9wO1xyXG4gICAgdGhpcy5saXN0LnNvcnRPcmRlciA9IGRpcjtcclxuICB9XHJcbn1cclxuIiwiPGFicC1wYWdlIFt0aXRsZV09XCInQWJwSWRlbnRpdHk6OlJvbGVzJyB8IGFicExvY2FsaXphdGlvblwiIFt0b29sYmFyXT1cImRhdGEuaXRlbXNcIj5cclxuICA8ZGl2IGlkPVwiaWRlbnRpdHktcm9sZXMtd3JhcHBlclwiIGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICA8YWJwLWV4dGVuc2libGUtdGFibGVcclxuICAgICAgICBbZGF0YV09XCJkYXRhLml0ZW1zXCJcclxuICAgICAgICBbcmVjb3Jkc1RvdGFsXT1cImRhdGEudG90YWxDb3VudFwiXHJcbiAgICAgICAgW2xpc3RdPVwibGlzdFwiXHJcbiAgICAgID48L2FicC1leHRlbnNpYmxlLXRhYmxlPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxhYnAtbW9kYWwgWyh2aXNpYmxlKV09XCJpc01vZGFsVmlzaWJsZVwiIFtidXN5XT1cIm1vZGFsQnVzeVwiPlxyXG4gICAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICAgIDxoMz57eyAoc2VsZWN0ZWQ/LmlkID8gJ0FicElkZW50aXR5OjpFZGl0JyA6ICdBYnBJZGVudGl0eTo6TmV3Um9sZScpIHwgYWJwTG9jYWxpemF0aW9uIH19PC9oMz5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiAobmdTdWJtaXQpPVwic2F2ZSgpXCIgdmFsaWRhdGVPblN1Ym1pdD5cclxuICAgICAgICA8YWJwLWV4dGVuc2libGUtZm9ybSBbc2VsZWN0ZWRSZWNvcmRdPVwic2VsZWN0ZWRcIj48L2FicC1leHRlbnNpYmxlLWZvcm0+XHJcbiAgICAgIDwvZm9ybT5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNhYnBGb290ZXI+XHJcbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lLXByaW1hcnlcIiBhYnBDbG9zZT5cclxuICAgICAgICB7eyAnQWJwSWRlbnRpdHk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIiAoY2xpY2spPVwic2F2ZSgpXCI+e3tcclxuICAgICAgICAnQWJwSWRlbnRpdHk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uXHJcbiAgICAgICAgfX08L2FicC1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvYWJwLW1vZGFsPlxyXG5cclxuICA8YWJwLXBlcm1pc3Npb24tbWFuYWdlbWVudFxyXG4gICAgI2FicFBlcm1pc3Npb25NYW5hZ2VtZW50PVwiYWJwUGVybWlzc2lvbk1hbmFnZW1lbnRcIlxyXG4gICAgKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJcclxuICAgIHtcclxuICAgICAgaW5wdXRzOiB7XHJcbiAgICAgICAgcHJvdmlkZXJOYW1lOiB7IHZhbHVlOiAnUicgfSxcclxuICAgICAgICBwcm92aWRlcktleTogeyB2YWx1ZTogcHJvdmlkZXJLZXkgfSxcclxuICAgICAgICB2aXNpYmxlOiB7IHZhbHVlOiB2aXNpYmxlUGVybWlzc2lvbnMsIHR3b1dheTogdHJ1ZSB9LFxyXG4gICAgICAgIGhpZGVCYWRnZXM6IHsgdmFsdWU6IHRydWUgfVxyXG4gICAgICB9LFxyXG4gICAgICBvdXRwdXRzOiB7IHZpc2libGVDaGFuZ2U6IG9uVmlzaWJsZVBlcm1pc3Npb25DaGFuZ2UgfSxcclxuICAgICAgY29tcG9uZW50S2V5OiBwZXJtaXNzaW9uTWFuYWdlbWVudEtleVxyXG4gICAgfTtcclxuICAgIGxldCBpbml0ID0gaW5pdFRlbXBsYXRlXHJcbiAgXCJcclxuICAgIChhYnBJbml0KT1cImluaXQoYWJwUGVybWlzc2lvbk1hbmFnZW1lbnQpXCJcclxuICA+XHJcbiAgPC9hYnAtcGVybWlzc2lvbi1tYW5hZ2VtZW50PlxyXG48L2FicC1wYWdlPlxyXG4iXX0=
|
|
@@ -125,16 +125,16 @@ export class UsersComponent {
|
|
|
125
125
|
this.visiblePermissions = true;
|
|
126
126
|
}, 0);
|
|
127
127
|
}
|
|
128
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
129
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UsersComponent, deps: [{ token: i1.ListService }, { token: i2.ConfirmationService }, { token: i3.IdentityUserService }, { token: i2.ToasterService }, { token: i4.UntypedFormBuilder }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
129
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: UsersComponent, selector: "abp-users", providers: [
|
|
130
130
|
ListService,
|
|
131
131
|
{
|
|
132
132
|
provide: EXTENSIONS_IDENTIFIER,
|
|
133
133
|
useValue: "Identity.UsersComponent" /* eIdentityComponents.Users */,
|
|
134
134
|
},
|
|
135
|
-
], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true }], ngImport: i0, template: "<abp-page [title]=\"'AbpIdentity::Users' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\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\" aria-hidden=\"true\"></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 <abp-checkbox\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n checkboxId: 'roles-' + i,\r\n label: roles[i].name,\r\n formControl: roleGroup.controls[roles[i].name]\r\n },\r\n componentKey: inputKey\r\n }\"\r\n [checkboxId]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n [label]=\"roles[i].name\"\r\n >\r\n </abp-checkbox>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\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-
|
|
135
|
+
], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true }], ngImport: i0, template: "<abp-page [title]=\"'AbpIdentity::Users' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\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\" aria-hidden=\"true\"></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 <abp-checkbox\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n checkboxId: 'roles-' + i,\r\n label: roles[i].name,\r\n formControl: roleGroup.controls[roles[i].name]\r\n },\r\n componentKey: inputKey\r\n }\"\r\n [checkboxId]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n [label]=\"roles[i].name\"\r\n >\r\n </abp-checkbox>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\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-outline-primary\" 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</abp-page>\r\n", dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "directive", type: i6.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { kind: "directive", type: i6.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i6.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i6.NgbNavItemRole, selector: "[ngbNavItem]:not(ng-container)" }, { kind: "directive", type: i6.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "directive", type: i6.NgbNavLinkBase, selector: "[ngbNavLink]" }, { kind: "component", type: i6.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { kind: "directive", type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i7.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i2.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i2.FormCheckboxComponent, selector: "abp-checkbox", inputs: ["label", "labelClass", "checkboxId", "checkboxStyle", "checkboxClass", "checkboxReadonly"], outputs: ["checkboxBlur", "checkboxFocus"] }, { kind: "component", type: i8.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { kind: "component", type: i8.ExtensibleTableComponent, selector: "abp-extensible-table", inputs: ["actionsText", "data", "list", "recordsTotal", "actionsColumnWidth", "actionsTemplate"], outputs: ["tableActivate"], exportAs: ["abpExtensibleTable"] }, { kind: "component", type: i9.PermissionManagementComponent, selector: "abp-permission-management", inputs: ["providerName", "providerKey", "hideBadges", "entityDisplayName", "visible"], outputs: ["visibleChange"], exportAs: ["abpPermissionManagement"] }, { kind: "component", type: i10.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
136
136
|
}
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UsersComponent, decorators: [{
|
|
138
138
|
type: Component,
|
|
139
139
|
args: [{ selector: 'abp-users', providers: [
|
|
140
140
|
ListService,
|
|
@@ -142,9 +142,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
142
142
|
provide: EXTENSIONS_IDENTIFIER,
|
|
143
143
|
useValue: "Identity.UsersComponent" /* eIdentityComponents.Users */,
|
|
144
144
|
},
|
|
145
|
-
], template: "<abp-page [title]=\"'AbpIdentity::Users' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\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\" aria-hidden=\"true\"></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 <abp-checkbox\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n checkboxId: 'roles-' + i,\r\n label: roles[i].name,\r\n formControl: roleGroup.controls[roles[i].name]\r\n },\r\n componentKey: inputKey\r\n }\"\r\n [checkboxId]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n [label]=\"roles[i].name\"\r\n >\r\n </abp-checkbox>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\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-
|
|
145
|
+
], template: "<abp-page [title]=\"'AbpIdentity::Users' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\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\" aria-hidden=\"true\"></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 <abp-checkbox\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n checkboxId: 'roles-' + i,\r\n label: roles[i].name,\r\n formControl: roleGroup.controls[roles[i].name]\r\n },\r\n componentKey: inputKey\r\n }\"\r\n [checkboxId]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n [label]=\"roles[i].name\"\r\n >\r\n </abp-checkbox>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\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-outline-primary\" 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</abp-page>\r\n" }]
|
|
146
146
|
}], ctorParameters: () => [{ type: i1.ListService }, { type: i2.ConfirmationService }, { type: i3.IdentityUserService }, { type: i2.ToasterService }, { type: i4.UntypedFormBuilder }, { type: i0.Injector }], propDecorators: { modalContent: [{
|
|
147
147
|
type: ViewChild,
|
|
148
148
|
args: ['modalContent', { static: false }]
|
|
149
149
|
}] } });
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaWRlbnRpdHkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvY29tcG9uZW50cy91c2Vycy91c2Vycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFrQixNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBSUwsbUJBQW1CLEdBQ3BCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkcsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixZQUFZLEVBQ1oscUJBQXFCLEdBQ3RCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBRVIsV0FBVyxFQUVYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXFDLGtCQUFrQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7QUFjMUQsTUFBTSxPQUFPLGNBQWM7SUFrQ3pCLElBQUksVUFBVTtRQUNaLE9BQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFzQixFQUFFLFFBQStCLElBQUksRUFBRSxDQUFDO0lBQ2xHLENBQUM7SUFFRCxZQUNrQixJQUF3QyxFQUM5QyxtQkFBd0MsRUFDeEMsT0FBNEIsRUFDOUIsY0FBOEIsRUFDNUIsRUFBc0IsRUFDdEIsUUFBa0I7UUFMWixTQUFJ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Q2pCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsV0FBbUIsRUFBRSxpQkFBMEI7UUFDbEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQzNDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7OEdBOUpVLGNBQWM7a0dBQWQsY0FBYyxvQ0FSZDtZQUNULFdBQVc7WUFDWDtnQkFDRSxPQUFPLEVBQUUscUJBQXFCO2dCQUM5QixRQUFRLDJEQUEyQjthQUNwQztTQUNGLHdJQ25DSCw4dkhBbUdBOzsyRkQ5RGEsY0FBYztrQkFYMUIsU0FBUzsrQkFDRSxXQUFXLGFBRVY7d0JBQ1QsV0FBVzt3QkFDWDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixRQUFRLDJEQUEyQjt5QkFDcEM7cUJBQ0Y7eU9BTUQsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0U2VydmljZSwgUGFnZWRSZXN1bHREdG8gfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEdldElkZW50aXR5VXNlcnNJbnB1dCxcclxuICBJZGVudGl0eVJvbGVEdG8sXHJcbiAgSWRlbnRpdHlVc2VyRHRvLFxyXG4gIElkZW50aXR5VXNlclNlcnZpY2UsXHJcbn0gZnJvbSAnQGFicC9uZy5pZGVudGl0eS9wcm94eSc7XHJcbmltcG9ydCB7IGVQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudHMgfSBmcm9tICdAYWJwL25nLnBlcm1pc3Npb24tbWFuYWdlbWVudCc7XHJcbmltcG9ydCB7Q29uZmlybWF0aW9uLCBDb25maXJtYXRpb25TZXJ2aWNlLCBlRm9ybUNvbXBvbmV0cywgVG9hc3RlclNlcnZpY2V9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHtcclxuICBFWFRFTlNJT05TX0lERU5USUZJRVIsXHJcbiAgRm9ybVByb3BEYXRhLFxyXG4gIGdlbmVyYXRlRm9ybUZyb21Qcm9wcyxcclxufSBmcm9tICdAYWJwL25nLmNvbXBvbmVudHMvZXh0ZW5zaWJsZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEluamVjdG9yLFxyXG4gIE9uSW5pdCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBUcmFja0J5RnVuY3Rpb24sXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBlSWRlbnRpdHlDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vZW51bXMvY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC11c2VycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIExpc3RTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBFWFRFTlNJT05TX0lERU5USUZJRVIsXHJcbiAgICAgIHVzZVZhbHVlOiBlSWRlbnRpdHlDb21wb25lbnRzLlVzZXJzLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRhdGE6IFBhZ2VkUmVzdWx0RHRvPElkZW50aXR5VXNlckR0bz4gPSB7IGl0ZW1zOiBbXSwgdG90YWxDb3VudDogMCB9O1xyXG5cclxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBtb2RhbENvbnRlbnQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBmb3JtITogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgc2VsZWN0ZWQ/OiBJZGVudGl0eVVzZXJEdG87XHJcblxyXG4gIHNlbGVjdGVkVXNlclJvbGVzPzogSWRlbnRpdHlSb2xlRHRvW107XHJcblxyXG4gIHJvbGVzPzogSWRlbnRpdHlSb2xlRHRvW107XHJcblxyXG4gIHZpc2libGVQZXJtaXNzaW9ucyA9IGZhbHNlO1xyXG5cclxuICBwcm92aWRlcktleT86IHN0cmluZztcclxuXHJcbiAgaXNNb2RhbFZpc2libGU/OiBib29sZWFuO1xyXG5cclxuICBtb2RhbEJ1c3kgPSBmYWxzZTtcclxuXHJcbiAgcGVybWlzc2lvbk1hbmFnZW1lbnRLZXkgPSBlUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnRzLlBlcm1pc3Npb25NYW5hZ2VtZW50O1xyXG5cclxuICBlbnRpdHlEaXNwbGF5TmFtZTogc3RyaW5nO1xyXG5cclxuICBpbnB1dEtleT1lRm9ybUNvbXBvbmV0cy5Gb3JtQ2hlY2tib3hDb21wb25lbnRcclxuXHJcbiAgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248QWJzdHJhY3RDb250cm9sPiA9IChpbmRleCwgaXRlbSkgPT4gT2JqZWN0LmtleXMoaXRlbSlbMF0gfHwgaW5kZXg7XHJcblxyXG4gIG9uVmlzaWJsZVBlcm1pc3Npb25DaGFuZ2UgPSAoZXZlbnQ6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gZXZlbnQ7XHJcbiAgfTtcclxuXHJcbiAgZ2V0IHJvbGVHcm91cHMoKTogVW50eXBlZEZvcm1Hcm91cFtdIHtcclxuICAgIHJldHVybiAoKHRoaXMuZm9ybS5nZXQoJ3JvbGVOYW1lcycpIGFzIFVudHlwZWRGb3JtQXJyYXkpPy5jb250cm9scyBhcyBVbnR5cGVkRm9ybUdyb3VwW10pIHx8IFtdO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdDogTGlzdFNlcnZpY2U8R2V0SWRlbnRpdHlVc2Vyc0lucHV0PixcclxuICAgIHByb3RlY3RlZCBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHNlcnZpY2U6IElkZW50aXR5VXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5ob29rVG9RdWVyeSgpO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRGb3JtKCkge1xyXG4gICAgY29uc3QgZGF0YSA9IG5ldyBGb3JtUHJvcERhdGEodGhpcy5pbmplY3RvciwgdGhpcy5zZWxlY3RlZCk7XHJcbiAgICB0aGlzLmZvcm0gPSBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMoZGF0YSk7XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlLmdldEFzc2lnbmFibGVSb2xlcygpLnN1YnNjcmliZSgoeyBpdGVtcyB9KSA9PiB7XHJcbiAgICAgIHRoaXMucm9sZXMgPSBpdGVtcztcclxuICAgICAgaWYgKHRoaXMucm9sZXMpIHtcclxuICAgICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChcclxuICAgICAgICAgICdyb2xlTmFtZXMnLFxyXG4gICAgICAgICAgdGhpcy5mYi5hcnJheShcclxuICAgICAgICAgICAgdGhpcy5yb2xlcy5tYXAocm9sZSA9PlxyXG4gICAgICAgICAgICAgIHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICAgICAgICAgICAgW3JvbGUubmFtZSBhcyBzdHJpbmddOiBbXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQ/LmlkXHJcbiAgICAgICAgICAgICAgICAgICAgPyAhIXRoaXMuc2VsZWN0ZWRVc2VyUm9sZXM/LmZpbmQodXNlclJvbGUgPT4gdXNlclJvbGUuaWQgPT09IHJvbGUuaWQpXHJcbiAgICAgICAgICAgICAgICAgICAgOiByb2xlLmlzRGVmYXVsdCxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3Blbk1vZGFsKCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIElkZW50aXR5VXNlckR0bztcclxuICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBbXSBhcyBJZGVudGl0eVJvbGVEdG9bXTtcclxuICAgIHRoaXMub3Blbk1vZGFsKCk7XHJcbiAgfVxyXG5cclxuICBlZGl0KGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0KGlkKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YXAodXNlciA9PiAodGhpcy5zZWxlY3RlZCA9IHVzZXIpKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zZXJ2aWNlLmdldFJvbGVzKGlkKSksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSh1c2VyUm9sZSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJSb2xlcyA9IHVzZXJSb2xlLml0ZW1zIHx8IFtdO1xyXG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkIHx8IHRoaXMubW9kYWxCdXN5KSByZXR1cm47XHJcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgeyByb2xlTmFtZXMgPSBbXSB9ID0gdGhpcy5mb3JtLnZhbHVlO1xyXG4gICAgY29uc3QgbWFwcGVkUm9sZU5hbWVzID1cclxuICAgICAgcm9sZU5hbWVzXHJcbiAgICAgICAgLmZpbHRlcigocm9sZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkgPT4gISFyb2xlW09iamVjdC5rZXlzKHJvbGUpWzBdXSlcclxuICAgICAgICAubWFwKChyb2xlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSA9PiBPYmplY3Qua2V5cyhyb2xlKVswXSkgfHwgW107XHJcblxyXG4gICAgY29uc3QgeyBpZCB9ID0gdGhpcy5zZWxlY3RlZCB8fCB7fTtcclxuXHJcbiAgICAoaWRcclxuICAgICAgPyB0aGlzLnNlcnZpY2UudXBkYXRlKGlkLCB7XHJcbiAgICAgICAgICAuLi50aGlzLnNlbGVjdGVkLFxyXG4gICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxyXG4gICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXHJcbiAgICAgICAgfSlcclxuICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKHsgLi4udGhpcy5mb3JtLnZhbHVlLCByb2xlTmFtZXM6IG1hcHBlZFJvbGVOYW1lcyB9KVxyXG4gICAgKVxyXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5tb2RhbEJ1c3kgPSBmYWxzZSkpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5saXN0LmdldCgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShpZDogc3RyaW5nLCB1c2VyTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpVc2VyRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xyXG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFt1c2VyTmFtZV0sXHJcbiAgICAgIH0pXHJcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogQ29uZmlybWF0aW9uLlN0YXR1cykgPT4ge1xyXG4gICAgICAgIGlmIChzdGF0dXMgPT09IENvbmZpcm1hdGlvbi5TdGF0dXMuY29uZmlybSkge1xyXG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLmRlbGV0ZShpZCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5zdWNjZXNzKCdBYnBVaTo6U3VjY2Vzc2Z1bGx5RGVsZXRlZCcpO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3QuZ2V0KCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc29ydChkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgcHJvcCwgZGlyIH0gPSBkYXRhLnNvcnRzWzBdO1xyXG4gICAgdGhpcy5saXN0LnNvcnRLZXkgPSBwcm9wO1xyXG4gICAgdGhpcy5saXN0LnNvcnRPcmRlciA9IGRpcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaG9va1RvUXVlcnkoKSB7XHJcbiAgICB0aGlzLmxpc3QuaG9va1RvUXVlcnkocXVlcnkgPT4gdGhpcy5zZXJ2aWNlLmdldExpc3QocXVlcnkpKS5zdWJzY3JpYmUocmVzID0+ICh0aGlzLmRhdGEgPSByZXMpKTtcclxuICB9XHJcblxyXG4gIG9wZW5QZXJtaXNzaW9uc01vZGFsKHByb3ZpZGVyS2V5OiBzdHJpbmcsIGVudGl0eURpc3BsYXlOYW1lPzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnByb3ZpZGVyS2V5ID0gcHJvdmlkZXJLZXk7XHJcbiAgICB0aGlzLmVudGl0eURpc3BsYXlOYW1lID0gZW50aXR5RGlzcGxheU5hbWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy52aXNpYmxlUGVybWlzc2lvbnMgPSB0cnVlO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxhYnAtcGFnZSBbdGl0bGVdPVwiJ0FicElkZW50aXR5OjpVc2VycycgfCBhYnBMb2NhbGl6YXRpb25cIiBbdG9vbGJhcl09XCJkYXRhLml0ZW1zXCI+XHJcbiAgPGRpdiBpZD1cImlkZW50aXR5LXJvbGVzLXdyYXBwZXJcIiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgPGRpdiBpZD1cImRhdGEtdGFibGVzLXRhYmxlLWZpbHRlclwiIGNsYXNzPVwiZGF0YS10YWJsZXMtZmlsdGVyIG1iLTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwic2VhcmNoXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0FicFVpOjpQYWdlclNlYXJjaCcgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImxpc3QuZmlsdGVyXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGFicC1leHRlbnNpYmxlLXRhYmxlXHJcbiAgICAgICAgW2RhdGFdPVwiZGF0YS5pdGVtc1wiXHJcbiAgICAgICAgW3JlY29yZHNUb3RhbF09XCJkYXRhLnRvdGFsQ291bnRcIlxyXG4gICAgICAgIFtsaXN0XT1cImxpc3RcIlxyXG4gICAgICA+PC9hYnAtZXh0ZW5zaWJsZS10YWJsZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8YWJwLW1vZGFsIFsodmlzaWJsZSldPVwiaXNNb2RhbFZpc2libGVcIiBbYnVzeV09XCJtb2RhbEJ1c3lcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgICA8aDM+e3sgKHNlbGVjdGVkPy5pZCA/ICdBYnBJZGVudGl0eTo6RWRpdCcgOiAnQWJwSWRlbnRpdHk6Ok5ld1VzZXInKSB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkZXJSZWY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+PGkgY2xhc3M9XCJmYSBmYS1wdWxzZSBmYS1zcGlubmVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPGZvcm0gKm5nSWY9XCJmb3JtOyBlbHNlIGxvYWRlclJlZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cclxuICAgICAgICA8dWwgbmdiTmF2ICNuYXY9XCJuZ2JOYXZcIiBjbGFzcz1cIm5hdi10YWJzXCI+XHJcbiAgICAgICAgICA8bGkgbmdiTmF2SXRlbT5cclxuICAgICAgICAgICAgPGEgbmdiTmF2TGluaz57eyAnQWJwSWRlbnRpdHk6OlVzZXJJbmZvcm1hdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdiTmF2Q29udGVudD5cclxuICAgICAgICAgICAgICA8YWJwLWV4dGVuc2libGUtZm9ybSBbc2VsZWN0ZWRSZWNvcmRdPVwic2VsZWN0ZWRcIj48L2FicC1leHRlbnNpYmxlLWZvcm0+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L2xpPlxyXG5cclxuICAgICAgICAgIDxsaSBuZ2JOYXZJdGVtPlxyXG4gICAgICAgICAgICA8YSBuZ2JOYXZMaW5rPnt7ICdBYnBJZGVudGl0eTo6Um9sZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdiTmF2Q29udGVudD5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcm9sZUdyb3VwIG9mIHJvbGVHcm91cHM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2sgbWItMlwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGFicC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIntcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dHM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNoZWNrYm94SWQ6ICdyb2xlcy0nICsgaSxcclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiByb2xlc1tpXS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2w6IHJvbGVHcm91cC5jb250cm9sc1tyb2xlc1tpXS5uYW1lXVxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50S2V5OiBpbnB1dEtleVxyXG4gICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgICAgW2NoZWNrYm94SWRdPVwiJ3JvbGVzLScgKyBpXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJvbGVHcm91cC5jb250cm9sc1tyb2xlc1tpXS5uYW1lXVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJyb2xlc1tpXS5uYW1lXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwvYWJwLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGZhZGUtaW4tdG9wXCIgW25nYk5hdk91dGxldF09XCJuYXZcIj48L2Rpdj5cclxuICAgICAgPC9mb3JtPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIGFicENsb3NlPlxyXG4gICAgICAgIHt7ICdBYnBJZGVudGl0eTo6Q2FuY2VsJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGFicC1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIiBbZGlzYWJsZWRdPVwiZm9ybT8uaW52YWxpZFwiIChjbGljayk9XCJzYXZlKClcIj57e1xyXG4gICAgICAgICdBYnBJZGVudGl0eTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgICAgfX08L2FicC1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvYWJwLW1vZGFsPlxyXG5cclxuICA8YWJwLXBlcm1pc3Npb24tbWFuYWdlbWVudFxyXG4gICAgI2FicFBlcm1pc3Npb25NYW5hZ2VtZW50PVwiYWJwUGVybWlzc2lvbk1hbmFnZW1lbnRcIlxyXG4gICAgKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJcclxuICAgICAge1xyXG4gICAgICAgIGlucHV0czoge1xyXG4gICAgICAgICAgcHJvdmlkZXJOYW1lOiB7IHZhbHVlOiAnVScgfSxcclxuICAgICAgICAgIHByb3ZpZGVyS2V5OiB7IHZhbHVlOiBwcm92aWRlcktleSB9LFxyXG4gICAgICAgICAgdmlzaWJsZTogeyB2YWx1ZTogdmlzaWJsZVBlcm1pc3Npb25zLCB0d29XYXk6IHRydWUgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb3V0cHV0czogeyB2aXNpYmxlQ2hhbmdlOiBvblZpc2libGVQZXJtaXNzaW9uQ2hhbmdlIH0sXHJcbiAgICAgICAgY29tcG9uZW50S2V5OiBwZXJtaXNzaW9uTWFuYWdlbWVudEtleVxyXG4gICAgICB9O1xyXG4gICAgICBsZXQgaW5pdCA9IGluaXRUZW1wbGF0ZVxyXG4gICAgXCJcclxuICAgIFtlbnRpdHlEaXNwbGF5TmFtZV09XCJlbnRpdHlEaXNwbGF5TmFtZVwiXHJcbiAgICAoYWJwSW5pdCk9XCJpbml0KGFicFBlcm1pc3Npb25NYW5hZ2VtZW50KVwiXHJcbiAgPlxyXG4gIDwvYWJwLXBlcm1pc3Npb24tbWFuYWdlbWVudD5cclxuPC9hYnAtcGFnZT5cclxuIl19
|
|
150
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaWRlbnRpdHkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvY29tcG9uZW50cy91c2Vycy91c2Vycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFrQixNQUFNLGNBQWMsQ0FBQztBQUMzRCxPQUFPLEVBSUwsbUJBQW1CLEdBQ3BCLE1BQU0sd0JBQXdCLENBQUM7QUFFaEMsT0FBTyxFQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsY0FBYyxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkcsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixZQUFZLEVBQ1oscUJBQXFCLEdBQ3RCLE1BQU0sK0JBQStCLENBQUM7QUFDdkMsT0FBTyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBRVIsV0FBVyxFQUVYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXFDLGtCQUFrQixFQUFvQixNQUFNLGdCQUFnQixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7QUFjMUQsTUFBTSxPQUFPLGNBQWM7SUFrQ3pCLElBQUksVUFBVTtRQUNaLE9BQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFzQixFQUFFLFFBQStCLElBQUksRUFBRSxDQUFDO0lBQ2xHLENBQUM7SUFFRCxZQUNrQixJQUF3QyxFQUM5QyxtQkFBd0MsRUFDeEMsT0FBNEIsRUFDOUIsY0FBOEIsRUFDNUIsRUFBc0IsRUFDdEIsUUFBa0I7UUFMWixTQUFJ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Q2pCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRUQsb0JBQW9CLENBQUMsV0FBbUIsRUFBRSxpQkFBMEI7UUFDbEUsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO1FBQzNDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7OEdBOUpVLGNBQWM7a0dBQWQsY0FBYyxvQ0FSZDtZQUNULFdBQVc7WUFDWDtnQkFDRSxPQUFPLEVBQUUscUJBQXFCO2dCQUM5QixRQUFRLDJEQUEyQjthQUNwQztTQUNGLHdJQ25DSCxvd0hBbUdBOzsyRkQ5RGEsY0FBYztrQkFYMUIsU0FBUzsrQkFDRSxXQUFXLGFBRVY7d0JBQ1QsV0FBVzt3QkFDWDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixRQUFRLDJEQUEyQjt5QkFDcEM7cUJBQ0Y7eU9BTUQsWUFBWTtzQkFEWCxTQUFTO3VCQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMaXN0U2VydmljZSwgUGFnZWRSZXN1bHREdG8gfSBmcm9tICdAYWJwL25nLmNvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEdldElkZW50aXR5VXNlcnNJbnB1dCxcclxuICBJZGVudGl0eVJvbGVEdG8sXHJcbiAgSWRlbnRpdHlVc2VyRHRvLFxyXG4gIElkZW50aXR5VXNlclNlcnZpY2UsXHJcbn0gZnJvbSAnQGFicC9uZy5pZGVudGl0eS9wcm94eSc7XHJcbmltcG9ydCB7IGVQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudHMgfSBmcm9tICdAYWJwL25nLnBlcm1pc3Npb24tbWFuYWdlbWVudCc7XHJcbmltcG9ydCB7Q29uZmlybWF0aW9uLCBDb25maXJtYXRpb25TZXJ2aWNlLCBlRm9ybUNvbXBvbmV0cywgVG9hc3RlclNlcnZpY2V9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHtcclxuICBFWFRFTlNJT05TX0lERU5USUZJRVIsXHJcbiAgRm9ybVByb3BEYXRhLFxyXG4gIGdlbmVyYXRlRm9ybUZyb21Qcm9wcyxcclxufSBmcm9tICdAYWJwL25nLmNvbXBvbmVudHMvZXh0ZW5zaWJsZSc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEluamVjdG9yLFxyXG4gIE9uSW5pdCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBUcmFja0J5RnVuY3Rpb24sXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFVudHlwZWRGb3JtQXJyYXksIFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBlSWRlbnRpdHlDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vZW51bXMvY29tcG9uZW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FicC11c2VycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VzZXJzLmNvbXBvbmVudC5odG1sJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIExpc3RTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBFWFRFTlNJT05TX0lERU5USUZJRVIsXHJcbiAgICAgIHVzZVZhbHVlOiBlSWRlbnRpdHlDb21wb25lbnRzLlVzZXJzLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVXNlcnNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRhdGE6IFBhZ2VkUmVzdWx0RHRvPElkZW50aXR5VXNlckR0bz4gPSB7IGl0ZW1zOiBbXSwgdG90YWxDb3VudDogMCB9O1xyXG5cclxuICBAVmlld0NoaWxkKCdtb2RhbENvbnRlbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBtb2RhbENvbnRlbnQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG5cclxuICBmb3JtITogVW50eXBlZEZvcm1Hcm91cDtcclxuXHJcbiAgc2VsZWN0ZWQ/OiBJZGVudGl0eVVzZXJEdG87XHJcblxyXG4gIHNlbGVjdGVkVXNlclJvbGVzPzogSWRlbnRpdHlSb2xlRHRvW107XHJcblxyXG4gIHJvbGVzPzogSWRlbnRpdHlSb2xlRHRvW107XHJcblxyXG4gIHZpc2libGVQZXJtaXNzaW9ucyA9IGZhbHNlO1xyXG5cclxuICBwcm92aWRlcktleT86IHN0cmluZztcclxuXHJcbiAgaXNNb2RhbFZpc2libGU/OiBib29sZWFuO1xyXG5cclxuICBtb2RhbEJ1c3kgPSBmYWxzZTtcclxuXHJcbiAgcGVybWlzc2lvbk1hbmFnZW1lbnRLZXkgPSBlUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnRzLlBlcm1pc3Npb25NYW5hZ2VtZW50O1xyXG5cclxuICBlbnRpdHlEaXNwbGF5TmFtZTogc3RyaW5nO1xyXG5cclxuICBpbnB1dEtleT1lRm9ybUNvbXBvbmV0cy5Gb3JtQ2hlY2tib3hDb21wb25lbnRcclxuXHJcbiAgdHJhY2tCeUZuOiBUcmFja0J5RnVuY3Rpb248QWJzdHJhY3RDb250cm9sPiA9IChpbmRleCwgaXRlbSkgPT4gT2JqZWN0LmtleXMoaXRlbSlbMF0gfHwgaW5kZXg7XHJcblxyXG4gIG9uVmlzaWJsZVBlcm1pc3Npb25DaGFuZ2UgPSAoZXZlbnQ6IGJvb2xlYW4pID0+IHtcclxuICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gZXZlbnQ7XHJcbiAgfTtcclxuXHJcbiAgZ2V0IHJvbGVHcm91cHMoKTogVW50eXBlZEZvcm1Hcm91cFtdIHtcclxuICAgIHJldHVybiAoKHRoaXMuZm9ybS5nZXQoJ3JvbGVOYW1lcycpIGFzIFVudHlwZWRGb3JtQXJyYXkpPy5jb250cm9scyBhcyBVbnR5cGVkRm9ybUdyb3VwW10pIHx8IFtdO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgbGlzdDogTGlzdFNlcnZpY2U8R2V0SWRlbnRpdHlVc2Vyc0lucHV0PixcclxuICAgIHByb3RlY3RlZCBjb25maXJtYXRpb25TZXJ2aWNlOiBDb25maXJtYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIHNlcnZpY2U6IElkZW50aXR5VXNlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHRvYXN0ZXJTZXJ2aWNlOiBUb2FzdGVyU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBmYjogVW50eXBlZEZvcm1CdWlsZGVyLFxyXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5ob29rVG9RdWVyeSgpO1xyXG4gIH1cclxuXHJcbiAgYnVpbGRGb3JtKCkge1xyXG4gICAgY29uc3QgZGF0YSA9IG5ldyBGb3JtUHJvcERhdGEodGhpcy5pbmplY3RvciwgdGhpcy5zZWxlY3RlZCk7XHJcbiAgICB0aGlzLmZvcm0gPSBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMoZGF0YSk7XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlLmdldEFzc2lnbmFibGVSb2xlcygpLnN1YnNjcmliZSgoeyBpdGVtcyB9KSA9PiB7XHJcbiAgICAgIHRoaXMucm9sZXMgPSBpdGVtcztcclxuICAgICAgaWYgKHRoaXMucm9sZXMpIHtcclxuICAgICAgICB0aGlzLmZvcm0uYWRkQ29udHJvbChcclxuICAgICAgICAgICdyb2xlTmFtZXMnLFxyXG4gICAgICAgICAgdGhpcy5mYi5hcnJheShcclxuICAgICAgICAgICAgdGhpcy5yb2xlcy5tYXAocm9sZSA9PlxyXG4gICAgICAgICAgICAgIHRoaXMuZmIuZ3JvdXAoe1xyXG4gICAgICAgICAgICAgICAgW3JvbGUubmFtZSBhcyBzdHJpbmddOiBbXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQ/LmlkXHJcbiAgICAgICAgICAgICAgICAgICAgPyAhIXRoaXMuc2VsZWN0ZWRVc2VyUm9sZXM/LmZpbmQodXNlclJvbGUgPT4gdXNlclJvbGUuaWQgPT09IHJvbGUuaWQpXHJcbiAgICAgICAgICAgICAgICAgICAgOiByb2xlLmlzRGVmYXVsdCxcclxuICAgICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICksXHJcbiAgICAgICAgICApLFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3Blbk1vZGFsKCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIElkZW50aXR5VXNlckR0bztcclxuICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBbXSBhcyBJZGVudGl0eVJvbGVEdG9bXTtcclxuICAgIHRoaXMub3Blbk1vZGFsKCk7XHJcbiAgfVxyXG5cclxuICBlZGl0KGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZ2V0KGlkKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YXAodXNlciA9PiAodGhpcy5zZWxlY3RlZCA9IHVzZXIpKSxcclxuICAgICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5zZXJ2aWNlLmdldFJvbGVzKGlkKSksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSh1c2VyUm9sZSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFVzZXJSb2xlcyA9IHVzZXJSb2xlLml0ZW1zIHx8IFtdO1xyXG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2F2ZSgpIHtcclxuICAgIGlmICghdGhpcy5mb3JtLnZhbGlkIHx8IHRoaXMubW9kYWxCdXN5KSByZXR1cm47XHJcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XHJcblxyXG4gICAgY29uc3QgeyByb2xlTmFtZXMgPSBbXSB9ID0gdGhpcy5mb3JtLnZhbHVlO1xyXG4gICAgY29uc3QgbWFwcGVkUm9sZU5hbWVzID1cclxuICAgICAgcm9sZU5hbWVzXHJcbiAgICAgICAgLmZpbHRlcigocm9sZTogeyBba2V5OiBzdHJpbmddOiBhbnkgfSkgPT4gISFyb2xlW09iamVjdC5rZXlzKHJvbGUpWzBdXSlcclxuICAgICAgICAubWFwKChyb2xlOiB7IFtrZXk6IHN0cmluZ106IGFueSB9KSA9PiBPYmplY3Qua2V5cyhyb2xlKVswXSkgfHwgW107XHJcblxyXG4gICAgY29uc3QgeyBpZCB9ID0gdGhpcy5zZWxlY3RlZCB8fCB7fTtcclxuXHJcbiAgICAoaWRcclxuICAgICAgPyB0aGlzLnNlcnZpY2UudXBkYXRlKGlkLCB7XHJcbiAgICAgICAgICAuLi50aGlzLnNlbGVjdGVkLFxyXG4gICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxyXG4gICAgICAgICAgcm9sZU5hbWVzOiBtYXBwZWRSb2xlTmFtZXMsXHJcbiAgICAgICAgfSlcclxuICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKHsgLi4udGhpcy5mb3JtLnZhbHVlLCByb2xlTmFtZXM6IG1hcHBlZFJvbGVOYW1lcyB9KVxyXG4gICAgKVxyXG4gICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiAodGhpcy5tb2RhbEJ1c3kgPSBmYWxzZSkpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5saXN0LmdldCgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZShpZDogc3RyaW5nLCB1c2VyTmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpVc2VyRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xyXG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFt1c2VyTmFtZV0sXHJcbiAgICAgIH0pXHJcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogQ29uZmlybWF0aW9uLlN0YXR1cykgPT4ge1xyXG4gICAgICAgIGlmIChzdGF0dXMgPT09IENvbmZpcm1hdGlvbi5TdGF0dXMuY29uZmlybSkge1xyXG4gICAgICAgICAgdGhpcy5zZXJ2aWNlLmRlbGV0ZShpZCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdGVyU2VydmljZS5zdWNjZXNzKCdBYnBVaTo6U3VjY2Vzc2Z1bGx5RGVsZXRlZCcpO1xyXG4gICAgICAgICAgICB0aGlzLmxpc3QuZ2V0KCk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc29ydChkYXRhOiBhbnkpIHtcclxuICAgIGNvbnN0IHsgcHJvcCwgZGlyIH0gPSBkYXRhLnNvcnRzWzBdO1xyXG4gICAgdGhpcy5saXN0LnNvcnRLZXkgPSBwcm9wO1xyXG4gICAgdGhpcy5saXN0LnNvcnRPcmRlciA9IGRpcjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaG9va1RvUXVlcnkoKSB7XHJcbiAgICB0aGlzLmxpc3QuaG9va1RvUXVlcnkocXVlcnkgPT4gdGhpcy5zZXJ2aWNlLmdldExpc3QocXVlcnkpKS5zdWJzY3JpYmUocmVzID0+ICh0aGlzLmRhdGEgPSByZXMpKTtcclxuICB9XHJcblxyXG4gIG9wZW5QZXJtaXNzaW9uc01vZGFsKHByb3ZpZGVyS2V5OiBzdHJpbmcsIGVudGl0eURpc3BsYXlOYW1lPzogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnByb3ZpZGVyS2V5ID0gcHJvdmlkZXJLZXk7XHJcbiAgICB0aGlzLmVudGl0eURpc3BsYXlOYW1lID0gZW50aXR5RGlzcGxheU5hbWU7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy52aXNpYmxlUGVybWlzc2lvbnMgPSB0cnVlO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG59XHJcbiIsIjxhYnAtcGFnZSBbdGl0bGVdPVwiJ0FicElkZW50aXR5OjpVc2VycycgfCBhYnBMb2NhbGl6YXRpb25cIiBbdG9vbGJhcl09XCJkYXRhLml0ZW1zXCI+XHJcbiAgPGRpdiBpZD1cImlkZW50aXR5LXJvbGVzLXdyYXBwZXJcIiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgPGRpdiBpZD1cImRhdGEtdGFibGVzLXRhYmxlLWZpbHRlclwiIGNsYXNzPVwiZGF0YS10YWJsZXMtZmlsdGVyIG1iLTNcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtZ3JvdXBcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwic2VhcmNoXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0FicFVpOjpQYWdlclNlYXJjaCcgfCBhYnBMb2NhbGl6YXRpb25cIlxyXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cImxpc3QuZmlsdGVyXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGFicC1leHRlbnNpYmxlLXRhYmxlXHJcbiAgICAgICAgW2RhdGFdPVwiZGF0YS5pdGVtc1wiXHJcbiAgICAgICAgW3JlY29yZHNUb3RhbF09XCJkYXRhLnRvdGFsQ291bnRcIlxyXG4gICAgICAgIFtsaXN0XT1cImxpc3RcIlxyXG4gICAgICA+PC9hYnAtZXh0ZW5zaWJsZS10YWJsZT5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8YWJwLW1vZGFsIFsodmlzaWJsZSldPVwiaXNNb2RhbFZpc2libGVcIiBbYnVzeV09XCJtb2RhbEJ1c3lcIj5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwSGVhZGVyPlxyXG4gICAgICA8aDM+e3sgKHNlbGVjdGVkPy5pZCA/ICdBYnBJZGVudGl0eTo6RWRpdCcgOiAnQWJwSWRlbnRpdHk6Ok5ld1VzZXInKSB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjYWJwQm9keT5cclxuICAgICAgPG5nLXRlbXBsYXRlICNsb2FkZXJSZWY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+PGkgY2xhc3M9XCJmYSBmYS1wdWxzZSBmYS1zcGlubmVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC9pPjwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgPGZvcm0gKm5nSWY9XCJmb3JtOyBlbHNlIGxvYWRlclJlZlwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIj5cclxuICAgICAgICA8dWwgbmdiTmF2ICNuYXY9XCJuZ2JOYXZcIiBjbGFzcz1cIm5hdi10YWJzXCI+XHJcbiAgICAgICAgICA8bGkgbmdiTmF2SXRlbT5cclxuICAgICAgICAgICAgPGEgbmdiTmF2TGluaz57eyAnQWJwSWRlbnRpdHk6OlVzZXJJbmZvcm1hdGlvbnMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdiTmF2Q29udGVudD5cclxuICAgICAgICAgICAgICA8YWJwLWV4dGVuc2libGUtZm9ybSBbc2VsZWN0ZWRSZWNvcmRdPVwic2VsZWN0ZWRcIj48L2FicC1leHRlbnNpYmxlLWZvcm0+XHJcbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICA8L2xpPlxyXG5cclxuICAgICAgICAgIDxsaSBuZ2JOYXZJdGVtPlxyXG4gICAgICAgICAgICA8YSBuZ2JOYXZMaW5rPnt7ICdBYnBJZGVudGl0eTo6Um9sZXMnIHwgYWJwTG9jYWxpemF0aW9uIH19PC9hPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdiTmF2Q29udGVudD5cclxuICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgcm9sZUdyb3VwIG9mIHJvbGVHcm91cHM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnlGblwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY2hlY2sgbWItMlwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPGFicC1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIntcclxuICAgICAgICAgICAgICAgICAgICBpbnB1dHM6IHtcclxuICAgICAgICAgICAgICAgICAgICAgIGNoZWNrYm94SWQ6ICdyb2xlcy0nICsgaSxcclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOiByb2xlc1tpXS5uYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2w6IHJvbGVHcm91cC5jb250cm9sc1tyb2xlc1tpXS5uYW1lXVxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50S2V5OiBpbnB1dEtleVxyXG4gICAgICAgICAgICAgICAgICB9XCJcclxuICAgICAgICAgICAgICAgICAgW2NoZWNrYm94SWRdPVwiJ3JvbGVzLScgKyBpXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInJvbGVHcm91cC5jb250cm9sc1tyb2xlc1tpXS5uYW1lXVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCJyb2xlc1tpXS5uYW1lXCJcclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDwvYWJwLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgPC9saT5cclxuICAgICAgICA8L3VsPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC0yIGZhZGUtaW4tdG9wXCIgW25nYk5hdk91dGxldF09XCJuYXZcIj48L2Rpdj5cclxuICAgICAgPC9mb3JtPlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUtcHJpbWFyeVwiIGFicENsb3NlPlxyXG4gICAgICAgIHt7ICdBYnBJZGVudGl0eTo6Q2FuY2VsJyB8IGFicExvY2FsaXphdGlvbiB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgICAgPGFicC1idXR0b24gaWNvbkNsYXNzPVwiZmEgZmEtY2hlY2tcIiBbZGlzYWJsZWRdPVwiZm9ybT8uaW52YWxpZFwiIChjbGljayk9XCJzYXZlKClcIj57e1xyXG4gICAgICAgICdBYnBJZGVudGl0eTo6U2F2ZScgfCBhYnBMb2NhbGl6YXRpb25cclxuICAgICAgfX08L2FicC1idXR0b24+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG4gIDwvYWJwLW1vZGFsPlxyXG5cclxuICA8YWJwLXBlcm1pc3Npb24tbWFuYWdlbWVudFxyXG4gICAgI2FicFBlcm1pc3Npb25NYW5hZ2VtZW50PVwiYWJwUGVybWlzc2lvbk1hbmFnZW1lbnRcIlxyXG4gICAgKmFicFJlcGxhY2VhYmxlVGVtcGxhdGU9XCJcclxuICAgICAge1xyXG4gICAgICAgIGlucHV0czoge1xyXG4gICAgICAgICAgcHJvdmlkZXJOYW1lOiB7IHZhbHVlOiAnVScgfSxcclxuICAgICAgICAgIHByb3ZpZGVyS2V5OiB7IHZhbHVlOiBwcm92aWRlcktleSB9LFxyXG4gICAgICAgICAgdmlzaWJsZTogeyB2YWx1ZTogdmlzaWJsZVBlcm1pc3Npb25zLCB0d29XYXk6IHRydWUgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb3V0cHV0czogeyB2aXNpYmxlQ2hhbmdlOiBvblZpc2libGVQZXJtaXNzaW9uQ2hhbmdlIH0sXHJcbiAgICAgICAgY29tcG9uZW50S2V5OiBwZXJtaXNzaW9uTWFuYWdlbWVudEtleVxyXG4gICAgICB9O1xyXG4gICAgICBsZXQgaW5pdCA9IGluaXRUZW1wbGF0ZVxyXG4gICAgXCJcclxuICAgIFtlbnRpdHlEaXNwbGF5TmFtZV09XCJlbnRpdHlEaXNwbGF5TmFtZVwiXHJcbiAgICAoYWJwSW5pdCk9XCJpbml0KGFicFBlcm1pc3Npb25NYW5hZ2VtZW50KVwiXHJcbiAgPlxyXG4gIDwvYWJwLXBlcm1pc3Npb24tbWFuYWdlbWVudD5cclxuPC9hYnAtcGFnZT5cclxuIl19
|
|
@@ -30,10 +30,10 @@ export class IdentityExtensionsGuard {
|
|
|
30
30
|
mergeWithDefaultProps(this.extensions.editFormProps, DEFAULT_IDENTITY_EDIT_FORM_PROPS, objectExtensionContributors.editForm, editFormContributors);
|
|
31
31
|
}), map(() => true));
|
|
32
32
|
}
|
|
33
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
34
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityExtensionsGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
34
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityExtensionsGuard }); }
|
|
35
35
|
}
|
|
36
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityExtensionsGuard, decorators: [{
|
|
37
37
|
type: Injectable
|
|
38
38
|
}] });
|
|
39
39
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0ZW5zaW9ucy5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvZ3VhcmRzL2V4dGVuc2lvbnMuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQWEsTUFBTSxjQUFjLENBQUM7QUFDN0QsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixtQ0FBbUMsRUFDbkMseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2QixxQkFBcUIsR0FDdEIsTUFBTSwrQkFBK0IsQ0FBQztBQUd2QyxPQUFPLEVBQ0wsa0NBQWtDLEVBQ2xDLGdDQUFnQyxFQUNoQywrQkFBK0IsRUFDL0IsNkJBQTZCLEVBQzdCLGdDQUFnQyxFQUNoQyxzQ0FBc0MsRUFDdEMsb0NBQW9DLEVBQ3BDLG1DQUFtQyxFQUNuQyxpQ0FBaUMsRUFDakMsb0NBQW9DLEdBQ3JDLE1BQU0sNEJBQTRCLENBQUM7O0FBRXBDOztHQUVHO0FBRUgsTUFBTSxPQUFPLHVCQUF1QjtJQURwQztRQUVxQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3pDLGVBQVUsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztLQWtEM0Q7SUFoREMsV0FBVztRQUNULE1BQU0sTUFBTSxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO1FBRWxDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDLG1DQUFtQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyRixNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxvQ0FBb0MsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkYsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsaUNBQWlDLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pGLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLHNDQUFzQyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1RixNQUFNLG9CQUFvQixHQUFHLE1BQU0sQ0FBQyxvQ0FBb0MsRUFBRSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFFeEYsT0FBTyxtQ0FBbUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FDM0UsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNmLDJEQUEyQixFQUFFLFFBQVEsQ0FBQyxJQUFJO1lBQzFDLDJEQUEyQixFQUFFLFFBQVEsQ0FBQyxJQUFJO1NBQzNDLENBQUMsQ0FBQyxFQUNILHlCQUF5QixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLEVBQzFELEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFO1lBQ2hDLHVCQUF1QixDQUNyQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFDN0IsK0JBQStCLEVBQy9CLGtCQUFrQixDQUNuQixDQUFDO1lBQ0YsdUJBQXVCLENBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUM5QixnQ0FBZ0MsRUFDaEMsbUJBQW1CLENBQ3BCLENBQUM7WUFDRixxQkFBcUIsQ0FDbkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQzNCLDZCQUE2QixFQUM3QiwyQkFBMkIsQ0FBQyxJQUFJLEVBQ2hDLGdCQUFnQixDQUNqQixDQUFDO1lBQ0YscUJBQXFCLENBQ25CLElBQUksQ0FBQyxVQUFVLENBQUMsZUFBZSxFQUMvQixrQ0FBa0MsRUFDbEMsMkJBQTJCLENBQUMsVUFBVSxFQUN0QyxzQkFBc0IsQ0FDdkIsQ0FBQztZQUNGLHFCQUFxQixDQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFDN0IsZ0NBQWdDLEVBQ2hDLDJCQUEyQixDQUFDLFFBQVEsRUFDcEMsb0JBQW9CLENBQ3JCLENBQUM7UUFDSixDQUFDLENBQUMsRUFDRixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQ2hCLENBQUM7SUFDSixDQUFDOzhHQW5EVSx1QkFBdUI7a0hBQXZCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ1N0YXRlU2VydmljZSwgSUFicEd1YXJkIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHtcclxuICBFeHRlbnNpb25zU2VydmljZSxcclxuICBnZXRPYmplY3RFeHRlbnNpb25FbnRpdGllc0Zyb21TdG9yZSxcclxuICBtYXBFbnRpdGllc1RvQ29udHJpYnV0b3JzLFxyXG4gIG1lcmdlV2l0aERlZmF1bHRBY3Rpb25zLFxyXG4gIG1lcmdlV2l0aERlZmF1bHRQcm9wcyxcclxufSBmcm9tICdAYWJwL25nLmNvbXBvbmVudHMvZXh0ZW5zaWJsZSc7XHJcblxyXG5pbXBvcnQgeyBlSWRlbnRpdHlDb21wb25lbnRzIH0gZnJvbSAnLi4vZW51bXMvY29tcG9uZW50cyc7XHJcbmltcG9ydCB7XHJcbiAgREVGQVVMVF9JREVOVElUWV9DUkVBVEVfRk9STV9QUk9QUyxcclxuICBERUZBVUxUX0lERU5USVRZX0VESVRfRk9STV9QUk9QUyxcclxuICBERUZBVUxUX0lERU5USVRZX0VOVElUWV9BQ1RJT05TLFxyXG4gIERFRkFVTFRfSURFTlRJVFlfRU5USVRZX1BST1BTLFxyXG4gIERFRkFVTFRfSURFTlRJVFlfVE9PTEJBUl9BQ1RJT05TLFxyXG4gIElERU5USVRZX0NSRUFURV9GT1JNX1BST1BfQ09OVFJJQlVUT1JTLFxyXG4gIElERU5USVRZX0VESVRfRk9STV9QUk9QX0NPTlRSSUJVVE9SUyxcclxuICBJREVOVElUWV9FTlRJVFlfQUNUSU9OX0NPTlRSSUJVVE9SUyxcclxuICBJREVOVElUWV9FTlRJVFlfUFJPUF9DT05UUklCVVRPUlMsXHJcbiAgSURFTlRJVFlfVE9PTEJBUl9BQ1RJT05fQ09OVFJJQlVUT1JTLFxyXG59IGZyb20gJy4uL3Rva2Vucy9leHRlbnNpb25zLnRva2VuJztcclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZCBVc2UgYGlkZW50aXR5RXh0ZW5zaW9uc1Jlc29sdmVyYCAqZnVuY3Rpb24qIGluc3RlYWQuXHJcbiAqL1xyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBJZGVudGl0eUV4dGVuc2lvbnNHdWFyZCBpbXBsZW1lbnRzIElBYnBHdWFyZCB7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbmZpZ1N0YXRlID0gaW5qZWN0KENvbmZpZ1N0YXRlU2VydmljZSk7XHJcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGV4dGVuc2lvbnMgPSBpbmplY3QoRXh0ZW5zaW9uc1NlcnZpY2UpO1xyXG5cclxuICBjYW5BY3RpdmF0ZSgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IGNvbmZpZyA9IHsgb3B0aW9uYWw6IHRydWUgfTtcclxuXHJcbiAgICBjb25zdCBhY3Rpb25Db250cmlidXRvcnMgPSBpbmplY3QoSURFTlRJVFlfRU5USVRZX0FDVElPTl9DT05UUklCVVRPUlMsIGNvbmZpZykgfHwge307XHJcbiAgICBjb25zdCB0b29sYmFyQ29udHJpYnV0b3JzID0gaW5qZWN0KElERU5USVRZX1RPT0xCQVJfQUNUSU9OX0NPTlRSSUJVVE9SUywgY29uZmlnKSB8fCB7fTtcclxuICAgIGNvbnN0IHByb3BDb250cmlidXRvcnMgPSBpbmplY3QoSURFTlRJVFlfRU5USVRZX1BST1BfQ09OVFJJQlVUT1JTLCBjb25maWcpIHx8IHt9O1xyXG4gICAgY29uc3QgY3JlYXRlRm9ybUNvbnRyaWJ1dG9ycyA9IGluamVjdChJREVOVElUWV9DUkVBVEVfRk9STV9QUk9QX0NPTlRSSUJVVE9SUywgY29uZmlnKSB8fCB7fTtcclxuICAgIGNvbnN0IGVkaXRGb3JtQ29udHJpYnV0b3JzID0gaW5qZWN0KElERU5USVRZX0VESVRfRk9STV9QUk9QX0NPTlRSSUJVVE9SUywgY29uZmlnKSB8fCB7fTtcclxuXHJcbiAgICByZXR1cm4gZ2V0T2JqZWN0RXh0ZW5zaW9uRW50aXRpZXNGcm9tU3RvcmUodGhpcy5jb25maWdTdGF0ZSwgJ0lkZW50aXR5JykucGlwZShcclxuICAgICAgbWFwKGVudGl0aWVzID0+ICh7XHJcbiAgICAgICAgW2VJZGVudGl0eUNvbXBvbmVudHMuUm9sZXNdOiBlbnRpdGllcy5Sb2xlLFxyXG4gICAgICAgIFtlSWRlbnRpdHlDb21wb25lbnRzLlVzZXJzXTogZW50aXRpZXMuVXNlcixcclxuICAgICAgfSkpLFxyXG4gICAgICBtYXBFbnRpdGllc1RvQ29udHJpYnV0b3JzKHRoaXMuY29uZmlnU3RhdGUsICdBYnBJZGVudGl0eScpLFxyXG4gICAgICB0YXAob2JqZWN0RXh0ZW5zaW9uQ29udHJpYnV0b3JzID0+IHtcclxuICAgICAgICBtZXJnZVdpdGhEZWZhdWx0QWN0aW9ucyhcclxuICAgICAgICAgIHRoaXMuZXh0ZW5zaW9ucy5lbnRpdHlBY3Rpb25zLFxyXG4gICAgICAgICAgREVGQVVMVF9JREVOVElUWV9FTlRJVFlfQUNUSU9OUyxcclxuICAgICAgICAgIGFjdGlvbkNvbnRyaWJ1dG9ycyxcclxuICAgICAgICApO1xyXG4gICAgICAgIG1lcmdlV2l0aERlZmF1bHRBY3Rpb25zKFxyXG4gICAgICAgICAgdGhpcy5leHRlbnNpb25zLnRvb2xiYXJBY3Rpb25zLFxyXG4gICAgICAgICAgREVGQVVMVF9JREVOVElUWV9UT09MQkFSX0FDVElPTlMsXHJcbiAgICAgICAgICB0b29sYmFyQ29udHJpYnV0b3JzLFxyXG4gICAgICAgICk7XHJcbiAgICAgICAgbWVyZ2VXaXRoRGVmYXVsdFByb3BzKFxyXG4gICAgICAgICAgdGhpcy5leHRlbnNpb25zLmVudGl0eVByb3BzLFxyXG4gICAgICAgICAgREVGQVVMVF9JREVOVElUWV9FTlRJVFlfUFJPUFMsXHJcbiAgICAgICAgICBvYmplY3RFeHRlbnNpb25Db250cmlidXRvcnMucHJvcCxcclxuICAgICAgICAgIHByb3BDb250cmlidXRvcnMsXHJcbiAgICAgICAgKTtcclxuICAgICAgICBtZXJnZVdpdGhEZWZhdWx0UHJvcHMoXHJcbiAgICAgICAgICB0aGlzLmV4dGVuc2lvbnMuY3JlYXRlRm9ybVByb3BzLFxyXG4gICAgICAgICAgREVGQVVMVF9JREVOVElUWV9DUkVBVEVfRk9STV9QUk9QUyxcclxuICAgICAgICAgIG9iamVjdEV4dGVuc2lvbkNvbnRyaWJ1dG9ycy5jcmVhdGVGb3JtLFxyXG4gICAgICAgICAgY3JlYXRlRm9ybUNvbnRyaWJ1dG9ycyxcclxuICAgICAgICApO1xyXG4gICAgICAgIG1lcmdlV2l0aERlZmF1bHRQcm9wcyhcclxuICAgICAgICAgIHRoaXMuZXh0ZW5zaW9ucy5lZGl0Rm9ybVByb3BzLFxyXG4gICAgICAgICAgREVGQVVMVF9JREVOVElUWV9FRElUX0ZPUk1fUFJPUFMsXHJcbiAgICAgICAgICBvYmplY3RFeHRlbnNpb25Db250cmlidXRvcnMuZWRpdEZvcm0sXHJcbiAgICAgICAgICBlZGl0Rm9ybUNvbnRyaWJ1dG9ycyxcclxuICAgICAgICApO1xyXG4gICAgICB9KSxcclxuICAgICAgbWFwKCgpID0+IHRydWUpLFxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -40,11 +40,11 @@ const routes = [
|
|
|
40
40
|
},
|
|
41
41
|
];
|
|
42
42
|
export class IdentityRoutingModule {
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
44
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.
|
|
45
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
44
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] }); }
|
|
45
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
46
46
|
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoutingModule, decorators: [{
|
|
48
48
|
type: NgModule,
|
|
49
49
|
args: [{
|
|
50
50
|
imports: [RouterModule.forChild(routes)],
|
|
@@ -44,8 +44,8 @@ export class IdentityModule {
|
|
|
44
44
|
static forLazy(options = {}) {
|
|
45
45
|
return new LazyModuleFactory(IdentityModule.forChild(options));
|
|
46
46
|
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
48
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.
|
|
47
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
48
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: IdentityModule, declarations: [RolesComponent, UsersComponent], imports: [CoreModule,
|
|
49
49
|
IdentityRoutingModule,
|
|
50
50
|
NgbNavModule,
|
|
51
51
|
ThemeSharedModule,
|
|
@@ -54,7 +54,7 @@ export class IdentityModule {
|
|
|
54
54
|
PermissionManagementModule,
|
|
55
55
|
NgxValidateCoreModule,
|
|
56
56
|
PageModule], exports: [RolesComponent, UsersComponent] }); }
|
|
57
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.
|
|
57
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityModule, imports: [CoreModule,
|
|
58
58
|
IdentityRoutingModule,
|
|
59
59
|
NgbNavModule,
|
|
60
60
|
ThemeSharedModule,
|
|
@@ -64,7 +64,7 @@ export class IdentityModule {
|
|
|
64
64
|
NgxValidateCoreModule,
|
|
65
65
|
PageModule] }); }
|
|
66
66
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityModule, decorators: [{
|
|
68
68
|
type: NgModule,
|
|
69
69
|
args: [{
|
|
70
70
|
declarations: [RolesComponent, UsersComponent],
|
|
@@ -34,10 +34,10 @@ export class IdentityRoleService {
|
|
|
34
34
|
body: input,
|
|
35
35
|
}, { apiName: this.apiName });
|
|
36
36
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
38
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoleService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoleService, providedIn: 'root' }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoleService, decorators: [{
|
|
41
41
|
type: Injectable,
|
|
42
42
|
args: [{
|
|
43
43
|
providedIn: 'root',
|
|
@@ -25,10 +25,10 @@ export class IdentityUserLookupService {
|
|
|
25
25
|
params: { filter: input.filter, sorting: input.sorting, skipCount: input.skipCount, maxResultCount: input.maxResultCount },
|
|
26
26
|
}, { apiName: this.apiName });
|
|
27
27
|
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
29
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityUserLookupService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityUserLookupService, providedIn: 'root' }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityUserLookupService, decorators: [{
|
|
32
32
|
type: Injectable,
|
|
33
33
|
args: [{
|
|
34
34
|
providedIn: 'root',
|
|
@@ -51,10 +51,10 @@ export class IdentityUserService {
|
|
|
51
51
|
body: input,
|
|
52
52
|
}, { apiName: this.apiName });
|
|
53
53
|
}
|
|
54
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
55
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityUserService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
55
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityUserService, providedIn: 'root' }); }
|
|
56
56
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityUserService, decorators: [{
|
|
58
58
|
type: Injectable,
|
|
59
59
|
args: [{
|
|
60
60
|
providedIn: 'root',
|
|
@@ -42,11 +42,11 @@ class IdentityConfigModule {
|
|
|
42
42
|
providers: [IDENTITY_ROUTE_PROVIDERS],
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
46
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.
|
|
47
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
46
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: IdentityConfigModule }); }
|
|
47
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityConfigModule }); }
|
|
48
48
|
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
49
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityConfigModule, decorators: [{
|
|
50
50
|
type: NgModule
|
|
51
51
|
}] });
|
|
52
52
|
|
|
@@ -34,10 +34,10 @@ class IdentityRoleService {
|
|
|
34
34
|
body: input,
|
|
35
35
|
}, { apiName: this.apiName });
|
|
36
36
|
}
|
|
37
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
38
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.
|
|
37
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoleService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoleService, providedIn: 'root' }); }
|
|
39
39
|
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
40
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoleService, decorators: [{
|
|
41
41
|
type: Injectable,
|
|
42
42
|
args: [{
|
|
43
43
|
providedIn: 'root',
|
|
@@ -67,10 +67,10 @@ class IdentityUserLookupService {
|
|
|
67
67
|
params: { filter: input.filter, sorting: input.sorting, skipCount: input.skipCount, maxResultCount: input.maxResultCount },
|
|
68
68
|
}, { apiName: this.apiName });
|
|
69
69
|
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
71
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityUserLookupService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
71
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityUserLookupService, providedIn: 'root' }); }
|
|
72
72
|
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityUserLookupService, decorators: [{
|
|
74
74
|
type: Injectable,
|
|
75
75
|
args: [{
|
|
76
76
|
providedIn: 'root',
|
|
@@ -126,10 +126,10 @@ class IdentityUserService {
|
|
|
126
126
|
body: input,
|
|
127
127
|
}, { apiName: this.apiName });
|
|
128
128
|
}
|
|
129
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
130
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.
|
|
129
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityUserService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
130
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityUserService, providedIn: 'root' }); }
|
|
131
131
|
}
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityUserService, decorators: [{
|
|
133
133
|
type: Injectable,
|
|
134
134
|
args: [{
|
|
135
135
|
providedIn: 'root',
|
|
@@ -4,7 +4,7 @@ import * as i3 from '@abp/ng.identity/proxy';
|
|
|
4
4
|
import * as i2 from '@abp/ng.theme.shared';
|
|
5
5
|
import { Confirmation, eFormComponets, getPasswordValidators, ThemeSharedModule } from '@abp/ng.theme.shared';
|
|
6
6
|
import * as i6 from '@abp/ng.components/extensible';
|
|
7
|
-
import { FormPropData, generateFormFromProps, EXTENSIONS_IDENTIFIER, EntityAction, EntityProp, FormProp, ToolbarAction, ExtensionsService, mapEntitiesToContributors, mergeWithDefaultActions, mergeWithDefaultProps,
|
|
7
|
+
import { FormPropData, generateFormFromProps, EXTENSIONS_IDENTIFIER, EntityAction, EntityProp, FormProp, ToolbarAction, ExtensionsService, getObjectExtensionEntitiesFromStore, mapEntitiesToContributors, mergeWithDefaultActions, mergeWithDefaultProps, ExtensibleModule } from '@abp/ng.components/extensible';
|
|
8
8
|
import * as i0 from '@angular/core';
|
|
9
9
|
import { Component, ViewChild, InjectionToken, inject, Injectable, NgModule } from '@angular/core';
|
|
10
10
|
import { finalize, tap, switchMap, map } from 'rxjs/operators';
|
|
@@ -99,16 +99,16 @@ class RolesComponent {
|
|
|
99
99
|
this.list.sortKey = prop;
|
|
100
100
|
this.list.sortOrder = dir;
|
|
101
101
|
}
|
|
102
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
103
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
102
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RolesComponent, deps: [{ token: i1.ListService }, { token: i2.ConfirmationService }, { token: i2.ToasterService }, { token: i0.Injector }, { token: i3.IdentityRoleService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
103
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: RolesComponent, selector: "abp-roles", providers: [
|
|
104
104
|
ListService,
|
|
105
105
|
{
|
|
106
106
|
provide: EXTENSIONS_IDENTIFIER,
|
|
107
107
|
useValue: "Identity.RolesComponent" /* eIdentityComponents.Roles */,
|
|
108
108
|
},
|
|
109
|
-
], ngImport: i0, template: "<abp-page [title]=\"'AbpIdentity::Roles' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\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-
|
|
109
|
+
], ngImport: i0, template: "<abp-page [title]=\"'AbpIdentity::Roles' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\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-outline-primary\" 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</abp-page>\r\n", dependencies: [{ kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "directive", type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "component", type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i2.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i6.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { kind: "component", type: i6.ExtensibleTableComponent, selector: "abp-extensible-table", inputs: ["actionsText", "data", "list", "recordsTotal", "actionsColumnWidth", "actionsTemplate"], outputs: ["tableActivate"], exportAs: ["abpExtensibleTable"] }, { kind: "component", type: i7$1.PermissionManagementComponent, selector: "abp-permission-management", inputs: ["providerName", "providerKey", "hideBadges", "entityDisplayName", "visible"], outputs: ["visibleChange"], exportAs: ["abpPermissionManagement"] }, { kind: "component", type: i8.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
110
110
|
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: RolesComponent, decorators: [{
|
|
112
112
|
type: Component,
|
|
113
113
|
args: [{ selector: 'abp-roles', providers: [
|
|
114
114
|
ListService,
|
|
@@ -116,7 +116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
116
116
|
provide: EXTENSIONS_IDENTIFIER,
|
|
117
117
|
useValue: "Identity.RolesComponent" /* eIdentityComponents.Roles */,
|
|
118
118
|
},
|
|
119
|
-
], template: "<abp-page [title]=\"'AbpIdentity::Roles' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\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-
|
|
119
|
+
], template: "<abp-page [title]=\"'AbpIdentity::Roles' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\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-outline-primary\" 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</abp-page>\r\n" }]
|
|
120
120
|
}], ctorParameters: () => [{ type: i1.ListService }, { type: i2.ConfirmationService }, { type: i2.ToasterService }, { type: i0.Injector }, { type: i3.IdentityRoleService }] });
|
|
121
121
|
|
|
122
122
|
class UsersComponent {
|
|
@@ -228,16 +228,16 @@ class UsersComponent {
|
|
|
228
228
|
this.visiblePermissions = true;
|
|
229
229
|
}, 0);
|
|
230
230
|
}
|
|
231
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
232
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.
|
|
231
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UsersComponent, deps: [{ token: i1.ListService }, { token: i2.ConfirmationService }, { token: i3.IdentityUserService }, { token: i2.ToasterService }, { token: i4.UntypedFormBuilder }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
232
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.9", type: UsersComponent, selector: "abp-users", providers: [
|
|
233
233
|
ListService,
|
|
234
234
|
{
|
|
235
235
|
provide: EXTENSIONS_IDENTIFIER,
|
|
236
236
|
useValue: "Identity.UsersComponent" /* eIdentityComponents.Users */,
|
|
237
237
|
},
|
|
238
|
-
], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true }], ngImport: i0, template: "<abp-page [title]=\"'AbpIdentity::Users' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\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\" aria-hidden=\"true\"></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 <abp-checkbox\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n checkboxId: 'roles-' + i,\r\n label: roles[i].name,\r\n formControl: roleGroup.controls[roles[i].name]\r\n },\r\n componentKey: inputKey\r\n }\"\r\n [checkboxId]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n [label]=\"roles[i].name\"\r\n >\r\n </abp-checkbox>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\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-
|
|
238
|
+
], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true }], ngImport: i0, template: "<abp-page [title]=\"'AbpIdentity::Users' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\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\" aria-hidden=\"true\"></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 <abp-checkbox\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n checkboxId: 'roles-' + i,\r\n label: roles[i].name,\r\n formControl: roleGroup.controls[roles[i].name]\r\n },\r\n componentKey: inputKey\r\n }\"\r\n [checkboxId]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n [label]=\"roles[i].name\"\r\n >\r\n </abp-checkbox>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\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-outline-primary\" 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</abp-page>\r\n", dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", 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]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit", "markAsDirtyWhenSubmit"], outputs: ["ngSubmit"] }, { kind: "directive", type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }, { kind: "directive", type: i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { kind: "directive", type: i6$1.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { kind: "directive", type: i6$1.NgbNav, selector: "[ngbNav]", inputs: ["activeId", "animation", "destroyOnHide", "orientation", "roles", "keyboard"], outputs: ["activeIdChange", "shown", "hidden", "navChange"], exportAs: ["ngbNav"] }, { kind: "directive", type: i6$1.NgbNavItem, selector: "[ngbNavItem]", inputs: ["destroyOnHide", "disabled", "domId", "ngbNavItem"], outputs: ["shown", "hidden"], exportAs: ["ngbNavItem"] }, { kind: "directive", type: i6$1.NgbNavItemRole, selector: "[ngbNavItem]:not(ng-container)" }, { kind: "directive", type: i6$1.NgbNavLink, selector: "a[ngbNavLink]" }, { kind: "directive", type: i6$1.NgbNavLinkBase, selector: "[ngbNavLink]" }, { kind: "component", type: i6$1.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { kind: "directive", type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { kind: "directive", type: i7.ValidationDirective, selector: "[formControl],[formControlName]", exportAs: ["validationDirective"] }, { kind: "component", type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "formName", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { kind: "component", type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { kind: "directive", type: i2.ModalCloseDirective, selector: "[abpClose]" }, { kind: "component", type: i2.FormCheckboxComponent, selector: "abp-checkbox", inputs: ["label", "labelClass", "checkboxId", "checkboxStyle", "checkboxClass", "checkboxReadonly"], outputs: ["checkboxBlur", "checkboxFocus"] }, { kind: "component", type: i6.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { kind: "component", type: i6.ExtensibleTableComponent, selector: "abp-extensible-table", inputs: ["actionsText", "data", "list", "recordsTotal", "actionsColumnWidth", "actionsTemplate"], outputs: ["tableActivate"], exportAs: ["abpExtensibleTable"] }, { kind: "component", type: i7$1.PermissionManagementComponent, selector: "abp-permission-management", inputs: ["providerName", "providerKey", "hideBadges", "entityDisplayName", "visible"], outputs: ["visibleChange"], exportAs: ["abpPermissionManagement"] }, { kind: "component", type: i8.PageComponent, selector: "abp-page", inputs: ["title", "toolbar", "breadcrumb"] }, { kind: "pipe", type: i1.LocalizationPipe, name: "abpLocalization" }] }); }
|
|
239
239
|
}
|
|
240
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: UsersComponent, decorators: [{
|
|
241
241
|
type: Component,
|
|
242
242
|
args: [{ selector: 'abp-users', providers: [
|
|
243
243
|
ListService,
|
|
@@ -245,7 +245,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
245
245
|
provide: EXTENSIONS_IDENTIFIER,
|
|
246
246
|
useValue: "Identity.UsersComponent" /* eIdentityComponents.Users */,
|
|
247
247
|
},
|
|
248
|
-
], template: "<abp-page [title]=\"'AbpIdentity::Users' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\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\" aria-hidden=\"true\"></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 <abp-checkbox\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n checkboxId: 'roles-' + i,\r\n label: roles[i].name,\r\n formControl: roleGroup.controls[roles[i].name]\r\n },\r\n componentKey: inputKey\r\n }\"\r\n [checkboxId]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n [label]=\"roles[i].name\"\r\n >\r\n </abp-checkbox>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\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-
|
|
248
|
+
], template: "<abp-page [title]=\"'AbpIdentity::Users' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\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\" aria-hidden=\"true\"></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 <abp-checkbox\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n checkboxId: 'roles-' + i,\r\n label: roles[i].name,\r\n formControl: roleGroup.controls[roles[i].name]\r\n },\r\n componentKey: inputKey\r\n }\"\r\n [checkboxId]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n [label]=\"roles[i].name\"\r\n >\r\n </abp-checkbox>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\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-outline-primary\" 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</abp-page>\r\n" }]
|
|
249
249
|
}], ctorParameters: () => [{ type: i1.ListService }, { type: i2.ConfirmationService }, { type: i3.IdentityUserService }, { type: i2.ToasterService }, { type: i4.UntypedFormBuilder }, { type: i0.Injector }], propDecorators: { modalContent: [{
|
|
250
250
|
type: ViewChild,
|
|
251
251
|
args: ['modalContent', { static: false }]
|
|
@@ -546,10 +546,10 @@ class IdentityExtensionsGuard {
|
|
|
546
546
|
mergeWithDefaultProps(this.extensions.editFormProps, DEFAULT_IDENTITY_EDIT_FORM_PROPS, objectExtensionContributors.editForm, editFormContributors);
|
|
547
547
|
}), map(() => true));
|
|
548
548
|
}
|
|
549
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
550
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.
|
|
549
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityExtensionsGuard, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
550
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityExtensionsGuard }); }
|
|
551
551
|
}
|
|
552
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
552
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityExtensionsGuard, decorators: [{
|
|
553
553
|
type: Injectable
|
|
554
554
|
}] });
|
|
555
555
|
|
|
@@ -608,11 +608,11 @@ const routes = [
|
|
|
608
608
|
},
|
|
609
609
|
];
|
|
610
610
|
class IdentityRoutingModule {
|
|
611
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
612
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.
|
|
613
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.
|
|
611
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
612
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoutingModule, imports: [i1$1.RouterModule], exports: [RouterModule] }); }
|
|
613
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] }); }
|
|
614
614
|
}
|
|
615
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
615
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityRoutingModule, decorators: [{
|
|
616
616
|
type: NgModule,
|
|
617
617
|
args: [{
|
|
618
618
|
imports: [RouterModule.forChild(routes)],
|
|
@@ -652,8 +652,8 @@ class IdentityModule {
|
|
|
652
652
|
static forLazy(options = {}) {
|
|
653
653
|
return new LazyModuleFactory(IdentityModule.forChild(options));
|
|
654
654
|
}
|
|
655
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.
|
|
656
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.
|
|
655
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
656
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.9", ngImport: i0, type: IdentityModule, declarations: [RolesComponent, UsersComponent], imports: [CoreModule,
|
|
657
657
|
IdentityRoutingModule,
|
|
658
658
|
NgbNavModule,
|
|
659
659
|
ThemeSharedModule,
|
|
@@ -662,7 +662,7 @@ class IdentityModule {
|
|
|
662
662
|
PermissionManagementModule,
|
|
663
663
|
NgxValidateCoreModule,
|
|
664
664
|
PageModule], exports: [RolesComponent, UsersComponent] }); }
|
|
665
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.
|
|
665
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityModule, imports: [CoreModule,
|
|
666
666
|
IdentityRoutingModule,
|
|
667
667
|
NgbNavModule,
|
|
668
668
|
ThemeSharedModule,
|
|
@@ -672,7 +672,7 @@ class IdentityModule {
|
|
|
672
672
|
NgxValidateCoreModule,
|
|
673
673
|
PageModule] }); }
|
|
674
674
|
}
|
|
675
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.
|
|
675
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.9", ngImport: i0, type: IdentityModule, decorators: [{
|
|
676
676
|
type: NgModule,
|
|
677
677
|
args: [{
|
|
678
678
|
declarations: [RolesComponent, UsersComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abp-ng.identity.mjs","sources":["../../../../packages/identity/src/lib/components/roles/roles.component.ts","../../../../packages/identity/src/lib/components/roles/roles.component.html","../../../../packages/identity/src/lib/components/users/users.component.ts","../../../../packages/identity/src/lib/components/users/users.component.html","../../../../packages/identity/src/lib/defaults/default-roles-entity-actions.ts","../../../../packages/identity/src/lib/defaults/default-roles-entity-props.ts","../../../../packages/identity/src/lib/defaults/default-roles-form-props.ts","../../../../packages/identity/src/lib/defaults/default-roles-toolbar-actions.ts","../../../../packages/identity/src/lib/defaults/default-users-entity-actions.ts","../../../../packages/identity/src/lib/defaults/default-users-entity-props.ts","../../../../packages/identity/src/lib/defaults/default-users-form-props.ts","../../../../packages/identity/src/lib/defaults/default-users-toolbar-actions.ts","../../../../packages/identity/src/lib/tokens/extensions.token.ts","../../../../packages/identity/src/lib/guards/extensions.guard.ts","../../../../packages/identity/src/lib/resolvers/extensions.resolver.ts","../../../../packages/identity/src/lib/identity-routing.module.ts","../../../../packages/identity/src/lib/identity.module.ts","../../../../packages/identity/src/abp-ng.identity.ts"],"sourcesContent":["import { ListService, PagedAndSortedResultRequestDto, PagedResultDto } from '@abp/ng.core';\r\nimport { IdentityRoleDto, IdentityRoleService } from '@abp/ng.identity/proxy';\r\nimport { ePermissionManagementComponents } from '@abp/ng.permission-management';\r\nimport {Confirmation, ConfirmationService, ToasterService} from '@abp/ng.theme.shared';\r\nimport {\r\n EXTENSIONS_IDENTIFIER,\r\n FormPropData,\r\n generateFormFromProps,\r\n} from '@abp/ng.components/extensible';\r\nimport { Component, Injector, OnInit } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { eIdentityComponents } from '../../enums/components';\r\n\r\n@Component({\r\n selector: 'abp-roles',\r\n templateUrl: './roles.component.html',\r\n providers: [\r\n ListService,\r\n {\r\n provide: EXTENSIONS_IDENTIFIER,\r\n useValue: eIdentityComponents.Roles,\r\n },\r\n ],\r\n})\r\nexport class RolesComponent implements OnInit {\r\n data: PagedResultDto<IdentityRoleDto> = { items: [], totalCount: 0 };\r\n\r\n form!: UntypedFormGroup;\r\n\r\n selected?: IdentityRoleDto;\r\n\r\n isModalVisible!: boolean;\r\n\r\n visiblePermissions = false;\r\n\r\n providerKey?: string;\r\n\r\n modalBusy = false;\r\n\r\n permissionManagementKey = ePermissionManagementComponents.PermissionManagement;\r\n\r\n onVisiblePermissionChange = (event: boolean) => {\r\n this.visiblePermissions = event;\r\n };\r\n\r\n constructor(\r\n public readonly list: ListService<PagedAndSortedResultRequestDto>,\r\n protected confirmationService: ConfirmationService,\r\n private toasterService: ToasterService,\r\n protected injector: Injector,\r\n protected service: IdentityRoleService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.hookToQuery();\r\n }\r\n\r\n buildForm() {\r\n const data = new FormPropData(this.injector, this.selected);\r\n this.form = generateFormFromProps(data);\r\n }\r\n\r\n openModal() {\r\n this.buildForm();\r\n this.isModalVisible = true;\r\n }\r\n\r\n add() {\r\n this.selected = {} as IdentityRoleDto;\r\n this.openModal();\r\n }\r\n\r\n edit(id: string) {\r\n this.service.get(id).subscribe(res => {\r\n this.selected = res;\r\n this.openModal();\r\n });\r\n }\r\n\r\n save() {\r\n if (!this.form.valid) return;\r\n this.modalBusy = true;\r\n\r\n const { id } = this.selected || {};\r\n (id\r\n ? this.service.update(id, { ...this.selected, ...this.form.value })\r\n : this.service.create(this.form.value)\r\n )\r\n .pipe(finalize(() => (this.modalBusy = false)))\r\n .subscribe(() => {\r\n this.isModalVisible = false;\r\n this.list.get();\r\n });\r\n }\r\n\r\n delete(id: string, name: string) {\r\n this.confirmationService\r\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\r\n messageLocalizationParams: [name],\r\n })\r\n .subscribe((status: Confirmation.Status) => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.toasterService.success('AbpUi::SuccessfullyDeleted');\r\n this.service.delete(id).subscribe(() => this.list.get());\r\n }\r\n });\r\n }\r\n\r\n private hookToQuery() {\r\n this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res));\r\n }\r\n\r\n openPermissionsModal(providerKey: string) {\r\n this.providerKey = providerKey;\r\n setTimeout(() => {\r\n this.visiblePermissions = true;\r\n }, 0);\r\n }\r\n\r\n sort(data: any) {\r\n const { prop, dir } = data.sorts[0];\r\n this.list.sortKey = prop;\r\n this.list.sortOrder = dir;\r\n }\r\n}\r\n","<abp-page [title]=\"'AbpIdentity::Roles' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\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</abp-page>\r\n","import { ListService, PagedResultDto } from '@abp/ng.core';\r\nimport {\r\n GetIdentityUsersInput,\r\n IdentityRoleDto,\r\n IdentityUserDto,\r\n IdentityUserService,\r\n} from '@abp/ng.identity/proxy';\r\nimport { ePermissionManagementComponents } from '@abp/ng.permission-management';\r\nimport {Confirmation, ConfirmationService, eFormComponets, ToasterService} from '@abp/ng.theme.shared';\r\nimport {\r\n EXTENSIONS_IDENTIFIER,\r\n FormPropData,\r\n generateFormFromProps,\r\n} from '@abp/ng.components/extensible';\r\nimport {\r\n Component,\r\n Injector,\r\n OnInit,\r\n TemplateRef,\r\n TrackByFunction,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { AbstractControl, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { finalize, switchMap, tap } from 'rxjs/operators';\r\nimport { eIdentityComponents } from '../../enums/components';\r\n\r\n@Component({\r\n selector: 'abp-users',\r\n templateUrl: './users.component.html',\r\n providers: [\r\n ListService,\r\n {\r\n provide: EXTENSIONS_IDENTIFIER,\r\n useValue: eIdentityComponents.Users,\r\n },\r\n ],\r\n})\r\nexport class UsersComponent implements OnInit {\r\n data: PagedResultDto<IdentityUserDto> = { items: [], totalCount: 0 };\r\n\r\n @ViewChild('modalContent', { static: false })\r\n modalContent!: TemplateRef<any>;\r\n\r\n form!: UntypedFormGroup;\r\n\r\n selected?: IdentityUserDto;\r\n\r\n selectedUserRoles?: IdentityRoleDto[];\r\n\r\n roles?: IdentityRoleDto[];\r\n\r\n visiblePermissions = false;\r\n\r\n providerKey?: string;\r\n\r\n isModalVisible?: boolean;\r\n\r\n modalBusy = false;\r\n\r\n permissionManagementKey = ePermissionManagementComponents.PermissionManagement;\r\n\r\n entityDisplayName: string;\r\n\r\n inputKey=eFormComponets.FormCheckboxComponent\r\n\r\n trackByFn: TrackByFunction<AbstractControl> = (index, item) => Object.keys(item)[0] || index;\r\n\r\n onVisiblePermissionChange = (event: boolean) => {\r\n this.visiblePermissions = event;\r\n };\r\n\r\n get roleGroups(): UntypedFormGroup[] {\r\n return ((this.form.get('roleNames') as UntypedFormArray)?.controls as UntypedFormGroup[]) || [];\r\n }\r\n\r\n constructor(\r\n public readonly list: ListService<GetIdentityUsersInput>,\r\n protected confirmationService: ConfirmationService,\r\n protected service: IdentityUserService,\r\n private toasterService: ToasterService,\r\n protected fb: UntypedFormBuilder,\r\n protected injector: Injector,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.hookToQuery();\r\n }\r\n\r\n buildForm() {\r\n const data = new FormPropData(this.injector, this.selected);\r\n this.form = generateFormFromProps(data);\r\n\r\n this.service.getAssignableRoles().subscribe(({ items }) => {\r\n this.roles = items;\r\n if (this.roles) {\r\n this.form.addControl(\r\n 'roleNames',\r\n this.fb.array(\r\n this.roles.map(role =>\r\n this.fb.group({\r\n [role.name as string]: [\r\n this.selected?.id\r\n ? !!this.selectedUserRoles?.find(userRole => userRole.id === role.id)\r\n : role.isDefault,\r\n ],\r\n }),\r\n ),\r\n ),\r\n );\r\n }\r\n });\r\n }\r\n\r\n openModal() {\r\n this.buildForm();\r\n this.isModalVisible = true;\r\n }\r\n\r\n add() {\r\n this.selected = {} as IdentityUserDto;\r\n this.selectedUserRoles = [] as IdentityRoleDto[];\r\n this.openModal();\r\n }\r\n\r\n edit(id: string) {\r\n this.service\r\n .get(id)\r\n .pipe(\r\n tap(user => (this.selected = user)),\r\n switchMap(() => this.service.getRoles(id)),\r\n )\r\n .subscribe(userRole => {\r\n this.selectedUserRoles = userRole.items || [];\r\n this.openModal();\r\n });\r\n }\r\n\r\n save() {\r\n if (!this.form.valid || this.modalBusy) return;\r\n this.modalBusy = true;\r\n\r\n const { roleNames = [] } = this.form.value;\r\n const mappedRoleNames =\r\n roleNames\r\n .filter((role: { [key: string]: any }) => !!role[Object.keys(role)[0]])\r\n .map((role: { [key: string]: any }) => Object.keys(role)[0]) || [];\r\n\r\n const { id } = this.selected || {};\r\n\r\n (id\r\n ? this.service.update(id, {\r\n ...this.selected,\r\n ...this.form.value,\r\n roleNames: mappedRoleNames,\r\n })\r\n : this.service.create({ ...this.form.value, roleNames: mappedRoleNames })\r\n )\r\n .pipe(finalize(() => (this.modalBusy = false)))\r\n .subscribe(() => {\r\n this.isModalVisible = false;\r\n this.list.get();\r\n });\r\n }\r\n\r\n delete(id: string, userName: string) {\r\n this.confirmationService\r\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\r\n messageLocalizationParams: [userName],\r\n })\r\n .subscribe((status: Confirmation.Status) => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.service.delete(id).subscribe(() => {\r\n this.toasterService.success('AbpUi::SuccessfullyDeleted');\r\n this.list.get();\r\n });\r\n }\r\n });\r\n }\r\n\r\n sort(data: any) {\r\n const { prop, dir } = data.sorts[0];\r\n this.list.sortKey = prop;\r\n this.list.sortOrder = dir;\r\n }\r\n\r\n private hookToQuery() {\r\n this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res));\r\n }\r\n\r\n openPermissionsModal(providerKey: string, entityDisplayName?: string) {\r\n this.providerKey = providerKey;\r\n this.entityDisplayName = entityDisplayName;\r\n setTimeout(() => {\r\n this.visiblePermissions = true;\r\n }, 0);\r\n }\r\n}\r\n","<abp-page [title]=\"'AbpIdentity::Users' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\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\" aria-hidden=\"true\"></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 <abp-checkbox\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n checkboxId: 'roles-' + i,\r\n label: roles[i].name,\r\n formControl: roleGroup.controls[roles[i].name]\r\n },\r\n componentKey: inputKey\r\n }\"\r\n [checkboxId]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n [label]=\"roles[i].name\"\r\n >\r\n </abp-checkbox>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\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</abp-page>\r\n","import { IdentityRoleDto } from '@abp/ng.identity/proxy';\r\nimport { EntityAction } from '@abp/ng.components/extensible';\r\nimport { RolesComponent } from '../components/roles/roles.component';\r\n\r\nexport const DEFAULT_ROLES_ENTITY_ACTIONS = EntityAction.createMany<IdentityRoleDto>([\r\n {\r\n text: 'AbpIdentity::Edit',\r\n action: data => {\r\n const component = data.getInjected(RolesComponent);\r\n component.edit(data.record.id || '');\r\n },\r\n permission: 'AbpIdentity.Roles.Update',\r\n },\r\n {\r\n text: 'AbpIdentity::Permissions',\r\n action: data => {\r\n const component = data.getInjected(RolesComponent);\r\n component.openPermissionsModal(data.record.name || '');\r\n },\r\n permission: 'AbpIdentity.Roles.ManagePermissions',\r\n },\r\n {\r\n text: 'AbpIdentity::Delete',\r\n action: data => {\r\n const component = data.getInjected(RolesComponent);\r\n component.delete(data.record.id || '', data.record.name || '');\r\n },\r\n permission: 'AbpIdentity.Roles.Delete',\r\n visible: data => !data?.record.isStatic,\r\n },\r\n]);\r\n","import { escapeHtmlChars, LocalizationService } from '@abp/ng.core';\r\nimport { IdentityRoleDto } from '@abp/ng.identity/proxy';\r\nimport { EntityProp, ePropType } from '@abp/ng.components/extensible';\r\nimport { of } from 'rxjs';\r\n\r\nexport const DEFAULT_ROLES_ENTITY_PROPS = EntityProp.createMany<IdentityRoleDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'name',\r\n displayName: 'AbpIdentity::RoleName',\r\n sortable: true,\r\n valueResolver: data => {\r\n const l10n = data.getInjected(LocalizationService);\r\n const t = l10n.instant.bind(l10n);\r\n const { isDefault, isPublic, name } = data.record;\r\n\r\n return of(\r\n escapeHtmlChars(name) +\r\n (isDefault\r\n ? `<span class=\"badge rounded-pill bg-success ms-1\">${t(\r\n 'AbpIdentity::DisplayName:IsDefault',\r\n )}</span>`\r\n : '') +\r\n (isPublic\r\n ? `<span class=\"badge rounded-pill bg-info ms-1\">${t(\r\n 'AbpIdentity::DisplayName:IsPublic',\r\n )}</span>`\r\n : ''),\r\n );\r\n },\r\n },\r\n]);\r\n","import { IdentityRoleDto } from '@abp/ng.identity/proxy';\r\nimport { ePropType, FormProp, PropData, PropPredicate } from \"@abp/ng.components/extensible\";\r\nimport { Validators } from '@angular/forms';\r\n\r\nexport const DEFAULT_ROLES_CREATE_FORM_PROPS = FormProp.createMany<IdentityRoleDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'name',\r\n displayName: 'AbpIdentity::RoleName',\r\n id: 'role-name',\r\n disabled: ((data: PropData<IdentityRoleDto>) => data.record && data.record.isStatic) as PropPredicate<IdentityRoleDto>,\r\n validators: () => [Validators.required],\r\n },\r\n {\r\n type: ePropType.Boolean,\r\n name: 'isDefault',\r\n displayName: 'AbpIdentity::DisplayName:IsDefault',\r\n id: 'role-is-default',\r\n defaultValue: false,\r\n },\r\n {\r\n type: ePropType.Boolean,\r\n name: 'isPublic',\r\n displayName: 'AbpIdentity::DisplayName:IsPublic',\r\n id: 'role-is-public',\r\n defaultValue: false,\r\n },\r\n]);\r\n\r\nexport const DEFAULT_ROLES_EDIT_FORM_PROPS = DEFAULT_ROLES_CREATE_FORM_PROPS;\r\n","import { IdentityRoleDto } from '@abp/ng.identity/proxy';\r\nimport { ToolbarAction } from '@abp/ng.components/extensible';\r\nimport { RolesComponent } from '../components/roles/roles.component';\r\n\r\nexport const DEFAULT_ROLES_TOOLBAR_ACTIONS = ToolbarAction.createMany<IdentityRoleDto[]>([\r\n {\r\n text: 'AbpIdentity::NewRole',\r\n action: data => {\r\n const component = data.getInjected(RolesComponent);\r\n component.add();\r\n },\r\n permission: 'AbpIdentity.Roles.Create',\r\n icon: 'fa fa-plus',\r\n },\r\n]);\r\n","import { IdentityUserDto } from '@abp/ng.identity/proxy';\r\nimport { EntityAction } from '@abp/ng.components/extensible';\r\nimport { UsersComponent } from '../components/users/users.component';\r\nimport { ConfigStateService, CurrentUserDto } from '@abp/ng.core';\r\n\r\nexport const DEFAULT_USERS_ENTITY_ACTIONS = EntityAction.createMany<IdentityUserDto>([\r\n {\r\n text: 'AbpIdentity::Edit',\r\n action: data => {\r\n const component = data.getInjected(UsersComponent);\r\n component.edit(data.record.id || '');\r\n },\r\n permission: 'AbpIdentity.Users.Update',\r\n },\r\n {\r\n text: 'AbpIdentity::Permissions',\r\n action: data => {\r\n const component = data.getInjected(UsersComponent);\r\n component.openPermissionsModal(data.record.id || '', data.record.userName);\r\n },\r\n permission: 'AbpIdentity.Users.ManagePermissions',\r\n },\r\n {\r\n text: 'AbpIdentity::Delete',\r\n action: data => {\r\n const component = data.getInjected(UsersComponent);\r\n component.delete(data.record.id || '', data.record.name || data.record.userName || '');\r\n },\r\n visible: data => {\r\n const userName = data?.record.userName;\r\n const configStateService = data?.getInjected(ConfigStateService);\r\n const currentUser = configStateService?.getOne('currentUser') as CurrentUserDto;\r\n return userName !== currentUser.userName;\r\n },\r\n permission: 'AbpIdentity.Users.Delete',\r\n },\r\n]);\r\n","import { escapeHtmlChars, LocalizationService } from '@abp/ng.core';\r\nimport { IdentityUserDto } from '@abp/ng.identity/proxy';\r\nimport { EntityProp, ePropType } from '@abp/ng.components/extensible';\r\nimport { of } from 'rxjs';\r\n\r\nexport const DEFAULT_USERS_ENTITY_PROPS = EntityProp.createMany<IdentityUserDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'userName',\r\n displayName: 'AbpIdentity::UserName',\r\n sortable: true,\r\n columnWidth: 250,\r\n valueResolver: data => {\r\n const l10n = data.getInjected(LocalizationService);\r\n const t = l10n.instant.bind(l10n);\r\n\r\n const inactiveIcon = `<i title=\"${t(\r\n 'AbpIdentity::ThisUserIsNotActiveMessage',\r\n )}\" class=\"fas fa-ban text-danger me-1\" aria-hidden=\"true\"></i>`;\r\n\r\n return of(\r\n `\r\n ${!data.record.isActive ? inactiveIcon : ''}\r\n <span class=\"${!data.record.isActive ? 'text-muted' : ''}\">${escapeHtmlChars(\r\n data.record.userName,\r\n )}</span>`,\r\n );\r\n },\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'email',\r\n displayName: 'AbpIdentity::EmailAddress',\r\n sortable: true,\r\n columnWidth: 250,\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'phoneNumber',\r\n displayName: 'AbpIdentity::PhoneNumber',\r\n sortable: true,\r\n columnWidth: 250,\r\n },\r\n]);\r\n","import { Validators } from '@angular/forms';\r\nimport { ConfigStateService, CurrentUserDto } from '@abp/ng.core';\r\nimport { getPasswordValidators } from '@abp/ng.theme.shared';\r\nimport { ePropType, FormProp } from '@abp/ng.components/extensible';\r\nimport { IdentityUserDto } from '@abp/ng.identity/proxy';\r\n\r\nexport const DEFAULT_USERS_CREATE_FORM_PROPS = FormProp.createMany<IdentityUserDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'userName',\r\n displayName: 'AbpIdentity::UserName',\r\n id: 'user-name',\r\n validators: () => [Validators.required, Validators.maxLength(256)],\r\n },\r\n {\r\n type: ePropType.PasswordInputGroup,\r\n name: 'password',\r\n displayName: 'AbpIdentity::Password',\r\n id: 'password',\r\n autocomplete: 'new-password',\r\n validators: data => [Validators.required, ...getPasswordValidators({ get: data.getInjected })],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'name',\r\n displayName: 'AbpIdentity::DisplayName:Name',\r\n id: 'name',\r\n validators: () => [Validators.maxLength(64)],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'surname',\r\n displayName: 'AbpIdentity::DisplayName:Surname',\r\n id: 'surname',\r\n validators: () => [Validators.maxLength(64)],\r\n },\r\n {\r\n type: ePropType.Email,\r\n name: 'email',\r\n displayName: 'AbpIdentity::EmailAddress',\r\n id: 'email',\r\n validators: () => [Validators.required, Validators.maxLength(256), Validators.email],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'phoneNumber',\r\n displayName: 'AbpIdentity::PhoneNumber',\r\n id: 'phone-number',\r\n validators: () => [Validators.maxLength(16)],\r\n },\r\n {\r\n type: ePropType.Boolean,\r\n name: 'isActive',\r\n displayName: 'AbpIdentity::DisplayName:IsActive',\r\n id: 'active-checkbox',\r\n defaultValue: true,\r\n },\r\n {\r\n type: ePropType.Boolean,\r\n name: 'lockoutEnabled',\r\n displayName: 'AbpIdentity::DisplayName:LockoutEnabled',\r\n id: 'lockout-checkbox',\r\n defaultValue: true,\r\n },\r\n]);\r\n\r\nexport const DEFAULT_USERS_EDIT_FORM_PROPS = DEFAULT_USERS_CREATE_FORM_PROPS.map(prop => {\r\n if (prop.name === 'password') {\r\n return {\r\n ...prop,\r\n validators: (data: any) => [...getPasswordValidators({ get: data.getInjected })],\r\n };\r\n }\r\n if (prop.name === 'isActive') {\r\n return {\r\n ...prop,\r\n visible: data => {\r\n const configState = data.getInjected(ConfigStateService);\r\n const currentUserId = configState.getDeep('currentUser.id');\r\n return currentUserId !== data.record.id;\r\n },\r\n };\r\n }\r\n return prop;\r\n});\r\n","import { IdentityUserDto } from '@abp/ng.identity/proxy';\r\nimport { ToolbarAction } from '@abp/ng.components/extensible';\r\nimport { UsersComponent } from '../components/users/users.component';\r\n\r\nexport const DEFAULT_USERS_TOOLBAR_ACTIONS = ToolbarAction.createMany<IdentityUserDto[]>([\r\n {\r\n text: 'AbpIdentity::NewUser',\r\n action: data => {\r\n const component = data.getInjected(UsersComponent);\r\n component.add();\r\n },\r\n permission: 'AbpIdentity.Users.Create',\r\n icon: 'fa fa-plus',\r\n },\r\n]);\r\n","import { IdentityRoleDto, IdentityUserDto } from '@abp/ng.identity/proxy';\r\nimport {\r\n CreateFormPropContributorCallback,\r\n EditFormPropContributorCallback,\r\n EntityActionContributorCallback,\r\n EntityPropContributorCallback,\r\n ToolbarActionContributorCallback,\r\n} from '@abp/ng.components/extensible';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { DEFAULT_ROLES_ENTITY_ACTIONS } from '../defaults/default-roles-entity-actions';\r\nimport { DEFAULT_ROLES_ENTITY_PROPS } from '../defaults/default-roles-entity-props';\r\nimport {\r\n DEFAULT_ROLES_CREATE_FORM_PROPS,\r\n DEFAULT_ROLES_EDIT_FORM_PROPS,\r\n} from '../defaults/default-roles-form-props';\r\nimport { DEFAULT_ROLES_TOOLBAR_ACTIONS } from '../defaults/default-roles-toolbar-actions';\r\nimport { DEFAULT_USERS_ENTITY_ACTIONS } from '../defaults/default-users-entity-actions';\r\nimport { DEFAULT_USERS_ENTITY_PROPS } from '../defaults/default-users-entity-props';\r\nimport {\r\n DEFAULT_USERS_CREATE_FORM_PROPS,\r\n DEFAULT_USERS_EDIT_FORM_PROPS,\r\n} from '../defaults/default-users-form-props';\r\nimport { DEFAULT_USERS_TOOLBAR_ACTIONS } from '../defaults/default-users-toolbar-actions';\r\nimport { eIdentityComponents } from '../enums/components';\r\n\r\nexport const DEFAULT_IDENTITY_ENTITY_ACTIONS = {\r\n [eIdentityComponents.Roles]: DEFAULT_ROLES_ENTITY_ACTIONS,\r\n [eIdentityComponents.Users]: DEFAULT_USERS_ENTITY_ACTIONS,\r\n};\r\n\r\nexport const DEFAULT_IDENTITY_TOOLBAR_ACTIONS = {\r\n [eIdentityComponents.Roles]: DEFAULT_ROLES_TOOLBAR_ACTIONS,\r\n [eIdentityComponents.Users]: DEFAULT_USERS_TOOLBAR_ACTIONS,\r\n};\r\n\r\nexport const DEFAULT_IDENTITY_ENTITY_PROPS = {\r\n [eIdentityComponents.Roles]: DEFAULT_ROLES_ENTITY_PROPS,\r\n [eIdentityComponents.Users]: DEFAULT_USERS_ENTITY_PROPS,\r\n};\r\n\r\nexport const DEFAULT_IDENTITY_CREATE_FORM_PROPS = {\r\n [eIdentityComponents.Roles]: DEFAULT_ROLES_CREATE_FORM_PROPS,\r\n [eIdentityComponents.Users]: DEFAULT_USERS_CREATE_FORM_PROPS,\r\n};\r\n\r\nexport const DEFAULT_IDENTITY_EDIT_FORM_PROPS = {\r\n [eIdentityComponents.Roles]: DEFAULT_ROLES_EDIT_FORM_PROPS,\r\n [eIdentityComponents.Users]: DEFAULT_USERS_EDIT_FORM_PROPS,\r\n};\r\n\r\nexport const IDENTITY_ENTITY_ACTION_CONTRIBUTORS = new InjectionToken<EntityActionContributors>(\r\n 'IDENTITY_ENTITY_ACTION_CONTRIBUTORS',\r\n);\r\n\r\nexport const IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS = new InjectionToken<ToolbarActionContributors>(\r\n 'IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS',\r\n);\r\n\r\nexport const IDENTITY_ENTITY_PROP_CONTRIBUTORS = new InjectionToken<EntityPropContributors>(\r\n 'IDENTITY_ENTITY_PROP_CONTRIBUTORS',\r\n);\r\n\r\nexport const IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS =\r\n new InjectionToken<CreateFormPropContributors>('IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS');\r\n\r\nexport const IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS = new InjectionToken<EditFormPropContributors>(\r\n 'IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS',\r\n);\r\n\r\n// Fix for TS4023 -> https://github.com/microsoft/TypeScript/issues/9944#issuecomment-254693497\r\ntype EntityActionContributors = Partial<{\r\n [eIdentityComponents.Roles]: EntityActionContributorCallback<IdentityRoleDto>[];\r\n [eIdentityComponents.Users]: EntityActionContributorCallback<IdentityUserDto>[];\r\n}>;\r\ntype ToolbarActionContributors = Partial<{\r\n [eIdentityComponents.Roles]: ToolbarActionContributorCallback<IdentityRoleDto[]>[];\r\n [eIdentityComponents.Users]: ToolbarActionContributorCallback<IdentityUserDto[]>[];\r\n}>;\r\ntype EntityPropContributors = Partial<{\r\n [eIdentityComponents.Roles]: EntityPropContributorCallback<IdentityRoleDto>[];\r\n [eIdentityComponents.Users]: EntityPropContributorCallback<IdentityUserDto>[];\r\n}>;\r\ntype CreateFormPropContributors = Partial<{\r\n [eIdentityComponents.Roles]: CreateFormPropContributorCallback<IdentityRoleDto>[];\r\n [eIdentityComponents.Users]: CreateFormPropContributorCallback<IdentityUserDto>[];\r\n}>;\r\ntype EditFormPropContributors = Partial<{\r\n [eIdentityComponents.Roles]: EditFormPropContributorCallback<IdentityRoleDto>[];\r\n [eIdentityComponents.Users]: EditFormPropContributorCallback<IdentityUserDto>[];\r\n}>;\r\n","import { Injectable, inject } from '@angular/core';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\n\r\nimport { ConfigStateService, IAbpGuard } from '@abp/ng.core';\r\nimport {\r\n ExtensionsService,\r\n getObjectExtensionEntitiesFromStore,\r\n mapEntitiesToContributors,\r\n mergeWithDefaultActions,\r\n mergeWithDefaultProps,\r\n} from '@abp/ng.components/extensible';\r\n\r\nimport { eIdentityComponents } from '../enums/components';\r\nimport {\r\n DEFAULT_IDENTITY_CREATE_FORM_PROPS,\r\n DEFAULT_IDENTITY_EDIT_FORM_PROPS,\r\n DEFAULT_IDENTITY_ENTITY_ACTIONS,\r\n DEFAULT_IDENTITY_ENTITY_PROPS,\r\n DEFAULT_IDENTITY_TOOLBAR_ACTIONS,\r\n IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS,\r\n IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS,\r\n IDENTITY_ENTITY_ACTION_CONTRIBUTORS,\r\n IDENTITY_ENTITY_PROP_CONTRIBUTORS,\r\n IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from '../tokens/extensions.token';\r\n\r\n/**\r\n * @deprecated Use `identityExtensionsResolver` *function* instead.\r\n */\r\n@Injectable()\r\nexport class IdentityExtensionsGuard implements IAbpGuard {\r\n protected readonly configState = inject(ConfigStateService);\r\n protected readonly extensions = inject(ExtensionsService);\r\n\r\n canActivate(): Observable<boolean> {\r\n const config = { optional: true };\r\n\r\n const actionContributors = inject(IDENTITY_ENTITY_ACTION_CONTRIBUTORS, config) || {};\r\n const toolbarContributors = inject(IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS, config) || {};\r\n const propContributors = inject(IDENTITY_ENTITY_PROP_CONTRIBUTORS, config) || {};\r\n const createFormContributors = inject(IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS, config) || {};\r\n const editFormContributors = inject(IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS, config) || {};\r\n\r\n return getObjectExtensionEntitiesFromStore(this.configState, 'Identity').pipe(\r\n map(entities => ({\r\n [eIdentityComponents.Roles]: entities.Role,\r\n [eIdentityComponents.Users]: entities.User,\r\n })),\r\n mapEntitiesToContributors(this.configState, 'AbpIdentity'),\r\n tap(objectExtensionContributors => {\r\n mergeWithDefaultActions(\r\n this.extensions.entityActions,\r\n DEFAULT_IDENTITY_ENTITY_ACTIONS,\r\n actionContributors,\r\n );\r\n mergeWithDefaultActions(\r\n this.extensions.toolbarActions,\r\n DEFAULT_IDENTITY_TOOLBAR_ACTIONS,\r\n toolbarContributors,\r\n );\r\n mergeWithDefaultProps(\r\n this.extensions.entityProps,\r\n DEFAULT_IDENTITY_ENTITY_PROPS,\r\n objectExtensionContributors.prop,\r\n propContributors,\r\n );\r\n mergeWithDefaultProps(\r\n this.extensions.createFormProps,\r\n DEFAULT_IDENTITY_CREATE_FORM_PROPS,\r\n objectExtensionContributors.createForm,\r\n createFormContributors,\r\n );\r\n mergeWithDefaultProps(\r\n this.extensions.editFormProps,\r\n DEFAULT_IDENTITY_EDIT_FORM_PROPS,\r\n objectExtensionContributors.editForm,\r\n editFormContributors,\r\n );\r\n }),\r\n map(() => true),\r\n );\r\n }\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { map, tap } from 'rxjs';\r\nimport { ConfigStateService } from '@abp/ng.core';\r\nimport {\r\n ExtensionsService,\r\n getObjectExtensionEntitiesFromStore,\r\n mapEntitiesToContributors,\r\n mergeWithDefaultActions,\r\n mergeWithDefaultProps,\r\n} from '@abp/ng.components/extensible';\r\nimport { eIdentityComponents } from '../enums';\r\nimport {\r\n IDENTITY_ENTITY_ACTION_CONTRIBUTORS,\r\n IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS,\r\n IDENTITY_ENTITY_PROP_CONTRIBUTORS,\r\n IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS,\r\n IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS,\r\n DEFAULT_IDENTITY_ENTITY_ACTIONS,\r\n DEFAULT_IDENTITY_TOOLBAR_ACTIONS,\r\n DEFAULT_IDENTITY_ENTITY_PROPS,\r\n DEFAULT_IDENTITY_CREATE_FORM_PROPS,\r\n DEFAULT_IDENTITY_EDIT_FORM_PROPS,\r\n} from '../tokens';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nexport const identityExtensionsResolver: ResolveFn<any> = () => {\r\n const configState = inject(ConfigStateService);\r\n const extensions = inject(ExtensionsService);\r\n\r\n const config = { optional: true };\r\n\r\n const actionContributors = inject(IDENTITY_ENTITY_ACTION_CONTRIBUTORS, config) || {};\r\n const toolbarContributors = inject(IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS, config) || {};\r\n const propContributors = inject(IDENTITY_ENTITY_PROP_CONTRIBUTORS, config) || {};\r\n const createFormContributors = inject(IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS, config) || {};\r\n const editFormContributors = inject(IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS, config) || {};\r\n\r\n return getObjectExtensionEntitiesFromStore(configState, 'Identity').pipe(\r\n map(entities => ({\r\n [eIdentityComponents.Roles]: entities.Role,\r\n [eIdentityComponents.Users]: entities.User,\r\n })),\r\n mapEntitiesToContributors(configState, 'AbpIdentity'),\r\n tap(objectExtensionContributors => {\r\n mergeWithDefaultActions(\r\n extensions.entityActions,\r\n DEFAULT_IDENTITY_ENTITY_ACTIONS,\r\n actionContributors,\r\n );\r\n mergeWithDefaultActions(\r\n extensions.toolbarActions,\r\n DEFAULT_IDENTITY_TOOLBAR_ACTIONS,\r\n toolbarContributors,\r\n );\r\n mergeWithDefaultProps(\r\n extensions.entityProps,\r\n DEFAULT_IDENTITY_ENTITY_PROPS,\r\n objectExtensionContributors.prop,\r\n propContributors,\r\n );\r\n mergeWithDefaultProps(\r\n extensions.createFormProps,\r\n DEFAULT_IDENTITY_CREATE_FORM_PROPS,\r\n objectExtensionContributors.createForm,\r\n createFormContributors,\r\n );\r\n mergeWithDefaultProps(\r\n extensions.editFormProps,\r\n DEFAULT_IDENTITY_EDIT_FORM_PROPS,\r\n objectExtensionContributors.editForm,\r\n editFormContributors,\r\n );\r\n }),\r\n );\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport {\r\n authGuard,\r\n permissionGuard,\r\n ReplaceableComponents,\r\n ReplaceableRouteContainerComponent,\r\n RouterOutletComponent,\r\n} from '@abp/ng.core';\r\n\r\nimport { RolesComponent } from './components/roles/roles.component';\r\nimport { UsersComponent } from './components/users/users.component';\r\nimport { eIdentityComponents } from './enums/components';\r\nimport { identityExtensionsResolver } from './resolvers';\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\r\n {\r\n path: '',\r\n component: RouterOutletComponent,\r\n canActivate: [authGuard, permissionGuard],\r\n resolve: [identityExtensionsResolver],\r\n children: [\r\n {\r\n path: 'roles',\r\n component: ReplaceableRouteContainerComponent,\r\n data: {\r\n requiredPolicy: 'AbpIdentity.Roles',\r\n replaceableComponent: {\r\n key: eIdentityComponents.Roles,\r\n defaultComponent: RolesComponent,\r\n } as ReplaceableComponents.RouteData<RolesComponent>,\r\n },\r\n },\r\n {\r\n path: 'users',\r\n component: ReplaceableRouteContainerComponent,\r\n data: {\r\n requiredPolicy: 'AbpIdentity.Users',\r\n replaceableComponent: {\r\n key: eIdentityComponents.Users,\r\n defaultComponent: UsersComponent,\r\n } as ReplaceableComponents.RouteData<UsersComponent>,\r\n },\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class IdentityRoutingModule {}\r\n","import { CoreModule, LazyModuleFactory } from '@abp/ng.core';\r\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { ExtensibleModule } from '@abp/ng.components/extensible';\r\nimport { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core';\r\nimport { NgbDropdownModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { RolesComponent } from './components/roles/roles.component';\r\nimport { UsersComponent } from './components/users/users.component';\r\nimport { IdentityExtensionsGuard } from './guards/extensions.guard';\r\nimport { IdentityRoutingModule } from './identity-routing.module';\r\nimport { IdentityConfigOptions } from './models/config-options';\r\nimport {\r\n IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS,\r\n IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS,\r\n IDENTITY_ENTITY_ACTION_CONTRIBUTORS,\r\n IDENTITY_ENTITY_PROP_CONTRIBUTORS,\r\n IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from './tokens/extensions.token';\r\nimport { PageModule } from '@abp/ng.components/page';\r\n\r\n@NgModule({\r\n declarations: [RolesComponent, UsersComponent],\r\n exports: [RolesComponent, UsersComponent],\r\n imports: [\r\n CoreModule,\r\n IdentityRoutingModule,\r\n NgbNavModule,\r\n ThemeSharedModule,\r\n ExtensibleModule,\r\n NgbDropdownModule,\r\n PermissionManagementModule,\r\n NgxValidateCoreModule,\r\n PageModule,\r\n ],\r\n})\r\nexport class IdentityModule {\r\n static forChild(options: IdentityConfigOptions = {}): ModuleWithProviders<IdentityModule> {\r\n return {\r\n ngModule: IdentityModule,\r\n providers: [\r\n {\r\n provide: IDENTITY_ENTITY_ACTION_CONTRIBUTORS,\r\n useValue: options.entityActionContributors,\r\n },\r\n {\r\n provide: IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS,\r\n useValue: options.toolbarActionContributors,\r\n },\r\n {\r\n provide: IDENTITY_ENTITY_PROP_CONTRIBUTORS,\r\n useValue: options.entityPropContributors,\r\n },\r\n {\r\n provide: IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS,\r\n useValue: options.createFormPropContributors,\r\n },\r\n {\r\n provide: IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS,\r\n useValue: options.editFormPropContributors,\r\n },\r\n IdentityExtensionsGuard,\r\n ],\r\n };\r\n }\r\n\r\n static forLazy(options: IdentityConfigOptions = {}): NgModuleFactory<IdentityModule> {\r\n return new LazyModuleFactory(IdentityModule.forChild(options));\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5","i7","i6","i8","i9","i10","map","tap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"abp-ng.identity.mjs","sources":["../../../../packages/identity/src/lib/components/roles/roles.component.ts","../../../../packages/identity/src/lib/components/roles/roles.component.html","../../../../packages/identity/src/lib/components/users/users.component.ts","../../../../packages/identity/src/lib/components/users/users.component.html","../../../../packages/identity/src/lib/defaults/default-roles-entity-actions.ts","../../../../packages/identity/src/lib/defaults/default-roles-entity-props.ts","../../../../packages/identity/src/lib/defaults/default-roles-form-props.ts","../../../../packages/identity/src/lib/defaults/default-roles-toolbar-actions.ts","../../../../packages/identity/src/lib/defaults/default-users-entity-actions.ts","../../../../packages/identity/src/lib/defaults/default-users-entity-props.ts","../../../../packages/identity/src/lib/defaults/default-users-form-props.ts","../../../../packages/identity/src/lib/defaults/default-users-toolbar-actions.ts","../../../../packages/identity/src/lib/tokens/extensions.token.ts","../../../../packages/identity/src/lib/guards/extensions.guard.ts","../../../../packages/identity/src/lib/resolvers/extensions.resolver.ts","../../../../packages/identity/src/lib/identity-routing.module.ts","../../../../packages/identity/src/lib/identity.module.ts","../../../../packages/identity/src/abp-ng.identity.ts"],"sourcesContent":["import { ListService, PagedAndSortedResultRequestDto, PagedResultDto } from '@abp/ng.core';\r\nimport { IdentityRoleDto, IdentityRoleService } from '@abp/ng.identity/proxy';\r\nimport { ePermissionManagementComponents } from '@abp/ng.permission-management';\r\nimport {Confirmation, ConfirmationService, ToasterService} from '@abp/ng.theme.shared';\r\nimport {\r\n EXTENSIONS_IDENTIFIER,\r\n FormPropData,\r\n generateFormFromProps,\r\n} from '@abp/ng.components/extensible';\r\nimport { Component, Injector, OnInit } from '@angular/core';\r\nimport { UntypedFormGroup } from '@angular/forms';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { eIdentityComponents } from '../../enums/components';\r\n\r\n@Component({\r\n selector: 'abp-roles',\r\n templateUrl: './roles.component.html',\r\n providers: [\r\n ListService,\r\n {\r\n provide: EXTENSIONS_IDENTIFIER,\r\n useValue: eIdentityComponents.Roles,\r\n },\r\n ],\r\n})\r\nexport class RolesComponent implements OnInit {\r\n data: PagedResultDto<IdentityRoleDto> = { items: [], totalCount: 0 };\r\n\r\n form!: UntypedFormGroup;\r\n\r\n selected?: IdentityRoleDto;\r\n\r\n isModalVisible!: boolean;\r\n\r\n visiblePermissions = false;\r\n\r\n providerKey?: string;\r\n\r\n modalBusy = false;\r\n\r\n permissionManagementKey = ePermissionManagementComponents.PermissionManagement;\r\n\r\n onVisiblePermissionChange = (event: boolean) => {\r\n this.visiblePermissions = event;\r\n };\r\n\r\n constructor(\r\n public readonly list: ListService<PagedAndSortedResultRequestDto>,\r\n protected confirmationService: ConfirmationService,\r\n private toasterService: ToasterService,\r\n protected injector: Injector,\r\n protected service: IdentityRoleService,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.hookToQuery();\r\n }\r\n\r\n buildForm() {\r\n const data = new FormPropData(this.injector, this.selected);\r\n this.form = generateFormFromProps(data);\r\n }\r\n\r\n openModal() {\r\n this.buildForm();\r\n this.isModalVisible = true;\r\n }\r\n\r\n add() {\r\n this.selected = {} as IdentityRoleDto;\r\n this.openModal();\r\n }\r\n\r\n edit(id: string) {\r\n this.service.get(id).subscribe(res => {\r\n this.selected = res;\r\n this.openModal();\r\n });\r\n }\r\n\r\n save() {\r\n if (!this.form.valid) return;\r\n this.modalBusy = true;\r\n\r\n const { id } = this.selected || {};\r\n (id\r\n ? this.service.update(id, { ...this.selected, ...this.form.value })\r\n : this.service.create(this.form.value)\r\n )\r\n .pipe(finalize(() => (this.modalBusy = false)))\r\n .subscribe(() => {\r\n this.isModalVisible = false;\r\n this.list.get();\r\n });\r\n }\r\n\r\n delete(id: string, name: string) {\r\n this.confirmationService\r\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\r\n messageLocalizationParams: [name],\r\n })\r\n .subscribe((status: Confirmation.Status) => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.toasterService.success('AbpUi::SuccessfullyDeleted');\r\n this.service.delete(id).subscribe(() => this.list.get());\r\n }\r\n });\r\n }\r\n\r\n private hookToQuery() {\r\n this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res));\r\n }\r\n\r\n openPermissionsModal(providerKey: string) {\r\n this.providerKey = providerKey;\r\n setTimeout(() => {\r\n this.visiblePermissions = true;\r\n }, 0);\r\n }\r\n\r\n sort(data: any) {\r\n const { prop, dir } = data.sorts[0];\r\n this.list.sortKey = prop;\r\n this.list.sortOrder = dir;\r\n }\r\n}\r\n","<abp-page [title]=\"'AbpIdentity::Roles' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\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-outline-primary\" 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</abp-page>\r\n","import { ListService, PagedResultDto } from '@abp/ng.core';\r\nimport {\r\n GetIdentityUsersInput,\r\n IdentityRoleDto,\r\n IdentityUserDto,\r\n IdentityUserService,\r\n} from '@abp/ng.identity/proxy';\r\nimport { ePermissionManagementComponents } from '@abp/ng.permission-management';\r\nimport {Confirmation, ConfirmationService, eFormComponets, ToasterService} from '@abp/ng.theme.shared';\r\nimport {\r\n EXTENSIONS_IDENTIFIER,\r\n FormPropData,\r\n generateFormFromProps,\r\n} from '@abp/ng.components/extensible';\r\nimport {\r\n Component,\r\n Injector,\r\n OnInit,\r\n TemplateRef,\r\n TrackByFunction,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { AbstractControl, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';\r\nimport { finalize, switchMap, tap } from 'rxjs/operators';\r\nimport { eIdentityComponents } from '../../enums/components';\r\n\r\n@Component({\r\n selector: 'abp-users',\r\n templateUrl: './users.component.html',\r\n providers: [\r\n ListService,\r\n {\r\n provide: EXTENSIONS_IDENTIFIER,\r\n useValue: eIdentityComponents.Users,\r\n },\r\n ],\r\n})\r\nexport class UsersComponent implements OnInit {\r\n data: PagedResultDto<IdentityUserDto> = { items: [], totalCount: 0 };\r\n\r\n @ViewChild('modalContent', { static: false })\r\n modalContent!: TemplateRef<any>;\r\n\r\n form!: UntypedFormGroup;\r\n\r\n selected?: IdentityUserDto;\r\n\r\n selectedUserRoles?: IdentityRoleDto[];\r\n\r\n roles?: IdentityRoleDto[];\r\n\r\n visiblePermissions = false;\r\n\r\n providerKey?: string;\r\n\r\n isModalVisible?: boolean;\r\n\r\n modalBusy = false;\r\n\r\n permissionManagementKey = ePermissionManagementComponents.PermissionManagement;\r\n\r\n entityDisplayName: string;\r\n\r\n inputKey=eFormComponets.FormCheckboxComponent\r\n\r\n trackByFn: TrackByFunction<AbstractControl> = (index, item) => Object.keys(item)[0] || index;\r\n\r\n onVisiblePermissionChange = (event: boolean) => {\r\n this.visiblePermissions = event;\r\n };\r\n\r\n get roleGroups(): UntypedFormGroup[] {\r\n return ((this.form.get('roleNames') as UntypedFormArray)?.controls as UntypedFormGroup[]) || [];\r\n }\r\n\r\n constructor(\r\n public readonly list: ListService<GetIdentityUsersInput>,\r\n protected confirmationService: ConfirmationService,\r\n protected service: IdentityUserService,\r\n private toasterService: ToasterService,\r\n protected fb: UntypedFormBuilder,\r\n protected injector: Injector,\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.hookToQuery();\r\n }\r\n\r\n buildForm() {\r\n const data = new FormPropData(this.injector, this.selected);\r\n this.form = generateFormFromProps(data);\r\n\r\n this.service.getAssignableRoles().subscribe(({ items }) => {\r\n this.roles = items;\r\n if (this.roles) {\r\n this.form.addControl(\r\n 'roleNames',\r\n this.fb.array(\r\n this.roles.map(role =>\r\n this.fb.group({\r\n [role.name as string]: [\r\n this.selected?.id\r\n ? !!this.selectedUserRoles?.find(userRole => userRole.id === role.id)\r\n : role.isDefault,\r\n ],\r\n }),\r\n ),\r\n ),\r\n );\r\n }\r\n });\r\n }\r\n\r\n openModal() {\r\n this.buildForm();\r\n this.isModalVisible = true;\r\n }\r\n\r\n add() {\r\n this.selected = {} as IdentityUserDto;\r\n this.selectedUserRoles = [] as IdentityRoleDto[];\r\n this.openModal();\r\n }\r\n\r\n edit(id: string) {\r\n this.service\r\n .get(id)\r\n .pipe(\r\n tap(user => (this.selected = user)),\r\n switchMap(() => this.service.getRoles(id)),\r\n )\r\n .subscribe(userRole => {\r\n this.selectedUserRoles = userRole.items || [];\r\n this.openModal();\r\n });\r\n }\r\n\r\n save() {\r\n if (!this.form.valid || this.modalBusy) return;\r\n this.modalBusy = true;\r\n\r\n const { roleNames = [] } = this.form.value;\r\n const mappedRoleNames =\r\n roleNames\r\n .filter((role: { [key: string]: any }) => !!role[Object.keys(role)[0]])\r\n .map((role: { [key: string]: any }) => Object.keys(role)[0]) || [];\r\n\r\n const { id } = this.selected || {};\r\n\r\n (id\r\n ? this.service.update(id, {\r\n ...this.selected,\r\n ...this.form.value,\r\n roleNames: mappedRoleNames,\r\n })\r\n : this.service.create({ ...this.form.value, roleNames: mappedRoleNames })\r\n )\r\n .pipe(finalize(() => (this.modalBusy = false)))\r\n .subscribe(() => {\r\n this.isModalVisible = false;\r\n this.list.get();\r\n });\r\n }\r\n\r\n delete(id: string, userName: string) {\r\n this.confirmationService\r\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\r\n messageLocalizationParams: [userName],\r\n })\r\n .subscribe((status: Confirmation.Status) => {\r\n if (status === Confirmation.Status.confirm) {\r\n this.service.delete(id).subscribe(() => {\r\n this.toasterService.success('AbpUi::SuccessfullyDeleted');\r\n this.list.get();\r\n });\r\n }\r\n });\r\n }\r\n\r\n sort(data: any) {\r\n const { prop, dir } = data.sorts[0];\r\n this.list.sortKey = prop;\r\n this.list.sortOrder = dir;\r\n }\r\n\r\n private hookToQuery() {\r\n this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res));\r\n }\r\n\r\n openPermissionsModal(providerKey: string, entityDisplayName?: string) {\r\n this.providerKey = providerKey;\r\n this.entityDisplayName = entityDisplayName;\r\n setTimeout(() => {\r\n this.visiblePermissions = true;\r\n }, 0);\r\n }\r\n}\r\n","<abp-page [title]=\"'AbpIdentity::Users' | abpLocalization\" [toolbar]=\"data.items\">\r\n <div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-body\">\r\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter mb-3\">\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\" aria-hidden=\"true\"></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 <abp-checkbox\r\n *abpReplaceableTemplate=\"{\r\n inputs: {\r\n checkboxId: 'roles-' + i,\r\n label: roles[i].name,\r\n formControl: roleGroup.controls[roles[i].name]\r\n },\r\n componentKey: inputKey\r\n }\"\r\n [checkboxId]=\"'roles-' + i\"\r\n [formControl]=\"roleGroup.controls[roles[i].name]\"\r\n [label]=\"roles[i].name\"\r\n >\r\n </abp-checkbox>\r\n </div>\r\n </ng-template>\r\n </li>\r\n </ul>\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-outline-primary\" 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</abp-page>\r\n","import { IdentityRoleDto } from '@abp/ng.identity/proxy';\r\nimport { EntityAction } from '@abp/ng.components/extensible';\r\nimport { RolesComponent } from '../components/roles/roles.component';\r\n\r\nexport const DEFAULT_ROLES_ENTITY_ACTIONS = EntityAction.createMany<IdentityRoleDto>([\r\n {\r\n text: 'AbpIdentity::Edit',\r\n action: data => {\r\n const component = data.getInjected(RolesComponent);\r\n component.edit(data.record.id || '');\r\n },\r\n permission: 'AbpIdentity.Roles.Update',\r\n },\r\n {\r\n text: 'AbpIdentity::Permissions',\r\n action: data => {\r\n const component = data.getInjected(RolesComponent);\r\n component.openPermissionsModal(data.record.name || '');\r\n },\r\n permission: 'AbpIdentity.Roles.ManagePermissions',\r\n },\r\n {\r\n text: 'AbpIdentity::Delete',\r\n action: data => {\r\n const component = data.getInjected(RolesComponent);\r\n component.delete(data.record.id || '', data.record.name || '');\r\n },\r\n permission: 'AbpIdentity.Roles.Delete',\r\n visible: data => !data?.record.isStatic,\r\n },\r\n]);\r\n","import { escapeHtmlChars, LocalizationService } from '@abp/ng.core';\r\nimport { IdentityRoleDto } from '@abp/ng.identity/proxy';\r\nimport { EntityProp, ePropType } from '@abp/ng.components/extensible';\r\nimport { of } from 'rxjs';\r\n\r\nexport const DEFAULT_ROLES_ENTITY_PROPS = EntityProp.createMany<IdentityRoleDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'name',\r\n displayName: 'AbpIdentity::RoleName',\r\n sortable: true,\r\n valueResolver: data => {\r\n const l10n = data.getInjected(LocalizationService);\r\n const t = l10n.instant.bind(l10n);\r\n const { isDefault, isPublic, name } = data.record;\r\n\r\n return of(\r\n escapeHtmlChars(name) +\r\n (isDefault\r\n ? `<span class=\"badge rounded-pill bg-success ms-1\">${t(\r\n 'AbpIdentity::DisplayName:IsDefault',\r\n )}</span>`\r\n : '') +\r\n (isPublic\r\n ? `<span class=\"badge rounded-pill bg-info ms-1\">${t(\r\n 'AbpIdentity::DisplayName:IsPublic',\r\n )}</span>`\r\n : ''),\r\n );\r\n },\r\n },\r\n]);\r\n","import { IdentityRoleDto } from '@abp/ng.identity/proxy';\r\nimport { ePropType, FormProp, PropData, PropPredicate } from \"@abp/ng.components/extensible\";\r\nimport { Validators } from '@angular/forms';\r\n\r\nexport const DEFAULT_ROLES_CREATE_FORM_PROPS = FormProp.createMany<IdentityRoleDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'name',\r\n displayName: 'AbpIdentity::RoleName',\r\n id: 'role-name',\r\n disabled: ((data: PropData<IdentityRoleDto>) => data.record && data.record.isStatic) as PropPredicate<IdentityRoleDto>,\r\n validators: () => [Validators.required],\r\n },\r\n {\r\n type: ePropType.Boolean,\r\n name: 'isDefault',\r\n displayName: 'AbpIdentity::DisplayName:IsDefault',\r\n id: 'role-is-default',\r\n defaultValue: false,\r\n },\r\n {\r\n type: ePropType.Boolean,\r\n name: 'isPublic',\r\n displayName: 'AbpIdentity::DisplayName:IsPublic',\r\n id: 'role-is-public',\r\n defaultValue: false,\r\n },\r\n]);\r\n\r\nexport const DEFAULT_ROLES_EDIT_FORM_PROPS = DEFAULT_ROLES_CREATE_FORM_PROPS;\r\n","import { IdentityRoleDto } from '@abp/ng.identity/proxy';\r\nimport { ToolbarAction } from '@abp/ng.components/extensible';\r\nimport { RolesComponent } from '../components/roles/roles.component';\r\n\r\nexport const DEFAULT_ROLES_TOOLBAR_ACTIONS = ToolbarAction.createMany<IdentityRoleDto[]>([\r\n {\r\n text: 'AbpIdentity::NewRole',\r\n action: data => {\r\n const component = data.getInjected(RolesComponent);\r\n component.add();\r\n },\r\n permission: 'AbpIdentity.Roles.Create',\r\n icon: 'fa fa-plus',\r\n },\r\n]);\r\n","import { IdentityUserDto } from '@abp/ng.identity/proxy';\r\nimport { EntityAction } from '@abp/ng.components/extensible';\r\nimport { UsersComponent } from '../components/users/users.component';\r\nimport { ConfigStateService, CurrentUserDto } from '@abp/ng.core';\r\n\r\nexport const DEFAULT_USERS_ENTITY_ACTIONS = EntityAction.createMany<IdentityUserDto>([\r\n {\r\n text: 'AbpIdentity::Edit',\r\n action: data => {\r\n const component = data.getInjected(UsersComponent);\r\n component.edit(data.record.id || '');\r\n },\r\n permission: 'AbpIdentity.Users.Update',\r\n },\r\n {\r\n text: 'AbpIdentity::Permissions',\r\n action: data => {\r\n const component = data.getInjected(UsersComponent);\r\n component.openPermissionsModal(data.record.id || '', data.record.userName);\r\n },\r\n permission: 'AbpIdentity.Users.ManagePermissions',\r\n },\r\n {\r\n text: 'AbpIdentity::Delete',\r\n action: data => {\r\n const component = data.getInjected(UsersComponent);\r\n component.delete(data.record.id || '', data.record.name || data.record.userName || '');\r\n },\r\n visible: data => {\r\n const userName = data?.record.userName;\r\n const configStateService = data?.getInjected(ConfigStateService);\r\n const currentUser = configStateService?.getOne('currentUser') as CurrentUserDto;\r\n return userName !== currentUser.userName;\r\n },\r\n permission: 'AbpIdentity.Users.Delete',\r\n },\r\n]);\r\n","import { escapeHtmlChars, LocalizationService } from '@abp/ng.core';\r\nimport { IdentityUserDto } from '@abp/ng.identity/proxy';\r\nimport { EntityProp, ePropType } from '@abp/ng.components/extensible';\r\nimport { of } from 'rxjs';\r\n\r\nexport const DEFAULT_USERS_ENTITY_PROPS = EntityProp.createMany<IdentityUserDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'userName',\r\n displayName: 'AbpIdentity::UserName',\r\n sortable: true,\r\n columnWidth: 250,\r\n valueResolver: data => {\r\n const l10n = data.getInjected(LocalizationService);\r\n const t = l10n.instant.bind(l10n);\r\n\r\n const inactiveIcon = `<i title=\"${t(\r\n 'AbpIdentity::ThisUserIsNotActiveMessage',\r\n )}\" class=\"fas fa-ban text-danger me-1\" aria-hidden=\"true\"></i>`;\r\n\r\n return of(\r\n `\r\n ${!data.record.isActive ? inactiveIcon : ''}\r\n <span class=\"${!data.record.isActive ? 'text-muted' : ''}\">${escapeHtmlChars(\r\n data.record.userName,\r\n )}</span>`,\r\n );\r\n },\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'email',\r\n displayName: 'AbpIdentity::EmailAddress',\r\n sortable: true,\r\n columnWidth: 250,\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'phoneNumber',\r\n displayName: 'AbpIdentity::PhoneNumber',\r\n sortable: true,\r\n columnWidth: 250,\r\n },\r\n]);\r\n","import { Validators } from '@angular/forms';\r\nimport { ConfigStateService, CurrentUserDto } from '@abp/ng.core';\r\nimport { getPasswordValidators } from '@abp/ng.theme.shared';\r\nimport { ePropType, FormProp } from '@abp/ng.components/extensible';\r\nimport { IdentityUserDto } from '@abp/ng.identity/proxy';\r\n\r\nexport const DEFAULT_USERS_CREATE_FORM_PROPS = FormProp.createMany<IdentityUserDto>([\r\n {\r\n type: ePropType.String,\r\n name: 'userName',\r\n displayName: 'AbpIdentity::UserName',\r\n id: 'user-name',\r\n validators: () => [Validators.required, Validators.maxLength(256)],\r\n },\r\n {\r\n type: ePropType.PasswordInputGroup,\r\n name: 'password',\r\n displayName: 'AbpIdentity::Password',\r\n id: 'password',\r\n autocomplete: 'new-password',\r\n validators: data => [Validators.required, ...getPasswordValidators({ get: data.getInjected })],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'name',\r\n displayName: 'AbpIdentity::DisplayName:Name',\r\n id: 'name',\r\n validators: () => [Validators.maxLength(64)],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'surname',\r\n displayName: 'AbpIdentity::DisplayName:Surname',\r\n id: 'surname',\r\n validators: () => [Validators.maxLength(64)],\r\n },\r\n {\r\n type: ePropType.Email,\r\n name: 'email',\r\n displayName: 'AbpIdentity::EmailAddress',\r\n id: 'email',\r\n validators: () => [Validators.required, Validators.maxLength(256), Validators.email],\r\n },\r\n {\r\n type: ePropType.String,\r\n name: 'phoneNumber',\r\n displayName: 'AbpIdentity::PhoneNumber',\r\n id: 'phone-number',\r\n validators: () => [Validators.maxLength(16)],\r\n },\r\n {\r\n type: ePropType.Boolean,\r\n name: 'isActive',\r\n displayName: 'AbpIdentity::DisplayName:IsActive',\r\n id: 'active-checkbox',\r\n defaultValue: true,\r\n },\r\n {\r\n type: ePropType.Boolean,\r\n name: 'lockoutEnabled',\r\n displayName: 'AbpIdentity::DisplayName:LockoutEnabled',\r\n id: 'lockout-checkbox',\r\n defaultValue: true,\r\n },\r\n]);\r\n\r\nexport const DEFAULT_USERS_EDIT_FORM_PROPS = DEFAULT_USERS_CREATE_FORM_PROPS.map(prop => {\r\n if (prop.name === 'password') {\r\n return {\r\n ...prop,\r\n validators: (data: any) => [...getPasswordValidators({ get: data.getInjected })],\r\n };\r\n }\r\n if (prop.name === 'isActive') {\r\n return {\r\n ...prop,\r\n visible: data => {\r\n const configState = data.getInjected(ConfigStateService);\r\n const currentUserId = configState.getDeep('currentUser.id');\r\n return currentUserId !== data.record.id;\r\n },\r\n };\r\n }\r\n return prop;\r\n});\r\n","import { IdentityUserDto } from '@abp/ng.identity/proxy';\r\nimport { ToolbarAction } from '@abp/ng.components/extensible';\r\nimport { UsersComponent } from '../components/users/users.component';\r\n\r\nexport const DEFAULT_USERS_TOOLBAR_ACTIONS = ToolbarAction.createMany<IdentityUserDto[]>([\r\n {\r\n text: 'AbpIdentity::NewUser',\r\n action: data => {\r\n const component = data.getInjected(UsersComponent);\r\n component.add();\r\n },\r\n permission: 'AbpIdentity.Users.Create',\r\n icon: 'fa fa-plus',\r\n },\r\n]);\r\n","import { IdentityRoleDto, IdentityUserDto } from '@abp/ng.identity/proxy';\r\nimport {\r\n CreateFormPropContributorCallback,\r\n EditFormPropContributorCallback,\r\n EntityActionContributorCallback,\r\n EntityPropContributorCallback,\r\n ToolbarActionContributorCallback,\r\n} from '@abp/ng.components/extensible';\r\nimport { InjectionToken } from '@angular/core';\r\nimport { DEFAULT_ROLES_ENTITY_ACTIONS } from '../defaults/default-roles-entity-actions';\r\nimport { DEFAULT_ROLES_ENTITY_PROPS } from '../defaults/default-roles-entity-props';\r\nimport {\r\n DEFAULT_ROLES_CREATE_FORM_PROPS,\r\n DEFAULT_ROLES_EDIT_FORM_PROPS,\r\n} from '../defaults/default-roles-form-props';\r\nimport { DEFAULT_ROLES_TOOLBAR_ACTIONS } from '../defaults/default-roles-toolbar-actions';\r\nimport { DEFAULT_USERS_ENTITY_ACTIONS } from '../defaults/default-users-entity-actions';\r\nimport { DEFAULT_USERS_ENTITY_PROPS } from '../defaults/default-users-entity-props';\r\nimport {\r\n DEFAULT_USERS_CREATE_FORM_PROPS,\r\n DEFAULT_USERS_EDIT_FORM_PROPS,\r\n} from '../defaults/default-users-form-props';\r\nimport { DEFAULT_USERS_TOOLBAR_ACTIONS } from '../defaults/default-users-toolbar-actions';\r\nimport { eIdentityComponents } from '../enums/components';\r\n\r\nexport const DEFAULT_IDENTITY_ENTITY_ACTIONS = {\r\n [eIdentityComponents.Roles]: DEFAULT_ROLES_ENTITY_ACTIONS,\r\n [eIdentityComponents.Users]: DEFAULT_USERS_ENTITY_ACTIONS,\r\n};\r\n\r\nexport const DEFAULT_IDENTITY_TOOLBAR_ACTIONS = {\r\n [eIdentityComponents.Roles]: DEFAULT_ROLES_TOOLBAR_ACTIONS,\r\n [eIdentityComponents.Users]: DEFAULT_USERS_TOOLBAR_ACTIONS,\r\n};\r\n\r\nexport const DEFAULT_IDENTITY_ENTITY_PROPS = {\r\n [eIdentityComponents.Roles]: DEFAULT_ROLES_ENTITY_PROPS,\r\n [eIdentityComponents.Users]: DEFAULT_USERS_ENTITY_PROPS,\r\n};\r\n\r\nexport const DEFAULT_IDENTITY_CREATE_FORM_PROPS = {\r\n [eIdentityComponents.Roles]: DEFAULT_ROLES_CREATE_FORM_PROPS,\r\n [eIdentityComponents.Users]: DEFAULT_USERS_CREATE_FORM_PROPS,\r\n};\r\n\r\nexport const DEFAULT_IDENTITY_EDIT_FORM_PROPS = {\r\n [eIdentityComponents.Roles]: DEFAULT_ROLES_EDIT_FORM_PROPS,\r\n [eIdentityComponents.Users]: DEFAULT_USERS_EDIT_FORM_PROPS,\r\n};\r\n\r\nexport const IDENTITY_ENTITY_ACTION_CONTRIBUTORS = new InjectionToken<EntityActionContributors>(\r\n 'IDENTITY_ENTITY_ACTION_CONTRIBUTORS',\r\n);\r\n\r\nexport const IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS = new InjectionToken<ToolbarActionContributors>(\r\n 'IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS',\r\n);\r\n\r\nexport const IDENTITY_ENTITY_PROP_CONTRIBUTORS = new InjectionToken<EntityPropContributors>(\r\n 'IDENTITY_ENTITY_PROP_CONTRIBUTORS',\r\n);\r\n\r\nexport const IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS =\r\n new InjectionToken<CreateFormPropContributors>('IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS');\r\n\r\nexport const IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS = new InjectionToken<EditFormPropContributors>(\r\n 'IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS',\r\n);\r\n\r\n// Fix for TS4023 -> https://github.com/microsoft/TypeScript/issues/9944#issuecomment-254693497\r\ntype EntityActionContributors = Partial<{\r\n [eIdentityComponents.Roles]: EntityActionContributorCallback<IdentityRoleDto>[];\r\n [eIdentityComponents.Users]: EntityActionContributorCallback<IdentityUserDto>[];\r\n}>;\r\ntype ToolbarActionContributors = Partial<{\r\n [eIdentityComponents.Roles]: ToolbarActionContributorCallback<IdentityRoleDto[]>[];\r\n [eIdentityComponents.Users]: ToolbarActionContributorCallback<IdentityUserDto[]>[];\r\n}>;\r\ntype EntityPropContributors = Partial<{\r\n [eIdentityComponents.Roles]: EntityPropContributorCallback<IdentityRoleDto>[];\r\n [eIdentityComponents.Users]: EntityPropContributorCallback<IdentityUserDto>[];\r\n}>;\r\ntype CreateFormPropContributors = Partial<{\r\n [eIdentityComponents.Roles]: CreateFormPropContributorCallback<IdentityRoleDto>[];\r\n [eIdentityComponents.Users]: CreateFormPropContributorCallback<IdentityUserDto>[];\r\n}>;\r\ntype EditFormPropContributors = Partial<{\r\n [eIdentityComponents.Roles]: EditFormPropContributorCallback<IdentityRoleDto>[];\r\n [eIdentityComponents.Users]: EditFormPropContributorCallback<IdentityUserDto>[];\r\n}>;\r\n","import { Injectable, inject } from '@angular/core';\r\n\r\nimport { Observable } from 'rxjs';\r\nimport { map, tap } from 'rxjs/operators';\r\n\r\nimport { ConfigStateService, IAbpGuard } from '@abp/ng.core';\r\nimport {\r\n ExtensionsService,\r\n getObjectExtensionEntitiesFromStore,\r\n mapEntitiesToContributors,\r\n mergeWithDefaultActions,\r\n mergeWithDefaultProps,\r\n} from '@abp/ng.components/extensible';\r\n\r\nimport { eIdentityComponents } from '../enums/components';\r\nimport {\r\n DEFAULT_IDENTITY_CREATE_FORM_PROPS,\r\n DEFAULT_IDENTITY_EDIT_FORM_PROPS,\r\n DEFAULT_IDENTITY_ENTITY_ACTIONS,\r\n DEFAULT_IDENTITY_ENTITY_PROPS,\r\n DEFAULT_IDENTITY_TOOLBAR_ACTIONS,\r\n IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS,\r\n IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS,\r\n IDENTITY_ENTITY_ACTION_CONTRIBUTORS,\r\n IDENTITY_ENTITY_PROP_CONTRIBUTORS,\r\n IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from '../tokens/extensions.token';\r\n\r\n/**\r\n * @deprecated Use `identityExtensionsResolver` *function* instead.\r\n */\r\n@Injectable()\r\nexport class IdentityExtensionsGuard implements IAbpGuard {\r\n protected readonly configState = inject(ConfigStateService);\r\n protected readonly extensions = inject(ExtensionsService);\r\n\r\n canActivate(): Observable<boolean> {\r\n const config = { optional: true };\r\n\r\n const actionContributors = inject(IDENTITY_ENTITY_ACTION_CONTRIBUTORS, config) || {};\r\n const toolbarContributors = inject(IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS, config) || {};\r\n const propContributors = inject(IDENTITY_ENTITY_PROP_CONTRIBUTORS, config) || {};\r\n const createFormContributors = inject(IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS, config) || {};\r\n const editFormContributors = inject(IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS, config) || {};\r\n\r\n return getObjectExtensionEntitiesFromStore(this.configState, 'Identity').pipe(\r\n map(entities => ({\r\n [eIdentityComponents.Roles]: entities.Role,\r\n [eIdentityComponents.Users]: entities.User,\r\n })),\r\n mapEntitiesToContributors(this.configState, 'AbpIdentity'),\r\n tap(objectExtensionContributors => {\r\n mergeWithDefaultActions(\r\n this.extensions.entityActions,\r\n DEFAULT_IDENTITY_ENTITY_ACTIONS,\r\n actionContributors,\r\n );\r\n mergeWithDefaultActions(\r\n this.extensions.toolbarActions,\r\n DEFAULT_IDENTITY_TOOLBAR_ACTIONS,\r\n toolbarContributors,\r\n );\r\n mergeWithDefaultProps(\r\n this.extensions.entityProps,\r\n DEFAULT_IDENTITY_ENTITY_PROPS,\r\n objectExtensionContributors.prop,\r\n propContributors,\r\n );\r\n mergeWithDefaultProps(\r\n this.extensions.createFormProps,\r\n DEFAULT_IDENTITY_CREATE_FORM_PROPS,\r\n objectExtensionContributors.createForm,\r\n createFormContributors,\r\n );\r\n mergeWithDefaultProps(\r\n this.extensions.editFormProps,\r\n DEFAULT_IDENTITY_EDIT_FORM_PROPS,\r\n objectExtensionContributors.editForm,\r\n editFormContributors,\r\n );\r\n }),\r\n map(() => true),\r\n );\r\n }\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { map, tap } from 'rxjs';\r\nimport { ConfigStateService } from '@abp/ng.core';\r\nimport {\r\n ExtensionsService,\r\n getObjectExtensionEntitiesFromStore,\r\n mapEntitiesToContributors,\r\n mergeWithDefaultActions,\r\n mergeWithDefaultProps,\r\n} from '@abp/ng.components/extensible';\r\nimport { eIdentityComponents } from '../enums';\r\nimport {\r\n IDENTITY_ENTITY_ACTION_CONTRIBUTORS,\r\n IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS,\r\n IDENTITY_ENTITY_PROP_CONTRIBUTORS,\r\n IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS,\r\n IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS,\r\n DEFAULT_IDENTITY_ENTITY_ACTIONS,\r\n DEFAULT_IDENTITY_TOOLBAR_ACTIONS,\r\n DEFAULT_IDENTITY_ENTITY_PROPS,\r\n DEFAULT_IDENTITY_CREATE_FORM_PROPS,\r\n DEFAULT_IDENTITY_EDIT_FORM_PROPS,\r\n} from '../tokens';\r\nimport { ResolveFn } from '@angular/router';\r\n\r\nexport const identityExtensionsResolver: ResolveFn<any> = () => {\r\n const configState = inject(ConfigStateService);\r\n const extensions = inject(ExtensionsService);\r\n\r\n const config = { optional: true };\r\n\r\n const actionContributors = inject(IDENTITY_ENTITY_ACTION_CONTRIBUTORS, config) || {};\r\n const toolbarContributors = inject(IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS, config) || {};\r\n const propContributors = inject(IDENTITY_ENTITY_PROP_CONTRIBUTORS, config) || {};\r\n const createFormContributors = inject(IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS, config) || {};\r\n const editFormContributors = inject(IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS, config) || {};\r\n\r\n return getObjectExtensionEntitiesFromStore(configState, 'Identity').pipe(\r\n map(entities => ({\r\n [eIdentityComponents.Roles]: entities.Role,\r\n [eIdentityComponents.Users]: entities.User,\r\n })),\r\n mapEntitiesToContributors(configState, 'AbpIdentity'),\r\n tap(objectExtensionContributors => {\r\n mergeWithDefaultActions(\r\n extensions.entityActions,\r\n DEFAULT_IDENTITY_ENTITY_ACTIONS,\r\n actionContributors,\r\n );\r\n mergeWithDefaultActions(\r\n extensions.toolbarActions,\r\n DEFAULT_IDENTITY_TOOLBAR_ACTIONS,\r\n toolbarContributors,\r\n );\r\n mergeWithDefaultProps(\r\n extensions.entityProps,\r\n DEFAULT_IDENTITY_ENTITY_PROPS,\r\n objectExtensionContributors.prop,\r\n propContributors,\r\n );\r\n mergeWithDefaultProps(\r\n extensions.createFormProps,\r\n DEFAULT_IDENTITY_CREATE_FORM_PROPS,\r\n objectExtensionContributors.createForm,\r\n createFormContributors,\r\n );\r\n mergeWithDefaultProps(\r\n extensions.editFormProps,\r\n DEFAULT_IDENTITY_EDIT_FORM_PROPS,\r\n objectExtensionContributors.editForm,\r\n editFormContributors,\r\n );\r\n }),\r\n );\r\n};\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\n\r\nimport {\r\n authGuard,\r\n permissionGuard,\r\n ReplaceableComponents,\r\n ReplaceableRouteContainerComponent,\r\n RouterOutletComponent,\r\n} from '@abp/ng.core';\r\n\r\nimport { RolesComponent } from './components/roles/roles.component';\r\nimport { UsersComponent } from './components/users/users.component';\r\nimport { eIdentityComponents } from './enums/components';\r\nimport { identityExtensionsResolver } from './resolvers';\r\n\r\nconst routes: Routes = [\r\n { path: '', redirectTo: 'roles', pathMatch: 'full' },\r\n {\r\n path: '',\r\n component: RouterOutletComponent,\r\n canActivate: [authGuard, permissionGuard],\r\n resolve: [identityExtensionsResolver],\r\n children: [\r\n {\r\n path: 'roles',\r\n component: ReplaceableRouteContainerComponent,\r\n data: {\r\n requiredPolicy: 'AbpIdentity.Roles',\r\n replaceableComponent: {\r\n key: eIdentityComponents.Roles,\r\n defaultComponent: RolesComponent,\r\n } as ReplaceableComponents.RouteData<RolesComponent>,\r\n },\r\n },\r\n {\r\n path: 'users',\r\n component: ReplaceableRouteContainerComponent,\r\n data: {\r\n requiredPolicy: 'AbpIdentity.Users',\r\n replaceableComponent: {\r\n key: eIdentityComponents.Users,\r\n defaultComponent: UsersComponent,\r\n } as ReplaceableComponents.RouteData<UsersComponent>,\r\n },\r\n },\r\n ],\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule],\r\n})\r\nexport class IdentityRoutingModule {}\r\n","import { CoreModule, LazyModuleFactory } from '@abp/ng.core';\r\nimport { PermissionManagementModule } from '@abp/ng.permission-management';\r\nimport { ThemeSharedModule } from '@abp/ng.theme.shared';\r\nimport { ExtensibleModule } from '@abp/ng.components/extensible';\r\nimport { ModuleWithProviders, NgModule, NgModuleFactory } from '@angular/core';\r\nimport { NgbDropdownModule, NgbNavModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxValidateCoreModule } from '@ngx-validate/core';\r\nimport { RolesComponent } from './components/roles/roles.component';\r\nimport { UsersComponent } from './components/users/users.component';\r\nimport { IdentityExtensionsGuard } from './guards/extensions.guard';\r\nimport { IdentityRoutingModule } from './identity-routing.module';\r\nimport { IdentityConfigOptions } from './models/config-options';\r\nimport {\r\n IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS,\r\n IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS,\r\n IDENTITY_ENTITY_ACTION_CONTRIBUTORS,\r\n IDENTITY_ENTITY_PROP_CONTRIBUTORS,\r\n IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS,\r\n} from './tokens/extensions.token';\r\nimport { PageModule } from '@abp/ng.components/page';\r\n\r\n@NgModule({\r\n declarations: [RolesComponent, UsersComponent],\r\n exports: [RolesComponent, UsersComponent],\r\n imports: [\r\n CoreModule,\r\n IdentityRoutingModule,\r\n NgbNavModule,\r\n ThemeSharedModule,\r\n ExtensibleModule,\r\n NgbDropdownModule,\r\n PermissionManagementModule,\r\n NgxValidateCoreModule,\r\n PageModule,\r\n ],\r\n})\r\nexport class IdentityModule {\r\n static forChild(options: IdentityConfigOptions = {}): ModuleWithProviders<IdentityModule> {\r\n return {\r\n ngModule: IdentityModule,\r\n providers: [\r\n {\r\n provide: IDENTITY_ENTITY_ACTION_CONTRIBUTORS,\r\n useValue: options.entityActionContributors,\r\n },\r\n {\r\n provide: IDENTITY_TOOLBAR_ACTION_CONTRIBUTORS,\r\n useValue: options.toolbarActionContributors,\r\n },\r\n {\r\n provide: IDENTITY_ENTITY_PROP_CONTRIBUTORS,\r\n useValue: options.entityPropContributors,\r\n },\r\n {\r\n provide: IDENTITY_CREATE_FORM_PROP_CONTRIBUTORS,\r\n useValue: options.createFormPropContributors,\r\n },\r\n {\r\n provide: IDENTITY_EDIT_FORM_PROP_CONTRIBUTORS,\r\n useValue: options.editFormPropContributors,\r\n },\r\n IdentityExtensionsGuard,\r\n ],\r\n };\r\n }\r\n\r\n static forLazy(options: IdentityConfigOptions = {}): NgModuleFactory<IdentityModule> {\r\n return new LazyModuleFactory(IdentityModule.forChild(options));\r\n }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i5","i7","i6","i8","i9","i10","map","tap"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@abp/ng.identity",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.3",
|
|
4
4
|
"homepage": "https://abp.io",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/abpframework/abp.git"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@abp/ng.components": "~8.0.
|
|
11
|
-
"@abp/ng.permission-management": "~8.0.
|
|
12
|
-
"@abp/ng.theme.shared": "~8.0.
|
|
10
|
+
"@abp/ng.components": "~8.0.3",
|
|
11
|
+
"@abp/ng.permission-management": "~8.0.3",
|
|
12
|
+
"@abp/ng.theme.shared": "~8.0.3",
|
|
13
13
|
"tslib": "^2.0.0"
|
|
14
14
|
},
|
|
15
15
|
"publishConfig": {
|