@abp/ng.core 7.0.1 → 7.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 (118) hide show
  1. package/esm2020/lib/abstracts/ng-model.component.mjs +1 -1
  2. package/esm2020/lib/clients/http.client.mjs +34 -0
  3. package/esm2020/lib/clients/index.mjs +2 -0
  4. package/esm2020/lib/components/dynamic-layout.component.mjs +6 -4
  5. package/esm2020/lib/components/replaceable-route-container.component.mjs +1 -1
  6. package/esm2020/lib/directives/debounce.directive.mjs +1 -1
  7. package/esm2020/lib/directives/for.directive.mjs +20 -12
  8. package/esm2020/lib/directives/form-submit.directive.mjs +2 -2
  9. package/esm2020/lib/directives/replaceable-template.directive.mjs +9 -5
  10. package/esm2020/lib/directives/stop-propagation.directive.mjs +2 -2
  11. package/esm2020/lib/handlers/routes.handler.mjs +9 -7
  12. package/esm2020/lib/interceptors/api.interceptor.mjs +3 -2
  13. package/esm2020/lib/models/auth.mjs +1 -1
  14. package/esm2020/lib/models/dtos.mjs +6 -6
  15. package/esm2020/lib/models/environment.mjs +1 -1
  16. package/esm2020/lib/models/session.mjs +1 -1
  17. package/esm2020/lib/providers/include-localization-resources.provider.mjs +2 -2
  18. package/esm2020/lib/providers/locale.provider.mjs +6 -2
  19. package/esm2020/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.mjs +1 -1
  20. package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.mjs +1 -1
  21. package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.mjs +1 -1
  22. package/esm2020/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-localization.service.mjs +2 -2
  23. package/esm2020/lib/proxy/volo/abp/http/modeling/models.mjs +1 -1
  24. package/esm2020/lib/proxy/volo/abp/localization/models.mjs +1 -1
  25. package/esm2020/lib/services/config-state.service.mjs +4 -1
  26. package/esm2020/lib/services/dom-insertion.service.mjs +6 -4
  27. package/esm2020/lib/services/environment.service.mjs +5 -5
  28. package/esm2020/lib/services/http-wait.service.mjs +4 -1
  29. package/esm2020/lib/services/lazy-load.service.mjs +6 -4
  30. package/esm2020/lib/services/localization.service.mjs +7 -7
  31. package/esm2020/lib/services/multi-tenancy.service.mjs +1 -1
  32. package/esm2020/lib/services/permission.service.mjs +1 -1
  33. package/esm2020/lib/services/replaceable-components.service.mjs +1 -1
  34. package/esm2020/lib/services/resource-wait.service.mjs +2 -2
  35. package/esm2020/lib/services/rest.service.mjs +2 -3
  36. package/esm2020/lib/services/router-events.service.mjs +2 -2
  37. package/esm2020/lib/services/routes.service.mjs +2 -2
  38. package/esm2020/lib/services/session-state.service.mjs +1 -1
  39. package/esm2020/lib/services/subscription.service.mjs +4 -2
  40. package/esm2020/lib/strategies/content-security.strategy.mjs +4 -2
  41. package/esm2020/lib/strategies/content.strategy.mjs +6 -2
  42. package/esm2020/lib/strategies/context.strategy.mjs +1 -1
  43. package/esm2020/lib/strategies/cross-origin.strategy.mjs +4 -2
  44. package/esm2020/lib/strategies/loading.strategy.mjs +1 -1
  45. package/esm2020/lib/tokens/http-context.token.mjs +3 -0
  46. package/esm2020/lib/tokens/include-localization-resources.token.mjs +2 -2
  47. package/esm2020/lib/tokens/index.mjs +2 -1
  48. package/esm2020/lib/tokens/localization.token.mjs +1 -1
  49. package/esm2020/lib/tokens/set-token-response-to-storage.token.mjs +4 -1
  50. package/esm2020/lib/utils/common-utils.mjs +4 -1
  51. package/esm2020/lib/utils/date-utils.mjs +3 -3
  52. package/esm2020/lib/utils/environment-utils.mjs +2 -2
  53. package/esm2020/lib/utils/factory-utils.mjs +2 -2
  54. package/esm2020/lib/utils/internal-store-utils.mjs +2 -1
  55. package/esm2020/lib/utils/lazy-load-utils.mjs +2 -2
  56. package/esm2020/lib/utils/localization-utils.mjs +1 -1
  57. package/esm2020/lib/utils/multi-tenancy-utils.mjs +7 -4
  58. package/esm2020/lib/utils/object-utils.mjs +1 -1
  59. package/esm2020/lib/utils/route-utils.mjs +2 -2
  60. package/esm2020/lib/utils/tree-utils.mjs +1 -1
  61. package/esm2020/lib/validators/range.validator.mjs +1 -1
  62. package/esm2020/lib/validators/required.validator.mjs +1 -1
  63. package/esm2020/lib/validators/string-length.validator.mjs +1 -1
  64. package/esm2020/lib/validators/username.validator.mjs +2 -2
  65. package/esm2020/locale/utils/register-locale.mjs +2 -2
  66. package/esm2020/public-api.mjs +2 -1
  67. package/esm2020/testing/lib/services/mock-permission.service.mjs +1 -1
  68. package/esm2020/testing/lib/services/mock-rest.service.mjs +2 -2
  69. package/fesm2015/abp-ng.core-locale.mjs +1 -1
  70. package/fesm2015/abp-ng.core-locale.mjs.map +1 -1
  71. package/fesm2015/abp-ng.core-testing.mjs.map +1 -1
  72. package/fesm2015/abp-ng.core.mjs +158 -73
  73. package/fesm2015/abp-ng.core.mjs.map +1 -1
  74. package/fesm2020/abp-ng.core-locale.mjs +1 -1
  75. package/fesm2020/abp-ng.core-locale.mjs.map +1 -1
  76. package/fesm2020/abp-ng.core-testing.mjs.map +1 -1
  77. package/fesm2020/abp-ng.core.mjs +148 -69
  78. package/fesm2020/abp-ng.core.mjs.map +1 -1
  79. package/lib/abstracts/ng-model.component.d.ts +4 -4
  80. package/lib/clients/http.client.d.ts +11 -0
  81. package/lib/clients/index.d.ts +1 -0
  82. package/lib/components/dynamic-layout.component.d.ts +2 -2
  83. package/lib/components/replaceable-route-container.component.d.ts +1 -1
  84. package/lib/directives/for.directive.d.ts +6 -6
  85. package/lib/directives/form-submit.directive.d.ts +1 -1
  86. package/lib/models/auth.d.ts +4 -1
  87. package/lib/models/dtos.d.ts +11 -11
  88. package/lib/models/environment.d.ts +3 -1
  89. package/lib/models/session.d.ts +1 -1
  90. package/lib/providers/include-localization-resources.provider.d.ts +1 -1
  91. package/lib/proxy/volo/abp/http/modeling/models.d.ts +1 -1
  92. package/lib/proxy/volo/abp/localization/models.d.ts +1 -0
  93. package/lib/services/config-state.service.d.ts +5 -3
  94. package/lib/services/dom-insertion.service.d.ts +1 -1
  95. package/lib/services/environment.service.d.ts +1 -1
  96. package/lib/services/localization.service.d.ts +5 -2
  97. package/lib/services/multi-tenancy.service.d.ts +1 -1
  98. package/lib/services/permission.service.d.ts +2 -2
  99. package/lib/services/replaceable-components.service.d.ts +2 -2
  100. package/lib/services/rest.service.d.ts +1 -1
  101. package/lib/services/router-events.service.d.ts +2 -2
  102. package/lib/services/routes.service.d.ts +3 -1
  103. package/lib/services/session-state.service.d.ts +1 -1
  104. package/lib/services/subscription.service.d.ts +1 -1
  105. package/lib/strategies/cross-origin.strategy.d.ts +2 -2
  106. package/lib/tokens/http-context.token.d.ts +2 -0
  107. package/lib/tokens/include-localization-resources.token.d.ts +1 -1
  108. package/lib/tokens/index.d.ts +1 -0
  109. package/lib/tokens/localization.token.d.ts +2 -2
  110. package/lib/tokens/set-token-response-to-storage.token.d.ts +3 -0
  111. package/lib/utils/common-utils.d.ts +9 -8
  112. package/lib/utils/factory-utils.d.ts +3 -1
  113. package/lib/utils/localization-utils.d.ts +1 -1
  114. package/lib/utils/object-utils.d.ts +2 -1
  115. package/lib/utils/route-utils.d.ts +2 -2
  116. package/lib/utils/tree-utils.d.ts +3 -3
  117. package/package.json +3 -3
  118. package/public-api.d.ts +1 -0
@@ -40,7 +40,7 @@ async function defaultLocalErrorHandlerFn({ locale, resolve }) {
40
40
  resolve({ default: extraLocales[localeMap[locale] || locale] });
41
41
  return;
42
42
  }
43
- if (isDevMode) {
43
+ if (isDevMode()) {
44
44
  console.error(`Cannot find the ${locale} locale file. You can check how can add new culture at https://docs.abp.io/en/abp/latest/UI/Angular/Localization#adding-a-new-culture`);
45
45
  }
46
46
  resolve();
@@ -1 +1 @@
1
- {"version":3,"file":"abp-ng.core-locale.mjs","sources":["../../../../packages/core/locale/src/utils/register-locale.ts","../../../../packages/core/locale/src/abp-ng.core-locale.ts"],"sourcesContent":["import { differentLocales } from '@abp/ng.core';\r\nimport { isDevMode } from '@angular/core';\r\n\r\nexport interface LocaleErrorHandlerData {\r\n resolve: any;\r\n reject: any;\r\n error: any;\r\n locale: string;\r\n}\r\n\r\nlet localeMap = {};\r\n\r\nexport interface RegisterLocaleData {\r\n cultureNameLocaleFileMap?: Record<string, string>;\r\n errorHandlerFn?: (data: LocaleErrorHandlerData) => any;\r\n}\r\n\r\nexport function registerLocale(\r\n {\r\n cultureNameLocaleFileMap = {},\r\n errorHandlerFn = defaultLocalErrorHandlerFn,\r\n } = {} as RegisterLocaleData,\r\n) {\r\n return (locale: string): Promise<any> => {\r\n localeMap = { ...differentLocales, ...cultureNameLocaleFileMap };\r\n const localePath = `/locales/${localeMap[locale] || locale}`;\r\n return new Promise((resolve, reject) => {\r\n return import(\r\n /* webpackMode: \"lazy-once\" */\r\n /* webpackChunkName: \"locales\"*/\r\n /* webpackInclude: /[/\\\\](ar|cs|en|en-GB|es|de|fi|fr|hi|hu|is|it|pt|tr|ru|ro|sk|sl|zh-Hans|zh-Hant)\\.(mjs|js)$/ */\r\n /* webpackExclude: /[/\\\\]global|extra/ */\r\n `@angular/common${localePath}`\r\n )\r\n .then(val => {\r\n let module = val;\r\n while (module.default) {\r\n module = module.default;\r\n }\r\n resolve({ default: module });\r\n })\r\n .catch(error => {\r\n errorHandlerFn({\r\n resolve,\r\n reject,\r\n error,\r\n locale,\r\n });\r\n });\r\n });\r\n };\r\n}\r\n\r\nconst extraLocales = {};\r\nexport function storeLocaleData(data: any, localeId: string) {\r\n extraLocales[localeId] = data;\r\n}\r\n\r\nexport async function defaultLocalErrorHandlerFn({ locale, resolve }: LocaleErrorHandlerData) {\r\n if (extraLocales[locale]) {\r\n resolve({ default: extraLocales[localeMap[locale] || locale] });\r\n return;\r\n }\r\n\r\n if (isDevMode) {\r\n console.error(\r\n `Cannot find the ${locale} locale file. You can check how can add new culture at https://docs.abp.io/en/abp/latest/UI/Angular/Localization#adding-a-new-culture`,\r\n );\r\n }\r\n\r\n resolve();\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAUA,IAAI,SAAS,GAAG,EAAE,CAAC;AAOH,SAAA,cAAc,CAC5B,EACE,wBAAwB,GAAG,EAAE,EAC7B,cAAc,GAAG,0BAA0B,GAAA,GACzC,EAAwB,EAAA;IAE5B,OAAO,CAAC,MAAc,KAAkB;QACtC,SAAS,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,wBAAwB,EAAE,CAAC;QACjE,MAAM,UAAU,GAAG,CAAA,SAAA,EAAY,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAA,CAAE,CAAC;QAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,YAAA,OAAO;;;;;YAKL,CAAkB,eAAA,EAAA,UAAU,EAAE,CAC/B;iBACE,IAAI,CAAC,GAAG,IAAG;gBACV,IAAI,MAAM,GAAG,GAAG,CAAC;gBACjB,OAAO,MAAM,CAAC,OAAO,EAAE;AACrB,oBAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;AACzB,iBAAA;AACD,gBAAA,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/B,aAAC,CAAC;iBACD,KAAK,CAAC,KAAK,IAAG;AACb,gBAAA,cAAc,CAAC;oBACb,OAAO;oBACP,MAAM;oBACN,KAAK;oBACL,MAAM;AACP,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AACL,KAAC,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,EAAE,CAAC;AACR,SAAA,eAAe,CAAC,IAAS,EAAE,QAAgB,EAAA;AACzD,IAAA,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AAChC,CAAC;AAEM,eAAe,0BAA0B,CAAC,EAAE,MAAM,EAAE,OAAO,EAA0B,EAAA;AAC1F,IAAA,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;AACxB,QAAA,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO;AACR,KAAA;AAED,IAAA,IAAI,SAAS,EAAE;AACb,QAAA,OAAO,CAAC,KAAK,CACX,mBAAmB,MAAM,CAAA,qIAAA,CAAuI,CACjK,CAAC;AACH,KAAA;AAED,IAAA,OAAO,EAAE,CAAC;AACZ;;ACvEA;;AAEG;;;;"}
1
+ {"version":3,"file":"abp-ng.core-locale.mjs","sources":["../../../../packages/core/locale/src/utils/register-locale.ts","../../../../packages/core/locale/src/abp-ng.core-locale.ts"],"sourcesContent":["import { differentLocales } from '@abp/ng.core';\r\nimport { isDevMode } from '@angular/core';\r\n\r\nexport interface LocaleErrorHandlerData {\r\n resolve: any;\r\n reject: any;\r\n error: any;\r\n locale: string;\r\n}\r\n\r\nlet localeMap = {} as { [key: string]: string };\r\n\r\nexport interface RegisterLocaleData {\r\n cultureNameLocaleFileMap?: Record<string, string>;\r\n errorHandlerFn?: (data: LocaleErrorHandlerData) => any;\r\n}\r\n\r\nexport function registerLocale(\r\n {\r\n cultureNameLocaleFileMap = {},\r\n errorHandlerFn = defaultLocalErrorHandlerFn,\r\n } = {} as RegisterLocaleData,\r\n) {\r\n return (locale: string): Promise<any> => {\r\n localeMap = { ...differentLocales, ...cultureNameLocaleFileMap };\r\n const localePath = `/locales/${localeMap[locale] || locale}`;\r\n return new Promise((resolve, reject) => {\r\n return import(\r\n /* webpackMode: \"lazy-once\" */\r\n /* webpackChunkName: \"locales\"*/\r\n /* webpackInclude: /[/\\\\](ar|cs|en|en-GB|es|de|fi|fr|hi|hu|is|it|pt|tr|ru|ro|sk|sl|zh-Hans|zh-Hant)\\.(mjs|js)$/ */\r\n /* webpackExclude: /[/\\\\]global|extra/ */\r\n `@angular/common${localePath}`\r\n )\r\n .then(val => {\r\n let module = val;\r\n while (module.default) {\r\n module = module.default;\r\n }\r\n resolve({ default: module });\r\n })\r\n .catch(error => {\r\n errorHandlerFn({\r\n resolve,\r\n reject,\r\n error,\r\n locale,\r\n });\r\n });\r\n });\r\n };\r\n}\r\n\r\nconst extraLocales = {} as { [key: string]: any };\r\nexport function storeLocaleData(data: any, localeId: string) {\r\n extraLocales[localeId] = data;\r\n}\r\n\r\nexport async function defaultLocalErrorHandlerFn({ locale, resolve }: LocaleErrorHandlerData) {\r\n if (extraLocales[locale]) {\r\n resolve({ default: extraLocales[localeMap[locale] || locale] });\r\n return;\r\n }\r\n\r\n if (isDevMode()) {\r\n console.error(\r\n `Cannot find the ${locale} locale file. You can check how can add new culture at https://docs.abp.io/en/abp/latest/UI/Angular/Localization#adding-a-new-culture`,\r\n );\r\n }\r\n\r\n resolve();\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;AAUA,IAAI,SAAS,GAAG,EAA+B,CAAC;AAOhC,SAAA,cAAc,CAC5B,EACE,wBAAwB,GAAG,EAAE,EAC7B,cAAc,GAAG,0BAA0B,GAAA,GACzC,EAAwB,EAAA;IAE5B,OAAO,CAAC,MAAc,KAAkB;QACtC,SAAS,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,wBAAwB,EAAE,CAAC;QACjE,MAAM,UAAU,GAAG,CAAA,SAAA,EAAY,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAA,CAAE,CAAC;QAC7D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;AACrC,YAAA,OAAO;;;;;YAKL,CAAkB,eAAA,EAAA,UAAU,EAAE,CAC/B;iBACE,IAAI,CAAC,GAAG,IAAG;gBACV,IAAI,MAAM,GAAG,GAAG,CAAC;gBACjB,OAAO,MAAM,CAAC,OAAO,EAAE;AACrB,oBAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;AACzB,iBAAA;AACD,gBAAA,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AAC/B,aAAC,CAAC;iBACD,KAAK,CAAC,KAAK,IAAG;AACb,gBAAA,cAAc,CAAC;oBACb,OAAO;oBACP,MAAM;oBACN,KAAK;oBACL,MAAM;AACP,iBAAA,CAAC,CAAC;AACL,aAAC,CAAC,CAAC;AACP,SAAC,CAAC,CAAC;AACL,KAAC,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,EAA4B,CAAC;AAClC,SAAA,eAAe,CAAC,IAAS,EAAE,QAAgB,EAAA;AACzD,IAAA,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AAChC,CAAC;AAEM,eAAe,0BAA0B,CAAC,EAAE,MAAM,EAAE,OAAO,EAA0B,EAAA;AAC1F,IAAA,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;AACxB,QAAA,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO;AACR,KAAA;IAED,IAAI,SAAS,EAAE,EAAE;AACf,QAAA,OAAO,CAAC,KAAK,CACX,mBAAmB,MAAM,CAAA,qIAAA,CAAuI,CACjK,CAAC;AACH,KAAA;AAED,IAAA,OAAO,EAAE,CAAC;AACZ;;ACvEA;;AAEG;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"abp-ng.core-testing.mjs","sources":["../../../../packages/core/testing/src/lib/services/mock-permission.service.ts","../../../../packages/core/testing/src/lib/services/mock-rest.service.ts","../../../../packages/core/testing/src/lib/core-testing.module.ts","../../../../packages/core/testing/src/lib/utils/clear-page.util.ts","../../../../packages/core/testing/src/lib/utils/wait.util.ts","../../../../packages/core/testing/src/abp-ng.core-testing.ts"],"sourcesContent":["import { ConfigStateService, PermissionService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockPermissionService extends PermissionService {\r\n constructor(protected configState: ConfigStateService) {\r\n super(configState);\r\n this.grantAllPolicies();\r\n }\r\n\r\n grantAllPolicies() {\r\n const grantedPolicies = new Proxy(\r\n {},\r\n {\r\n get() {\r\n return true;\r\n },\r\n },\r\n );\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n\r\n grantPolicies(keys: string[]) {\r\n const grantedPolicies = keys.reduce((policies, key) => {\r\n policies[key] = true;\r\n return policies;\r\n }, {});\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n}\r\n","import { ABP, CORE_OPTIONS, EnvironmentService, RestService } from '@abp/ng.core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockRestService extends RestService {\r\n constructor(\r\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n protected http: HttpClient,\r\n protected environment: EnvironmentService,\r\n ) {\r\n super(options, http, environment, null);\r\n }\r\n\r\n handleError(err: any): Observable<any> {\r\n return throwError(err);\r\n }\r\n}\r\n","import {\r\n ABP,\r\n BaseCoreModule,\r\n coreOptionsFactory,\r\n CORE_OPTIONS,\r\n LIST_QUERY_DEBOUNCE_TIME,\r\n LOADER_DELAY,\r\n PermissionService,\r\n RestService,\r\n} from '@abp/ng.core';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { provideRoutes } from '@angular/router';\r\nimport { RouterTestingModule } from '@angular/router/testing';\r\nimport { MockPermissionService } from './services/mock-permission.service';\r\nimport { MockRestService } from './services/mock-rest.service';\r\n\r\n/**\r\n * CoreTestingModule is the module that will be used in tests\r\n * and it provides mock alternatives\r\n */\r\n@NgModule({\r\n exports: [RouterTestingModule, BaseCoreModule],\r\n imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],\r\n})\r\nexport class CoreTestingModule {\r\n static withConfig(\r\n { baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {} as ABP.Test,\r\n ): ModuleWithProviders<CoreTestingModule> {\r\n return {\r\n ngModule: CoreTestingModule,\r\n providers: [\r\n { provide: APP_BASE_HREF, useValue: baseHref },\r\n {\r\n provide: 'CORE_OPTIONS',\r\n useValue: {\r\n skipGetAppConfiguration: true,\r\n ...options,\r\n },\r\n },\r\n {\r\n provide: CORE_OPTIONS,\r\n useFactory: coreOptionsFactory,\r\n deps: ['CORE_OPTIONS'],\r\n },\r\n {\r\n provide: LIST_QUERY_DEBOUNCE_TIME,\r\n useValue: listQueryDebounceTime,\r\n },\r\n {\r\n provide: PermissionService,\r\n useClass: MockPermissionService,\r\n },\r\n {\r\n provide: RestService,\r\n useClass: MockRestService,\r\n },\r\n {\r\n provide: LOADER_DELAY,\r\n useValue: 0,\r\n },\r\n provideRoutes(routes),\r\n ],\r\n };\r\n }\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function clearPage<T extends any>(_fixture: ComponentFixture<T>) {\r\n if (!document) return;\r\n\r\n const elements = document.querySelectorAll('body > *');\r\n elements.forEach(element => {\r\n if (/^(abp|ngb)-/i.test(element.tagName)) document.body.removeChild(element);\r\n });\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function wait<T extends any>(fixture: ComponentFixture<T>, timeout = 0) {\r\n fixture.detectChanges();\r\n return new Promise(res => setTimeout(res, timeout));\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"abp-ng.core-testing.mjs","sources":["../../../../packages/core/testing/src/lib/services/mock-permission.service.ts","../../../../packages/core/testing/src/lib/services/mock-rest.service.ts","../../../../packages/core/testing/src/lib/core-testing.module.ts","../../../../packages/core/testing/src/lib/utils/clear-page.util.ts","../../../../packages/core/testing/src/lib/utils/wait.util.ts","../../../../packages/core/testing/src/abp-ng.core-testing.ts"],"sourcesContent":["import { ConfigStateService, PermissionService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockPermissionService extends PermissionService {\r\n constructor(protected configState: ConfigStateService) {\r\n super(configState);\r\n this.grantAllPolicies();\r\n }\r\n\r\n grantAllPolicies() {\r\n const grantedPolicies = new Proxy(\r\n {},\r\n {\r\n get() {\r\n return true;\r\n },\r\n },\r\n );\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n\r\n grantPolicies(keys: string[]) {\r\n const grantedPolicies = keys.reduce((policies, key) => {\r\n policies[key] = true;\r\n return policies;\r\n }, {} as { [key: string]: boolean });\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n}\r\n","import {\r\n ABP,\r\n CORE_OPTIONS,\r\n EnvironmentService,\r\n HttpErrorReporterService,\r\n RestService,\r\n} from '@abp/ng.core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockRestService extends RestService {\r\n constructor(\r\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n protected http: HttpClient,\r\n protected environment: EnvironmentService,\r\n ) {\r\n super(options, http, environment, null as unknown as HttpErrorReporterService);\r\n }\r\n\r\n handleError(err: any): Observable<any> {\r\n return throwError(err);\r\n }\r\n}\r\n","import {\r\n ABP,\r\n BaseCoreModule,\r\n coreOptionsFactory,\r\n CORE_OPTIONS,\r\n LIST_QUERY_DEBOUNCE_TIME,\r\n LOADER_DELAY,\r\n PermissionService,\r\n RestService,\r\n} from '@abp/ng.core';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { provideRoutes } from '@angular/router';\r\nimport { RouterTestingModule } from '@angular/router/testing';\r\nimport { MockPermissionService } from './services/mock-permission.service';\r\nimport { MockRestService } from './services/mock-rest.service';\r\n\r\n/**\r\n * CoreTestingModule is the module that will be used in tests\r\n * and it provides mock alternatives\r\n */\r\n@NgModule({\r\n exports: [RouterTestingModule, BaseCoreModule],\r\n imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],\r\n})\r\nexport class CoreTestingModule {\r\n static withConfig(\r\n { baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {} as ABP.Test,\r\n ): ModuleWithProviders<CoreTestingModule> {\r\n return {\r\n ngModule: CoreTestingModule,\r\n providers: [\r\n { provide: APP_BASE_HREF, useValue: baseHref },\r\n {\r\n provide: 'CORE_OPTIONS',\r\n useValue: {\r\n skipGetAppConfiguration: true,\r\n ...options,\r\n },\r\n },\r\n {\r\n provide: CORE_OPTIONS,\r\n useFactory: coreOptionsFactory,\r\n deps: ['CORE_OPTIONS'],\r\n },\r\n {\r\n provide: LIST_QUERY_DEBOUNCE_TIME,\r\n useValue: listQueryDebounceTime,\r\n },\r\n {\r\n provide: PermissionService,\r\n useClass: MockPermissionService,\r\n },\r\n {\r\n provide: RestService,\r\n useClass: MockRestService,\r\n },\r\n {\r\n provide: LOADER_DELAY,\r\n useValue: 0,\r\n },\r\n provideRoutes(routes),\r\n ],\r\n };\r\n }\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function clearPage<T extends any>(_fixture: ComponentFixture<T>) {\r\n if (!document) return;\r\n\r\n const elements = document.querySelectorAll('body > *');\r\n elements.forEach(element => {\r\n if (/^(abp|ngb)-/i.test(element.tagName)) document.body.removeChild(element);\r\n });\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function wait<T extends any>(fixture: ComponentFixture<T>, timeout = 0) {\r\n fixture.detectChanges();\r\n return new Promise(res => setTimeout(res, timeout));\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":";;;;;;;;;;;AAMM,MAAO,qBAAsB,SAAQ,iBAAiB,CAAA;AAC1D,IAAA,WAAA,CAAsB,WAA+B,EAAA;QACnD,KAAK,CAAC,WAAW,CAAC,CAAC;QADC,IAAW,CAAA,WAAA,GAAX,WAAW,CAAoB;QAEnD,IAAI,CAAC,gBAAgB,EAAE,CAAC;KACzB;IAED,gBAAgB,GAAA;AACd,QAAA,MAAM,eAAe,GAAG,IAAI,KAAK,CAC/B,EAAE,EACF;YACE,GAAG,GAAA;AACD,gBAAA,OAAO,IAAI,CAAC;aACb;AACF,SAAA,CACF,CAAC;AAEF,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;KACpE;AAED,IAAA,aAAa,CAAC,IAAc,EAAA;QAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,GAAG,KAAI;AACpD,YAAA,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;AACrB,YAAA,OAAO,QAAQ,CAAC;SACjB,EAAE,EAAgC,CAAC,CAAC;AAErC,QAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;KACpE;;kHA1BU,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,qBAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cAFpB,MAAM,EAAA,CAAA,CAAA;2FAEP,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAHjC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;ACSK,MAAO,eAAgB,SAAQ,WAAW,CAAA;AAC9C,IAAA,WAAA,CACkC,OAAiB,EACvC,IAAgB,EAChB,WAA+B,EAAA;QAEzC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAA2C,CAAC,CAAC;QAJ/C,IAAO,CAAA,OAAA,GAAP,OAAO,CAAU;QACvC,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAY;QAChB,IAAW,CAAA,WAAA,GAAX,WAAW,CAAoB;KAG1C;AAED,IAAA,WAAW,CAAC,GAAQ,EAAA;AAClB,QAAA,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;KACxB;;AAXU,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,kBAEhB,YAAY,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,EAAA,CAAA,kBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAFX,eAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cAFd,MAAM,EAAA,CAAA,CAAA;2FAEP,eAAe,EAAA,UAAA,EAAA,CAAA;kBAH3B,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;0BAGI,MAAM;2BAAC,YAAY,CAAA;;;ACExB;;;AAGG;MAKU,iBAAiB,CAAA;AAC5B,IAAA,OAAO,UAAU,CACf,EAAE,QAAQ,GAAG,GAAG,EAAE,qBAAqB,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,KAAK,EAAc,EAAA;QAEvF,OAAO;AACL,YAAA,QAAQ,EAAE,iBAAiB;AAC3B,YAAA,SAAS,EAAE;AACT,gBAAA,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;AAC9C,gBAAA;AACE,oBAAA,OAAO,EAAE,cAAc;AACvB,oBAAA,QAAQ,EAAE;AACR,wBAAA,uBAAuB,EAAE,IAAI;AAC7B,wBAAA,GAAG,OAAO;AACX,qBAAA;AACF,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,YAAY;AACrB,oBAAA,UAAU,EAAE,kBAAkB;oBAC9B,IAAI,EAAE,CAAC,cAAc,CAAC;AACvB,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,wBAAwB;AACjC,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,iBAAiB;AAC1B,oBAAA,QAAQ,EAAE,qBAAqB;AAChC,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,WAAW;AACpB,oBAAA,QAAQ,EAAE,eAAe;AAC1B,iBAAA;AACD,gBAAA;AACE,oBAAA,OAAO,EAAE,YAAY;AACrB,oBAAA,QAAQ,EAAE,CAAC;AACZ,iBAAA;gBACD,aAAa,CAAC,MAAM,CAAC;AACtB,aAAA;SACF,CAAC;KACH;;8GAvCU,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;+GAAjB,iBAAiB,EAAA,OAAA,EAAA,CAFlB,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,CAAA,EAAA,OAAA,EAAA,CADzD,mBAAmB,EAAE,cAAc,CAAA,EAAA,CAAA,CAAA;+GAGlC,iBAAiB,EAAA,OAAA,EAAA,CAFlB,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,EADzD,mBAAmB,EAAE,cAAc,CAAA,EAAA,CAAA,CAAA;2FAGlC,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAJ7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC;AAC9C,oBAAA,OAAO,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,CAAC;AACrE,iBAAA,CAAA;;;ACvBK,SAAU,SAAS,CAAgB,QAA6B,EAAA;AACpE,IAAA,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACvD,IAAA,QAAQ,CAAC,OAAO,CAAC,OAAO,IAAG;AACzB,QAAA,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAAE,YAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAC/E,KAAC,CAAC,CAAC;AACL;;SCPgB,IAAI,CAAgB,OAA4B,EAAE,OAAO,GAAG,CAAC,EAAA;IAC3E,OAAO,CAAC,aAAa,EAAE,CAAC;AACxB,IAAA,OAAO,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACtD;;ACLA;;AAEG;;;;"}