@abp/ng.identity 5.0.1 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +3 -3
  2. package/abp-ng.identity.d.ts +5 -5
  3. package/bundles/abp-ng.identity-config.umd.js +49 -49
  4. package/bundles/abp-ng.identity-config.umd.js.map +1 -1
  5. package/bundles/abp-ng.identity-proxy.umd.js +136 -136
  6. package/bundles/abp-ng.identity-proxy.umd.js.map +1 -1
  7. package/bundles/abp-ng.identity.umd.js +937 -937
  8. package/bundles/abp-ng.identity.umd.js.map +1 -1
  9. package/config/abp-ng.identity-config.d.ts +5 -5
  10. package/config/enums/index.d.ts +2 -2
  11. package/config/enums/policy-names.d.ts +5 -5
  12. package/config/enums/route-names.d.ts +5 -5
  13. package/config/identity-config.module.d.ts +8 -8
  14. package/config/providers/index.d.ts +1 -1
  15. package/config/providers/route.provider.d.ts +8 -8
  16. package/config/public-api.d.ts +3 -3
  17. package/esm2015/abp-ng.identity.js +4 -4
  18. package/esm2015/config/abp-ng.identity-config.js +4 -4
  19. package/esm2015/config/enums/index.js +3 -3
  20. package/esm2015/config/enums/policy-names.js +2 -2
  21. package/esm2015/config/enums/route-names.js +2 -2
  22. package/esm2015/config/identity-config.module.js +18 -18
  23. package/esm2015/config/providers/index.js +2 -2
  24. package/esm2015/config/providers/route.provider.js +35 -35
  25. package/esm2015/config/public-api.js +4 -4
  26. package/esm2015/lib/components/index.js +3 -3
  27. package/esm2015/lib/components/roles/roles.component.js +112 -112
  28. package/esm2015/lib/components/users/users.component.js +144 -144
  29. package/esm2015/lib/defaults/default-roles-entity-actions.js +30 -30
  30. package/esm2015/lib/defaults/default-roles-entity-props.js +24 -24
  31. package/esm2015/lib/defaults/default-roles-form-props.js +28 -28
  32. package/esm2015/lib/defaults/default-roles-toolbar-actions.js +14 -14
  33. package/esm2015/lib/defaults/default-users-entity-actions.js +29 -29
  34. package/esm2015/lib/defaults/default-users-entity-props.js +35 -35
  35. package/esm2015/lib/defaults/default-users-form-props.js +64 -64
  36. package/esm2015/lib/defaults/default-users-toolbar-actions.js +14 -14
  37. package/esm2015/lib/enums/components.js +2 -2
  38. package/esm2015/lib/enums/index.js +2 -2
  39. package/esm2015/lib/guards/extensions.guard.js +36 -36
  40. package/esm2015/lib/guards/index.js +2 -2
  41. package/esm2015/lib/identity-routing.module.js +53 -53
  42. package/esm2015/lib/identity.module.js +83 -83
  43. package/esm2015/lib/models/config-options.js +2 -2
  44. package/esm2015/lib/models/index.js +2 -2
  45. package/esm2015/lib/tokens/extensions.token.js +35 -35
  46. package/esm2015/lib/tokens/index.js +2 -2
  47. package/esm2015/proxy/abp-ng.identity-proxy.js +4 -4
  48. package/esm2015/proxy/lib/index.js +3 -3
  49. package/esm2015/proxy/lib/proxy/identity/identity-role.service.js +46 -46
  50. package/esm2015/proxy/lib/proxy/identity/identity-user-lookup.service.js +37 -37
  51. package/esm2015/proxy/lib/proxy/identity/identity-user.service.js +63 -63
  52. package/esm2015/proxy/lib/proxy/identity/index.js +5 -5
  53. package/esm2015/proxy/lib/proxy/identity/models.js +2 -2
  54. package/esm2015/proxy/lib/proxy/users/index.js +2 -2
  55. package/esm2015/proxy/lib/proxy/users/models.js +2 -2
  56. package/esm2015/proxy/public-api.js +2 -2
  57. package/esm2015/public-api.js +7 -7
  58. package/fesm2015/abp-ng.identity-config.js +46 -46
  59. package/fesm2015/abp-ng.identity-config.js.map +1 -1
  60. package/fesm2015/abp-ng.identity-proxy.js +130 -130
  61. package/fesm2015/abp-ng.identity-proxy.js.map +1 -1
  62. package/fesm2015/abp-ng.identity.js +590 -590
  63. package/fesm2015/abp-ng.identity.js.map +1 -1
  64. package/lib/components/index.d.ts +2 -2
  65. package/lib/components/roles/roles.component.d.ts +35 -35
  66. package/lib/components/users/users.component.d.ts +41 -41
  67. package/lib/defaults/default-roles-entity-actions.d.ts +3 -3
  68. package/lib/defaults/default-roles-entity-props.d.ts +3 -3
  69. package/lib/defaults/default-roles-form-props.d.ts +4 -4
  70. package/lib/defaults/default-roles-toolbar-actions.d.ts +3 -3
  71. package/lib/defaults/default-users-entity-actions.d.ts +3 -3
  72. package/lib/defaults/default-users-entity-props.d.ts +3 -3
  73. package/lib/defaults/default-users-form-props.d.ts +4 -4
  74. package/lib/defaults/default-users-toolbar-actions.d.ts +3 -3
  75. package/lib/enums/components.d.ts +4 -4
  76. package/lib/enums/index.d.ts +1 -1
  77. package/lib/guards/extensions.guard.d.ts +11 -11
  78. package/lib/guards/index.d.ts +1 -1
  79. package/lib/identity-routing.module.d.ts +7 -7
  80. package/lib/identity.module.d.ts +19 -19
  81. package/lib/models/config-options.d.ts +30 -30
  82. package/lib/models/index.d.ts +1 -1
  83. package/lib/tokens/extensions.token.d.ts +43 -43
  84. package/lib/tokens/index.d.ts +1 -1
  85. package/package.json +4 -4
  86. package/proxy/abp-ng.identity-proxy.d.ts +5 -5
  87. package/proxy/lib/index.d.ts +2 -2
  88. package/proxy/lib/proxy/identity/identity-role.service.d.ts +17 -17
  89. package/proxy/lib/proxy/identity/identity-user-lookup.service.d.ts +16 -16
  90. package/proxy/lib/proxy/identity/identity-user.service.d.ts +21 -21
  91. package/proxy/lib/proxy/identity/index.d.ts +4 -4
  92. package/proxy/lib/proxy/identity/models.d.ts +64 -64
  93. package/proxy/lib/proxy/users/index.d.ts +1 -1
  94. package/proxy/lib/proxy/users/models.d.ts +11 -11
  95. package/proxy/public-api.d.ts +1 -1
  96. package/public-api.d.ts +6 -6
@@ -1,2 +1,2 @@
1
- export * from './route.provider';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pZGVudGl0eS9jb25maWcvc3JjL3Byb3ZpZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS5wcm92aWRlcic7XHJcbiJdfQ==
1
+ export * from './route.provider';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pZGVudGl0eS9jb25maWcvc3JjL3Byb3ZpZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS5wcm92aWRlcic7XG4iXX0=
@@ -1,35 +1,35 @@
1
- import { RoutesService } from '@abp/ng.core';
2
- import { APP_INITIALIZER } from '@angular/core';
3
- export const IDENTITY_ROUTE_PROVIDERS = [
4
- { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },
5
- ];
6
- export function configureRoutes(routesService) {
7
- return () => {
8
- routesService.add([
9
- {
10
- path: undefined,
11
- name: "AbpIdentity::Menu:IdentityManagement" /* IdentityManagement */,
12
- parentName: "AbpUiNavigation::Menu:Administration" /* Administration */,
13
- requiredPolicy: "AbpIdentity.Roles || AbpIdentity.Users" /* IdentityManagement */,
14
- iconClass: 'fa fa-id-card-o',
15
- layout: "application" /* application */,
16
- order: 1,
17
- },
18
- {
19
- path: '/identity/roles',
20
- name: "AbpIdentity::Roles" /* Roles */,
21
- parentName: "AbpIdentity::Menu:IdentityManagement" /* IdentityManagement */,
22
- requiredPolicy: "AbpIdentity.Roles" /* Roles */,
23
- order: 1,
24
- },
25
- {
26
- path: '/identity/users',
27
- name: "AbpIdentity::Users" /* Users */,
28
- parentName: "AbpIdentity::Menu:IdentityManagement" /* IdentityManagement */,
29
- requiredPolicy: "AbpIdentity.Users" /* Users */,
30
- order: 2,
31
- },
32
- ]);
33
- };
34
- }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pZGVudGl0eS9jb25maWcvc3JjL3Byb3ZpZGVycy9yb3V0ZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJaEQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtDQUM5RixDQUFDO0FBRUYsTUFBTSxVQUFVLGVBQWUsQ0FBQyxhQUE0QjtJQUMxRCxPQUFPLEdBQUcsRUFBRTtRQUNWLGFBQWEsQ0FBQyxHQUFHLENBQUM7WUFDaEI7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxpRUFBd0M7Z0JBQzVDLFVBQVUsNkRBQXVDO2dCQUNqRCxjQUFjLG1FQUF5QztnQkFDdkQsU0FBUyxFQUFFLGlCQUFpQjtnQkFDNUIsTUFBTSxpQ0FBeUI7Z0JBQy9CLEtBQUssRUFBRSxDQUFDO2FBQ1Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixJQUFJLGtDQUEyQjtnQkFDL0IsVUFBVSxpRUFBd0M7Z0JBQ2xELGNBQWMsaUNBQTRCO2dCQUMxQyxLQUFLLEVBQUUsQ0FBQzthQUNUO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsSUFBSSxrQ0FBMkI7Z0JBQy9CLFVBQVUsaUVBQXdDO2dCQUNsRCxjQUFjLGlDQUE0QjtnQkFDMUMsS0FBSyxFQUFFLENBQUM7YUFDVDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlTGF5b3V0VHlwZSwgUm91dGVzU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XHJcbmltcG9ydCB7IGVUaGVtZVNoYXJlZFJvdXRlTmFtZXMgfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZCc7XHJcbmltcG9ydCB7IEFQUF9JTklUSUFMSVpFUiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBlSWRlbnRpdHlQb2xpY3lOYW1lcyB9IGZyb20gJy4uL2VudW1zL3BvbGljeS1uYW1lcyc7XHJcbmltcG9ydCB7IGVJZGVudGl0eVJvdXRlTmFtZXMgfSBmcm9tICcuLi9lbnVtcy9yb3V0ZS1uYW1lcyc7XHJcblxyXG5leHBvcnQgY29uc3QgSURFTlRJVFlfUk9VVEVfUFJPVklERVJTID0gW1xyXG4gIHsgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLCB1c2VGYWN0b3J5OiBjb25maWd1cmVSb3V0ZXMsIGRlcHM6IFtSb3V0ZXNTZXJ2aWNlXSwgbXVsdGk6IHRydWUgfSxcclxuXTtcclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjb25maWd1cmVSb3V0ZXMocm91dGVzU2VydmljZTogUm91dGVzU2VydmljZSkge1xyXG4gIHJldHVybiAoKSA9PiB7XHJcbiAgICByb3V0ZXNTZXJ2aWNlLmFkZChbXHJcbiAgICAgIHtcclxuICAgICAgICBwYXRoOiB1bmRlZmluZWQsXHJcbiAgICAgICAgbmFtZTogZUlkZW50aXR5Um91dGVOYW1lcy5JZGVudGl0eU1hbmFnZW1lbnQsXHJcbiAgICAgICAgcGFyZW50TmFtZTogZVRoZW1lU2hhcmVkUm91dGVOYW1lcy5BZG1pbmlzdHJhdGlvbixcclxuICAgICAgICByZXF1aXJlZFBvbGljeTogZUlkZW50aXR5UG9saWN5TmFtZXMuSWRlbnRpdHlNYW5hZ2VtZW50LFxyXG4gICAgICAgIGljb25DbGFzczogJ2ZhIGZhLWlkLWNhcmQtbycsXHJcbiAgICAgICAgbGF5b3V0OiBlTGF5b3V0VHlwZS5hcHBsaWNhdGlvbixcclxuICAgICAgICBvcmRlcjogMSxcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHBhdGg6ICcvaWRlbnRpdHkvcm9sZXMnLFxyXG4gICAgICAgIG5hbWU6IGVJZGVudGl0eVJvdXRlTmFtZXMuUm9sZXMsXHJcbiAgICAgICAgcGFyZW50TmFtZTogZUlkZW50aXR5Um91dGVOYW1lcy5JZGVudGl0eU1hbmFnZW1lbnQsXHJcbiAgICAgICAgcmVxdWlyZWRQb2xpY3k6IGVJZGVudGl0eVBvbGljeU5hbWVzLlJvbGVzLFxyXG4gICAgICAgIG9yZGVyOiAxLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgcGF0aDogJy9pZGVudGl0eS91c2VycycsXHJcbiAgICAgICAgbmFtZTogZUlkZW50aXR5Um91dGVOYW1lcy5Vc2VycyxcclxuICAgICAgICBwYXJlbnROYW1lOiBlSWRlbnRpdHlSb3V0ZU5hbWVzLklkZW50aXR5TWFuYWdlbWVudCxcclxuICAgICAgICByZXF1aXJlZFBvbGljeTogZUlkZW50aXR5UG9saWN5TmFtZXMuVXNlcnMsXHJcbiAgICAgICAgb3JkZXI6IDIsXHJcbiAgICAgIH0sXHJcbiAgICBdKTtcclxuICB9O1xyXG59XHJcbiJdfQ==
1
+ import { RoutesService } from '@abp/ng.core';
2
+ import { APP_INITIALIZER } from '@angular/core';
3
+ export const IDENTITY_ROUTE_PROVIDERS = [
4
+ { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },
5
+ ];
6
+ export function configureRoutes(routesService) {
7
+ return () => {
8
+ routesService.add([
9
+ {
10
+ path: undefined,
11
+ name: "AbpIdentity::Menu:IdentityManagement" /* IdentityManagement */,
12
+ parentName: "AbpUiNavigation::Menu:Administration" /* Administration */,
13
+ requiredPolicy: "AbpIdentity.Roles || AbpIdentity.Users" /* IdentityManagement */,
14
+ iconClass: 'fa fa-id-card-o',
15
+ layout: "application" /* application */,
16
+ order: 1,
17
+ },
18
+ {
19
+ path: '/identity/roles',
20
+ name: "AbpIdentity::Roles" /* Roles */,
21
+ parentName: "AbpIdentity::Menu:IdentityManagement" /* IdentityManagement */,
22
+ requiredPolicy: "AbpIdentity.Roles" /* Roles */,
23
+ order: 1,
24
+ },
25
+ {
26
+ path: '/identity/users',
27
+ name: "AbpIdentity::Users" /* Users */,
28
+ parentName: "AbpIdentity::Menu:IdentityManagement" /* IdentityManagement */,
29
+ requiredPolicy: "AbpIdentity.Users" /* Users */,
30
+ order: 2,
31
+ },
32
+ ]);
33
+ };
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pZGVudGl0eS9jb25maWcvc3JjL3Byb3ZpZGVycy9yb3V0ZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJaEQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtDQUM5RixDQUFDO0FBRUYsTUFBTSxVQUFVLGVBQWUsQ0FBQyxhQUE0QjtJQUMxRCxPQUFPLEdBQUcsRUFBRTtRQUNWLGFBQWEsQ0FBQyxHQUFHLENBQUM7WUFDaEI7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxpRUFBd0M7Z0JBQzVDLFVBQVUsNkRBQXVDO2dCQUNqRCxjQUFjLG1FQUF5QztnQkFDdkQsU0FBUyxFQUFFLGlCQUFpQjtnQkFDNUIsTUFBTSxpQ0FBeUI7Z0JBQy9CLEtBQUssRUFBRSxDQUFDO2FBQ1Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixJQUFJLGtDQUEyQjtnQkFDL0IsVUFBVSxpRUFBd0M7Z0JBQ2xELGNBQWMsaUNBQTRCO2dCQUMxQyxLQUFLLEVBQUUsQ0FBQzthQUNUO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsSUFBSSxrQ0FBMkI7Z0JBQy9CLFVBQVUsaUVBQXdDO2dCQUNsRCxjQUFjLGlDQUE0QjtnQkFDMUMsS0FBSyxFQUFFLENBQUM7YUFDVDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlTGF5b3V0VHlwZSwgUm91dGVzU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBlVGhlbWVTaGFyZWRSb3V0ZU5hbWVzIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlSWRlbnRpdHlQb2xpY3lOYW1lcyB9IGZyb20gJy4uL2VudW1zL3BvbGljeS1uYW1lcyc7XG5pbXBvcnQgeyBlSWRlbnRpdHlSb3V0ZU5hbWVzIH0gZnJvbSAnLi4vZW51bXMvcm91dGUtbmFtZXMnO1xuXG5leHBvcnQgY29uc3QgSURFTlRJVFlfUk9VVEVfUFJPVklERVJTID0gW1xuICB7IHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUiwgdXNlRmFjdG9yeTogY29uZmlndXJlUm91dGVzLCBkZXBzOiBbUm91dGVzU2VydmljZV0sIG11bHRpOiB0cnVlIH0sXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlUm91dGVzKHJvdXRlc1NlcnZpY2U6IFJvdXRlc1NlcnZpY2UpIHtcbiAgcmV0dXJuICgpID0+IHtcbiAgICByb3V0ZXNTZXJ2aWNlLmFkZChbXG4gICAgICB7XG4gICAgICAgIHBhdGg6IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZTogZUlkZW50aXR5Um91dGVOYW1lcy5JZGVudGl0eU1hbmFnZW1lbnQsXG4gICAgICAgIHBhcmVudE5hbWU6IGVUaGVtZVNoYXJlZFJvdXRlTmFtZXMuQWRtaW5pc3RyYXRpb24sXG4gICAgICAgIHJlcXVpcmVkUG9saWN5OiBlSWRlbnRpdHlQb2xpY3lOYW1lcy5JZGVudGl0eU1hbmFnZW1lbnQsXG4gICAgICAgIGljb25DbGFzczogJ2ZhIGZhLWlkLWNhcmQtbycsXG4gICAgICAgIGxheW91dDogZUxheW91dFR5cGUuYXBwbGljYXRpb24sXG4gICAgICAgIG9yZGVyOiAxLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJy9pZGVudGl0eS9yb2xlcycsXG4gICAgICAgIG5hbWU6IGVJZGVudGl0eVJvdXRlTmFtZXMuUm9sZXMsXG4gICAgICAgIHBhcmVudE5hbWU6IGVJZGVudGl0eVJvdXRlTmFtZXMuSWRlbnRpdHlNYW5hZ2VtZW50LFxuICAgICAgICByZXF1aXJlZFBvbGljeTogZUlkZW50aXR5UG9saWN5TmFtZXMuUm9sZXMsXG4gICAgICAgIG9yZGVyOiAxLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJy9pZGVudGl0eS91c2VycycsXG4gICAgICAgIG5hbWU6IGVJZGVudGl0eVJvdXRlTmFtZXMuVXNlcnMsXG4gICAgICAgIHBhcmVudE5hbWU6IGVJZGVudGl0eVJvdXRlTmFtZXMuSWRlbnRpdHlNYW5hZ2VtZW50LFxuICAgICAgICByZXF1aXJlZFBvbGljeTogZUlkZW50aXR5UG9saWN5TmFtZXMuVXNlcnMsXG4gICAgICAgIG9yZGVyOiAyLFxuICAgICAgfSxcbiAgICBdKTtcbiAgfTtcbn1cbiJdfQ==
@@ -1,4 +1,4 @@
1
- export * from './enums';
2
- export * from './identity-config.module';
3
- export * from './providers';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L2NvbmZpZy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnVtcyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaWRlbnRpdHktY29uZmlnLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZXJzJztcclxuIl19
1
+ export * from './enums';
2
+ export * from './identity-config.module';
3
+ export * from './providers';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L2NvbmZpZy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnVtcyc7XG5leHBvcnQgKiBmcm9tICcuL2lkZW50aXR5LWNvbmZpZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuIl19
@@ -1,3 +1,3 @@
1
- export * from './roles/roles.component';
2
- export * from './users/users.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pZGVudGl0eS9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb2xlcy9yb2xlcy5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3VzZXJzL3VzZXJzLmNvbXBvbmVudCc7XHJcbiJdfQ==
1
+ export * from './roles/roles.component';
2
+ export * from './users/users.component';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pZGVudGl0eS9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb2xlcy9yb2xlcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91c2Vycy91c2Vycy5jb21wb25lbnQnO1xuIl19
@@ -1,112 +1,112 @@
1
- import { ListService } from '@abp/ng.core';
2
- import { IdentityRoleService } from '@abp/ng.identity/proxy';
3
- import { Confirmation, ConfirmationService } from '@abp/ng.theme.shared';
4
- import { EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, } from '@abp/ng.theme.shared/extensions';
5
- import { Component, Injector } from '@angular/core';
6
- import { finalize } from 'rxjs/operators';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@abp/ng.core";
9
- import * as i2 from "@abp/ng.theme.shared";
10
- import * as i3 from "@abp/ng.identity/proxy";
11
- import * as i4 from "@abp/ng.theme.shared/extensions";
12
- import * as i5 from "@abp/ng.permission-management";
13
- import * as i6 from "@angular/forms";
14
- import * as i7 from "@ngx-validate/core";
15
- export class RolesComponent {
16
- constructor(list, confirmationService, injector, service) {
17
- this.list = list;
18
- this.confirmationService = confirmationService;
19
- this.injector = injector;
20
- this.service = service;
21
- this.data = { items: [], totalCount: 0 };
22
- this.visiblePermissions = false;
23
- this.modalBusy = false;
24
- this.permissionManagementKey = "PermissionManagement.PermissionManagementComponent" /* PermissionManagement */;
25
- this.onVisiblePermissionChange = event => {
26
- this.visiblePermissions = event;
27
- };
28
- }
29
- ngOnInit() {
30
- this.hookToQuery();
31
- }
32
- buildForm() {
33
- const data = new FormPropData(this.injector, this.selected);
34
- this.form = generateFormFromProps(data);
35
- }
36
- openModal() {
37
- this.buildForm();
38
- this.isModalVisible = true;
39
- }
40
- add() {
41
- this.selected = {};
42
- this.openModal();
43
- }
44
- edit(id) {
45
- this.service.get(id).subscribe(res => {
46
- this.selected = res;
47
- this.openModal();
48
- });
49
- }
50
- save() {
51
- if (!this.form.valid)
52
- return;
53
- this.modalBusy = true;
54
- const { id } = this.selected;
55
- (id
56
- ? this.service.update(id, Object.assign(Object.assign({}, this.selected), this.form.value))
57
- : this.service.create(this.form.value))
58
- .pipe(finalize(() => (this.modalBusy = false)))
59
- .subscribe(() => {
60
- this.isModalVisible = false;
61
- this.list.get();
62
- });
63
- }
64
- delete(id, name) {
65
- this.confirmationService
66
- .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {
67
- messageLocalizationParams: [name],
68
- })
69
- .subscribe((status) => {
70
- if (status === Confirmation.Status.confirm) {
71
- this.service.delete(id).subscribe(() => this.list.get());
72
- }
73
- });
74
- }
75
- hookToQuery() {
76
- this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res));
77
- }
78
- openPermissionsModal(providerKey) {
79
- this.providerKey = providerKey;
80
- setTimeout(() => {
81
- this.visiblePermissions = true;
82
- }, 0);
83
- }
84
- sort(data) {
85
- const { prop, dir } = data.sorts[0];
86
- this.list.sortKey = prop;
87
- this.list.sortOrder = dir;
88
- }
89
- }
90
- RolesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RolesComponent, deps: [{ token: i1.ListService }, { token: i2.ConfirmationService }, { token: i0.Injector }, { token: i3.IdentityRoleService }], target: i0.ɵɵFactoryTarget.Component });
91
- RolesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RolesComponent, selector: "abp-roles", providers: [
92
- ListService,
93
- {
94
- provide: EXTENSIONS_IDENTIFIER,
95
- useValue: "Identity.RolesComponent" /* Roles */,
96
- },
97
- ], ngImport: i0, template: "<div id=\"identity-roles-wrapper\" class=\"card\">\r\n <div class=\"card-header\">\r\n <div class=\"row\">\r\n <div class=\"col col-md-6\">\r\n <h5 class=\"card-title\">{{ 'AbpIdentity::Roles' | abpLocalization }}</h5>\r\n </div>\r\n <div class=\"text-end col col-md-6\">\r\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body\">\r\n <abp-extensible-table\r\n [data]=\"data.items\"\r\n [recordsTotal]=\"data.totalCount\"\r\n [list]=\"list\"\r\n ></abp-extensible-table>\r\n </div>\r\n</div>\r\n\r\n<abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\r\n <ng-template #abpHeader>\r\n <h3>{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}</h3>\r\n </ng-template>\r\n\r\n <ng-template #abpBody>\r\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\" validateOnSubmit>\r\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\r\n </form>\r\n </ng-template>\r\n\r\n <ng-template #abpFooter>\r\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\r\n {{ 'AbpIdentity::Cancel' | abpLocalization }}\r\n </button>\r\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"form?.invalid\" (click)=\"save()\">{{\r\n 'AbpIdentity::Save' | abpLocalization\r\n }}</abp-button>\r\n </ng-template>\r\n</abp-modal>\r\n\r\n<abp-permission-management\r\n #abpPermissionManagement=\"abpPermissionManagement\"\r\n *abpReplaceableTemplate=\"\r\n {\r\n inputs: {\r\n providerName: { value: 'R' },\r\n providerKey: { value: providerKey },\r\n visible: { value: visiblePermissions, twoWay: true },\r\n hideBadges: { value: true }\r\n },\r\n outputs: { visibleChange: onVisiblePermissionChange },\r\n componentKey: permissionManagementKey\r\n };\r\n let init = initTemplate\r\n \"\r\n (abpInit)=\"init(abpPermissionManagement)\"\r\n>\r\n</abp-permission-management>\r\n", components: [{ type: i4.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }, { type: i4.ExtensibleTableComponent, selector: "abp-extensible-table", inputs: ["actionsText", "data", "list", "recordsTotal", "actionsColumnWidth", "actionsTemplate"], exportAs: ["abpExtensibleTable"] }, { type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { type: i4.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { type: i5.PermissionManagementComponent, selector: "abp-permission-management", inputs: ["providerName", "providerKey", "hideBadges", "visible"], outputs: ["visibleChange"], exportAs: ["abpPermissionManagement"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { type: i2.ModalCloseDirective, selector: "[abpClose]" }, { type: i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }], pipes: { "abpLocalization": i1.LocalizationPipe } });
98
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RolesComponent, decorators: [{
99
- type: Component,
100
- args: [{
101
- selector: 'abp-roles',
102
- templateUrl: './roles.component.html',
103
- providers: [
104
- ListService,
105
- {
106
- provide: EXTENSIONS_IDENTIFIER,
107
- useValue: "Identity.RolesComponent" /* Roles */,
108
- },
109
- ],
110
- }]
111
- }], ctorParameters: function () { return [{ type: i1.ListService }, { type: i2.ConfirmationService }, { type: i0.Injector }, { type: i3.IdentityRoleService }]; } });
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaWRlbnRpdHkvc3JjL2xpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFrRCxNQUFNLGNBQWMsQ0FBQztBQUMzRixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsWUFBWSxFQUNaLHFCQUFxQixHQUN0QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBYzFDLE1BQU0sT0FBTyxjQUFjO0lBcUJ6QixZQUNrQixJQUFpRCxFQUN2RCxtQkFBd0MsRUFDeEMsUUFBa0IsRUFDbEIsT0FBNEI7UUFIdEIsU0FBSSxHQUFKLElBQUksQ0FBNkM7UUFDdkQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBeEJ4QyxTQUFJLEdBQW9DLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFRckUsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBSTNCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsNEJBQXVC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Q0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELG9CQUFvQixDQUFDLFdBQW1CO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBSTtRQUNQLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQzVCLENBQUM7OzRHQWpHVSxjQUFjO2dHQUFkLGNBQWMsb0NBUmQ7UUFDVCxXQUFXO1FBQ1g7WUFDRSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsdUNBQTJCO1NBQ3BDO0tBQ0YsMEJDdkJILCtnRUE0REE7NEZEbkNhLGNBQWM7a0JBWDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRTt3QkFDVCxXQUFXO3dCQUNYOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsdUNBQTJCO3lCQUNwQztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RTZXJ2aWNlLCBQYWdlZEFuZFNvcnRlZFJlc3VsdFJlcXVlc3REdG8sIFBhZ2VkUmVzdWx0RHRvIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcclxuaW1wb3J0IHsgSWRlbnRpdHlSb2xlRHRvLCBJZGVudGl0eVJvbGVTZXJ2aWNlIH0gZnJvbSAnQGFicC9uZy5pZGVudGl0eS9wcm94eSc7XHJcbmltcG9ydCB7IGVQZXJtaXNzaW9uTWFuYWdlbWVudENvbXBvbmVudHMgfSBmcm9tICdAYWJwL25nLnBlcm1pc3Npb24tbWFuYWdlbWVudCc7XHJcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcclxuaW1wb3J0IHtcclxuICBFWFRFTlNJT05TX0lERU5USUZJRVIsXHJcbiAgRm9ybVByb3BEYXRhLFxyXG4gIGdlbmVyYXRlRm9ybUZyb21Qcm9wcyxcclxufSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgZmluYWxpemUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGVJZGVudGl0eUNvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9lbnVtcy9jb21wb25lbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYWJwLXJvbGVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcm9sZXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgTGlzdFNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IEVYVEVOU0lPTlNfSURFTlRJRklFUixcclxuICAgICAgdXNlVmFsdWU6IGVJZGVudGl0eUNvbXBvbmVudHMuUm9sZXMsXHJcbiAgICB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb2xlc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZGF0YTogUGFnZWRSZXN1bHREdG88SWRlbnRpdHlSb2xlRHRvPiA9IHsgaXRlbXM6IFtdLCB0b3RhbENvdW50OiAwIH07XHJcblxyXG4gIGZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgc2VsZWN0ZWQ6IElkZW50aXR5Um9sZUR0bztcclxuXHJcbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XHJcblxyXG4gIHZpc2libGVQZXJtaXNzaW9ucyA9IGZhbHNlO1xyXG5cclxuICBwcm92aWRlcktleTogc3RyaW5nO1xyXG5cclxuICBtb2RhbEJ1c3kgPSBmYWxzZTtcclxuXHJcbiAgcGVybWlzc2lvbk1hbmFnZW1lbnRLZXkgPSBlUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnRzLlBlcm1pc3Npb25NYW5hZ2VtZW50O1xyXG5cclxuICBvblZpc2libGVQZXJtaXNzaW9uQ2hhbmdlID0gZXZlbnQgPT4ge1xyXG4gICAgdGhpcy52aXNpYmxlUGVybWlzc2lvbnMgPSBldmVudDtcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZWFkb25seSBsaXN0OiBMaXN0U2VydmljZTxQYWdlZEFuZFNvcnRlZFJlc3VsdFJlcXVlc3REdG8+LFxyXG4gICAgcHJvdGVjdGVkIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxyXG4gICAgcHJvdGVjdGVkIHNlcnZpY2U6IElkZW50aXR5Um9sZVNlcnZpY2UsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuaG9va1RvUXVlcnkoKTtcclxuICB9XHJcblxyXG4gIGJ1aWxkRm9ybSgpIHtcclxuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybVByb3BEYXRhKHRoaXMuaW5qZWN0b3IsIHRoaXMuc2VsZWN0ZWQpO1xyXG4gICAgdGhpcy5mb3JtID0gZ2VuZXJhdGVGb3JtRnJvbVByb3BzKGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgb3Blbk1vZGFsKCkge1xyXG4gICAgdGhpcy5idWlsZEZvcm0oKTtcclxuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgYWRkKCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHt9IGFzIElkZW50aXR5Um9sZUR0bztcclxuICAgIHRoaXMub3Blbk1vZGFsKCk7XHJcbiAgfVxyXG5cclxuICBlZGl0KGlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc2VydmljZS5nZXQoaWQpLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gcmVzO1xyXG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzYXZlKCkge1xyXG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHJldHVybjtcclxuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcclxuXHJcbiAgICBjb25zdCB7IGlkIH0gPSB0aGlzLnNlbGVjdGVkO1xyXG4gICAgKGlkXHJcbiAgICAgID8gdGhpcy5zZXJ2aWNlLnVwZGF0ZShpZCwgeyAuLi50aGlzLnNlbGVjdGVkLCAuLi50aGlzLmZvcm0udmFsdWUgfSlcclxuICAgICAgOiB0aGlzLnNlcnZpY2UuY3JlYXRlKHRoaXMuZm9ybS52YWx1ZSlcclxuICAgIClcclxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubW9kYWxCdXN5ID0gZmFsc2UpKSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubGlzdC5nZXQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGUoaWQ6IHN0cmluZywgbmFtZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcclxuICAgICAgLndhcm4oJ0FicElkZW50aXR5OjpSb2xlRGVsZXRpb25Db25maXJtYXRpb25NZXNzYWdlJywgJ0FicElkZW50aXR5OjpBcmVZb3VTdXJlJywge1xyXG4gICAgICAgIG1lc3NhZ2VMb2NhbGl6YXRpb25QYXJhbXM6IFtuYW1lXSxcclxuICAgICAgfSlcclxuICAgICAgLnN1YnNjcmliZSgoc3RhdHVzOiBDb25maXJtYXRpb24uU3RhdHVzKSA9PiB7XHJcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSB7XHJcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlKGlkKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5saXN0LmdldCgpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBob29rVG9RdWVyeSgpIHtcclxuICAgIHRoaXMubGlzdC5ob29rVG9RdWVyeShxdWVyeSA9PiB0aGlzLnNlcnZpY2UuZ2V0TGlzdChxdWVyeSkpLnN1YnNjcmliZShyZXMgPT4gKHRoaXMuZGF0YSA9IHJlcykpO1xyXG4gIH1cclxuXHJcbiAgb3BlblBlcm1pc3Npb25zTW9kYWwocHJvdmlkZXJLZXk6IHN0cmluZykge1xyXG4gICAgdGhpcy5wcm92aWRlcktleSA9IHByb3ZpZGVyS2V5O1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gdHJ1ZTtcclxuICAgIH0sIDApO1xyXG4gIH1cclxuXHJcbiAgc29ydChkYXRhKSB7XHJcbiAgICBjb25zdCB7IHByb3AsIGRpciB9ID0gZGF0YS5zb3J0c1swXTtcclxuICAgIHRoaXMubGlzdC5zb3J0S2V5ID0gcHJvcDtcclxuICAgIHRoaXMubGlzdC5zb3J0T3JkZXIgPSBkaXI7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgaWQ9XCJpZGVudGl0eS1yb2xlcy13cmFwcGVyXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLW1kLTZcIj5cclxuICAgICAgICA8aDUgY2xhc3M9XCJjYXJkLXRpdGxlXCI+e3sgJ0FicElkZW50aXR5OjpSb2xlcycgfCBhYnBMb2NhbGl6YXRpb24gfX08L2g1PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZW5kIGNvbCBjb2wtbWQtNlwiPlxyXG4gICAgICAgIDxhYnAtcGFnZS10b29sYmFyIFtyZWNvcmRdPVwiZGF0YS5pdGVtc1wiPjwvYWJwLXBhZ2UtdG9vbGJhcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgPGFicC1leHRlbnNpYmxlLXRhYmxlXHJcbiAgICAgIFtkYXRhXT1cImRhdGEuaXRlbXNcIlxyXG4gICAgICBbcmVjb3Jkc1RvdGFsXT1cImRhdGEudG90YWxDb3VudFwiXHJcbiAgICAgIFtsaXN0XT1cImxpc3RcIlxyXG4gICAgPjwvYWJwLWV4dGVuc2libGUtdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGFicC1tb2RhbCBbKHZpc2libGUpXT1cImlzTW9kYWxWaXNpYmxlXCIgW2J1c3ldPVwibW9kYWxCdXN5XCI+XHJcbiAgPG5nLXRlbXBsYXRlICNhYnBIZWFkZXI+XHJcbiAgICA8aDM+e3sgKHNlbGVjdGVkPy5pZCA/ICdBYnBJZGVudGl0eTo6RWRpdCcgOiAnQWJwSWRlbnRpdHk6Ok5ld1JvbGUnKSB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxyXG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtXCIgKG5nU3VibWl0KT1cInNhdmUoKVwiIHZhbGlkYXRlT25TdWJtaXQ+XHJcbiAgICAgIDxhYnAtZXh0ZW5zaWJsZS1mb3JtIFtzZWxlY3RlZFJlY29yZF09XCJzZWxlY3RlZFwiPjwvYWJwLWV4dGVuc2libGUtZm9ybT5cclxuICAgIDwvZm9ybT5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cclxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zZWNvbmRhcnlcIiBhYnBDbG9zZT5cclxuICAgICAge3sgJ0FicElkZW50aXR5OjpDYW5jZWwnIHwgYWJwTG9jYWxpemF0aW9uIH19XHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxhYnAtYnV0dG9uIGljb25DbGFzcz1cImZhIGZhLWNoZWNrXCIgW2Rpc2FibGVkXT1cImZvcm0/LmludmFsaWRcIiAoY2xpY2spPVwic2F2ZSgpXCI+e3tcclxuICAgICAgJ0FicElkZW50aXR5OjpTYXZlJyB8IGFicExvY2FsaXphdGlvblxyXG4gICAgfX08L2FicC1idXR0b24+XHJcbiAgPC9uZy10ZW1wbGF0ZT5cclxuPC9hYnAtbW9kYWw+XHJcblxyXG48YWJwLXBlcm1pc3Npb24tbWFuYWdlbWVudFxyXG4gICNhYnBQZXJtaXNzaW9uTWFuYWdlbWVudD1cImFicFBlcm1pc3Npb25NYW5hZ2VtZW50XCJcclxuICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIlxyXG4gICAge1xyXG4gICAgICBpbnB1dHM6IHtcclxuICAgICAgICBwcm92aWRlck5hbWU6IHsgdmFsdWU6ICdSJyB9LFxyXG4gICAgICAgIHByb3ZpZGVyS2V5OiB7IHZhbHVlOiBwcm92aWRlcktleSB9LFxyXG4gICAgICAgIHZpc2libGU6IHsgdmFsdWU6IHZpc2libGVQZXJtaXNzaW9ucywgdHdvV2F5OiB0cnVlIH0sXHJcbiAgICAgICAgaGlkZUJhZGdlczogeyB2YWx1ZTogdHJ1ZSB9XHJcbiAgICAgIH0sXHJcbiAgICAgIG91dHB1dHM6IHsgdmlzaWJsZUNoYW5nZTogb25WaXNpYmxlUGVybWlzc2lvbkNoYW5nZSB9LFxyXG4gICAgICBjb21wb25lbnRLZXk6IHBlcm1pc3Npb25NYW5hZ2VtZW50S2V5XHJcbiAgICB9O1xyXG4gICAgbGV0IGluaXQgPSBpbml0VGVtcGxhdGVcclxuICBcIlxyXG4gIChhYnBJbml0KT1cImluaXQoYWJwUGVybWlzc2lvbk1hbmFnZW1lbnQpXCJcclxuPlxyXG48L2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQ+XHJcbiJdfQ==
1
+ import { ListService } from '@abp/ng.core';
2
+ import { IdentityRoleService } from '@abp/ng.identity/proxy';
3
+ import { Confirmation, ConfirmationService } from '@abp/ng.theme.shared';
4
+ import { EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, } from '@abp/ng.theme.shared/extensions';
5
+ import { Component, Injector } from '@angular/core';
6
+ import { finalize } from 'rxjs/operators';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@abp/ng.core";
9
+ import * as i2 from "@abp/ng.theme.shared";
10
+ import * as i3 from "@abp/ng.identity/proxy";
11
+ import * as i4 from "@abp/ng.theme.shared/extensions";
12
+ import * as i5 from "@abp/ng.permission-management";
13
+ import * as i6 from "@angular/forms";
14
+ import * as i7 from "@ngx-validate/core";
15
+ export class RolesComponent {
16
+ constructor(list, confirmationService, injector, service) {
17
+ this.list = list;
18
+ this.confirmationService = confirmationService;
19
+ this.injector = injector;
20
+ this.service = service;
21
+ this.data = { items: [], totalCount: 0 };
22
+ this.visiblePermissions = false;
23
+ this.modalBusy = false;
24
+ this.permissionManagementKey = "PermissionManagement.PermissionManagementComponent" /* PermissionManagement */;
25
+ this.onVisiblePermissionChange = event => {
26
+ this.visiblePermissions = event;
27
+ };
28
+ }
29
+ ngOnInit() {
30
+ this.hookToQuery();
31
+ }
32
+ buildForm() {
33
+ const data = new FormPropData(this.injector, this.selected);
34
+ this.form = generateFormFromProps(data);
35
+ }
36
+ openModal() {
37
+ this.buildForm();
38
+ this.isModalVisible = true;
39
+ }
40
+ add() {
41
+ this.selected = {};
42
+ this.openModal();
43
+ }
44
+ edit(id) {
45
+ this.service.get(id).subscribe(res => {
46
+ this.selected = res;
47
+ this.openModal();
48
+ });
49
+ }
50
+ save() {
51
+ if (!this.form.valid)
52
+ return;
53
+ this.modalBusy = true;
54
+ const { id } = this.selected;
55
+ (id
56
+ ? this.service.update(id, Object.assign(Object.assign({}, this.selected), this.form.value))
57
+ : this.service.create(this.form.value))
58
+ .pipe(finalize(() => (this.modalBusy = false)))
59
+ .subscribe(() => {
60
+ this.isModalVisible = false;
61
+ this.list.get();
62
+ });
63
+ }
64
+ delete(id, name) {
65
+ this.confirmationService
66
+ .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {
67
+ messageLocalizationParams: [name],
68
+ })
69
+ .subscribe((status) => {
70
+ if (status === Confirmation.Status.confirm) {
71
+ this.service.delete(id).subscribe(() => this.list.get());
72
+ }
73
+ });
74
+ }
75
+ hookToQuery() {
76
+ this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res));
77
+ }
78
+ openPermissionsModal(providerKey) {
79
+ this.providerKey = providerKey;
80
+ setTimeout(() => {
81
+ this.visiblePermissions = true;
82
+ }, 0);
83
+ }
84
+ sort(data) {
85
+ const { prop, dir } = data.sorts[0];
86
+ this.list.sortKey = prop;
87
+ this.list.sortOrder = dir;
88
+ }
89
+ }
90
+ RolesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RolesComponent, deps: [{ token: i1.ListService }, { token: i2.ConfirmationService }, { token: i0.Injector }, { token: i3.IdentityRoleService }], target: i0.ɵɵFactoryTarget.Component });
91
+ RolesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RolesComponent, selector: "abp-roles", providers: [
92
+ ListService,
93
+ {
94
+ provide: EXTENSIONS_IDENTIFIER,
95
+ useValue: "Identity.RolesComponent" /* Roles */,
96
+ },
97
+ ], ngImport: i0, template: "<div id=\"identity-roles-wrapper\" class=\"card\">\n <div class=\"card-header\">\n <div class=\"row\">\n <div class=\"col col-md-6\">\n <h5 class=\"card-title\">{{ 'AbpIdentity::Roles' | abpLocalization }}</h5>\n </div>\n <div class=\"text-end col col-md-6\">\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\n </div>\n </div>\n </div>\n\n <div class=\"card-body\">\n <abp-extensible-table\n [data]=\"data.items\"\n [recordsTotal]=\"data.totalCount\"\n [list]=\"list\"\n ></abp-extensible-table>\n </div>\n</div>\n\n<abp-modal [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\n <ng-template #abpHeader>\n <h3>{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewRole') | abpLocalization }}</h3>\n </ng-template>\n\n <ng-template #abpBody>\n <form [formGroup]=\"form\" (ngSubmit)=\"save()\" validateOnSubmit>\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\n </form>\n </ng-template>\n\n <ng-template #abpFooter>\n <button type=\"button\" class=\"btn btn-secondary\" abpClose>\n {{ 'AbpIdentity::Cancel' | abpLocalization }}\n </button>\n <abp-button iconClass=\"fa fa-check\" [disabled]=\"form?.invalid\" (click)=\"save()\">{{\n 'AbpIdentity::Save' | abpLocalization\n }}</abp-button>\n </ng-template>\n</abp-modal>\n\n<abp-permission-management\n #abpPermissionManagement=\"abpPermissionManagement\"\n *abpReplaceableTemplate=\"\n {\n inputs: {\n providerName: { value: 'R' },\n providerKey: { value: providerKey },\n visible: { value: visiblePermissions, twoWay: true },\n hideBadges: { value: true }\n },\n outputs: { visibleChange: onVisiblePermissionChange },\n componentKey: permissionManagementKey\n };\n let init = initTemplate\n \"\n (abpInit)=\"init(abpPermissionManagement)\"\n>\n</abp-permission-management>\n", components: [{ type: i4.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }, { type: i4.ExtensibleTableComponent, selector: "abp-extensible-table", inputs: ["actionsText", "data", "list", "recordsTotal", "actionsColumnWidth", "actionsTemplate"], exportAs: ["abpExtensibleTable"] }, { type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { type: i4.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { type: i5.PermissionManagementComponent, selector: "abp-permission-management", inputs: ["providerName", "providerKey", "hideBadges", "visible"], outputs: ["visibleChange"], exportAs: ["abpPermissionManagement"] }], directives: [{ type: i6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", exportAs: ["validationGroup"] }, { type: i2.ModalCloseDirective, selector: "[abpClose]" }, { type: i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }], pipes: { "abpLocalization": i1.LocalizationPipe } });
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0, type: RolesComponent, decorators: [{
99
+ type: Component,
100
+ args: [{
101
+ selector: 'abp-roles',
102
+ templateUrl: './roles.component.html',
103
+ providers: [
104
+ ListService,
105
+ {
106
+ provide: EXTENSIONS_IDENTIFIER,
107
+ useValue: "Identity.RolesComponent" /* Roles */,
108
+ },
109
+ ],
110
+ }]
111
+ }], ctorParameters: function () { return [{ type: i1.ListService }, { type: i2.ConfirmationService }, { type: i0.Injector }, { type: i3.IdentityRoleService }]; } });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaWRlbnRpdHkvc3JjL2xpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFrRCxNQUFNLGNBQWMsQ0FBQztBQUMzRixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUUsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsWUFBWSxFQUNaLHFCQUFxQixHQUN0QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRTVELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7O0FBYzFDLE1BQU0sT0FBTyxjQUFjO0lBcUJ6QixZQUNrQixJQUFpRCxFQUN2RCxtQkFBd0MsRUFDeEMsUUFBa0IsRUFDbEIsT0FBNEI7UUFIdEIsU0FBSSxHQUFKLElBQUksQ0FBNkM7UUFDdkQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4QyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ2xCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBeEJ4QyxTQUFJLEdBQW9DLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLENBQUM7UUFRckUsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBSTNCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFFbEIsNEJBQXVC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Q0FBQyxDQUFDLENBQUM7SUFDbEcsQ0FBQztJQUVELG9CQUFvQixDQUFDLFdBQW1CO1FBQ3RDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO1FBQy9CLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO1FBQ2pDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7SUFFRCxJQUFJLENBQUMsSUFBSTtRQUNQLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNwQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO0lBQzVCLENBQUM7OzRHQWpHVSxjQUFjO2dHQUFkLGNBQWMsb0NBUmQ7UUFDVCxXQUFXO1FBQ1g7WUFDRSxPQUFPLEVBQUUscUJBQXFCO1lBQzlCLFFBQVEsdUNBQTJCO1NBQ3BDO0tBQ0YsMEJDdkJILHU1REE0REE7NEZEbkNhLGNBQWM7a0JBWDFCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFdBQVcsRUFBRSx3QkFBd0I7b0JBQ3JDLFNBQVMsRUFBRTt3QkFDVCxXQUFXO3dCQUNYOzRCQUNFLE9BQU8sRUFBRSxxQkFBcUI7NEJBQzlCLFFBQVEsdUNBQTJCO3lCQUNwQztxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RTZXJ2aWNlLCBQYWdlZEFuZFNvcnRlZFJlc3VsdFJlcXVlc3REdG8sIFBhZ2VkUmVzdWx0RHRvIH0gZnJvbSAnQGFicC9uZy5jb3JlJztcbmltcG9ydCB7IElkZW50aXR5Um9sZUR0bywgSWRlbnRpdHlSb2xlU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuaWRlbnRpdHkvcHJveHknO1xuaW1wb3J0IHsgZVBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50cyB9IGZyb20gJ0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7XG4gIEVYVEVOU0lPTlNfSURFTlRJRklFUixcbiAgRm9ybVByb3BEYXRhLFxuICBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMsXG59IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3RvciwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IGVJZGVudGl0eUNvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9lbnVtcy9jb21wb25lbnRzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYWJwLXJvbGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JvbGVzLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgTGlzdFNlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogRVhURU5TSU9OU19JREVOVElGSUVSLFxuICAgICAgdXNlVmFsdWU6IGVJZGVudGl0eUNvbXBvbmVudHMuUm9sZXMsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUm9sZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBkYXRhOiBQYWdlZFJlc3VsdER0bzxJZGVudGl0eVJvbGVEdG8+ID0geyBpdGVtczogW10sIHRvdGFsQ291bnQ6IDAgfTtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5Um9sZUR0bztcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICB2aXNpYmxlUGVybWlzc2lvbnMgPSBmYWxzZTtcblxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIG1vZGFsQnVzeSA9IGZhbHNlO1xuXG4gIHBlcm1pc3Npb25NYW5hZ2VtZW50S2V5ID0gZVBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50cy5QZXJtaXNzaW9uTWFuYWdlbWVudDtcblxuICBvblZpc2libGVQZXJtaXNzaW9uQ2hhbmdlID0gZXZlbnQgPT4ge1xuICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gZXZlbnQ7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGxpc3Q6IExpc3RTZXJ2aWNlPFBhZ2VkQW5kU29ydGVkUmVzdWx0UmVxdWVzdER0bz4sXG4gICAgcHJvdGVjdGVkIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcm90ZWN0ZWQgc2VydmljZTogSWRlbnRpdHlSb2xlU2VydmljZSxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaG9va1RvUXVlcnkoKTtcbiAgfVxuXG4gIGJ1aWxkRm9ybSgpIHtcbiAgICBjb25zdCBkYXRhID0gbmV3IEZvcm1Qcm9wRGF0YSh0aGlzLmluamVjdG9yLCB0aGlzLnNlbGVjdGVkKTtcbiAgICB0aGlzLmZvcm0gPSBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMoZGF0YSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIGFkZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge30gYXMgSWRlbnRpdHlSb2xlRHRvO1xuICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gIH1cblxuICBlZGl0KGlkOiBzdHJpbmcpIHtcbiAgICB0aGlzLnNlcnZpY2UuZ2V0KGlkKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSByZXM7XG4gICAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICAgIH0pO1xuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICBpZiAoIXRoaXMuZm9ybS52YWxpZCkgcmV0dXJuO1xuICAgIHRoaXMubW9kYWxCdXN5ID0gdHJ1ZTtcblxuICAgIGNvbnN0IHsgaWQgfSA9IHRoaXMuc2VsZWN0ZWQ7XG4gICAgKGlkXG4gICAgICA/IHRoaXMuc2VydmljZS51cGRhdGUoaWQsIHsgLi4udGhpcy5zZWxlY3RlZCwgLi4udGhpcy5mb3JtLnZhbHVlIH0pXG4gICAgICA6IHRoaXMuc2VydmljZS5jcmVhdGUodGhpcy5mb3JtLnZhbHVlKVxuICAgIClcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLm1vZGFsQnVzeSA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxpc3QuZ2V0KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6Um9sZURlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogQ29uZmlybWF0aW9uLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBDb25maXJtYXRpb24uU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnNlcnZpY2UuZGVsZXRlKGlkKS5zdWJzY3JpYmUoKCkgPT4gdGhpcy5saXN0LmdldCgpKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhvb2tUb1F1ZXJ5KCkge1xuICAgIHRoaXMubGlzdC5ob29rVG9RdWVyeShxdWVyeSA9PiB0aGlzLnNlcnZpY2UuZ2V0TGlzdChxdWVyeSkpLnN1YnNjcmliZShyZXMgPT4gKHRoaXMuZGF0YSA9IHJlcykpO1xuICB9XG5cbiAgb3BlblBlcm1pc3Npb25zTW9kYWwocHJvdmlkZXJLZXk6IHN0cmluZykge1xuICAgIHRoaXMucHJvdmlkZXJLZXkgPSBwcm92aWRlcktleTtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gdHJ1ZTtcbiAgICB9LCAwKTtcbiAgfVxuXG4gIHNvcnQoZGF0YSkge1xuICAgIGNvbnN0IHsgcHJvcCwgZGlyIH0gPSBkYXRhLnNvcnRzWzBdO1xuICAgIHRoaXMubGlzdC5zb3J0S2V5ID0gcHJvcDtcbiAgICB0aGlzLmxpc3Quc29ydE9yZGVyID0gZGlyO1xuICB9XG59XG4iLCI8ZGl2IGlkPVwiaWRlbnRpdHktcm9sZXMtd3JhcHBlclwiIGNsYXNzPVwiY2FyZFwiPlxuICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29sIGNvbC1tZC02XCI+XG4gICAgICAgIDxoNSBjbGFzcz1cImNhcmQtdGl0bGVcIj57eyAnQWJwSWRlbnRpdHk6OlJvbGVzJyB8IGFicExvY2FsaXphdGlvbiB9fTwvaDU+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWVuZCBjb2wgY29sLW1kLTZcIj5cbiAgICAgICAgPGFicC1wYWdlLXRvb2xiYXIgW3JlY29yZF09XCJkYXRhLml0ZW1zXCI+PC9hYnAtcGFnZS10b29sYmFyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cbiAgICA8YWJwLWV4dGVuc2libGUtdGFibGVcbiAgICAgIFtkYXRhXT1cImRhdGEuaXRlbXNcIlxuICAgICAgW3JlY29yZHNUb3RhbF09XCJkYXRhLnRvdGFsQ291bnRcIlxuICAgICAgW2xpc3RdPVwibGlzdFwiXG4gICAgPjwvYWJwLWV4dGVuc2libGUtdGFibGU+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxhYnAtbW9kYWwgWyh2aXNpYmxlKV09XCJpc01vZGFsVmlzaWJsZVwiIFtidXN5XT1cIm1vZGFsQnVzeVwiPlxuICA8bmctdGVtcGxhdGUgI2FicEhlYWRlcj5cbiAgICA8aDM+e3sgKHNlbGVjdGVkPy5pZCA/ICdBYnBJZGVudGl0eTo6RWRpdCcgOiAnQWJwSWRlbnRpdHk6Ok5ld1JvbGUnKSB8IGFicExvY2FsaXphdGlvbiB9fTwvaDM+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgPG5nLXRlbXBsYXRlICNhYnBCb2R5PlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIChuZ1N1Ym1pdCk9XCJzYXZlKClcIiB2YWxpZGF0ZU9uU3VibWl0PlxuICAgICAgPGFicC1leHRlbnNpYmxlLWZvcm0gW3NlbGVjdGVkUmVjb3JkXT1cInNlbGVjdGVkXCI+PC9hYnAtZXh0ZW5zaWJsZS1mb3JtPlxuICAgIDwvZm9ybT5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuICA8bmctdGVtcGxhdGUgI2FicEZvb3Rlcj5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgYWJwQ2xvc2U+XG4gICAgICB7eyAnQWJwSWRlbnRpdHk6OkNhbmNlbCcgfCBhYnBMb2NhbGl6YXRpb24gfX1cbiAgICA8L2J1dHRvbj5cbiAgICA8YWJwLWJ1dHRvbiBpY29uQ2xhc3M9XCJmYSBmYS1jaGVja1wiIFtkaXNhYmxlZF09XCJmb3JtPy5pbnZhbGlkXCIgKGNsaWNrKT1cInNhdmUoKVwiPnt7XG4gICAgICAnQWJwSWRlbnRpdHk6OlNhdmUnIHwgYWJwTG9jYWxpemF0aW9uXG4gICAgfX08L2FicC1idXR0b24+XG4gIDwvbmctdGVtcGxhdGU+XG48L2FicC1tb2RhbD5cblxuPGFicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnRcbiAgI2FicFBlcm1pc3Npb25NYW5hZ2VtZW50PVwiYWJwUGVybWlzc2lvbk1hbmFnZW1lbnRcIlxuICAqYWJwUmVwbGFjZWFibGVUZW1wbGF0ZT1cIlxuICAgIHtcbiAgICAgIGlucHV0czoge1xuICAgICAgICBwcm92aWRlck5hbWU6IHsgdmFsdWU6ICdSJyB9LFxuICAgICAgICBwcm92aWRlcktleTogeyB2YWx1ZTogcHJvdmlkZXJLZXkgfSxcbiAgICAgICAgdmlzaWJsZTogeyB2YWx1ZTogdmlzaWJsZVBlcm1pc3Npb25zLCB0d29XYXk6IHRydWUgfSxcbiAgICAgICAgaGlkZUJhZGdlczogeyB2YWx1ZTogdHJ1ZSB9XG4gICAgICB9LFxuICAgICAgb3V0cHV0czogeyB2aXNpYmxlQ2hhbmdlOiBvblZpc2libGVQZXJtaXNzaW9uQ2hhbmdlIH0sXG4gICAgICBjb21wb25lbnRLZXk6IHBlcm1pc3Npb25NYW5hZ2VtZW50S2V5XG4gICAgfTtcbiAgICBsZXQgaW5pdCA9IGluaXRUZW1wbGF0ZVxuICBcIlxuICAoYWJwSW5pdCk9XCJpbml0KGFicFBlcm1pc3Npb25NYW5hZ2VtZW50KVwiXG4+XG48L2FicC1wZXJtaXNzaW9uLW1hbmFnZW1lbnQ+XG4iXX0=