@acorex/platform 20.7.8 → 20.7.10

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 (28) hide show
  1. package/common/index.d.ts +26 -5
  2. package/core/index.d.ts +13 -7
  3. package/fesm2022/acorex-platform-common.mjs +5 -1
  4. package/fesm2022/acorex-platform-common.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-core.mjs +20 -11
  6. package/fesm2022/acorex-platform-core.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-layout-builder.mjs +31 -4
  8. package/fesm2022/acorex-platform-layout-builder.mjs.map +1 -1
  9. package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-ZnTG7wlJ.mjs → acorex-platform-layout-components-binding-expression-editor-popup.component-Cb6Lk4Ch.mjs} +5 -5
  10. package/fesm2022/{acorex-platform-layout-components-binding-expression-editor-popup.component-ZnTG7wlJ.mjs.map → acorex-platform-layout-components-binding-expression-editor-popup.component-Cb6Lk4Ch.mjs.map} +1 -1
  11. package/fesm2022/acorex-platform-layout-components.mjs +913 -36
  12. package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
  13. package/fesm2022/acorex-platform-layout-entity.mjs +471 -789
  14. package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
  15. package/fesm2022/{acorex-platform-layout-widgets-repeater-widget-column.component-fcCirNxz.mjs → acorex-platform-layout-widgets-repeater-widget-column.component-DnhR00cH.mjs} +2 -2
  16. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-DnhR00cH.mjs.map +1 -0
  17. package/fesm2022/acorex-platform-layout-widgets.mjs +219 -327
  18. package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
  19. package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-DzWjSMSK.mjs → acorex-platform-themes-default-entity-master-list-view.component-HBr-ZTSt.mjs} +20 -5
  20. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-HBr-ZTSt.mjs.map +1 -0
  21. package/fesm2022/acorex-platform-themes-default.mjs +2 -2
  22. package/layout/builder/index.d.ts +25 -14
  23. package/layout/components/index.d.ts +295 -2
  24. package/layout/entity/index.d.ts +59 -58
  25. package/layout/widgets/index.d.ts +38 -32
  26. package/package.json +5 -5
  27. package/fesm2022/acorex-platform-layout-widgets-repeater-widget-column.component-fcCirNxz.mjs.map +0 -1
  28. package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DzWjSMSK.mjs.map +0 -1
@@ -1083,11 +1083,14 @@ class AXPDataSourceDefinitionProviderService {
1083
1083
  }
1084
1084
  async items() {
1085
1085
  const items = [];
1086
- // Load from DI tokens
1086
+ // Load from DI tokens; resolve lazy providers (provideLazyProvider uses useFactory that returns Promise<T>)
1087
1087
  if (Array.isArray(this.providers)) {
1088
- for (const provider of this.providers) {
1089
- set(provider, '__parent__', this);
1090
- items.push(...(await provider.items()));
1088
+ for (const raw of this.providers) {
1089
+ const provider = await Promise.resolve(raw);
1090
+ if (provider && typeof provider.items === 'function') {
1091
+ set(provider, '__parent__', this);
1092
+ items.push(...(await provider.items()));
1093
+ }
1091
1094
  }
1092
1095
  }
1093
1096
  return items;
@@ -3808,17 +3811,23 @@ async function createProviderWithInjectionContext(loader) {
3808
3811
  *
3809
3812
  * @param token - The injection token to provide
3810
3813
  * @param loader - Function that returns a promise resolving to the provider class
3811
- * @param multi - Whether the provider is multi-provider (defaults to true)
3814
+ * @param multi - Optional. Whether the provider is a multi-provider (array of values). Defaults to `true`. Pass `false` for a single provider.
3812
3815
  * @returns Provider configuration object
3813
3816
  *
3814
3817
  * @example
3815
3818
  * ```typescript
3816
- * providers: [
3817
- * provideLazyProvider(
3818
- * AXP_SETTING_DEFINITION_PROVIDER,
3819
- * () => import('./settings.provider').then(m => m.AXMSettingProvider)
3820
- * )
3821
- * ]
3819
+ * // Multi-provider (default)
3820
+ * provideLazyProvider(
3821
+ * AXP_DATASOURCE_DEFINITION_PROVIDER,
3822
+ * () => import('./datasource.provider').then(m => m.AXMDataSourceProvider)
3823
+ * )
3824
+ *
3825
+ * // Single provider
3826
+ * provideLazyProvider(
3827
+ * SOME_TOKEN,
3828
+ * () => import('./my.provider').then(m => m.MyProvider),
3829
+ * false
3830
+ * )
3822
3831
  * ```
3823
3832
  */
3824
3833
  function provideLazyProvider(token, loader, multi = true) {