@acorex/platform 20.9.38 → 20.9.39

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/platform",
3
- "version": "20.9.38",
3
+ "version": "20.9.39",
4
4
  "peerDependencies": {
5
5
  "@acorex/cdk": "^19.0.0 || ^20.0.0 || ^22.0.0-next.0 || ^22.0.0-next.0",
6
6
  "@acorex/core": "^19.0.0 || ^20.0.0 || ^22.0.0-next.0 || ^22.0.0-next.0",
@@ -173,7 +173,11 @@ interface AXPEntityDisplayField {
173
173
  options?: Record<string, any>;
174
174
  };
175
175
  options?: {
176
- /** When string, evaluate against parent detail context (e.g. related list). */
176
+ /**
177
+ * When string, evaluate as an expression:
178
+ * - master list: list scope (`list.view()`, `list.views()`, `context.eval(...)`)
179
+ * - related list: parent detail context
180
+ */
177
181
  visible?: boolean | string;
178
182
  /** Optional dataPath override for field binding. */
179
183
  dataPath?: string;
@@ -286,6 +290,10 @@ interface AXPQueryView {
286
290
  name: string;
287
291
  fixed: boolean;
288
292
  title: string;
293
+ /**
294
+ * Whitelist of entity column names for this view.
295
+ * Empty array = show all entity columns (still subject to each column's `options.visible`).
296
+ */
289
297
  columns: string[];
290
298
  conditions: AXPQueryFilter[];
291
299
  sorts: AXPQuerySort[];
@@ -974,10 +982,11 @@ declare function resolveLookupWidgetCreateOptions(options: {
974
982
  allowCreate?: 'none' | 'full' | 'quick';
975
983
  }): ResolvedLookupCreateOptions;
976
984
 
977
- /** Prefix for related-entity sidebar list widget nodes (`page-list` layout). */
985
+ /** Prefix for related-entity sidebar list widget nodes and page ids (`page-list` layout). */
978
986
  declare const PAGE_LIST_WIDGET_NAME_PREFIX = "page-list-";
979
987
  /**
980
- * Builds a unique entity-list widget name for a related-entity `page-list` sidebar page.
988
+ * Builds a unique id/name for a related-entity `page-list` sidebar page (widget node + details `page` query).
989
+ * Must not equal the host overview page id (`entity.name`) so self-referential related lists can navigate.
981
990
  * Mirrors the `tab-list` pattern (`${entity}-tab-list`).
982
991
  */
983
992
  declare function buildPageListWidgetName(relatedEntityKey: string): string;
@@ -908,9 +908,18 @@ declare class AXPEntityMasterListViewModel {
908
908
  private allAvailableColumns;
909
909
  visibleColumnCount: () => number;
910
910
  columns: _angular_core.WritableSignal<AXPEntityListViewColumnViewModel[]>;
911
- resetColumns(): void;
911
+ resetColumns(): Promise<void>;
912
912
  onColumnsChanged(columns: AXPEntityListViewColumnViewModel[]): Promise<void>;
913
- applyViewColumns(): void;
913
+ /**
914
+ * Builds list columns for the active view:
915
+ * - `view.columns` is a whitelist (empty = all columns)
916
+ * - string `options.visible` is evaluated against the master-list scope
917
+ */
918
+ applyViewColumns(): Promise<void>;
919
+ /**
920
+ * Resolves column `options.visible` (boolean or expression) to a boolean for the current list scope.
921
+ */
922
+ private resolveColumnVisibleExpression;
914
923
  onColumnsOrderChanged(event: any): void;
915
924
  private mergeDisplayFieldWithColumn;
916
925
  private buildVirtualDisplayProperty;
@@ -2811,6 +2820,7 @@ declare class AXPEntityListWidgetViewComponent extends AXPValueWidgetComponent {
2811
2820
  /**
2812
2821
  * Route `filters` apply only when the active details `page` matches this list's entity
2813
2822
  * (e.g. WorkOrder filters must not affect FailureRegister on the same asset layout).
2823
+ * page-list sidebar pages use `page-list-{module.entity}` as their page id.
2814
2824
  */
2815
2825
  private shouldApplyRouteFilters;
2816
2826
  /**
@@ -1718,9 +1718,17 @@ declare class AXPSelectBoxWidgetEditComponent extends AXPDataListWidgetComponent
1718
1718
  /**
1719
1719
  * Bind resolved row object(s) when available so ax-select-box can render textField labels.
1720
1720
  * Falls back to primitive key(s) while selectedItems are still loading.
1721
+ * In filterMode, prefer stored `displayText` when byKey has not resolved a real label yet.
1721
1722
  * Label translation is handled by ax-select-box (`getDisplayText(item) | translate`).
1722
1723
  */
1723
1724
  protected selectBoxModel: _angular_core.Signal<any>;
1725
+ /** Reads `displayText` from filterMode payload `{ value, operation, displayText }`. */
1726
+ private getFilterDisplayText;
1727
+ /**
1728
+ * Ensures filterMode select shows a label: when selectedItems/byKey only have the raw key
1729
+ * (or are missing), synthesize/enrich the model with stored `displayText`.
1730
+ */
1731
+ private withFilterDisplayText;
1724
1732
  protected searchValue: _angular_core.WritableSignal<string | undefined>;
1725
1733
  private lastDataSource;
1726
1734
  private hasSeenDataSource;