@acorex-platform/framework-client 2.0.0-next.2 → 2.0.0-next.21

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 (61) hide show
  1. package/fesm2022/{acorex-platform-framework-client-common-common-settings.provider-ChU2tvyt.mjs → acorex-platform-framework-client-common-common-settings.provider-Cyr1DaiD.mjs} +19 -2
  2. package/fesm2022/{acorex-platform-framework-client-common-common-settings.provider-ChU2tvyt.mjs.map → acorex-platform-framework-client-common-common-settings.provider-Cyr1DaiD.mjs.map} +1 -1
  3. package/fesm2022/acorex-platform-framework-client-common.mjs +416 -191
  4. package/fesm2022/acorex-platform-framework-client-common.mjs.map +1 -1
  5. package/fesm2022/acorex-platform-framework-client-core.mjs +7 -2
  6. package/fesm2022/acorex-platform-framework-client-core.mjs.map +1 -1
  7. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs +20 -0
  8. package/fesm2022/acorex-platform-framework-client-layout-builder.mjs.map +1 -1
  9. package/fesm2022/acorex-platform-framework-client-layout-components.mjs +520 -142
  10. package/fesm2022/acorex-platform-framework-client-layout-components.mjs.map +1 -1
  11. package/fesm2022/{acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-CA19c8sx.mjs → acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-B3NLw_X8.mjs} +801 -207
  12. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-B3NLw_X8.mjs.map +1 -0
  13. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-Dxp4kGsa.mjs → acorex-platform-framework-client-layout-entity-attachments-page.component-CCOi5IsF.mjs} +2 -2
  14. package/fesm2022/{acorex-platform-framework-client-layout-entity-attachments-page.component-Dxp4kGsa.mjs.map → acorex-platform-framework-client-layout-entity-attachments-page.component-CCOi5IsF.mjs.map} +1 -1
  15. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-fnICGK0s.mjs → acorex-platform-framework-client-layout-entity-bulk-entity.command-D8g9PkkI.mjs} +2 -2
  16. package/fesm2022/{acorex-platform-framework-client-layout-entity-bulk-entity.command-fnICGK0s.mjs.map → acorex-platform-framework-client-layout-entity-bulk-entity.command-D8g9PkkI.mjs.map} +1 -1
  17. package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-BxTbTlUr.mjs → acorex-platform-framework-client-layout-entity-file-list-popup.component-B2aSSN0A.mjs} +4 -4
  18. package/fesm2022/{acorex-platform-framework-client-layout-entity-file-list-popup.component-BxTbTlUr.mjs.map → acorex-platform-framework-client-layout-entity-file-list-popup.component-B2aSSN0A.mjs.map} +1 -1
  19. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-D0WZheYu.mjs → acorex-platform-framework-client-layout-entity-gallery-page.component-D6r3VvFN.mjs} +2 -2
  20. package/fesm2022/{acorex-platform-framework-client-layout-entity-gallery-page.component-D0WZheYu.mjs.map → acorex-platform-framework-client-layout-entity-gallery-page.component-D6r3VvFN.mjs.map} +1 -1
  21. package/fesm2022/acorex-platform-framework-client-layout-entity.mjs +1 -1
  22. package/fesm2022/acorex-platform-framework-client-layout-views.mjs +71 -10
  23. package/fesm2022/acorex-platform-framework-client-layout-views.mjs.map +1 -1
  24. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs +285 -184
  25. package/fesm2022/acorex-platform-framework-client-layout-widget-core.mjs.map +1 -1
  26. package/fesm2022/{acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-1UJh0Qj4.mjs → acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-ByihbDgl.mjs} +228 -113
  27. package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-ByihbDgl.mjs.map +1 -0
  28. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-SHCgo4UC.mjs → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-BFB3Jo5r.mjs} +3 -3
  29. package/fesm2022/{acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-SHCgo4UC.mjs.map → acorex-platform-framework-client-layout-widgets-repeater-widget-column.component-BFB3Jo5r.mjs.map} +1 -1
  30. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-BYsrp8LT.mjs → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-HBONm-TI.mjs} +2 -2
  31. package/fesm2022/{acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-BYsrp8LT.mjs.map → acorex-platform-framework-client-layout-widgets-text-block-widget-designer.component-HBONm-TI.mjs.map} +1 -1
  32. package/fesm2022/acorex-platform-framework-client-layout-widgets.mjs +1 -1
  33. package/fesm2022/acorex-platform-framework-client-realtime.mjs +49 -7
  34. package/fesm2022/acorex-platform-framework-client-realtime.mjs.map +1 -1
  35. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-create-view.component-DwCoz2Du.mjs → acorex-platform-framework-client-themes-default-entity-master-create-view.component-DPU6jTDk.mjs} +8 -2
  36. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-DPU6jTDk.mjs.map +1 -0
  37. package/fesm2022/{acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BCyFK60f.mjs → acorex-platform-framework-client-themes-default-entity-master-modify-view.component-CLdQJ8e8.mjs} +8 -2
  38. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-CLdQJ8e8.mjs.map +1 -0
  39. package/fesm2022/acorex-platform-framework-client-themes-default.mjs +124 -43
  40. package/fesm2022/acorex-platform-framework-client-themes-default.mjs.map +1 -1
  41. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs +1 -1
  42. package/fesm2022/acorex-platform-framework-client-themes-shared.mjs.map +1 -1
  43. package/i18n/en-AU/general.json +16 -4
  44. package/i18n/en-AU/layout.json +2 -1
  45. package/i18n/en-US/general.json +16 -4
  46. package/i18n/en-US/layout.json +2 -1
  47. package/i18n/fa-IR/general.json +16 -4
  48. package/i18n/fa-IR/layout.json +2 -1
  49. package/package.json +6 -6
  50. package/types/acorex-platform-framework-client-common.d.ts +67 -7
  51. package/types/acorex-platform-framework-client-layout-components.d.ts +47 -6
  52. package/types/acorex-platform-framework-client-layout-entity.d.ts +117 -34
  53. package/types/acorex-platform-framework-client-layout-views.d.ts +15 -0
  54. package/types/acorex-platform-framework-client-layout-widget-core.d.ts +64 -14
  55. package/types/acorex-platform-framework-client-layout-widgets.d.ts +30 -1
  56. package/types/acorex-platform-framework-client-realtime.d.ts +5 -0
  57. package/types/acorex-platform-framework-client-themes-default.d.ts +12 -0
  58. package/fesm2022/acorex-platform-framework-client-layout-entity-acorex-platform-framework-client-layout-entity-CA19c8sx.mjs.map +0 -1
  59. package/fesm2022/acorex-platform-framework-client-layout-widgets-acorex-platform-framework-client-layout-widgets-1UJh0Qj4.mjs.map +0 -1
  60. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-create-view.component-DwCoz2Du.mjs.map +0 -1
  61. package/fesm2022/acorex-platform-framework-client-themes-default-entity-master-modify-view.component-BCyFK60f.mjs.map +0 -1
@@ -288,6 +288,8 @@ type FormatConditionBuilderTranslate = (key: string, params?: Record<string, str
288
288
  interface FormatConditionBuilderSentenceOptions {
289
289
  filterDefinitions: readonly AXPFilterDefinition[];
290
290
  translate: FormatConditionBuilderTranslate;
291
+ /** Turns a stored ISO instant into the active calendar. Display only. */
292
+ formatInstant?: (iso: string) => string;
291
293
  }
292
294
  type ConditionBuilderChipToken = {
293
295
  kind: 'title';
@@ -317,12 +319,15 @@ declare class AXPConditionBuilderWidgetEditComponent extends AXPValueWidgetCompo
317
319
  private readonly popupService;
318
320
  private readonly dialogOpener;
319
321
  private readonly translation;
322
+ private readonly calendarService;
323
+ private readonly settingsService;
320
324
  protected readonly I18N: {
321
325
  readonly addConditions: "@general:terms.interface.styling.add-conditions";
322
326
  readonly editConditions: "@general:terms.interface.styling.edit-conditions";
323
327
  };
324
328
  protected readonly sentence: _angular_core.WritableSignal<string>;
325
329
  protected readonly tokens: _angular_core.WritableSignal<ConditionBuilderChipToken[]>;
330
+ private readonly dateFormat;
326
331
  private sentenceGeneration;
327
332
  protected readonly filterDefinitions: _angular_core.Signal<AXPFilterDefinition[]>;
328
333
  protected readonly operationsLook: _angular_core.Signal<"select" | "menu">;
@@ -334,6 +339,7 @@ declare class AXPConditionBuilderWidgetEditComponent extends AXPValueWidgetCompo
334
339
  onValueChange(value: AXPFilterClause): void;
335
340
  protected openEditor(): void;
336
341
  private openEditorPopup;
342
+ private formatInstant;
337
343
  private translateText;
338
344
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXPConditionBuilderWidgetEditComponent, never>;
339
345
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXPConditionBuilderWidgetEditComponent, "axp-condition-builder-widget-edit", never, {}, {}, never, never, true, never>;
@@ -947,7 +953,6 @@ declare class AXPDateTimeBoxWidgetEditComponent extends AXPValueWidgetComponent<
947
953
  protected filterOperations: Signal<AXPFilterOperator[] | undefined>;
948
954
  protected operationsLook: Signal<AXPFilterOperationsLook>;
949
955
  protected selectedManualPreset: Signal<AXPDateTimeFilterPreset | undefined>;
950
- protected showTime: Signal<boolean>;
951
956
  protected minValue: Signal<string>;
952
957
  protected maxValue: Signal<string>;
953
958
  protected disabled: Signal<boolean>;
@@ -1010,6 +1015,8 @@ declare class AXPDateTimeBoxWidgetEditComponent extends AXPValueWidgetComponent<
1010
1015
  protected handleFilterValueChange(e: AXValueChangedEvent, type: 'from' | 'to' | 'self'): void;
1011
1016
  private translatePresets;
1012
1017
  private dateCompareUnit;
1018
+ private representsSameInstant;
1019
+ private toInstant;
1013
1020
  private normalizeFieldValue;
1014
1021
  private normalizeBoundValue;
1015
1022
  private toAxDateTime;
@@ -1695,8 +1702,12 @@ declare class AXPSelectBoxWidgetEditComponent extends AXPDataListWidgetComponent
1695
1702
  protected placeholder: _angular_core.Signal<string>;
1696
1703
  protected hasClearButton: _angular_core.Signal<boolean>;
1697
1704
  protected allowSearch: _angular_core.Signal<boolean>;
1705
+ /** Loads ax-lookup data source on render (registry / AXDataSource only). */
1706
+ protected prefetch: _angular_core.Signal<boolean>;
1698
1707
  protected filter: _angular_core.Signal<AXDataSourceFilterOption>;
1699
1708
  protected filterMode: _angular_core.Signal<boolean>;
1709
+ /** When false, an empty cascade filter does not lock the editor. Explicit `disabled` is independent. */
1710
+ protected waitForCascade: _angular_core.Signal<boolean>;
1700
1711
  protected lookupMode: _angular_core.Signal<AXLookupMode>;
1701
1712
  /** Parent cascade with an empty value. Structurally empty filters and top-level not-in stay enabled. */
1702
1713
  protected hasPendingCascadeFilter: _angular_core.Signal<boolean>;
@@ -1740,6 +1751,8 @@ declare class AXPSelectBoxWidgetEditComponent extends AXPDataListWidgetComponent
1740
1751
  * are resolved by the caller and stored according to strategy / filterMode.
1741
1752
  */
1742
1753
  private commitEditorChange;
1754
+ /** Fills empty expose targets from the resolved row without running triggers. */
1755
+ private exposeHydratedSelection;
1743
1756
  /**
1744
1757
  * When selection matches saved baseline, align expose targets (restore or remove paths absent from baseline).
1745
1758
  */
@@ -1819,6 +1832,12 @@ interface AXPSelectBoxWidgetDesignerOptions {
1819
1832
  placeholder?: string;
1820
1833
  hasClearButton?: boolean;
1821
1834
  allowSearch?: boolean;
1835
+ prefetch?: boolean;
1836
+ /**
1837
+ * When true (default), an empty cascade `filter` keeps the editor disabled until parent values exist.
1838
+ * Set false to load without waiting. Does not override `disabled: true`.
1839
+ */
1840
+ waitForCascade?: boolean;
1822
1841
  filter?: AXDataSourceFilterOption;
1823
1842
  expose?: any;
1824
1843
  }
@@ -1832,6 +1851,12 @@ interface AXPSelectBoxWidgetEditOptions {
1832
1851
  placeholder?: string;
1833
1852
  hasClearButton?: boolean;
1834
1853
  allowSearch?: boolean;
1854
+ prefetch?: boolean;
1855
+ /**
1856
+ * When true (default), an empty cascade `filter` keeps the editor disabled until parent values exist.
1857
+ * Set false to load without waiting. Does not override `disabled: true`.
1858
+ */
1859
+ waitForCascade?: boolean;
1835
1860
  filter?: AXDataSourceFilterOption;
1836
1861
  expose?: any;
1837
1862
  }
@@ -2959,6 +2984,10 @@ declare class AXPIntegrationConnectionsPanelWidgetEditComponent extends AXPValue
2959
2984
  private refreshConnectAvailability;
2960
2985
  protected getConnection(providerId: string): AXPSafeIntegrationConnectionDto | undefined;
2961
2986
  protected isProviderConnected(providerId: string): boolean;
2987
+ protected connectionStatusBadge(providerId: string): {
2988
+ key: string;
2989
+ color: 'success' | 'warning' | 'secondary';
2990
+ } | null;
2962
2991
  protected supportsConfigure(provider: AXPIntegrationProviderListItemDto): boolean;
2963
2992
  protected supportsConnect(provider: AXPIntegrationProviderListItemDto): boolean;
2964
2993
  protected getProviderBadges(providerId: string): ResolvedIntegrationSettingsBadge[];
@@ -290,6 +290,7 @@ declare function presenceDurationBucket(ms: number): AXPPresenceDurationBucket;
290
290
 
291
291
  declare class AXPUserPresenceService {
292
292
  private readonly connection;
293
+ private readonly userStatus;
293
294
  private readonly presenceByUserId;
294
295
  private readonly watchCounts;
295
296
  private readonly subjects;
@@ -313,6 +314,7 @@ declare class AXPUserPresenceService {
313
314
  private applyPresence;
314
315
  private scheduleFlush;
315
316
  private flush;
317
+ private dropAllWatches;
316
318
  private resubscribeAll;
317
319
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPUserPresenceService, never>;
318
320
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPUserPresenceService>;
@@ -322,13 +324,16 @@ declare class AXPUserPresenceIdleService {
322
324
  private readonly document;
323
325
  private readonly session;
324
326
  private readonly presence;
327
+ private readonly userStatus;
325
328
  private readonly destroyRef;
326
329
  private lastActivityAt;
327
330
  private lastActivityEmitAt;
328
331
  private idle;
329
332
  private checkTimer;
330
333
  private started;
334
+ private sessionStatus;
331
335
  constructor();
336
+ private syncLifecycle;
332
337
  start(): void;
333
338
  stop(): void;
334
339
  private readonly onActivity;
@@ -328,6 +328,8 @@ declare class AXPEntityMasterListViewComponent extends AXPPageLayoutBaseComponen
328
328
  private readonly listHostReady;
329
329
  private previousActiveListLayout;
330
330
  private previousAppTabActive;
331
+ /** List refresh that arrived while this route tab was cached in the background. */
332
+ private pendingBackgroundListRefresh;
331
333
  private lastEvaluatedViewName;
332
334
  private readonly componentDestroyed;
333
335
  private isRestoringExpandedRows;
@@ -359,6 +361,16 @@ declare class AXPEntityMasterListViewComponent extends AXPPageLayoutBaseComponen
359
361
  * Re-checks the live URL so a deferred call cannot `replaceUrl` over a details entry.
360
362
  */
361
363
  private syncListViewQueryParam;
364
+ /** True when this cached list is not the visible route tab. */
365
+ private isListTabInBackground;
366
+ /**
367
+ * A detached list keeps its grid, but a refresh while it is off-screen does not
368
+ * repaint when the tab is shown again. Hold the latest refresh until then.
369
+ */
370
+ private deferListRefreshUntilTabVisible;
371
+ /** Applies a refresh that was queued while this list tab was in the background. */
372
+ private flushBackgroundListRefresh;
373
+ private applyVisibleListRefresh;
362
374
  private reloadListData;
363
375
  /**
364
376
  * Manual-mode table gates the body on `isRefreshCalled` (set only by `grid.refresh()`).