@abp/ng.identity 4.4.3 → 5.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/abp-ng.identity.d.ts +1 -11
  2. package/bundles/abp-ng.identity-config.umd.js +30 -7
  3. package/bundles/abp-ng.identity-config.umd.js.map +1 -1
  4. package/bundles/abp-ng.identity-proxy.umd.js +213 -0
  5. package/bundles/abp-ng.identity-proxy.umd.js.map +1 -0
  6. package/bundles/abp-ng.identity.umd.js +652 -1185
  7. package/bundles/abp-ng.identity.umd.js.map +1 -1
  8. package/config/abp-ng.identity-config.d.ts +1 -1
  9. package/config/identity-config.module.d.ts +4 -0
  10. package/config/package.json +0 -1
  11. package/config/providers/route.provider.d.ts +1 -1
  12. package/esm2015/abp-ng.identity.js +1 -10
  13. package/esm2015/abp-ng.identity.js.map +1 -0
  14. package/esm2015/config/abp-ng.identity-config.js +1 -2
  15. package/esm2015/config/abp-ng.identity-config.js.map +1 -0
  16. package/esm2015/config/enums/index.js +1 -1
  17. package/esm2015/config/enums/index.js.map +1 -0
  18. package/esm2015/config/enums/policy-names.js +1 -1
  19. package/esm2015/config/enums/policy-names.js.map +1 -0
  20. package/esm2015/config/enums/route-names.js +1 -1
  21. package/esm2015/config/enums/route-names.js.map +1 -0
  22. package/esm2015/config/identity-config.module.js +8 -4
  23. package/esm2015/config/identity-config.module.js.map +1 -0
  24. package/esm2015/config/providers/index.js +1 -1
  25. package/esm2015/config/providers/index.js.map +1 -0
  26. package/esm2015/config/providers/route.provider.js +1 -1
  27. package/esm2015/config/providers/route.provider.js.map +1 -0
  28. package/esm2015/config/public-api.js +1 -1
  29. package/esm2015/config/public-api.js.map +1 -0
  30. package/esm2015/lib/components/index.js +1 -1
  31. package/esm2015/lib/components/index.js.map +1 -0
  32. package/esm2015/lib/components/roles/roles.component.js +44 -46
  33. package/esm2015/lib/components/roles/roles.component.js.map +1 -0
  34. package/esm2015/lib/components/users/users.component.js +69 -67
  35. package/esm2015/lib/components/users/users.component.js.map +1 -0
  36. package/esm2015/lib/defaults/default-roles-entity-actions.js +14 -16
  37. package/esm2015/lib/defaults/default-roles-entity-actions.js.map +1 -0
  38. package/esm2015/lib/defaults/default-roles-entity-props.js +13 -15
  39. package/esm2015/lib/defaults/default-roles-entity-props.js.map +1 -0
  40. package/esm2015/lib/defaults/default-roles-form-props.js +3 -5
  41. package/esm2015/lib/defaults/default-roles-form-props.js.map +1 -0
  42. package/esm2015/lib/defaults/default-roles-toolbar-actions.js +5 -7
  43. package/esm2015/lib/defaults/default-roles-toolbar-actions.js.map +1 -0
  44. package/esm2015/lib/defaults/default-users-entity-actions.js +13 -15
  45. package/esm2015/lib/defaults/default-users-entity-actions.js.map +1 -0
  46. package/esm2015/lib/defaults/default-users-entity-props.js +1 -1
  47. package/esm2015/lib/defaults/default-users-entity-props.js.map +1 -0
  48. package/esm2015/lib/defaults/default-users-form-props.js +8 -11
  49. package/esm2015/lib/defaults/default-users-form-props.js.map +1 -0
  50. package/esm2015/lib/defaults/default-users-toolbar-actions.js +5 -7
  51. package/esm2015/lib/defaults/default-users-toolbar-actions.js.map +1 -0
  52. package/esm2015/lib/enums/components.js +1 -1
  53. package/esm2015/lib/enums/components.js.map +1 -0
  54. package/esm2015/lib/enums/index.js +1 -1
  55. package/esm2015/lib/enums/index.js.map +1 -0
  56. package/esm2015/lib/guards/extensions.guard.js +7 -7
  57. package/esm2015/lib/guards/extensions.guard.js.map +1 -0
  58. package/esm2015/lib/guards/index.js +1 -1
  59. package/esm2015/lib/guards/index.js.map +1 -0
  60. package/esm2015/lib/identity-routing.module.js +27 -23
  61. package/esm2015/lib/identity-routing.module.js.map +1 -0
  62. package/esm2015/lib/identity.module.js +38 -20
  63. package/esm2015/lib/identity.module.js.map +1 -0
  64. package/esm2015/lib/models/config-options.js +1 -1
  65. package/esm2015/lib/models/config-options.js.map +1 -0
  66. package/esm2015/lib/models/index.js +1 -2
  67. package/esm2015/lib/models/index.js.map +1 -0
  68. package/esm2015/lib/tokens/extensions.token.js +1 -1
  69. package/esm2015/lib/tokens/extensions.token.js.map +1 -0
  70. package/esm2015/lib/tokens/index.js +1 -1
  71. package/esm2015/lib/tokens/index.js.map +1 -0
  72. package/esm2015/proxy/abp-ng.identity-proxy.js +5 -0
  73. package/esm2015/proxy/abp-ng.identity-proxy.js.map +1 -0
  74. package/esm2015/proxy/lib/index.js +3 -0
  75. package/esm2015/proxy/lib/index.js.map +1 -0
  76. package/esm2015/proxy/lib/proxy/identity/identity-role.service.js +46 -0
  77. package/esm2015/proxy/lib/proxy/identity/identity-role.service.js.map +1 -0
  78. package/esm2015/proxy/lib/proxy/identity/identity-user-lookup.service.js +37 -0
  79. package/esm2015/proxy/lib/proxy/identity/identity-user-lookup.service.js.map +1 -0
  80. package/esm2015/proxy/lib/proxy/identity/identity-user.service.js +63 -0
  81. package/esm2015/proxy/lib/proxy/identity/identity-user.service.js.map +1 -0
  82. package/esm2015/proxy/lib/proxy/identity/index.js +6 -0
  83. package/esm2015/proxy/lib/proxy/identity/index.js.map +1 -0
  84. package/esm2015/proxy/lib/proxy/identity/models.js +2 -0
  85. package/esm2015/proxy/lib/proxy/identity/models.js.map +1 -0
  86. package/esm2015/proxy/lib/proxy/identity/profile.service.js +33 -0
  87. package/esm2015/proxy/lib/proxy/identity/profile.service.js.map +1 -0
  88. package/esm2015/proxy/lib/proxy/users/index.js +2 -0
  89. package/esm2015/proxy/lib/proxy/users/index.js.map +1 -0
  90. package/esm2015/proxy/lib/proxy/users/models.js +2 -0
  91. package/esm2015/proxy/lib/proxy/users/models.js.map +1 -0
  92. package/esm2015/proxy/public-api.js +2 -0
  93. package/esm2015/proxy/public-api.js.map +1 -0
  94. package/esm2015/public-api.js +1 -6
  95. package/esm2015/public-api.js.map +1 -0
  96. package/fesm2015/abp-ng.identity-config.js +8 -4
  97. package/fesm2015/abp-ng.identity-config.js.map +1 -1
  98. package/fesm2015/abp-ng.identity-proxy.js +173 -0
  99. package/fesm2015/abp-ng.identity-proxy.js.map +1 -0
  100. package/fesm2015/abp-ng.identity.js +224 -628
  101. package/fesm2015/abp-ng.identity.js.map +1 -1
  102. package/lib/components/roles/roles.component.d.ts +8 -8
  103. package/lib/components/users/users.component.d.ts +8 -10
  104. package/lib/defaults/default-roles-entity-actions.d.ts +1 -1
  105. package/lib/defaults/default-roles-entity-props.d.ts +1 -1
  106. package/lib/defaults/default-roles-form-props.d.ts +1 -1
  107. package/lib/defaults/default-roles-toolbar-actions.d.ts +1 -1
  108. package/lib/defaults/default-users-entity-actions.d.ts +1 -1
  109. package/lib/defaults/default-users-entity-props.d.ts +1 -1
  110. package/lib/defaults/default-users-form-props.d.ts +1 -1
  111. package/lib/defaults/default-users-toolbar-actions.d.ts +1 -1
  112. package/lib/guards/extensions.guard.d.ts +3 -0
  113. package/lib/identity-routing.module.d.ts +5 -0
  114. package/lib/identity.module.d.ts +13 -0
  115. package/lib/models/config-options.d.ts +1 -1
  116. package/lib/models/index.d.ts +0 -1
  117. package/lib/tokens/extensions.token.d.ts +1 -2
  118. package/package.json +5 -3
  119. package/proxy/abp-ng.identity-proxy.d.ts +5 -0
  120. package/proxy/lib/index.d.ts +2 -0
  121. package/{lib → proxy/lib}/proxy/identity/identity-role.service.d.ts +6 -3
  122. package/{lib → proxy/lib}/proxy/identity/identity-user-lookup.service.d.ts +3 -0
  123. package/{lib → proxy/lib}/proxy/identity/identity-user.service.d.ts +4 -1
  124. package/{lib → proxy/lib}/proxy/identity/index.d.ts +0 -0
  125. package/{lib → proxy/lib}/proxy/identity/models.d.ts +33 -28
  126. package/{lib → proxy/lib}/proxy/identity/profile.service.d.ts +3 -0
  127. package/{lib → proxy/lib}/proxy/users/index.d.ts +0 -0
  128. package/proxy/lib/proxy/users/models.d.ts +11 -0
  129. package/proxy/package.json +10 -0
  130. package/proxy/public-api.d.ts +1 -0
  131. package/public-api.d.ts +0 -5
  132. package/abp-ng.identity.metadata.json +0 -1
  133. package/bundles/abp-ng.identity-config.umd.min.js +0 -2
  134. package/bundles/abp-ng.identity-config.umd.min.js.map +0 -1
  135. package/bundles/abp-ng.identity.umd.min.js +0 -2
  136. package/bundles/abp-ng.identity.umd.min.js.map +0 -1
  137. package/config/abp-ng.identity-config.metadata.json +0 -1
  138. package/esm2015/lib/actions/identity.actions.js +0 -67
  139. package/esm2015/lib/actions/index.js +0 -2
  140. package/esm2015/lib/models/identity.js +0 -2
  141. package/esm2015/lib/proxy/identity/identity-role.service.js +0 -47
  142. package/esm2015/lib/proxy/identity/identity-user-lookup.service.js +0 -38
  143. package/esm2015/lib/proxy/identity/identity-user.service.js +0 -64
  144. package/esm2015/lib/proxy/identity/index.js +0 -6
  145. package/esm2015/lib/proxy/identity/models.js +0 -2
  146. package/esm2015/lib/proxy/identity/profile.service.js +0 -34
  147. package/esm2015/lib/proxy/users/index.js +0 -2
  148. package/esm2015/lib/proxy/users/models.js +0 -2
  149. package/esm2015/lib/services/identity-state.service.js +0 -66
  150. package/esm2015/lib/services/index.js +0 -2
  151. package/esm2015/lib/states/identity.state.js +0 -128
  152. package/esm2015/lib/states/index.js +0 -2
  153. package/lib/actions/identity.actions.d.ts +0 -65
  154. package/lib/actions/index.d.ts +0 -1
  155. package/lib/models/identity.d.ts +0 -11
  156. package/lib/proxy/users/models.d.ts +0 -11
  157. package/lib/services/identity-state.service.d.ts +0 -21
  158. package/lib/services/index.d.ts +0 -1
  159. package/lib/states/identity.state.d.ts +0 -26
  160. package/lib/states/index.d.ts +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-config.module.js","sourceRoot":"","sources":["../../../../../packages/identity/config/src/identity-config.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;;AAGtE,MAAM,OAAO,oBAAoB;IAC/B,MAAM,CAAC,OAAO;QACZ,OAAO;YACL,QAAQ,EAAE,oBAAoB;YAC9B,SAAS,EAAE,CAAC,wBAAwB,CAAC;SACtC,CAAC;IACJ,CAAC;;iHANU,oBAAoB;kHAApB,oBAAoB;kHAApB,oBAAoB;2FAApB,oBAAoB;kBADhC,QAAQ","sourcesContent":["import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { IDENTITY_ROUTE_PROVIDERS } from './providers/route.provider';\n\n@NgModule()\nexport class IdentityConfigModule {\n static forRoot(): ModuleWithProviders<IdentityConfigModule> {\n return {\n ngModule: IdentityConfigModule,\n providers: [IDENTITY_ROUTE_PROVIDERS],\n };\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
1
  export * from './route.provider';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pZGVudGl0eS9jb25maWcvc3JjL3Byb3ZpZGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb3V0ZS5wcm92aWRlcic7XG4iXX0=
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/identity/config/src/providers/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC","sourcesContent":["export * from './route.provider';\n"]}
@@ -32,4 +32,4 @@ export function configureRoutes(routesService) {
32
32
  ]);
33
33
  };
34
34
  }
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUucHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pZGVudGl0eS9jb25maWcvc3JjL3Byb3ZpZGVycy9yb3V0ZS5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJaEQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtDQUM5RixDQUFDO0FBRUYsTUFBTSxVQUFVLGVBQWUsQ0FBQyxhQUE0QjtJQUMxRCxPQUFPLEdBQUcsRUFBRTtRQUNWLGFBQWEsQ0FBQyxHQUFHLENBQUM7WUFDaEI7Z0JBQ0UsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsSUFBSSxpRUFBd0M7Z0JBQzVDLFVBQVUsNkRBQXVDO2dCQUNqRCxjQUFjLG1FQUF5QztnQkFDdkQsU0FBUyxFQUFFLGlCQUFpQjtnQkFDNUIsTUFBTSxpQ0FBeUI7Z0JBQy9CLEtBQUssRUFBRSxDQUFDO2FBQ1Q7WUFDRDtnQkFDRSxJQUFJLEVBQUUsaUJBQWlCO2dCQUN2QixJQUFJLGtDQUEyQjtnQkFDL0IsVUFBVSxpRUFBd0M7Z0JBQ2xELGNBQWMsaUNBQTRCO2dCQUMxQyxLQUFLLEVBQUUsQ0FBQzthQUNUO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGlCQUFpQjtnQkFDdkIsSUFBSSxrQ0FBMkI7Z0JBQy9CLFVBQVUsaUVBQXdDO2dCQUNsRCxjQUFjLGlDQUE0QjtnQkFDMUMsS0FBSyxFQUFFLENBQUM7YUFDVDtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlTGF5b3V0VHlwZSwgUm91dGVzU2VydmljZSB9IGZyb20gJ0BhYnAvbmcuY29yZSc7XG5pbXBvcnQgeyBlVGhlbWVTaGFyZWRSb3V0ZU5hbWVzIH0gZnJvbSAnQGFicC9uZy50aGVtZS5zaGFyZWQnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBlSWRlbnRpdHlQb2xpY3lOYW1lcyB9IGZyb20gJy4uL2VudW1zL3BvbGljeS1uYW1lcyc7XG5pbXBvcnQgeyBlSWRlbnRpdHlSb3V0ZU5hbWVzIH0gZnJvbSAnLi4vZW51bXMvcm91dGUtbmFtZXMnO1xuXG5leHBvcnQgY29uc3QgSURFTlRJVFlfUk9VVEVfUFJPVklERVJTID0gW1xuICB7IHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUiwgdXNlRmFjdG9yeTogY29uZmlndXJlUm91dGVzLCBkZXBzOiBbUm91dGVzU2VydmljZV0sIG11bHRpOiB0cnVlIH0sXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gY29uZmlndXJlUm91dGVzKHJvdXRlc1NlcnZpY2U6IFJvdXRlc1NlcnZpY2UpIHtcbiAgcmV0dXJuICgpID0+IHtcbiAgICByb3V0ZXNTZXJ2aWNlLmFkZChbXG4gICAgICB7XG4gICAgICAgIHBhdGg6IHVuZGVmaW5lZCxcbiAgICAgICAgbmFtZTogZUlkZW50aXR5Um91dGVOYW1lcy5JZGVudGl0eU1hbmFnZW1lbnQsXG4gICAgICAgIHBhcmVudE5hbWU6IGVUaGVtZVNoYXJlZFJvdXRlTmFtZXMuQWRtaW5pc3RyYXRpb24sXG4gICAgICAgIHJlcXVpcmVkUG9saWN5OiBlSWRlbnRpdHlQb2xpY3lOYW1lcy5JZGVudGl0eU1hbmFnZW1lbnQsXG4gICAgICAgIGljb25DbGFzczogJ2ZhIGZhLWlkLWNhcmQtbycsXG4gICAgICAgIGxheW91dDogZUxheW91dFR5cGUuYXBwbGljYXRpb24sXG4gICAgICAgIG9yZGVyOiAxLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJy9pZGVudGl0eS9yb2xlcycsXG4gICAgICAgIG5hbWU6IGVJZGVudGl0eVJvdXRlTmFtZXMuUm9sZXMsXG4gICAgICAgIHBhcmVudE5hbWU6IGVJZGVudGl0eVJvdXRlTmFtZXMuSWRlbnRpdHlNYW5hZ2VtZW50LFxuICAgICAgICByZXF1aXJlZFBvbGljeTogZUlkZW50aXR5UG9saWN5TmFtZXMuUm9sZXMsXG4gICAgICAgIG9yZGVyOiAxLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgcGF0aDogJy9pZGVudGl0eS91c2VycycsXG4gICAgICAgIG5hbWU6IGVJZGVudGl0eVJvdXRlTmFtZXMuVXNlcnMsXG4gICAgICAgIHBhcmVudE5hbWU6IGVJZGVudGl0eVJvdXRlTmFtZXMuSWRlbnRpdHlNYW5hZ2VtZW50LFxuICAgICAgICByZXF1aXJlZFBvbGljeTogZUlkZW50aXR5UG9saWN5TmFtZXMuVXNlcnMsXG4gICAgICAgIG9yZGVyOiAyLFxuICAgICAgfSxcbiAgICBdKTtcbiAgfTtcbn1cbiJdfQ==
35
+ //# sourceMappingURL=route.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.provider.js","sourceRoot":"","sources":["../../../../../../packages/identity/config/src/providers/route.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,aAAa,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAIhD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,EAAE,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;CAC9F,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,aAA4B;IAC1D,OAAO,GAAG,EAAE;QACV,aAAa,CAAC,GAAG,CAAC;YAChB;gBACE,IAAI,EAAE,SAAS;gBACf,IAAI,iEAAwC;gBAC5C,UAAU,6DAAuC;gBACjD,cAAc,mEAAyC;gBACvD,SAAS,EAAE,iBAAiB;gBAC5B,MAAM,iCAAyB;gBAC/B,KAAK,EAAE,CAAC;aACT;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,kCAA2B;gBAC/B,UAAU,iEAAwC;gBAClD,cAAc,iCAA4B;gBAC1C,KAAK,EAAE,CAAC;aACT;YACD;gBACE,IAAI,EAAE,iBAAiB;gBACvB,IAAI,kCAA2B;gBAC/B,UAAU,iEAAwC;gBAClD,cAAc,iCAA4B;gBAC1C,KAAK,EAAE,CAAC;aACT;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import { eLayoutType, RoutesService } from '@abp/ng.core';\nimport { eThemeSharedRouteNames } from '@abp/ng.theme.shared';\nimport { APP_INITIALIZER } from '@angular/core';\nimport { eIdentityPolicyNames } from '../enums/policy-names';\nimport { eIdentityRouteNames } from '../enums/route-names';\n\nexport const IDENTITY_ROUTE_PROVIDERS = [\n { provide: APP_INITIALIZER, useFactory: configureRoutes, deps: [RoutesService], multi: true },\n];\n\nexport function configureRoutes(routesService: RoutesService) {\n return () => {\n routesService.add([\n {\n path: undefined,\n name: eIdentityRouteNames.IdentityManagement,\n parentName: eThemeSharedRouteNames.Administration,\n requiredPolicy: eIdentityPolicyNames.IdentityManagement,\n iconClass: 'fa fa-id-card-o',\n layout: eLayoutType.application,\n order: 1,\n },\n {\n path: '/identity/roles',\n name: eIdentityRouteNames.Roles,\n parentName: eIdentityRouteNames.IdentityManagement,\n requiredPolicy: eIdentityPolicyNames.Roles,\n order: 1,\n },\n {\n path: '/identity/users',\n name: eIdentityRouteNames.Users,\n parentName: eIdentityRouteNames.IdentityManagement,\n requiredPolicy: eIdentityPolicyNames.Users,\n order: 2,\n },\n ]);\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  export * from './enums';
2
2
  export * from './identity-config.module';
3
3
  export * from './providers';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L2NvbmZpZy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lbnVtcyc7XG5leHBvcnQgKiBmcm9tICcuL2lkZW50aXR5LWNvbmZpZy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm92aWRlcnMnO1xuIl19
4
+ //# sourceMappingURL=public-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../../../../packages/identity/config/src/public-api.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC","sourcesContent":["export * from './enums';\nexport * from './identity-config.module';\nexport * from './providers';\n"]}
@@ -1,3 +1,3 @@
1
1
  export * from './roles/roles.component';
2
2
  export * from './users/users.component';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9pZGVudGl0eS9zcmMvbGliL2NvbXBvbmVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yb2xlcy9yb2xlcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi91c2Vycy91c2Vycy5jb21wb25lbnQnO1xuIl19
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/identity/src/lib/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC","sourcesContent":["export * from './roles/roles.component';\nexport * from './users/users.component';\n"]}
@@ -1,19 +1,24 @@
1
- import { __decorate } from "tslib";
2
1
  import { ListService } from '@abp/ng.core';
2
+ import { IdentityRoleService } from '@abp/ng.identity/proxy';
3
3
  import { Confirmation, ConfirmationService } from '@abp/ng.theme.shared';
4
4
  import { EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, } from '@abp/ng.theme.shared/extensions';
5
5
  import { Component, Injector } from '@angular/core';
6
- import { Select, Store } from '@ngxs/store';
7
- import { finalize, pluck } from 'rxjs/operators';
8
- import { CreateRole, DeleteRole, GetRoleById, GetRoles, UpdateRole, } from '../../actions/identity.actions';
9
- import { IdentityState } from '../../states/identity.state';
10
- const ɵ0 = "Identity.RolesComponent" /* Roles */;
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";
11
15
  export class RolesComponent {
12
- constructor(list, confirmationService, store, injector) {
16
+ constructor(list, confirmationService, injector, service) {
13
17
  this.list = list;
14
18
  this.confirmationService = confirmationService;
15
- this.store = store;
16
19
  this.injector = injector;
20
+ this.service = service;
21
+ this.data = { items: [], totalCount: 0 };
17
22
  this.visiblePermissions = false;
18
23
  this.modalBusy = false;
19
24
  this.permissionManagementKey = "PermissionManagement.PermissionManagementComponent" /* PermissionManagement */;
@@ -37,11 +42,8 @@ export class RolesComponent {
37
42
  this.openModal();
38
43
  }
39
44
  edit(id) {
40
- this.store
41
- .dispatch(new GetRoleById(id))
42
- .pipe(pluck('IdentityState', 'selectedRole'))
43
- .subscribe(selectedRole => {
44
- this.selected = selectedRole;
45
+ this.service.get(id).subscribe(res => {
46
+ this.selected = res;
45
47
  this.openModal();
46
48
  });
47
49
  }
@@ -49,10 +51,10 @@ export class RolesComponent {
49
51
  if (!this.form.valid)
50
52
  return;
51
53
  this.modalBusy = true;
52
- this.store
53
- .dispatch(this.selected.id
54
- ? new UpdateRole(Object.assign(Object.assign(Object.assign({}, this.selected), this.form.value), { id: this.selected.id }))
55
- : new CreateRole(this.form.value))
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))
56
58
  .pipe(finalize(() => (this.modalBusy = false)))
57
59
  .subscribe(() => {
58
60
  this.isModalVisible = false;
@@ -66,12 +68,12 @@ export class RolesComponent {
66
68
  })
67
69
  .subscribe((status) => {
68
70
  if (status === Confirmation.Status.confirm) {
69
- this.store.dispatch(new DeleteRole(id)).subscribe(() => this.list.get());
71
+ this.service.delete(id).subscribe(() => this.list.get());
70
72
  }
71
73
  });
72
74
  }
73
75
  hookToQuery() {
74
- this.list.hookToQuery(query => this.store.dispatch(new GetRoles(query))).subscribe();
76
+ this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res));
75
77
  }
76
78
  openPermissionsModal(providerKey) {
77
79
  this.providerKey = providerKey;
@@ -85,30 +87,26 @@ export class RolesComponent {
85
87
  this.list.sortOrder = dir;
86
88
  }
87
89
  }
88
- RolesComponent.decorators = [
89
- { type: Component, args: [{
90
- selector: 'abp-roles',
91
- 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-right col col-md-6\">\n <abp-page-toolbar [record]=\"data$ | async\"></abp-page-toolbar>\n </div>\n </div>\n </div>\n\n <div class=\"card-body\">\n <abp-extensible-table\n [data]=\"data$ | async\"\n [recordsTotal]=\"totalCount$ | async\"\n [list]=\"list\"\n ></abp-extensible-table>\n </div>\n</div>\n\n<abp-modal size=\"md\" [(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",
92
- providers: [
93
- ListService,
94
- {
95
- provide: EXTENSIONS_IDENTIFIER,
96
- useValue: ɵ0,
97
- },
98
- ]
99
- },] }
100
- ];
101
- RolesComponent.ctorParameters = () => [
102
- { type: ListService },
103
- { type: ConfirmationService },
104
- { type: Store },
105
- { type: Injector }
106
- ];
107
- __decorate([
108
- Select(IdentityState.getRoles)
109
- ], RolesComponent.prototype, "data$", void 0);
110
- __decorate([
111
- Select(IdentityState.getRolesTotalCount)
112
- ], RolesComponent.prototype, "totalCount$", void 0);
113
- export { ɵ0 };
114
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaWRlbnRpdHkvc3JjL2xpYi9jb21wb25lbnRzL3JvbGVzL3JvbGVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBa0MsTUFBTSxjQUFjLENBQUM7QUFFM0UsT0FBTyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pFLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsWUFBWSxFQUNaLHFCQUFxQixHQUN0QixNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQWMsUUFBUSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUVuRixPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU1QyxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFDTCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFdBQVcsRUFDWCxRQUFRLEVBQ1IsVUFBVSxHQUNYLE1BQU0sZ0NBQWdDLENBQUM7QUFHeEMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQWE1RCxNQUFNLE9BQU8sY0FBYztJQXlCekIsWUFDa0IsSUFBaUQsRUFDdkQsbUJBQXdDLEVBQ3hDLEtBQVksRUFDWixRQUFrQjtRQUhaLFNBQUksR0FBSixJQUFJLENBQTZDO1FBQ3ZELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBcUI7UUFDeEMsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLGFBQVEsR0FBUixRQUFRLENBQVU7UUFoQjlCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUkzQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLDRCQUF1QixtRkFBd0Q7UUFFL0UsOEJBQXlCLEdBQUcs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Q0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN2RixDQUFDO0lBRUQsb0JBQW9CLENBQUMsV0FBbUI7UUFDdEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDakMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELElBQUksQ0FBQyxJQUFJO1FBQ1AsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7SUFDNUIsQ0FBQzs7O1lBcEhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIseTdEQUFxQztnQkFDckMsU0FBUyxFQUFFO29CQUNULFdBQVc7b0JBQ1g7d0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjt3QkFDOUIsUUFBUSxJQUEyQjtxQkFDcEM7aUJBQ0Y7YUFDRjs7O1lBbENRLFdBQVc7WUFFRyxtQkFBbUI7WUFRekIsS0FBSztZQUZVLFFBQVE7O0FBNkJ0QztJQURDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDOzZDQUNNO0FBR3JDO0lBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQzttREFDVCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RTZXJ2aWNlLCBQYWdlZEFuZFNvcnRlZFJlc3VsdFJlcXVlc3REdG8gfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgZVBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50cyB9IGZyb20gJ0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7XG4gIEVYVEVOU0lPTlNfSURFTlRJRklFUixcbiAgRm9ybVByb3BEYXRhLFxuICBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMsXG59IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3RvciwgT25Jbml0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNlbGVjdCwgU3RvcmUgfSBmcm9tICdAbmd4cy9zdG9yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmaW5hbGl6ZSwgcGx1Y2sgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDcmVhdGVSb2xlLFxuICBEZWxldGVSb2xlLFxuICBHZXRSb2xlQnlJZCxcbiAgR2V0Um9sZXMsXG4gIFVwZGF0ZVJvbGUsXG59IGZyb20gJy4uLy4uL2FjdGlvbnMvaWRlbnRpdHkuYWN0aW9ucyc7XG5pbXBvcnQgeyBlSWRlbnRpdHlDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vZW51bXMvY29tcG9uZW50cyc7XG5pbXBvcnQgeyBJZGVudGl0eVJvbGVEdG8gfSBmcm9tICcuLi8uLi9wcm94eS9pZGVudGl0eS9tb2RlbHMnO1xuaW1wb3J0IHsgSWRlbnRpdHlTdGF0ZSB9IGZyb20gJy4uLy4uL3N0YXRlcy9pZGVudGl0eS5zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FicC1yb2xlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9yb2xlcy5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIExpc3RTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVYVEVOU0lPTlNfSURFTlRJRklFUixcbiAgICAgIHVzZVZhbHVlOiBlSWRlbnRpdHlDb21wb25lbnRzLlJvbGVzLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJvbGVzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQFNlbGVjdChJZGVudGl0eVN0YXRlLmdldFJvbGVzKVxuICBkYXRhJDogT2JzZXJ2YWJsZTxJZGVudGl0eVJvbGVEdG9bXT47XG5cbiAgQFNlbGVjdChJZGVudGl0eVN0YXRlLmdldFJvbGVzVG90YWxDb3VudClcbiAgdG90YWxDb3VudCQ6IE9ic2VydmFibGU8bnVtYmVyPjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5Um9sZUR0bztcblxuICBpc01vZGFsVmlzaWJsZTogYm9vbGVhbjtcblxuICB2aXNpYmxlUGVybWlzc2lvbnMgPSBmYWxzZTtcblxuICBwcm92aWRlcktleTogc3RyaW5nO1xuXG4gIG1vZGFsQnVzeSA9IGZhbHNlO1xuXG4gIHBlcm1pc3Npb25NYW5hZ2VtZW50S2V5ID0gZVBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50cy5QZXJtaXNzaW9uTWFuYWdlbWVudDtcblxuICBvblZpc2libGVQZXJtaXNzaW9uQ2hhbmdlID0gZXZlbnQgPT4ge1xuICAgIHRoaXMudmlzaWJsZVBlcm1pc3Npb25zID0gZXZlbnQ7XG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGxpc3Q6IExpc3RTZXJ2aWNlPFBhZ2VkQW5kU29ydGVkUmVzdWx0UmVxdWVzdER0bz4sXG4gICAgcHJvdGVjdGVkIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZSxcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5ob29rVG9RdWVyeSgpO1xuICB9XG5cbiAgYnVpbGRGb3JtKCkge1xuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybVByb3BEYXRhKHRoaXMuaW5qZWN0b3IsIHRoaXMuc2VsZWN0ZWQpO1xuICAgIHRoaXMuZm9ybSA9IGdlbmVyYXRlRm9ybUZyb21Qcm9wcyhkYXRhKTtcbiAgfVxuXG4gIG9wZW5Nb2RhbCgpIHtcbiAgICB0aGlzLmJ1aWxkRm9ybSgpO1xuICAgIHRoaXMuaXNNb2RhbFZpc2libGUgPSB0cnVlO1xuICB9XG5cbiAgYWRkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQgPSB7fSBhcyBJZGVudGl0eVJvbGVEdG87XG4gICAgdGhpcy5vcGVuTW9kYWwoKTtcbiAgfVxuXG4gIGVkaXQoaWQ6IHN0cmluZykge1xuICAgIHRoaXMuc3RvcmVcbiAgICAgIC5kaXNwYXRjaChuZXcgR2V0Um9sZUJ5SWQoaWQpKVxuICAgICAgLnBpcGUocGx1Y2soJ0lkZW50aXR5U3RhdGUnLCAnc2VsZWN0ZWRSb2xlJykpXG4gICAgICAuc3Vic2NyaWJlKHNlbGVjdGVkUm9sZSA9PiB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSBzZWxlY3RlZFJvbGU7XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQpIHJldHVybjtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG5cbiAgICB0aGlzLnN0b3JlXG4gICAgICAuZGlzcGF0Y2goXG4gICAgICAgIHRoaXMuc2VsZWN0ZWQuaWRcbiAgICAgICAgICA/IG5ldyBVcGRhdGVSb2xlKHsgLi4udGhpcy5zZWxlY3RlZCwgLi4udGhpcy5mb3JtLnZhbHVlLCBpZDogdGhpcy5zZWxlY3RlZC5pZCB9KVxuICAgICAgICAgIDogbmV3IENyZWF0ZVJvbGUodGhpcy5mb3JtLnZhbHVlKSxcbiAgICAgIClcbiAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+ICh0aGlzLm1vZGFsQnVzeSA9IGZhbHNlKSkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5pc01vZGFsVmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmxpc3QuZ2V0KCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6Um9sZURlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW25hbWVdLFxuICAgICAgfSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogQ29uZmlybWF0aW9uLlN0YXR1cykgPT4ge1xuICAgICAgICBpZiAoc3RhdHVzID09PSBDb25maXJtYXRpb24uU3RhdHVzLmNvbmZpcm0pIHtcbiAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKG5ldyBEZWxldGVSb2xlKGlkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMubGlzdC5nZXQoKSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBob29rVG9RdWVyeSgpIHtcbiAgICB0aGlzLmxpc3QuaG9va1RvUXVlcnkocXVlcnkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0Um9sZXMocXVlcnkpKSkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvcGVuUGVybWlzc2lvbnNNb2RhbChwcm92aWRlcktleTogc3RyaW5nKSB7XG4gICAgdGhpcy5wcm92aWRlcktleSA9IHByb3ZpZGVyS2V5O1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy52aXNpYmxlUGVybWlzc2lvbnMgPSB0cnVlO1xuICAgIH0sIDApO1xuICB9XG5cbiAgc29ydChkYXRhKSB7XG4gICAgY29uc3QgeyBwcm9wLCBkaXIgfSA9IGRhdGEuc29ydHNbMF07XG4gICAgdGhpcy5saXN0LnNvcnRLZXkgPSBwcm9wO1xuICAgIHRoaXMubGlzdC5zb3J0T3JkZXIgPSBkaXI7XG4gIH1cbn1cbiJdfQ==
90
+ RolesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", 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.6", 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-right 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]", inputs: ["blueprints", "errorTemplate", "invalidClasses", "mapErrorsFn", "skipValidation", "targetSelector", "validateOnSubmit"] }, { 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.6", 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=roles.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roles.component.js","sourceRoot":"","sources":["../../../../../../../packages/identity/src/lib/components/roles/roles.component.ts","../../../../../../../packages/identity/src/lib/components/roles/roles.component.html"],"names":[],"mappings":"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","sourcesContent":["import { ListService, PagedAndSortedResultRequestDto, PagedResultDto } from '@abp/ng.core';\nimport { IdentityRoleDto, IdentityRoleService } from '@abp/ng.identity/proxy';\nimport { ePermissionManagementComponents } from '@abp/ng.permission-management';\nimport { Confirmation, ConfirmationService } from '@abp/ng.theme.shared';\nimport {\n EXTENSIONS_IDENTIFIER,\n FormPropData,\n generateFormFromProps,\n} from '@abp/ng.theme.shared/extensions';\nimport { Component, Injector, OnInit } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { finalize } from 'rxjs/operators';\nimport { eIdentityComponents } from '../../enums/components';\n\n@Component({\n selector: 'abp-roles',\n templateUrl: './roles.component.html',\n providers: [\n ListService,\n {\n provide: EXTENSIONS_IDENTIFIER,\n useValue: eIdentityComponents.Roles,\n },\n ],\n})\nexport class RolesComponent implements OnInit {\n data: PagedResultDto<IdentityRoleDto> = { items: [], totalCount: 0 };\n\n form: FormGroup;\n\n selected: IdentityRoleDto;\n\n isModalVisible: boolean;\n\n visiblePermissions = false;\n\n providerKey: string;\n\n modalBusy = false;\n\n permissionManagementKey = ePermissionManagementComponents.PermissionManagement;\n\n onVisiblePermissionChange = event => {\n this.visiblePermissions = event;\n };\n\n constructor(\n public readonly list: ListService<PagedAndSortedResultRequestDto>,\n protected confirmationService: ConfirmationService,\n protected injector: Injector,\n protected service: IdentityRoleService,\n ) {}\n\n ngOnInit() {\n this.hookToQuery();\n }\n\n buildForm() {\n const data = new FormPropData(this.injector, this.selected);\n this.form = generateFormFromProps(data);\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n add() {\n this.selected = {} as IdentityRoleDto;\n this.openModal();\n }\n\n edit(id: string) {\n this.service.get(id).subscribe(res => {\n this.selected = res;\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid) return;\n this.modalBusy = true;\n\n const { id } = this.selected;\n (id\n ? this.service.update(id, { ...this.selected, ...this.form.value })\n : this.service.create(this.form.value)\n )\n .pipe(finalize(() => (this.modalBusy = false)))\n .subscribe(() => {\n this.isModalVisible = false;\n this.list.get();\n });\n }\n\n delete(id: string, name: string) {\n this.confirmationService\n .warn('AbpIdentity::RoleDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [name],\n })\n .subscribe((status: Confirmation.Status) => {\n if (status === Confirmation.Status.confirm) {\n this.service.delete(id).subscribe(() => this.list.get());\n }\n });\n }\n\n private hookToQuery() {\n this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res));\n }\n\n openPermissionsModal(providerKey: string) {\n this.providerKey = providerKey;\n setTimeout(() => {\n this.visiblePermissions = true;\n }, 0);\n }\n\n sort(data) {\n const { prop, dir } = data.sorts[0];\n this.list.sortKey = prop;\n this.list.sortOrder = dir;\n }\n}\n","<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-right 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"]}
@@ -1,24 +1,28 @@
1
- import { __decorate } from "tslib";
2
1
  import { ListService } from '@abp/ng.core';
2
+ import { IdentityUserService, } from '@abp/ng.identity/proxy';
3
3
  import { Confirmation, ConfirmationService } from '@abp/ng.theme.shared';
4
4
  import { EXTENSIONS_IDENTIFIER, FormPropData, generateFormFromProps, } from '@abp/ng.theme.shared/extensions';
5
- import { Component, Injector, ViewChild, } from '@angular/core';
5
+ import { Component, Injector, TemplateRef, ViewChild, } from '@angular/core';
6
6
  import { FormBuilder } from '@angular/forms';
7
- import { Select, Store } from '@ngxs/store';
8
- import { finalize, pluck, switchMap, take } from 'rxjs/operators';
9
- import snq from 'snq';
10
- import { CreateUser, DeleteUser, GetUserById, GetUserRoles, GetUsers, UpdateUser, } from '../../actions/identity.actions';
11
- import { IdentityUserService } from '../../proxy/identity/identity-user.service';
12
- import { IdentityState } from '../../states/identity.state';
13
- const ɵ0 = "Identity.UsersComponent" /* Users */;
7
+ import { finalize, switchMap, tap } from 'rxjs/operators';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@abp/ng.core";
10
+ import * as i2 from "@abp/ng.theme.shared";
11
+ import * as i3 from "@abp/ng.identity/proxy";
12
+ import * as i4 from "@angular/forms";
13
+ import * as i5 from "@abp/ng.theme.shared/extensions";
14
+ import * as i6 from "@ng-bootstrap/ng-bootstrap";
15
+ import * as i7 from "@abp/ng.permission-management";
16
+ import * as i8 from "@angular/common";
17
+ import * as i9 from "@ngx-validate/core";
14
18
  export class UsersComponent {
15
- constructor(list, confirmationService, userService, fb, store, injector) {
19
+ constructor(list, confirmationService, service, fb, injector) {
16
20
  this.list = list;
17
21
  this.confirmationService = confirmationService;
18
- this.userService = userService;
22
+ this.service = service;
19
23
  this.fb = fb;
20
- this.store = store;
21
24
  this.injector = injector;
25
+ this.data = { items: [], totalCount: 0 };
22
26
  this.visiblePermissions = false;
23
27
  this.modalBusy = false;
24
28
  this.permissionManagementKey = "PermissionManagement.PermissionManagementComponent" /* PermissionManagement */;
@@ -28,7 +32,8 @@ export class UsersComponent {
28
32
  };
29
33
  }
30
34
  get roleGroups() {
31
- return snq(() => this.form.get('roleNames').controls, []);
35
+ var _a;
36
+ return ((_a = this.form.get('roleNames')) === null || _a === void 0 ? void 0 : _a.controls) || [];
32
37
  }
33
38
  ngOnInit() {
34
39
  this.hookToQuery();
@@ -36,15 +41,18 @@ export class UsersComponent {
36
41
  buildForm() {
37
42
  const data = new FormPropData(this.injector, this.selected);
38
43
  this.form = generateFormFromProps(data);
39
- this.userService.getAssignableRoles().subscribe(({ items }) => {
44
+ this.service.getAssignableRoles().subscribe(({ items }) => {
40
45
  this.roles = items;
41
- this.form.addControl('roleNames', this.fb.array(this.roles.map(role => this.fb.group({
42
- [role.name]: [
43
- this.selected.id
44
- ? !!snq(() => this.selectedUserRoles.find(userRole => userRole.id === role.id))
45
- : role.isDefault,
46
- ],
47
- }))));
46
+ this.form.addControl('roleNames', this.fb.array(this.roles.map(role => {
47
+ var _a;
48
+ return this.fb.group({
49
+ [role.name]: [
50
+ this.selected.id
51
+ ? !!((_a = this.selectedUserRoles) === null || _a === void 0 ? void 0 : _a.find(userRole => userRole.id === role.id))
52
+ : role.isDefault,
53
+ ],
54
+ });
55
+ })));
48
56
  });
49
57
  }
50
58
  openModal() {
@@ -57,12 +65,11 @@ export class UsersComponent {
57
65
  this.openModal();
58
66
  }
59
67
  edit(id) {
60
- this.store
61
- .dispatch(new GetUserById(id))
62
- .pipe(switchMap(() => this.store.dispatch(new GetUserRoles(id))), pluck('IdentityState'), take(1))
63
- .subscribe((state) => {
64
- this.selected = state.selectedUser;
65
- this.selectedUserRoles = state.selectedUserRoles || [];
68
+ this.service
69
+ .get(id)
70
+ .pipe(tap(user => (this.selected = user)), switchMap(() => this.service.getRoles(id)))
71
+ .subscribe(userRole => {
72
+ this.selectedUserRoles = userRole.items || [];
66
73
  this.openModal();
67
74
  });
68
75
  }
@@ -70,12 +77,13 @@ export class UsersComponent {
70
77
  if (!this.form.valid || this.modalBusy)
71
78
  return;
72
79
  this.modalBusy = true;
73
- const { roleNames } = this.form.value;
74
- const mappedRoleNames = snq(() => roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]), []);
75
- this.store
76
- .dispatch(this.selected.id
77
- ? new UpdateUser(Object.assign(Object.assign(Object.assign({}, this.selected), this.form.value), { id: this.selected.id, roleNames: mappedRoleNames }))
78
- : new CreateUser(Object.assign(Object.assign({}, this.form.value), { roleNames: mappedRoleNames })))
80
+ const { roleNames = [] } = this.form.value;
81
+ const mappedRoleNames = roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]) ||
82
+ [];
83
+ const { id } = this.selected;
84
+ (id
85
+ ? this.service.update(id, Object.assign(Object.assign(Object.assign({}, this.selected), this.form.value), { roleNames: mappedRoleNames }))
86
+ : this.service.create(Object.assign(Object.assign({}, this.form.value), { roleNames: mappedRoleNames })))
79
87
  .pipe(finalize(() => (this.modalBusy = false)))
80
88
  .subscribe(() => {
81
89
  this.isModalVisible = false;
@@ -89,7 +97,7 @@ export class UsersComponent {
89
97
  })
90
98
  .subscribe((status) => {
91
99
  if (status === Confirmation.Status.confirm) {
92
- this.store.dispatch(new DeleteUser(id)).subscribe(() => this.list.get());
100
+ this.service.delete(id).subscribe(() => this.list.get());
93
101
  }
94
102
  });
95
103
  }
@@ -99,7 +107,7 @@ export class UsersComponent {
99
107
  this.list.sortOrder = dir;
100
108
  }
101
109
  hookToQuery() {
102
- this.list.hookToQuery(query => this.store.dispatch(new GetUsers(query))).subscribe();
110
+ this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res));
103
111
  }
104
112
  openPermissionsModal(providerKey) {
105
113
  this.providerKey = providerKey;
@@ -108,35 +116,29 @@ export class UsersComponent {
108
116
  }, 0);
109
117
  }
110
118
  }
111
- UsersComponent.decorators = [
112
- { type: Component, args: [{
113
- selector: 'abp-users',
114
- 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::Users' | abpLocalization }}</h5>\n </div>\n <div class=\"text-right col col-md-6\">\n <abp-page-toolbar [record]=\"data$ | async\"></abp-page-toolbar>\n </div>\n </div>\n </div>\n <div class=\"card-body\">\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\n <div class=\"input-group\">\n <input\n type=\"search\"\n class=\"form-control\"\n [placeholder]=\"'AbpUi::PagerSearch' | abpLocalization\"\n [(ngModel)]=\"list.filter\"\n />\n </div>\n </div>\n\n <abp-extensible-table\n [data]=\"data$ | async\"\n [recordsTotal]=\"totalCount$ | async\"\n [list]=\"list\"\n ></abp-extensible-table>\n </div>\n</div>\n\n<abp-modal size=\"md\" [(visible)]=\"isModalVisible\" [busy]=\"modalBusy\">\n <ng-template #abpHeader>\n <h3>{{ (selected?.id ? 'AbpIdentity::Edit' : 'AbpIdentity::NewUser') | abpLocalization }}</h3>\n </ng-template>\n\n <ng-template #abpBody>\n <ng-template #loaderRef\n ><div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\"></i></div\n ></ng-template>\n\n <form *ngIf=\"form; else loaderRef\" [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\n <li ngbNavItem>\n <a ngbNavLink>{{ 'AbpIdentity::UserInformations' | abpLocalization }}</a>\n <ng-template ngbNavContent>\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\n </ng-template>\n </li>\n\n <li ngbNavItem>\n <a ngbNavLink>{{ 'AbpIdentity::Roles' | abpLocalization }}</a>\n <ng-template ngbNavContent>\n <div\n *ngFor=\"let roleGroup of roleGroups; let i = index; trackBy: trackByFn\"\n class=\"custom-checkbox custom-control mb-2\"\n >\n <input\n type=\"checkbox\"\n class=\"custom-control-input\"\n [attr.id]=\"'roles-' + i\"\n [formControl]=\"roleGroup.controls[roles[i].name]\"\n />\n <label class=\"custom-control-label\" [attr.for]=\"'roles-' + i\">{{\n roles[i].name\n }}</label>\n </div>\n </ng-template>\n </li>\n </ul>\n\n <div class=\"mt-2 fade-in-top\" [ngbNavOutlet]=\"nav\"></div>\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: 'U' },\n providerKey: { value: providerKey },\n visible: { value: visiblePermissions, twoWay: 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",
115
- providers: [
116
- ListService,
117
- {
118
- provide: EXTENSIONS_IDENTIFIER,
119
- useValue: ɵ0,
120
- },
121
- ]
122
- },] }
123
- ];
124
- UsersComponent.ctorParameters = () => [
125
- { type: ListService },
126
- { type: ConfirmationService },
127
- { type: IdentityUserService },
128
- { type: FormBuilder },
129
- { type: Store },
130
- { type: Injector }
131
- ];
132
- UsersComponent.propDecorators = {
133
- modalContent: [{ type: ViewChild, args: ['modalContent', { static: false },] }]
134
- };
135
- __decorate([
136
- Select(IdentityState.getUsers)
137
- ], UsersComponent.prototype, "data$", void 0);
138
- __decorate([
139
- Select(IdentityState.getUsersTotalCount)
140
- ], UsersComponent.prototype, "totalCount$", void 0);
141
- export { ɵ0 };
142
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlcnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvaWRlbnRpdHkvc3JjL2xpYi9jb21wb25lbnRzL3VzZXJzL3VzZXJzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUzQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixZQUFZLEVBQ1oscUJBQXFCLEdBQ3RCLE1BQU0saUNBQWlDLENBQUM7QUFDekMsT0FBTyxFQUNMLFNBQVMsRUFDVCxRQUFRLEVBSVIsU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBOEIsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDcEYsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFNUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sR0FBRyxNQUFNLEtBQUssQ0FBQztBQUN0QixPQUFPLEVBQ0wsVUFBVSxFQUNWLFVBQVUsRUFDVixXQUFXLEVBQ1gsWUFBWSxFQUNaLFFBQVEsRUFDUixVQUFVLEdBQ1gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUd4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQU1qRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBYTVELE1BQU0sT0FBTyxjQUFjO0lBc0N6QixZQUNrQixJQUF3QyxFQUM5QyxtQkFBd0MsRUFDeEMsV0FBZ0MsRUFDaEMsRUFBZSxFQUNmLEtBQVksRUFDWixRQUFrQjtRQUxaLFNBQUksR0FBSixJQUFJLENB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QUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ3ZGLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxXQUFtQjtRQUN0QyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztRQUNqQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDUixDQUFDOzs7WUExS0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixzN0dBQXFDO2dCQUNyQyxTQUFTLEVBQUU7b0JBQ1QsV0FBVztvQkFDWDt3QkFDRSxPQUFPLEVBQUUscUJBQXFCO3dCQUM5QixRQUFRLElBQTJCO3FCQUNwQztpQkFDRjthQUNGOzs7WUFqRFEsV0FBVztZQUVHLG1CQUFtQjtZQTZCakMsbUJBQW1CO1lBZlMsV0FBVztZQUMvQixLQUFLO1lBUHBCLFFBQVE7OzsyQkErQ1AsU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O0FBTDVDO0lBREMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7NkNBQ007QUFHckM7SUFEQyxNQUFNLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDO21EQUNUIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdFNlcnZpY2UgfSBmcm9tICdAYWJwL25nLmNvcmUnO1xuaW1wb3J0IHsgZVBlcm1pc3Npb25NYW5hZ2VtZW50Q29tcG9uZW50cyB9IGZyb20gJ0BhYnAvbmcucGVybWlzc2lvbi1tYW5hZ2VtZW50JztcbmltcG9ydCB7IENvbmZpcm1hdGlvbiwgQ29uZmlybWF0aW9uU2VydmljZSB9IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkJztcbmltcG9ydCB7XG4gIEVYVEVOU0lPTlNfSURFTlRJRklFUixcbiAgRm9ybVByb3BEYXRhLFxuICBnZW5lcmF0ZUZvcm1Gcm9tUHJvcHMsXG59IGZyb20gJ0BhYnAvbmcudGhlbWUuc2hhcmVkL2V4dGVuc2lvbnMnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBJbmplY3RvcixcbiAgT25Jbml0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQXJyYXksIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTZWxlY3QsIFN0b3JlIH0gZnJvbSAnQG5neHMvc3RvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmluYWxpemUsIHBsdWNrLCBzd2l0Y2hNYXAsIHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgc25xIGZyb20gJ3NucSc7XG5pbXBvcnQge1xuICBDcmVhdGVVc2VyLFxuICBEZWxldGVVc2VyLFxuICBHZXRVc2VyQnlJZCxcbiAgR2V0VXNlclJvbGVzLFxuICBHZXRVc2VycyxcbiAgVXBkYXRlVXNlcixcbn0gZnJvbSAnLi4vLi4vYWN0aW9ucy9pZGVudGl0eS5hY3Rpb25zJztcbmltcG9ydCB7IGVJZGVudGl0eUNvbXBvbmVudHMgfSBmcm9tICcuLi8uLi9lbnVtcy9jb21wb25lbnRzJztcbmltcG9ydCB7IElkZW50aXR5IH0gZnJvbSAnLi4vLi4vbW9kZWxzL2lkZW50aXR5JztcbmltcG9ydCB7IElkZW50aXR5VXNlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9wcm94eS9pZGVudGl0eS9pZGVudGl0eS11c2VyLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgR2V0SWRlbnRpdHlVc2Vyc0lucHV0LFxuICBJZGVudGl0eVJvbGVEdG8sXG4gIElkZW50aXR5VXNlckR0byxcbn0gZnJvbSAnLi4vLi4vcHJveHkvaWRlbnRpdHkvbW9kZWxzJztcbmltcG9ydCB7IElkZW50aXR5U3RhdGUgfSBmcm9tICcuLi8uLi9zdGF0ZXMvaWRlbnRpdHkuc3RhdGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhYnAtdXNlcnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vdXNlcnMuY29tcG9uZW50Lmh0bWwnLFxuICBwcm92aWRlcnM6IFtcbiAgICBMaXN0U2VydmljZSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBFWFRFTlNJT05TX0lERU5USUZJRVIsXG4gICAgICB1c2VWYWx1ZTogZUlkZW50aXR5Q29tcG9uZW50cy5Vc2VycyxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBVc2Vyc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2VycylcbiAgZGF0YSQ6IE9ic2VydmFibGU8SWRlbnRpdHlVc2VyRHRvW10+O1xuXG4gIEBTZWxlY3QoSWRlbnRpdHlTdGF0ZS5nZXRVc2Vyc1RvdGFsQ291bnQpXG4gIHRvdGFsQ291bnQkOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbiAgQFZpZXdDaGlsZCgnbW9kYWxDb250ZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gIG1vZGFsQ29udGVudDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBmb3JtOiBGb3JtR3JvdXA7XG5cbiAgc2VsZWN0ZWQ6IElkZW50aXR5VXNlckR0bztcblxuICBzZWxlY3RlZFVzZXJSb2xlczogSWRlbnRpdHlSb2xlRHRvW107XG5cbiAgcm9sZXM6IElkZW50aXR5Um9sZUR0b1tdO1xuXG4gIHZpc2libGVQZXJtaXNzaW9ucyA9IGZhbHNlO1xuXG4gIHByb3ZpZGVyS2V5OiBzdHJpbmc7XG5cbiAgaXNNb2RhbFZpc2libGU6IGJvb2xlYW47XG5cbiAgbW9kYWxCdXN5ID0gZmFsc2U7XG5cbiAgcGVybWlzc2lvbk1hbmFnZW1lbnRLZXkgPSBlUGVybWlzc2lvbk1hbmFnZW1lbnRDb21wb25lbnRzLlBlcm1pc3Npb25NYW5hZ2VtZW50O1xuXG4gIHRyYWNrQnlGbjogVHJhY2tCeUZ1bmN0aW9uPEFic3RyYWN0Q29udHJvbD4gPSAoaW5kZXgsIGl0ZW0pID0+IE9iamVjdC5rZXlzKGl0ZW0pWzBdIHx8IGluZGV4O1xuXG4gIG9uVmlzaWJsZVBlcm1pc3Npb25DaGFuZ2UgPSBldmVudCA9PiB7XG4gICAgdGhpcy52aXNpYmxlUGVybWlzc2lvbnMgPSBldmVudDtcbiAgfTtcblxuICBnZXQgcm9sZUdyb3VwcygpOiBGb3JtR3JvdXBbXSB7XG4gICAgcmV0dXJuIHNucSgoKSA9PiAodGhpcy5mb3JtLmdldCgncm9sZU5hbWVzJykgYXMgRm9ybUFycmF5KS5jb250cm9scyBhcyBGb3JtR3JvdXBbXSwgW10pO1xuICB9XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGxpc3Q6IExpc3RTZXJ2aWNlPEdldElkZW50aXR5VXNlcnNJbnB1dD4sXG4gICAgcHJvdGVjdGVkIGNvbmZpcm1hdGlvblNlcnZpY2U6IENvbmZpcm1hdGlvblNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHVzZXJTZXJ2aWNlOiBJZGVudGl0eVVzZXJTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJvdGVjdGVkIHN0b3JlOiBTdG9yZSxcbiAgICBwcm90ZWN0ZWQgaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5ob29rVG9RdWVyeSgpO1xuICB9XG5cbiAgYnVpbGRGb3JtKCkge1xuICAgIGNvbnN0IGRhdGEgPSBuZXcgRm9ybVByb3BEYXRhKHRoaXMuaW5qZWN0b3IsIHRoaXMuc2VsZWN0ZWQpO1xuICAgIHRoaXMuZm9ybSA9IGdlbmVyYXRlRm9ybUZyb21Qcm9wcyhkYXRhKTtcblxuICAgIHRoaXMudXNlclNlcnZpY2UuZ2V0QXNzaWduYWJsZVJvbGVzKCkuc3Vic2NyaWJlKCh7IGl0ZW1zIH0pID0+IHtcbiAgICAgIHRoaXMucm9sZXMgPSBpdGVtcztcbiAgICAgIHRoaXMuZm9ybS5hZGRDb250cm9sKFxuICAgICAgICAncm9sZU5hbWVzJyxcbiAgICAgICAgdGhpcy5mYi5hcnJheShcbiAgICAgICAgICB0aGlzLnJvbGVzLm1hcChyb2xlID0+XG4gICAgICAgICAgICB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICAgICAgICAgW3JvbGUubmFtZV06IFtcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkLmlkXG4gICAgICAgICAgICAgICAgICA/ICEhc25xKCgpID0+IHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMuZmluZCh1c2VyUm9sZSA9PiB1c2VyUm9sZS5pZCA9PT0gcm9sZS5pZCkpXG4gICAgICAgICAgICAgICAgICA6IHJvbGUuaXNEZWZhdWx0LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBvcGVuTW9kYWwoKSB7XG4gICAgdGhpcy5idWlsZEZvcm0oKTtcbiAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gdHJ1ZTtcbiAgfVxuXG4gIGFkZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0ge30gYXMgSWRlbnRpdHlVc2VyRHRvO1xuICAgIHRoaXMuc2VsZWN0ZWRVc2VyUm9sZXMgPSBbXSBhcyBJZGVudGl0eVJvbGVEdG9bXTtcbiAgICB0aGlzLm9wZW5Nb2RhbCgpO1xuICB9XG5cbiAgZWRpdChpZDogc3RyaW5nKSB7XG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKG5ldyBHZXRVc2VyQnlJZChpZCkpXG4gICAgICAucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuc3RvcmUuZGlzcGF0Y2gobmV3IEdldFVzZXJSb2xlcyhpZCkpKSxcbiAgICAgICAgcGx1Y2soJ0lkZW50aXR5U3RhdGUnKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXRlOiBJZGVudGl0eS5TdGF0ZSkgPT4ge1xuICAgICAgICB0aGlzLnNlbGVjdGVkID0gc3RhdGUuc2VsZWN0ZWRVc2VyO1xuICAgICAgICB0aGlzLnNlbGVjdGVkVXNlclJvbGVzID0gc3RhdGUuc2VsZWN0ZWRVc2VyUm9sZXMgfHwgW107XG4gICAgICAgIHRoaXMub3Blbk1vZGFsKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgaWYgKCF0aGlzLmZvcm0udmFsaWQgfHwgdGhpcy5tb2RhbEJ1c3kpIHJldHVybjtcbiAgICB0aGlzLm1vZGFsQnVzeSA9IHRydWU7XG5cbiAgICBjb25zdCB7IHJvbGVOYW1lcyB9ID0gdGhpcy5mb3JtLnZhbHVlO1xuICAgIGNvbnN0IG1hcHBlZFJvbGVOYW1lcyA9IHNucShcbiAgICAgICgpID0+XG4gICAgICAgIHJvbGVOYW1lcy5maWx0ZXIocm9sZSA9PiAhIXJvbGVbT2JqZWN0LmtleXMocm9sZSlbMF1dKS5tYXAocm9sZSA9PiBPYmplY3Qua2V5cyhyb2xlKVswXSksXG4gICAgICBbXSxcbiAgICApO1xuXG4gICAgdGhpcy5zdG9yZVxuICAgICAgLmRpc3BhdGNoKFxuICAgICAgICB0aGlzLnNlbGVjdGVkLmlkXG4gICAgICAgICAgPyBuZXcgVXBkYXRlVXNlcih7XG4gICAgICAgICAgICAgIC4uLnRoaXMuc2VsZWN0ZWQsXG4gICAgICAgICAgICAgIC4uLnRoaXMuZm9ybS52YWx1ZSxcbiAgICAgICAgICAgICAgaWQ6IHRoaXMuc2VsZWN0ZWQuaWQsXG4gICAgICAgICAgICAgIHJvbGVOYW1lczogbWFwcGVkUm9sZU5hbWVzLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICA6IG5ldyBDcmVhdGVVc2VyKHtcbiAgICAgICAgICAgICAgLi4udGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICAgICAgICByb2xlTmFtZXM6IG1hcHBlZFJvbGVOYW1lcyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnBpcGUoZmluYWxpemUoKCkgPT4gKHRoaXMubW9kYWxCdXN5ID0gZmFsc2UpKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmlzTW9kYWxWaXNpYmxlID0gZmFsc2U7XG4gICAgICAgIHRoaXMubGlzdC5nZXQoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKGlkOiBzdHJpbmcsIHVzZXJOYW1lOiBzdHJpbmcpIHtcbiAgICB0aGlzLmNvbmZpcm1hdGlvblNlcnZpY2VcbiAgICAgIC53YXJuKCdBYnBJZGVudGl0eTo6VXNlckRlbGV0aW9uQ29uZmlybWF0aW9uTWVzc2FnZScsICdBYnBJZGVudGl0eTo6QXJlWW91U3VyZScsIHtcbiAgICAgICAgbWVzc2FnZUxvY2FsaXphdGlvblBhcmFtczogW3VzZXJOYW1lXSxcbiAgICAgIH0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0dXM6IENvbmZpcm1hdGlvbi5TdGF0dXMpID0+IHtcbiAgICAgICAgaWYgKHN0YXR1cyA9PT0gQ29uZmlybWF0aW9uLlN0YXR1cy5jb25maXJtKSB7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgRGVsZXRlVXNlcihpZCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmxpc3QuZ2V0KCkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHNvcnQoZGF0YSkge1xuICAgIGNvbnN0IHsgcHJvcCwgZGlyIH0gPSBkYXRhLnNvcnRzWzBdO1xuICAgIHRoaXMubGlzdC5zb3J0S2V5ID0gcHJvcDtcbiAgICB0aGlzLmxpc3Quc29ydE9yZGVyID0gZGlyO1xuICB9XG5cbiAgcHJpdmF0ZSBob29rVG9RdWVyeSgpIHtcbiAgICB0aGlzLmxpc3QuaG9va1RvUXVlcnkocXVlcnkgPT4gdGhpcy5zdG9yZS5kaXNwYXRjaChuZXcgR2V0VXNlcnMocXVlcnkpKSkuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBvcGVuUGVybWlzc2lvbnNNb2RhbChwcm92aWRlcktleTogc3RyaW5nKSB7XG4gICAgdGhpcy5wcm92aWRlcktleSA9IHByb3ZpZGVyS2V5O1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy52aXNpYmxlUGVybWlzc2lvbnMgPSB0cnVlO1xuICAgIH0sIDApO1xuICB9XG59XG4iXX0=
119
+ UsersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: UsersComponent, deps: [{ token: i1.ListService }, { token: i2.ConfirmationService }, { token: i3.IdentityUserService }, { token: i4.FormBuilder }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
120
+ UsersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: UsersComponent, selector: "abp-users", providers: [
121
+ ListService,
122
+ {
123
+ provide: EXTENSIONS_IDENTIFIER,
124
+ useValue: "Identity.UsersComponent" /* Users */,
125
+ },
126
+ ], viewQueries: [{ propertyName: "modalContent", first: true, predicate: ["modalContent"], descendants: true }], 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::Users' | abpLocalization }}</h5>\n </div>\n <div class=\"text-right col col-md-6\">\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\n </div>\n </div>\n </div>\n <div class=\"card-body\">\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\n <div class=\"input-group\">\n <input\n type=\"search\"\n class=\"form-control\"\n [placeholder]=\"'AbpUi::PagerSearch' | abpLocalization\"\n [(ngModel)]=\"list.filter\"\n />\n </div>\n </div>\n\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::NewUser') | abpLocalization }}</h3>\n </ng-template>\n\n <ng-template #abpBody>\n <ng-template #loaderRef\n ><div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\"></i></div\n ></ng-template>\n\n <form *ngIf=\"form; else loaderRef\" [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\n <li ngbNavItem>\n <a ngbNavLink>{{ 'AbpIdentity::UserInformations' | abpLocalization }}</a>\n <ng-template ngbNavContent>\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\n </ng-template>\n </li>\n\n <li ngbNavItem>\n <a ngbNavLink>{{ 'AbpIdentity::Roles' | abpLocalization }}</a>\n <ng-template ngbNavContent>\n <div\n *ngFor=\"let roleGroup of roleGroups; let i = index; trackBy: trackByFn\"\n class=\"custom-checkbox custom-control mb-2\"\n >\n <input\n type=\"checkbox\"\n class=\"custom-control-input\"\n [attr.id]=\"'roles-' + i\"\n [formControl]=\"roleGroup.controls[roles[i].name]\"\n />\n <label class=\"custom-control-label\" [attr.for]=\"'roles-' + i\">{{\n roles[i].name\n }}</label>\n </div>\n </ng-template>\n </li>\n </ul>\n\n <div class=\"mt-2 fade-in-top\" [ngbNavOutlet]=\"nav\"></div>\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: 'U' },\n providerKey: { value: providerKey },\n visible: { value: visiblePermissions, twoWay: 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: i5.PageToolbarComponent, selector: "abp-page-toolbar", exportAs: ["abpPageToolbar"] }, { type: i5.ExtensibleTableComponent, selector: "abp-extensible-table", inputs: ["actionsText", "data", "list", "recordsTotal", "actionsColumnWidth", "actionsTemplate"], exportAs: ["abpExtensibleTable"] }, { type: i2.ModalComponent, selector: "abp-modal", inputs: ["visible", "busy", "options", "suppressUnsavedChangesWarning"], outputs: ["visibleChange", "init", "appear", "disappear"] }, { type: i5.ExtensibleFormComponent, selector: "abp-extensible-form", inputs: ["selectedRecord"], exportAs: ["abpExtensibleForm"] }, { type: i6.NgbNavOutlet, selector: "[ngbNavOutlet]", inputs: ["paneRole", "ngbNavOutlet"] }, { type: i2.ButtonComponent, selector: "abp-button", inputs: ["buttonId", "buttonClass", "buttonType", "iconClass", "loading", "disabled", "attributes"], outputs: ["click", "focus", "blur", "abpClick", "abpFocus", "abpBlur"] }, { type: i7.PermissionManagementComponent, selector: "abp-permission-management", inputs: ["providerName", "providerKey", "hideBadges", "visible"], outputs: ["visibleChange"], exportAs: ["abpPermissionManagement"] }], directives: [{ type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i1.FormSubmitDirective, selector: "form[ngSubmit][formGroup]", inputs: ["debounce", "notValidateOnSubmit"], outputs: ["ngSubmit"] }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i9.ValidationGroupDirective, selector: "[formGroup],[formGroupName]", inputs: ["blueprints", "errorTemplate", "invalidClasses", "mapErrorsFn", "skipValidation", "targetSelector", "validateOnSubmit"] }, { type: i6.NgbNav, selector: "[ngbNav]", inputs: ["destroyOnHide", "orientation", "roles", "keyboard", "activeId"], outputs: ["activeIdChange", "navChange"], exportAs: ["ngbNav"] }, { type: i6.NgbNavItem, selector: "[ngbNavItem]", inputs: ["disabled", "domId", "destroyOnHide", "ngbNavItem"], exportAs: ["ngbNavItem"] }, { type: i6.NgbNavLink, selector: "a[ngbNavLink]" }, { type: i6.NgbNavContent, selector: "ng-template[ngbNavContent]" }, { type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i9.ValidationDirective, selector: "[formControl],[formControlName]", inputs: ["blueprints", "errorTemplate", "invalidClasses", "mapErrorsFn", "skipValidation", "targetSelector", "validateOnSubmit"] }, { type: i2.ModalCloseDirective, selector: "[abpClose]" }, { type: i1.ReplaceableTemplateDirective, selector: "[abpReplaceableTemplate]", inputs: ["abpReplaceableTemplate"] }, { type: i1.InitDirective, selector: "[abpInit]", outputs: ["abpInit"] }], pipes: { "abpLocalization": i1.LocalizationPipe } });
127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: UsersComponent, decorators: [{
128
+ type: Component,
129
+ args: [{
130
+ selector: 'abp-users',
131
+ templateUrl: './users.component.html',
132
+ providers: [
133
+ ListService,
134
+ {
135
+ provide: EXTENSIONS_IDENTIFIER,
136
+ useValue: "Identity.UsersComponent" /* Users */,
137
+ },
138
+ ],
139
+ }]
140
+ }], ctorParameters: function () { return [{ type: i1.ListService }, { type: i2.ConfirmationService }, { type: i3.IdentityUserService }, { type: i4.FormBuilder }, { type: i0.Injector }]; }, propDecorators: { modalContent: [{
141
+ type: ViewChild,
142
+ args: ['modalContent', { static: false }]
143
+ }] } });
144
+ //# sourceMappingURL=users.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.component.js","sourceRoot":"","sources":["../../../../../../../packages/identity/src/lib/components/users/users.component.ts","../../../../../../../packages/identity/src/lib/components/users/users.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAkB,MAAM,cAAc,CAAC;AAC3D,OAAO,EAIL,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACzE,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,SAAS,EACT,QAAQ,EAER,WAAW,EAEX,SAAS,GACV,MAAM,eAAe,CAAC;AACvB,OAAO,EAA8B,WAAW,EAAa,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;;;;;;;;;;;AAc1D,MAAM,OAAO,cAAc;IAkCzB,YACkB,IAAwC,EAC9C,mBAAwC,EACxC,OAA4B,EAC5B,EAAe,EACf,QAAkB;QAJZ,SAAI,GAAJ,IAAI,CAAoC;QAC9C,wBAAmB,GAAnB,mBAAmB,CAAqB;QACxC,YAAO,GAAP,OAAO,CAAqB;QAC5B,OAAE,GAAF,EAAE,CAAa;QACf,aAAQ,GAAR,QAAQ,CAAU;QAtC9B,SAAI,GAAoC,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;QAarE,uBAAkB,GAAG,KAAK,CAAC;QAM3B,cAAS,GAAG,KAAK,CAAC;QAElB,4BAAuB,mFAAwD;QAE/E,cAAS,GAAqC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QAE7F,8BAAyB,GAAG,KAAK,CAAC,EAAE;YAClC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;QAClC,CAAC,CAAC;IAYC,CAAC;IAVJ,IAAI,UAAU;;QACZ,OAAO,CAAC,MAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAe,0CAAE,QAAwB,KAAI,EAAE,CAAC;IACpF,CAAC;IAUD,QAAQ;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED,SAAS;QACP,MAAM,IAAI,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACxD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACnB,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,WAAW,EACX,IAAI,CAAC,EAAE,CAAC,KAAK,CACX,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;;gBACpB,OAAA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;oBACZ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBACX,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACd,CAAC,CAAC,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,iBAAiB,0CAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAA;4BACrE,CAAC,CAAC,IAAI,CAAC,SAAS;qBACnB;iBACF,CAAC,CAAA;aAAA,CACH,CACF,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,GAAG;QACD,IAAI,CAAC,QAAQ,GAAG,EAAqB,CAAC;QACtC,IAAI,CAAC,iBAAiB,GAAG,EAAuB,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,IAAI,CAAC,EAAU;QACb,IAAI,CAAC,OAAO;aACT,GAAG,CAAC,EAAE,CAAC;aACP,IAAI,CACH,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,EACnC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAC3C;aACA,SAAS,CAAC,QAAQ,CAAC,EAAE;YACpB,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC/C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAC3C,MAAM,eAAe,GACnB,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,EAAE,CAAC;QAEL,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE7B,CAAC,EAAE;YACD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,gDACjB,IAAI,CAAC,QAAQ,GACb,IAAI,CAAC,IAAI,CAAC,KAAK,KAClB,SAAS,EAAE,eAAe,IAC1B;YACJ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,iCAAM,IAAI,CAAC,IAAI,CAAC,KAAK,KAAE,SAAS,EAAE,eAAe,IAAG,CAC1E;aACE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;aAC9C,SAAS,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,EAAU,EAAE,QAAgB;QACjC,IAAI,CAAC,mBAAmB;aACrB,IAAI,CAAC,8CAA8C,EAAE,yBAAyB,EAAE;YAC/E,yBAAyB,EAAE,CAAC,QAAQ,CAAC;SACtC,CAAC;aACD,SAAS,CAAC,CAAC,MAA2B,EAAE,EAAE;YACzC,IAAI,MAAM,KAAK,YAAY,CAAC,MAAM,CAAC,OAAO,EAAE;gBAC1C,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;aAC1D;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,IAAI,CAAC,IAAI;QACP,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IAC5B,CAAC;IAEO,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC;IAClG,CAAC;IAED,oBAAoB,CAAC,WAAmB;QACtC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,UAAU,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjC,CAAC,EAAE,CAAC,CAAC,CAAC;IACR,CAAC;;2GAlJU,cAAc;+FAAd,cAAc,oCARd;QACT,WAAW;QACX;YACE,OAAO,EAAE,qBAAqB;YAC9B,QAAQ,uCAA2B;SACpC;KACF,wICnCH,s5GAsGA;2FDjEa,cAAc;kBAX1B,SAAS;mBAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,WAAW,EAAE,wBAAwB;oBACrC,SAAS,EAAE;wBACT,WAAW;wBACX;4BACE,OAAO,EAAE,qBAAqB;4BAC9B,QAAQ,uCAA2B;yBACpC;qBACF;iBACF;uNAKC,YAAY;sBADX,SAAS;uBAAC,cAAc,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE","sourcesContent":["import { ListService, PagedResultDto } from '@abp/ng.core';\nimport {\n GetIdentityUsersInput,\n IdentityRoleDto,\n IdentityUserDto,\n IdentityUserService,\n} from '@abp/ng.identity/proxy';\nimport { ePermissionManagementComponents } from '@abp/ng.permission-management';\nimport { Confirmation, ConfirmationService } from '@abp/ng.theme.shared';\nimport {\n EXTENSIONS_IDENTIFIER,\n FormPropData,\n generateFormFromProps,\n} from '@abp/ng.theme.shared/extensions';\nimport {\n Component,\n Injector,\n OnInit,\n TemplateRef,\n TrackByFunction,\n ViewChild,\n} from '@angular/core';\nimport { AbstractControl, FormArray, FormBuilder, FormGroup } from '@angular/forms';\nimport { finalize, switchMap, tap } from 'rxjs/operators';\nimport { eIdentityComponents } from '../../enums/components';\n\n@Component({\n selector: 'abp-users',\n templateUrl: './users.component.html',\n providers: [\n ListService,\n {\n provide: EXTENSIONS_IDENTIFIER,\n useValue: eIdentityComponents.Users,\n },\n ],\n})\nexport class UsersComponent implements OnInit {\n data: PagedResultDto<IdentityUserDto> = { items: [], totalCount: 0 };\n\n @ViewChild('modalContent', { static: false })\n modalContent: TemplateRef<any>;\n\n form: FormGroup;\n\n selected: IdentityUserDto;\n\n selectedUserRoles: IdentityRoleDto[];\n\n roles: IdentityRoleDto[];\n\n visiblePermissions = false;\n\n providerKey: string;\n\n isModalVisible: boolean;\n\n modalBusy = false;\n\n permissionManagementKey = ePermissionManagementComponents.PermissionManagement;\n\n trackByFn: TrackByFunction<AbstractControl> = (index, item) => Object.keys(item)[0] || index;\n\n onVisiblePermissionChange = event => {\n this.visiblePermissions = event;\n };\n\n get roleGroups(): FormGroup[] {\n return ((this.form.get('roleNames') as FormArray)?.controls as FormGroup[]) || [];\n }\n\n constructor(\n public readonly list: ListService<GetIdentityUsersInput>,\n protected confirmationService: ConfirmationService,\n protected service: IdentityUserService,\n protected fb: FormBuilder,\n protected injector: Injector,\n ) {}\n\n ngOnInit() {\n this.hookToQuery();\n }\n\n buildForm() {\n const data = new FormPropData(this.injector, this.selected);\n this.form = generateFormFromProps(data);\n\n this.service.getAssignableRoles().subscribe(({ items }) => {\n this.roles = items;\n this.form.addControl(\n 'roleNames',\n this.fb.array(\n this.roles.map(role =>\n this.fb.group({\n [role.name]: [\n this.selected.id\n ? !!this.selectedUserRoles?.find(userRole => userRole.id === role.id)\n : role.isDefault,\n ],\n }),\n ),\n ),\n );\n });\n }\n\n openModal() {\n this.buildForm();\n this.isModalVisible = true;\n }\n\n add() {\n this.selected = {} as IdentityUserDto;\n this.selectedUserRoles = [] as IdentityRoleDto[];\n this.openModal();\n }\n\n edit(id: string) {\n this.service\n .get(id)\n .pipe(\n tap(user => (this.selected = user)),\n switchMap(() => this.service.getRoles(id)),\n )\n .subscribe(userRole => {\n this.selectedUserRoles = userRole.items || [];\n this.openModal();\n });\n }\n\n save() {\n if (!this.form.valid || this.modalBusy) return;\n this.modalBusy = true;\n\n const { roleNames = [] } = this.form.value;\n const mappedRoleNames =\n roleNames.filter(role => !!role[Object.keys(role)[0]]).map(role => Object.keys(role)[0]) ||\n [];\n\n const { id } = this.selected;\n\n (id\n ? this.service.update(id, {\n ...this.selected,\n ...this.form.value,\n roleNames: mappedRoleNames,\n })\n : this.service.create({ ...this.form.value, roleNames: mappedRoleNames })\n )\n .pipe(finalize(() => (this.modalBusy = false)))\n .subscribe(() => {\n this.isModalVisible = false;\n this.list.get();\n });\n }\n\n delete(id: string, userName: string) {\n this.confirmationService\n .warn('AbpIdentity::UserDeletionConfirmationMessage', 'AbpIdentity::AreYouSure', {\n messageLocalizationParams: [userName],\n })\n .subscribe((status: Confirmation.Status) => {\n if (status === Confirmation.Status.confirm) {\n this.service.delete(id).subscribe(() => this.list.get());\n }\n });\n }\n\n sort(data) {\n const { prop, dir } = data.sorts[0];\n this.list.sortKey = prop;\n this.list.sortOrder = dir;\n }\n\n private hookToQuery() {\n this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res));\n }\n\n openPermissionsModal(providerKey: string) {\n this.providerKey = providerKey;\n setTimeout(() => {\n this.visiblePermissions = true;\n }, 0);\n }\n}\n","<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::Users' | abpLocalization }}</h5>\n </div>\n <div class=\"text-right col col-md-6\">\n <abp-page-toolbar [record]=\"data.items\"></abp-page-toolbar>\n </div>\n </div>\n </div>\n <div class=\"card-body\">\n <div id=\"data-tables-table-filter\" class=\"data-tables-filter\">\n <div class=\"input-group\">\n <input\n type=\"search\"\n class=\"form-control\"\n [placeholder]=\"'AbpUi::PagerSearch' | abpLocalization\"\n [(ngModel)]=\"list.filter\"\n />\n </div>\n </div>\n\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::NewUser') | abpLocalization }}</h3>\n </ng-template>\n\n <ng-template #abpBody>\n <ng-template #loaderRef\n ><div class=\"text-center\"><i class=\"fa fa-pulse fa-spinner\"></i></div\n ></ng-template>\n\n <form *ngIf=\"form; else loaderRef\" [formGroup]=\"form\" (ngSubmit)=\"save()\">\n <ul ngbNav #nav=\"ngbNav\" class=\"nav-tabs\">\n <li ngbNavItem>\n <a ngbNavLink>{{ 'AbpIdentity::UserInformations' | abpLocalization }}</a>\n <ng-template ngbNavContent>\n <abp-extensible-form [selectedRecord]=\"selected\"></abp-extensible-form>\n </ng-template>\n </li>\n\n <li ngbNavItem>\n <a ngbNavLink>{{ 'AbpIdentity::Roles' | abpLocalization }}</a>\n <ng-template ngbNavContent>\n <div\n *ngFor=\"let roleGroup of roleGroups; let i = index; trackBy: trackByFn\"\n class=\"custom-checkbox custom-control mb-2\"\n >\n <input\n type=\"checkbox\"\n class=\"custom-control-input\"\n [attr.id]=\"'roles-' + i\"\n [formControl]=\"roleGroup.controls[roles[i].name]\"\n />\n <label class=\"custom-control-label\" [attr.for]=\"'roles-' + i\">{{\n roles[i].name\n }}</label>\n </div>\n </ng-template>\n </li>\n </ul>\n\n <div class=\"mt-2 fade-in-top\" [ngbNavOutlet]=\"nav\"></div>\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: 'U' },\n providerKey: { value: providerKey },\n visible: { value: visiblePermissions, twoWay: 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"]}
@@ -1,32 +1,30 @@
1
1
  import { EntityAction } from '@abp/ng.theme.shared/extensions';
2
2
  import { RolesComponent } from '../components/roles/roles.component';
3
- const ɵ0 = data => {
4
- const component = data.getInjected(RolesComponent);
5
- component.edit(data.record.id);
6
- }, ɵ1 = data => {
7
- const component = data.getInjected(RolesComponent);
8
- component.openPermissionsModal(data.record.name);
9
- }, ɵ2 = data => {
10
- const component = data.getInjected(RolesComponent);
11
- component.delete(data.record.id, data.record.name);
12
- }, ɵ3 = data => !data.record.isStatic;
13
3
  export const DEFAULT_ROLES_ENTITY_ACTIONS = EntityAction.createMany([
14
4
  {
15
5
  text: 'AbpIdentity::Edit',
16
- action: ɵ0,
6
+ action: data => {
7
+ const component = data.getInjected(RolesComponent);
8
+ component.edit(data.record.id);
9
+ },
17
10
  permission: 'AbpIdentity.Roles.Update',
18
11
  },
19
12
  {
20
13
  text: 'AbpIdentity::Permissions',
21
- action: ɵ1,
14
+ action: data => {
15
+ const component = data.getInjected(RolesComponent);
16
+ component.openPermissionsModal(data.record.name);
17
+ },
22
18
  permission: 'AbpIdentity.Roles.ManagePermissions',
23
19
  },
24
20
  {
25
21
  text: 'AbpIdentity::Delete',
26
- action: ɵ2,
22
+ action: data => {
23
+ const component = data.getInjected(RolesComponent);
24
+ component.delete(data.record.id, data.record.name);
25
+ },
27
26
  permission: 'AbpIdentity.Roles.Delete',
28
- visible: ɵ3,
27
+ visible: data => !data.record.isStatic,
29
28
  },
30
29
  ]);
31
- export { ɵ0, ɵ1, ɵ2, ɵ3 };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1yb2xlcy1lbnRpdHktYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2lkZW50aXR5L3NyYy9saWIvZGVmYXVsdHMvZGVmYXVsdC1yb2xlcy1lbnRpdHktYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO1dBTXpELElBQUksQ0FBQyxFQUFFO0lBQ2IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRCxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDakMsQ0FBQyxPQUtPLElBQUksQ0FBQyxFQUFFO0lBQ2IsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNuRCxTQUFTLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNuRCxDQUFDLE9BS08sSUFBSSxDQUFDLEVBQUU7SUFDYixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ25ELFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNyRCxDQUFDLE9BRVEsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUTtBQXhCMUMsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsWUFBWSxDQUFDLFVBQVUsQ0FBa0I7SUFDbkY7UUFDRSxJQUFJLEVBQUUsbUJBQW1CO1FBQ3pCLE1BQU0sSUFHTDtRQUNELFVBQVUsRUFBRSwwQkFBMEI7S0FDdkM7SUFDRDtRQUNFLElBQUksRUFBRSwwQkFBMEI7UUFDaEMsTUFBTSxJQUdMO1FBQ0QsVUFBVSxFQUFFLHFDQUFxQztLQUNsRDtJQUNEO1FBQ0UsSUFBSSxFQUFFLHFCQUFxQjtRQUMzQixNQUFNLElBR0w7UUFDRCxVQUFVLEVBQUUsMEJBQTBCO1FBQ3RDLE9BQU8sSUFBK0I7S0FDdkM7Q0FDRixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbnRpdHlBY3Rpb24gfSBmcm9tICdAYWJwL25nLnRoZW1lLnNoYXJlZC9leHRlbnNpb25zJztcbmltcG9ydCB7IFJvbGVzQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9yb2xlcy9yb2xlcy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSWRlbnRpdHlSb2xlRHRvIH0gZnJvbSAnLi4vcHJveHkvaWRlbnRpdHkvbW9kZWxzJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfUk9MRVNfRU5USVRZX0FDVElPTlMgPSBFbnRpdHlBY3Rpb24uY3JlYXRlTWFueTxJZGVudGl0eVJvbGVEdG8+KFtcbiAge1xuICAgIHRleHQ6ICdBYnBJZGVudGl0eTo6RWRpdCcsXG4gICAgYWN0aW9uOiBkYXRhID0+IHtcbiAgICAgIGNvbnN0IGNvbXBvbmVudCA9IGRhdGEuZ2V0SW5qZWN0ZWQoUm9sZXNDb21wb25lbnQpO1xuICAgICAgY29tcG9uZW50LmVkaXQoZGF0YS5yZWNvcmQuaWQpO1xuICAgIH0sXG4gICAgcGVybWlzc2lvbjogJ0FicElkZW50aXR5LlJvbGVzLlVwZGF0ZScsXG4gIH0sXG4gIHtcbiAgICB0ZXh0OiAnQWJwSWRlbnRpdHk6OlBlcm1pc3Npb25zJyxcbiAgICBhY3Rpb246IGRhdGEgPT4ge1xuICAgICAgY29uc3QgY29tcG9uZW50ID0gZGF0YS5nZXRJbmplY3RlZChSb2xlc0NvbXBvbmVudCk7XG4gICAgICBjb21wb25lbnQub3BlblBlcm1pc3Npb25zTW9kYWwoZGF0YS5yZWNvcmQubmFtZSk7XG4gICAgfSxcbiAgICBwZXJtaXNzaW9uOiAnQWJwSWRlbnRpdHkuUm9sZXMuTWFuYWdlUGVybWlzc2lvbnMnLFxuICB9LFxuICB7XG4gICAgdGV4dDogJ0FicElkZW50aXR5OjpEZWxldGUnLFxuICAgIGFjdGlvbjogZGF0YSA9PiB7XG4gICAgICBjb25zdCBjb21wb25lbnQgPSBkYXRhLmdldEluamVjdGVkKFJvbGVzQ29tcG9uZW50KTtcbiAgICAgIGNvbXBvbmVudC5kZWxldGUoZGF0YS5yZWNvcmQuaWQsIGRhdGEucmVjb3JkLm5hbWUpO1xuICAgIH0sXG4gICAgcGVybWlzc2lvbjogJ0FicElkZW50aXR5LlJvbGVzLkRlbGV0ZScsXG4gICAgdmlzaWJsZTogZGF0YSA9PiAhZGF0YS5yZWNvcmQuaXNTdGF0aWMsXG4gIH0sXG5dKTtcbiJdfQ==
30
+ //# sourceMappingURL=default-roles-entity-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-roles-entity-actions.js","sourceRoot":"","sources":["../../../../../../packages/identity/src/lib/defaults/default-roles-entity-actions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAErE,MAAM,CAAC,MAAM,4BAA4B,GAAG,YAAY,CAAC,UAAU,CAAkB;IACnF;QACE,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,IAAI,CAAC,EAAE;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACnD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACjC,CAAC;QACD,UAAU,EAAE,0BAA0B;KACvC;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE,IAAI,CAAC,EAAE;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACnD,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,UAAU,EAAE,qCAAqC;KAClD;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE,IAAI,CAAC,EAAE;YACb,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACnD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACrD,CAAC;QACD,UAAU,EAAE,0BAA0B;QACtC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ;KACvC;CACF,CAAC,CAAC","sourcesContent":["import { IdentityRoleDto } from '@abp/ng.identity/proxy';\nimport { EntityAction } from '@abp/ng.theme.shared/extensions';\nimport { RolesComponent } from '../components/roles/roles.component';\n\nexport const DEFAULT_ROLES_ENTITY_ACTIONS = EntityAction.createMany<IdentityRoleDto>([\n {\n text: 'AbpIdentity::Edit',\n action: data => {\n const component = data.getInjected(RolesComponent);\n component.edit(data.record.id);\n },\n permission: 'AbpIdentity.Roles.Update',\n },\n {\n text: 'AbpIdentity::Permissions',\n action: data => {\n const component = data.getInjected(RolesComponent);\n component.openPermissionsModal(data.record.name);\n },\n permission: 'AbpIdentity.Roles.ManagePermissions',\n },\n {\n text: 'AbpIdentity::Delete',\n action: data => {\n const component = data.getInjected(RolesComponent);\n component.delete(data.record.id, data.record.name);\n },\n permission: 'AbpIdentity.Roles.Delete',\n visible: data => !data.record.isStatic,\n },\n]);\n"]}