@acorex-platform/framework-shared 0.0.38 → 0.0.48

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 (159) hide show
  1. package/core/src/lib/color-surface/runtime-surface.util.d.ts +2 -0
  2. package/core/src/lib/color-surface/runtime-surface.util.d.ts.map +1 -1
  3. package/core/src/lib/color-surface/runtime-surface.util.js +20 -0
  4. package/core/src/lib/color-surface/runtime-surface.util.js.map +1 -1
  5. package/core/src/lib/core/grid-item-placement.util.d.ts +33 -0
  6. package/core/src/lib/core/grid-item-placement.util.d.ts.map +1 -0
  7. package/core/src/lib/core/grid-item-placement.util.js +93 -0
  8. package/core/src/lib/core/grid-item-placement.util.js.map +1 -0
  9. package/core/src/lib/core/index.d.ts +1 -0
  10. package/core/src/lib/core/index.d.ts.map +1 -1
  11. package/core/src/lib/core/index.js +1 -0
  12. package/core/src/lib/core/index.js.map +1 -1
  13. package/core/src/lib/data/filter-query.util.d.ts +48 -0
  14. package/core/src/lib/data/filter-query.util.d.ts.map +1 -0
  15. package/core/src/lib/data/filter-query.util.js +268 -0
  16. package/core/src/lib/data/filter-query.util.js.map +1 -0
  17. package/core/src/lib/data/filter.types.d.ts +3 -0
  18. package/core/src/lib/data/filter.types.d.ts.map +1 -1
  19. package/core/src/lib/data/filter.types.js.map +1 -1
  20. package/core/src/lib/data/index.d.ts +1 -0
  21. package/core/src/lib/data/index.d.ts.map +1 -1
  22. package/core/src/lib/data/index.js +1 -0
  23. package/core/src/lib/data/index.js.map +1 -1
  24. package/core/src/lib/index.d.ts +1 -0
  25. package/core/src/lib/index.d.ts.map +1 -1
  26. package/core/src/lib/index.js +1 -0
  27. package/core/src/lib/index.js.map +1 -1
  28. package/core/src/lib/interaction/view-query.types.d.ts +2 -0
  29. package/core/src/lib/interaction/view-query.types.d.ts.map +1 -1
  30. package/core/src/lib/interaction/view-query.types.js.map +1 -1
  31. package/core/src/lib/module-manifest/index.d.ts +3 -0
  32. package/core/src/lib/module-manifest/index.d.ts.map +1 -0
  33. package/core/src/lib/module-manifest/index.js +8 -0
  34. package/core/src/lib/module-manifest/index.js.map +1 -0
  35. package/core/src/lib/module-manifest/module-manifest.types.d.ts +61 -0
  36. package/core/src/lib/module-manifest/module-manifest.types.d.ts.map +1 -0
  37. package/core/src/lib/module-manifest/module-manifest.types.js +5 -0
  38. package/core/src/lib/module-manifest/module-manifest.types.js.map +1 -0
  39. package/core/src/lib/module-manifest/module-taxonomy.d.ts +47 -0
  40. package/core/src/lib/module-manifest/module-taxonomy.d.ts.map +1 -0
  41. package/core/src/lib/module-manifest/module-taxonomy.js +61 -0
  42. package/core/src/lib/module-manifest/module-taxonomy.js.map +1 -0
  43. package/core/src/lib/widgets/widgets-catalog.d.ts +4 -0
  44. package/core/src/lib/widgets/widgets-catalog.d.ts.map +1 -1
  45. package/core/src/lib/widgets/widgets-catalog.js +4 -0
  46. package/core/src/lib/widgets/widgets-catalog.js.map +1 -1
  47. package/domain/src/lib/definitions/entity-definition.types.d.ts +2 -0
  48. package/domain/src/lib/definitions/entity-definition.types.d.ts.map +1 -1
  49. package/entity/src/lib/helpers/entity-action.helpers.d.ts +2 -1
  50. package/entity/src/lib/helpers/entity-action.helpers.d.ts.map +1 -1
  51. package/entity/src/lib/helpers/entity-action.helpers.js +12 -11
  52. package/entity/src/lib/helpers/entity-action.helpers.js.map +1 -1
  53. package/entity/src/lib/types/entity-definition.types.d.ts +6 -0
  54. package/entity/src/lib/types/entity-definition.types.d.ts.map +1 -1
  55. package/entity/src/lib/types/entity-definition.types.js.map +1 -1
  56. package/entity/src/lib/types/entity-display-field.types.d.ts +2 -0
  57. package/entity/src/lib/types/entity-display-field.types.d.ts.map +1 -1
  58. package/entity/src/lib/types/entity-display-field.types.js.map +1 -1
  59. package/entity/src/lib/types/entity-list-user-styling.types.d.ts +32 -0
  60. package/entity/src/lib/types/entity-list-user-styling.types.d.ts.map +1 -0
  61. package/entity/src/lib/types/entity-list-user-styling.types.js +8 -0
  62. package/entity/src/lib/types/entity-list-user-styling.types.js.map +1 -0
  63. package/entity/src/lib/types/entity-master-list.types.d.ts +20 -1
  64. package/entity/src/lib/types/entity-master-list.types.d.ts.map +1 -1
  65. package/entity/src/lib/types/entity-master-list.types.js +6 -0
  66. package/entity/src/lib/types/entity-master-list.types.js.map +1 -1
  67. package/entity/src/lib/types/entity-query-view.types.d.ts +34 -11
  68. package/entity/src/lib/types/entity-query-view.types.d.ts.map +1 -1
  69. package/entity/src/lib/types/entity-query-view.types.js +25 -0
  70. package/entity/src/lib/types/entity-query-view.types.js.map +1 -1
  71. package/entity/src/lib/types/entity-related-layout.types.d.ts +17 -1
  72. package/entity/src/lib/types/entity-related-layout.types.d.ts.map +1 -1
  73. package/entity/src/lib/types/entity-related-layout.types.js.map +1 -1
  74. package/entity/src/lib/types/index.d.ts +1 -0
  75. package/entity/src/lib/types/index.d.ts.map +1 -1
  76. package/entity/src/lib/types/index.js +1 -0
  77. package/entity/src/lib/types/index.js.map +1 -1
  78. package/entity/src/lib/utils/entity-catalog-search.util.d.ts +41 -0
  79. package/entity/src/lib/utils/entity-catalog-search.util.d.ts.map +1 -0
  80. package/entity/src/lib/utils/entity-catalog-search.util.js +208 -0
  81. package/entity/src/lib/utils/entity-catalog-search.util.js.map +1 -0
  82. package/entity/src/lib/utils/entity-column-tree.util.d.ts +12 -0
  83. package/entity/src/lib/utils/entity-column-tree.util.d.ts.map +1 -0
  84. package/entity/src/lib/utils/entity-column-tree.util.js +79 -0
  85. package/entity/src/lib/utils/entity-column-tree.util.js.map +1 -0
  86. package/entity/src/lib/utils/entity-default-card-layout.util.d.ts.map +1 -1
  87. package/entity/src/lib/utils/entity-default-card-layout.util.js +7 -6
  88. package/entity/src/lib/utils/entity-default-card-layout.util.js.map +1 -1
  89. package/entity/src/lib/utils/entity-list-custom-query-view.util.d.ts +59 -0
  90. package/entity/src/lib/utils/entity-list-custom-query-view.util.d.ts.map +1 -0
  91. package/entity/src/lib/utils/entity-list-custom-query-view.util.js +257 -0
  92. package/entity/src/lib/utils/entity-list-custom-query-view.util.js.map +1 -0
  93. package/entity/src/lib/utils/entity-list-sort-presets.util.d.ts +8 -0
  94. package/entity/src/lib/utils/entity-list-sort-presets.util.d.ts.map +1 -0
  95. package/entity/src/lib/utils/entity-list-sort-presets.util.js +126 -0
  96. package/entity/src/lib/utils/entity-list-sort-presets.util.js.map +1 -0
  97. package/entity/src/lib/utils/entity-list-sortable-fields.util.d.ts +2 -0
  98. package/entity/src/lib/utils/entity-list-sortable-fields.util.d.ts.map +1 -1
  99. package/entity/src/lib/utils/entity-list-sortable-fields.util.js +12 -0
  100. package/entity/src/lib/utils/entity-list-sortable-fields.util.js.map +1 -1
  101. package/entity/src/lib/utils/entity-list-user-styling.util.d.ts +12 -0
  102. package/entity/src/lib/utils/entity-list-user-styling.util.d.ts.map +1 -0
  103. package/entity/src/lib/utils/entity-list-user-styling.util.js +237 -0
  104. package/entity/src/lib/utils/entity-list-user-styling.util.js.map +1 -0
  105. package/entity/src/lib/utils/entity-quick-search-paths.util.d.ts.map +1 -1
  106. package/entity/src/lib/utils/entity-quick-search-paths.util.js +2 -1
  107. package/entity/src/lib/utils/entity-quick-search-paths.util.js.map +1 -1
  108. package/entity/src/lib/utils/index.d.ts +6 -0
  109. package/entity/src/lib/utils/index.d.ts.map +1 -1
  110. package/entity/src/lib/utils/index.js +6 -0
  111. package/entity/src/lib/utils/index.js.map +1 -1
  112. package/entity/src/lib/utils/related-entity-query-views.util.d.ts +20 -0
  113. package/entity/src/lib/utils/related-entity-query-views.util.d.ts.map +1 -0
  114. package/entity/src/lib/utils/related-entity-query-views.util.js +87 -0
  115. package/entity/src/lib/utils/related-entity-query-views.util.js.map +1 -0
  116. package/hook/src/index.d.ts +4 -0
  117. package/hook/src/index.d.ts.map +1 -0
  118. package/hook/src/index.js +7 -0
  119. package/hook/src/index.js.map +1 -0
  120. package/hook/src/lib/hook-registry.d.ts +10 -0
  121. package/hook/src/lib/hook-registry.d.ts.map +1 -0
  122. package/hook/src/lib/hook-registry.js +68 -0
  123. package/hook/src/lib/hook-registry.js.map +1 -0
  124. package/hook/src/lib/hook-run.d.ts +4 -0
  125. package/hook/src/lib/hook-run.d.ts.map +1 -0
  126. package/hook/src/lib/hook-run.js +29 -0
  127. package/hook/src/lib/hook-run.js.map +1 -0
  128. package/hook/src/lib/hook.types.d.ts +12 -0
  129. package/hook/src/lib/hook.types.d.ts.map +1 -0
  130. package/hook/src/lib/hook.types.js +17 -0
  131. package/hook/src/lib/hook.types.js.map +1 -0
  132. package/package.json +5 -1
  133. package/runtime/src/lib/commands/auth-command-keys.d.ts +2 -0
  134. package/runtime/src/lib/commands/auth-command-keys.d.ts.map +1 -1
  135. package/runtime/src/lib/commands/auth-command-keys.js +3 -1
  136. package/runtime/src/lib/commands/auth-command-keys.js.map +1 -1
  137. package/runtime/src/lib/commands/entity-action-command-input.d.ts.map +1 -1
  138. package/runtime/src/lib/commands/entity-action-command-input.js +26 -3
  139. package/runtime/src/lib/commands/entity-action-command-input.js.map +1 -1
  140. package/runtime/src/lib/shared/catalog-definition-base.types.d.ts +19 -0
  141. package/runtime/src/lib/shared/catalog-definition-base.types.d.ts.map +1 -1
  142. package/runtime/src/lib/shared/catalog-definition-base.types.js.map +1 -1
  143. package/widget-core/src/lib/index.d.ts +2 -0
  144. package/widget-core/src/lib/index.d.ts.map +1 -1
  145. package/widget-core/src/lib/index.js +2 -0
  146. package/widget-core/src/lib/index.js.map +1 -1
  147. package/widget-core/src/lib/layout-profile.types.d.ts +15 -0
  148. package/widget-core/src/lib/layout-profile.types.d.ts.map +1 -0
  149. package/widget-core/src/lib/layout-profile.types.js +7 -0
  150. package/widget-core/src/lib/layout-profile.types.js.map +1 -0
  151. package/widget-core/src/lib/layout-profile.util.d.ts +38 -0
  152. package/widget-core/src/lib/layout-profile.util.d.ts.map +1 -0
  153. package/widget-core/src/lib/layout-profile.util.js +239 -0
  154. package/widget-core/src/lib/layout-profile.util.js.map +1 -0
  155. package/widget-core/src/lib/types/widget-types-map.types.d.ts +3 -0
  156. package/widget-core/src/lib/types/widget-types-map.types.d.ts.map +1 -1
  157. package/widget-core/src/lib/types/widget.types.d.ts +8 -2
  158. package/widget-core/src/lib/types/widget.types.d.ts.map +1 -1
  159. package/widget-core/src/lib/types/widget.types.js.map +1 -1
@@ -1,12 +1,31 @@
1
+ import type { AXPQueryFilterMode } from '@acorex-platform/framework-shared/core';
1
2
  import type { AXPEntityAction } from './entity-action.types';
2
3
  import type { AXPEntityCardLayout } from './entity-card-field.types';
3
- import type { AXPQueryView } from './entity-query-view.types';
4
+ import type { AXPQuerySort, AXPQueryView } from './entity-query-view.types';
4
5
  export interface AXPEntityMasterListView {
5
6
  title?: string;
6
7
  description?: string;
7
8
  actions?: AXPEntityAction[];
8
9
  views: AXPQueryView[];
10
+ /** List filter editor: grouped same-field (normal) or mixed-field groups with root AND/OR (advanced). */
11
+ filterMode?: AXPQueryFilterMode;
12
+ /**
13
+ * Named one-click sort recipes for the list sort popover (Quick Presets).
14
+ * Custom sortable fields still come from property `options.sort`.
15
+ * When omitted, the client infers newest/oldest (date) and title A→Z from entity shape.
16
+ */
17
+ sortPresets?: AXPEntitySortPreset[];
9
18
  }
19
+ /** Entity-authored sort recipe: title/hint are i18n keys; `sorts` is the query applied on click. */
20
+ export interface AXPEntitySortPreset {
21
+ name: string;
22
+ title: string;
23
+ description?: string;
24
+ icon?: string;
25
+ hint?: string;
26
+ sorts: AXPQuerySort[];
27
+ }
28
+ export declare function createEntitySortPreset(name: string, title: string, sorts: AXPQuerySort[], extras?: Pick<AXPEntitySortPreset, 'description' | 'icon' | 'hint'>): AXPEntitySortPreset;
10
29
  export type AXPEntityMasterListLayoutType = 'table' | 'card' | 'row';
11
30
  /** Master list presentation. Same values as {@link AXPEntityMasterListLayoutType}. */
12
31
  export type AXPEntityMasterListDisplayMode = AXPEntityMasterListLayoutType;
@@ -1 +1 @@
1
- {"version":3,"file":"entity-master-list.types.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/entity-master-list.types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,6BAA6B,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAErE,sFAAsF;AACtF,MAAM,MAAM,8BAA8B,GAAG,6BAA6B,CAAC;AAE3E,2DAA2D;AAC3D,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,6BAA6B,GAAG,SAAS,GAAG,OAAO,CAErG;AAED,MAAM,WAAW,+BAA+B;IAC9C,EAAE,EAAE,6BAA6B,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,0FAA0F;AAC1F,wBAAgB,+BAA+B,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,6BAA6B,EAAE,CAQ3G;AAED,wGAAwG;AACxG,wBAAgB,6BAA6B,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,6BAA6B,EAAE,CAGzG;AAED,qGAAqG;AACrG,wBAAgB,8BAA8B,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,6BAA6B,CAExG;AAID,oEAAoE;AACpE,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,OAAO,GAAG,6BAA6B,GAAG,SAAS,CAI7G"}
1
+ {"version":3,"file":"entity-master-list.types.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/entity-master-list.types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE5E,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,yGAAyG;IACzG,UAAU,CAAC,EAAE,kBAAkB,CAAC;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACrC;AAED,oGAAoG;AACpG,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,EAAE,EACrB,MAAM,GAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG,MAAM,GAAG,MAAM,CAAM,GACtE,mBAAmB,CAOrB;AAED,MAAM,MAAM,6BAA6B,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAErE,sFAAsF;AACtF,MAAM,MAAM,8BAA8B,GAAG,6BAA6B,CAAC;AAE3E,2DAA2D;AAC3D,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,6BAA6B,GAAG,SAAS,GAAG,OAAO,CAErG;AAED,MAAM,WAAW,+BAA+B;IAC9C,EAAE,EAAE,6BAA6B,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,0FAA0F;AAC1F,wBAAgB,+BAA+B,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,6BAA6B,EAAE,CAQ3G;AAED,wGAAwG;AACxG,wBAAgB,6BAA6B,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,6BAA6B,EAAE,CAGzG;AAED,qGAAqG;AACrG,wBAAgB,8BAA8B,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,6BAA6B,CAExG;AAID,oEAAoE;AACpE,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,OAAO,GAAG,6BAA6B,GAAG,SAAS,CAI7G"}
@@ -1,11 +1,17 @@
1
1
  "use strict";
2
2
  //#region ---- Entity master list views ----
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.createEntitySortPreset = createEntitySortPreset;
4
5
  exports.isEntityMasterListCardHost = isEntityMasterListCardHost;
5
6
  exports.resolveEnabledMasterListLayouts = resolveEnabledMasterListLayouts;
6
7
  exports.resolveEnabledPageListLayouts = resolveEnabledPageListLayouts;
7
8
  exports.resolveDefaultMasterListLayout = resolveDefaultMasterListLayout;
8
9
  exports.normalizeEntityMasterListLayoutType = normalizeEntityMasterListLayoutType;
10
+ function createEntitySortPreset(name, title, sorts, extras = {}) {
11
+ return Object.assign({ name,
12
+ title,
13
+ sorts }, extras);
14
+ }
9
15
  /** Card grid and row list share the identity-card host. */
10
16
  function isEntityMasterListCardHost(layout) {
11
17
  return layout === 'card' || layout === 'row';
@@ -1 +1 @@
1
- {"version":3,"file":"entity-master-list.types.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/entity-master-list.types.ts"],"names":[],"mappings":";AAAA,4CAA4C;;AAoB5C,gEAEC;AASD,0EAQC;AAGD,sEAGC;AAGD,wEAEC;AAKD,kFAIC;AAxCD,2DAA2D;AAC3D,SAAgB,0BAA0B,CAAC,MAAiD;IAC1F,OAAO,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC;AAC/C,CAAC;AAQD,0FAA0F;AAC1F,SAAgB,+BAA+B,CAAC,IAA0B;IACxE,MAAM,OAAO,GAAoC,CAAC,OAAO,CAAC,CAAC;IAE3D,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,wGAAwG;AACxG,SAAgB,6BAA6B,CAAC,IAA0B;IACtE,MAAM,OAAO,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9F,CAAC;AAED,qGAAqG;AACrG,SAAgB,8BAA8B,CAAC,IAA0B;IACvE,OAAO,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAElG,oEAAoE;AACpE,SAAgB,mCAAmC,CAAC,KAAc;IAChE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,wBAAwB,CAAC,GAAG,CAAC,KAAsC,CAAC;QACtG,CAAC,CAAE,KAAuC;QAC1C,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,YAAY"}
1
+ {"version":3,"file":"entity-master-list.types.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/entity-master-list.types.ts"],"names":[],"mappings":";AAAA,4CAA4C;;AAkC5C,wDAYC;AAQD,gEAEC;AASD,0EAQC;AAGD,sEAGC;AAGD,wEAEC;AAKD,kFAIC;AA3DD,SAAgB,sBAAsB,CACpC,IAAY,EACZ,KAAa,EACb,KAAqB,EACrB,SAAqE,EAAE;IAEvE,uBACE,IAAI;QACJ,KAAK;QACL,KAAK,IACF,MAAM,EACT;AACJ,CAAC;AAOD,2DAA2D;AAC3D,SAAgB,0BAA0B,CAAC,MAAiD;IAC1F,OAAO,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,KAAK,CAAC;AAC/C,CAAC;AAQD,0FAA0F;AAC1F,SAAgB,+BAA+B,CAAC,IAA0B;IACxE,MAAM,OAAO,GAAoC,CAAC,OAAO,CAAC,CAAC;IAE3D,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,wGAAwG;AACxG,SAAgB,6BAA6B,CAAC,IAA0B;IACtE,MAAM,OAAO,GAAG,+BAA+B,CAAC,IAAI,CAAC,CAAC;IACtD,OAAO,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;AAC9F,CAAC;AAED,qGAAqG;AACrG,SAAgB,8BAA8B,CAAC,IAA0B;IACvE,OAAO,+BAA+B,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AAElG,oEAAoE;AACpE,SAAgB,mCAAmC,CAAC,KAAc;IAChE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,wBAAwB,CAAC,GAAG,CAAC,KAAsC,CAAC;QACtG,CAAC,CAAE,KAAuC;QAC1C,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,YAAY"}
@@ -3,34 +3,57 @@ export interface AXPQueryFilter {
3
3
  name: string;
4
4
  operator: AXDataSourceOperator;
5
5
  value: any;
6
+ /** When true, the condition is applied but not shown as an editable filter chip. */
7
+ hidden?: boolean;
6
8
  }
7
9
  export interface AXPQuerySort {
8
10
  name: string;
9
11
  dir: 'asc' | 'desc';
10
12
  }
13
+ /**
14
+ * Optional per-column overrides on a query view.
15
+ * - `visible` defaults to `true` when omitted
16
+ * - `width` omitted/null → resolved by the list column-width system
17
+ */
18
+ export interface AXPQueryColumn {
19
+ name: string;
20
+ visible?: boolean;
21
+ width?: string | number | null;
22
+ }
23
+ /** View column entry: bare name (visible by default) or explicit overrides. */
24
+ export type AXPQueryViewColumn = string | AXPQueryColumn;
11
25
  export interface AXPQueryView {
12
26
  name: string;
13
27
  fixed: boolean;
28
+ /** User-saved view stored in entity list settings; can be edited and deleted. */
29
+ custom?: boolean;
14
30
  title: string;
15
31
  /**
16
- * Whitelist of entity column names for this view.
17
- * Empty array = show all entity columns (still subject to each column's `options.visible`).
32
+ * Column set for this view.
33
+ * - Empty / omitted → all entity list columns (each still honors entity `options.visible`)
34
+ * - Entries may be names or {@link AXPQueryColumn}; listed columns stay in the picker
35
+ * even when `visible: false`
18
36
  */
19
- columns: string[];
37
+ columns: AXPQueryViewColumn[];
20
38
  conditions: AXPQueryFilter[];
21
39
  sorts: AXPQuerySort[];
22
40
  indexCol?: boolean;
23
41
  pageSize?: number;
24
42
  visible?: boolean | AXPExpression;
25
43
  }
26
- export declare function createQueryView(name: string, title: string, fixed: boolean, params?: {
27
- columns?: string[];
28
- conditions?: any[];
29
- sorts?: AXPQuerySort[];
30
- }): AXPQueryView;
31
- export declare function createAllQueryView(params?: {
32
- columns?: string[];
44
+ export type AXPQueryViewColumnParams = {
45
+ columns?: AXPQueryViewColumn[];
33
46
  conditions?: AXPQueryFilter[];
34
47
  sorts?: AXPQuerySort[];
35
- } | undefined): AXPQueryView;
48
+ };
49
+ export declare function isAXPQueryColumn(value: AXPQueryViewColumn): value is AXPQueryColumn;
50
+ export declare function getAXPQueryViewColumnName(column: AXPQueryViewColumn): string;
51
+ /** Normalized view column (visible defaults to true). Empty input → empty list (meaning “all columns”). */
52
+ export declare function normalizeAXPQueryViewColumns(columns: AXPQueryViewColumn[] | null | undefined): Array<{
53
+ name: string;
54
+ visible: boolean;
55
+ width?: string | number | null;
56
+ }>;
57
+ export declare function createQueryView(name: string, title: string, fixed: boolean, params?: AXPQueryViewColumnParams): AXPQueryView;
58
+ export declare function createAllQueryView(params?: AXPQueryViewColumnParams | undefined): AXPQueryView;
36
59
  //# sourceMappingURL=entity-query-view.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entity-query-view.types.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/entity-query-view.types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAElG,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,KAAK,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;CACnC;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,MAAM,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;CAIvE,GACA,YAAY,CAUd;AAED,wBAAgB,kBAAkB,CAChC,MAAM,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;CAAE,GAAG,SAIvF,GACA,YAAY,CAOd"}
1
+ {"version":3,"file":"entity-query-view.types.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/entity-query-view.types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAElG,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,KAAK,EAAE,GAAG,CAAC;IACX,oFAAoF;IACpF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,KAAK,GAAG,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,+EAA+E;AAC/E,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,cAAc,CAAC;AAEzD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,OAAO,CAAC;IACf,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd;;;;;OAKG;IACH,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;CACnC;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;CACxB,CAAC;AAEF,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,GAAG,KAAK,IAAI,cAAc,CAEnF;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAE5E;AAED,2GAA2G;AAC3G,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,kBAAkB,EAAE,GAAG,IAAI,GAAG,SAAS,GAC/C,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAe3E;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,MAAM,GAAE,wBAIP,GACA,YAAY,CAUd;AAED,wBAAgB,kBAAkB,CAChC,MAAM,GAAE,wBAAwB,GAAG,SAIlC,GACA,YAAY,CAOd"}
@@ -1,8 +1,33 @@
1
1
  "use strict";
2
2
  //#region ---- Entity query views ----
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.isAXPQueryColumn = isAXPQueryColumn;
5
+ exports.getAXPQueryViewColumnName = getAXPQueryViewColumnName;
6
+ exports.normalizeAXPQueryViewColumns = normalizeAXPQueryViewColumns;
4
7
  exports.createQueryView = createQueryView;
5
8
  exports.createAllQueryView = createAllQueryView;
9
+ function isAXPQueryColumn(value) {
10
+ return typeof value === 'object' && value != null && typeof value.name === 'string';
11
+ }
12
+ function getAXPQueryViewColumnName(column) {
13
+ return typeof column === 'string' ? column : column.name;
14
+ }
15
+ /** Normalized view column (visible defaults to true). Empty input → empty list (meaning “all columns”). */
16
+ function normalizeAXPQueryViewColumns(columns) {
17
+ if (!(columns === null || columns === void 0 ? void 0 : columns.length)) {
18
+ return [];
19
+ }
20
+ return columns.map((entry) => {
21
+ if (typeof entry === 'string') {
22
+ return { name: entry, visible: true };
23
+ }
24
+ return {
25
+ name: entry.name,
26
+ visible: entry.visible !== false,
27
+ width: entry.width,
28
+ };
29
+ });
30
+ }
6
31
  function createQueryView(name, title, fixed, params = {
7
32
  columns: [],
8
33
  conditions: [],
@@ -1 +1 @@
1
- {"version":3,"file":"entity-query-view.types.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/entity-query-view.types.ts"],"names":[],"mappings":";AAAA,sCAAsC;;AA+BtC,0CAmBC;AAED,gDAaC;AAlCD,SAAgB,eAAe,CAC7B,IAAY,EACZ,KAAa,EACb,KAAc,EACd,SAA6E;IAC3E,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;IACd,KAAK,EAAE,EAAE;CACV;;IAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO;QACL,IAAI;QACJ,KAAK;QACL,KAAK;QACL,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE;QAC7B,UAAU,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,EAAE;QACnC,KAAK,EAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE;KAC1B,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAChC,SAAoG;IAClG,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,EAAE;CACf;;IAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO,eAAe,CAAC,KAAK,EAAE,8CAA8C,EAAE,IAAI,EAAE;QAClF,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE;QAC7B,UAAU,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,EAAE;QACnC,KAAK,EAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,YAAY"}
1
+ {"version":3,"file":"entity-query-view.types.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/entity-query-view.types.ts"],"names":[],"mappings":";AAAA,sCAAsC;;AAyDtC,4CAEC;AAED,8DAEC;AAGD,oEAiBC;AAED,0CAmBC;AAED,gDAaC;AA9DD,SAAgB,gBAAgB,CAAC,KAAyB;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,IAAI,IAAI,OAAQ,KAAwB,CAAC,IAAI,KAAK,QAAQ,CAAC;AAC1G,CAAC;AAED,SAAgB,yBAAyB,CAAC,MAA0B;IAClE,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED,2GAA2G;AAC3G,SAAgB,4BAA4B,CAC1C,OAAgD;IAEhD,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAA,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACxC,CAAC;QACD,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,KAAK;YAChC,KAAK,EAAE,KAAK,CAAC,KAAK;SACnB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,eAAe,CAC7B,IAAY,EACZ,KAAa,EACb,KAAc,EACd,SAAmC;IACjC,OAAO,EAAE,EAAE;IACX,UAAU,EAAE,EAAE;IACd,KAAK,EAAE,EAAE;CACV;;IAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO;QACL,IAAI;QACJ,KAAK;QACL,KAAK;QACL,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE;QAC7B,UAAU,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,EAAE;QACnC,KAAK,EAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE;KAC1B,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAChC,SAA+C;IAC7C,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,EAAE;CACf;;IAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IAC3E,OAAO,eAAe,CAAC,KAAK,EAAE,8CAA8C,EAAE,IAAI,EAAE;QAClF,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,EAAE;QAC7B,UAAU,EAAE,MAAA,MAAM,CAAC,UAAU,mCAAI,EAAE;QACnC,KAAK,EAAE,MAAA,MAAM,CAAC,KAAK,mCAAI,EAAE;KAC1B,CAAC,CAAC;AACL,CAAC;AAED,YAAY"}
@@ -2,7 +2,18 @@ import type { AXPExpression } from '@acorex-platform/framework-shared/core';
2
2
  import type { AXPEntityAction } from './entity-action.types';
3
3
  import type { AXPEntityTableColumn } from './entity-display-field.types';
4
4
  import type { AXPEntityListFilterDefinition } from './entity-list-filter.types';
5
- import type { AXPQueryFilter } from './entity-query-view.types';
5
+ import type { AXPQueryFilter, AXPQueryView } from './entity-query-view.types';
6
+ /**
7
+ * Query views on a list-type related entity (`tab-list` / `page-list`).
8
+ * Default: inherit the related entity's `interfaces.master.list.views`.
9
+ * Selection is session-only (not written to user settings).
10
+ */
11
+ export interface AXPRelatedEntityViews {
12
+ /** Show the view selector. Default true when at least one view exists. */
13
+ enabled?: boolean;
14
+ /** Override the related entity's master list views. When omitted, those views are used. */
15
+ items?: AXPQueryView[];
16
+ }
6
17
  export interface AXPRelatedEntityLayout {
7
18
  type: 'tab-detail' | 'tab-list' | 'page-detail' | 'page-list' | 'merge-detail';
8
19
  order?: number;
@@ -33,6 +44,11 @@ export interface AXPRelatedEntity {
33
44
  excludeProperties?: string[];
34
45
  layout?: AXPRelatedEntityLayout;
35
46
  conditions?: AXPQueryFilter[];
47
+ /**
48
+ * Query views for list-type related entities (`tab-list` / `page-list`).
49
+ * Omitted: inherit the related entity's master list views. `enabled: false` hides the selector.
50
+ */
51
+ views?: AXPRelatedEntityViews;
36
52
  customFilterDefinitions?: Partial<AXPEntityListFilterDefinition>[];
37
53
  hidden?: boolean | AXPExpression;
38
54
  actions?: AXPEntityAction[];
@@ -1 +1 @@
1
- {"version":3,"file":"entity-related-layout.types.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/entity-related-layout.types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhE,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,cAAc,CAAC;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;CAC1C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,2FAA2F;IAC3F,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAA;KAAE,CAAC;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oGAAoG;IACpG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,oGAAoG;IACpG,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAAE,CAAC;IACnE,MAAM,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IACjC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE;QACT,wEAAwE;QACxE,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,wEAAwE;QACxE,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF;;;OAGG;IACH,MAAM,CAAC,EAAE;QACP,8EAA8E;QAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,2BAA2B,CAAC;CAC3C"}
1
+ {"version":3,"file":"entity-related-layout.types.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/entity-related-layout.types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9E;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2FAA2F;IAC3F,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,WAAW,GAAG,cAAc,CAAC;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;CAC1C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,2FAA2F;IAC3F,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,CAAA;KAAE,CAAC;IAClD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oGAAoG;IACpG,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjB,oGAAoG;IACpG,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC5C,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B;;;OAGG;IACH,KAAK,CAAC,EAAE,qBAAqB,CAAC;IAC9B,uBAAuB,CAAC,EAAE,OAAO,CAAC,6BAA6B,CAAC,EAAE,CAAC;IACnE,MAAM,CAAC,EAAE,OAAO,GAAG,aAAa,CAAC;IACjC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE;QACT,wEAAwE;QACxE,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,wEAAwE;QACxE,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF;;;OAGG;IACH,MAAM,CAAC,EAAE;QACP,8EAA8E;QAC9E,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,2BAA2B,CAAC;CAC3C"}
@@ -1 +1 @@
1
- {"version":3,"file":"entity-related-layout.types.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/entity-related-layout.types.ts"],"names":[],"mappings":";AAAA,yCAAyC;;AA0EzC,YAAY"}
1
+ {"version":3,"file":"entity-related-layout.types.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/entity-related-layout.types.ts"],"names":[],"mappings":";AAAA,yCAAyC;;AA2FzC,YAAY"}
@@ -10,6 +10,7 @@ export * from './entity-display-field.types';
10
10
  export * from './entity-card-field.types';
11
11
  export * from './entity-query-view.types';
12
12
  export * from './entity-master-styling.types';
13
+ export * from './entity-list-user-styling.types';
13
14
  export * from './entity-master-list.types';
14
15
  export * from './entity-detail-list.types';
15
16
  export * from './entity-layout-view.types';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/index.ts"],"names":[],"mappings":"AAEA,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/index.ts"],"names":[],"mappings":"AAEA,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,kCAAkC,CAAC;AACjD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uBAAuB,CAAC"}
@@ -14,6 +14,7 @@ tslib_1.__exportStar(require("./entity-display-field.types"), exports);
14
14
  tslib_1.__exportStar(require("./entity-card-field.types"), exports);
15
15
  tslib_1.__exportStar(require("./entity-query-view.types"), exports);
16
16
  tslib_1.__exportStar(require("./entity-master-styling.types"), exports);
17
+ tslib_1.__exportStar(require("./entity-list-user-styling.types"), exports);
17
18
  tslib_1.__exportStar(require("./entity-master-list.types"), exports);
18
19
  tslib_1.__exportStar(require("./entity-detail-list.types"), exports);
19
20
  tslib_1.__exportStar(require("./entity-layout-view.types"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/index.ts"],"names":[],"mappings":";AAAA,gCAAgC;;;AAEhC,gEAAsC;AACtC,kEAAwC;AACxC,oEAA0C;AAC1C,uEAA6C;AAC7C,+DAAqC;AACrC,iEAAuC;AACvC,iEAAuC;AACvC,uEAA6C;AAC7C,uEAA6C;AAC7C,oEAA0C;AAC1C,oEAA0C;AAC1C,wEAA8C;AAC9C,qEAA2C;AAC3C,qEAA2C;AAC3C,qEAA2C;AAC3C,wEAA8C;AAC9C,qEAA2C;AAC3C,uEAA6C;AAC7C,gEAAsC;AAEtC,YAAY"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/types/index.ts"],"names":[],"mappings":";AAAA,gCAAgC;;;AAEhC,gEAAsC;AACtC,kEAAwC;AACxC,oEAA0C;AAC1C,uEAA6C;AAC7C,+DAAqC;AACrC,iEAAuC;AACvC,iEAAuC;AACvC,uEAA6C;AAC7C,uEAA6C;AAC7C,oEAA0C;AAC1C,oEAA0C;AAC1C,wEAA8C;AAC9C,2EAAiD;AACjD,qEAA2C;AAC3C,qEAA2C;AAC3C,qEAA2C;AAC3C,wEAA8C;AAC9C,qEAA2C;AAC3C,uEAA6C;AAC7C,gEAAsC;AAEtC,YAAY"}
@@ -0,0 +1,41 @@
1
+ export interface AXPEntityCatalogSearchSubject {
2
+ module: string;
3
+ name: string;
4
+ fullName: string;
5
+ title?: string;
6
+ formatsIndividual?: string;
7
+ formatsPlural?: string;
8
+ searchTags?: string[];
9
+ /** Extra resolved copy (e.g. translated titles on the client). */
10
+ extraTexts?: string[];
11
+ }
12
+ export interface AXPEntityCatalogSearchMatch {
13
+ matched: boolean;
14
+ score: number;
15
+ }
16
+ /** Soft cap for filtered `search` / `searchTag` results (full catalog dump is uncapped). */
17
+ export declare const AXP_ENTITY_CATALOG_SEARCH_MAX_ROWS = 15;
18
+ /** Lowercase NFKC plus common Arabic/Persian letter folding. */
19
+ export declare function axpFoldCatalogSearchText(value: string): string;
20
+ export declare function axpCatalogSearchTokens(query: string): string[];
21
+ export declare function axpBuildEntityCatalogSearchHaystack(subject: AXPEntityCatalogSearchSubject): {
22
+ names: string[];
23
+ tags: string[];
24
+ all: string[];
25
+ };
26
+ /**
27
+ * `search` matches name / fullName / i18n-key fragments / titles / tags.
28
+ * `searchTag` matches `searchTags` only.
29
+ * When both are set, the entity must satisfy both.
30
+ */
31
+ export declare function axpMatchEntityCatalogSearch(subject: AXPEntityCatalogSearchSubject, search?: string, searchTag?: string): AXPEntityCatalogSearchMatch;
32
+ export declare function axpSplitEntityFullName(fullName: string): {
33
+ module: string;
34
+ name: string;
35
+ } | null;
36
+ /** Exact Module.Entity first; then case-insensitive fullName; then bare entity name. */
37
+ export declare function axpResolveEntityCatalogByFullName<T extends {
38
+ fullName: string;
39
+ name?: string;
40
+ }>(all: readonly T[], targetFullName: string): T[];
41
+ //# sourceMappingURL=entity-catalog-search.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-catalog-search.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-catalog-search.util.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,6BAA6B;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,kEAAkE;IAClE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf;AAiBD,4FAA4F;AAC5F,eAAO,MAAM,kCAAkC,KAAK,CAAC;AAMrD,gEAAgE;AAChE,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ9D;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAO9D;AAgDD,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,6BAA6B,GAAG;IAC3F,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,GAAG,EAAE,MAAM,EAAE,CAAC;CACf,CA0BA;AAkBD;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,6BAA6B,EACtC,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,GACjB,2BAA2B,CA+C7B;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAShG;AAED,wFAAwF;AACxF,wBAAgB,iCAAiC,CAAC,CAAC,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAC7F,GAAG,EAAE,SAAS,CAAC,EAAE,EACjB,cAAc,EAAE,MAAM,GACrB,CAAC,EAAE,CAwBL"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ //#region ----- Types -----
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AXP_ENTITY_CATALOG_SEARCH_MAX_ROWS = void 0;
5
+ exports.axpFoldCatalogSearchText = axpFoldCatalogSearchText;
6
+ exports.axpCatalogSearchTokens = axpCatalogSearchTokens;
7
+ exports.axpBuildEntityCatalogSearchHaystack = axpBuildEntityCatalogSearchHaystack;
8
+ exports.axpMatchEntityCatalogSearch = axpMatchEntityCatalogSearch;
9
+ exports.axpSplitEntityFullName = axpSplitEntityFullName;
10
+ exports.axpResolveEntityCatalogByFullName = axpResolveEntityCatalogByFullName;
11
+ //#endregion
12
+ //#region ----- Constants -----
13
+ const I18N_NOISE_SEGMENTS = new Set([
14
+ 'title',
15
+ 'plural',
16
+ 'entities',
17
+ 'fields',
18
+ 'groups',
19
+ 'terms',
20
+ 'description',
21
+ 'interface',
22
+ ]);
23
+ /** Soft cap for filtered `search` / `searchTag` results (full catalog dump is uncapped). */
24
+ exports.AXP_ENTITY_CATALOG_SEARCH_MAX_ROWS = 15;
25
+ //#endregion
26
+ //#region ----- Folding & tokens -----
27
+ /** Lowercase NFKC plus common Arabic/Persian letter folding. */
28
+ function axpFoldCatalogSearchText(value) {
29
+ return value
30
+ .normalize('NFKC')
31
+ .toLowerCase()
32
+ .replace(/\u064a/g, '\u06cc')
33
+ .replace(/\u0643/g, '\u06a9')
34
+ .replace(/\u0629/g, '\u0647')
35
+ .trim();
36
+ }
37
+ function axpCatalogSearchTokens(query) {
38
+ const folded = axpFoldCatalogSearchText(query);
39
+ if (!folded) {
40
+ return [];
41
+ }
42
+ const parts = folded.split(/[^\p{L}\p{N}]+/u).filter((token) => token.length >= 2);
43
+ return [...new Set(parts)];
44
+ }
45
+ function splitIdentifierWords(value) {
46
+ return value
47
+ .replace(/([a-z0-9])([A-Z])/g, '$1 $2')
48
+ .replace(/([A-Z])([A-Z][a-z])/g, '$1 $2')
49
+ .split(/[\s._/@:-]+/)
50
+ .map((part) => part.trim())
51
+ .filter((part) => part.length >= 2);
52
+ }
53
+ function i18nKeySegments(value) {
54
+ const trimmed = value.trim();
55
+ if (!trimmed.startsWith('@') || !trimmed.includes(':')) {
56
+ return [];
57
+ }
58
+ const path = trimmed.slice(trimmed.indexOf(':') + 1);
59
+ return path
60
+ .split('.')
61
+ .map((segment) => segment.trim())
62
+ .filter((segment) => segment.length >= 2 && !I18N_NOISE_SEGMENTS.has(segment.toLowerCase()));
63
+ }
64
+ function uniqueFolded(values) {
65
+ const seen = new Set();
66
+ const out = [];
67
+ for (const raw of values) {
68
+ const folded = axpFoldCatalogSearchText(raw);
69
+ if (!folded || seen.has(folded)) {
70
+ continue;
71
+ }
72
+ seen.add(folded);
73
+ out.push(folded);
74
+ }
75
+ return out;
76
+ }
77
+ function haystackContains(haystack, needle) {
78
+ if (!needle) {
79
+ return false;
80
+ }
81
+ return haystack.some((item) => item === needle || item.includes(needle));
82
+ }
83
+ //#endregion
84
+ //#region ----- Haystack -----
85
+ function axpBuildEntityCatalogSearchHaystack(subject) {
86
+ var _a, _b;
87
+ const nameParts = [
88
+ subject.module,
89
+ subject.name,
90
+ subject.fullName,
91
+ ...splitIdentifierWords(subject.name),
92
+ ...splitIdentifierWords(subject.module),
93
+ ...splitIdentifierWords(subject.fullName),
94
+ ];
95
+ if (subject.title) {
96
+ nameParts.push(subject.title, ...i18nKeySegments(subject.title), ...splitIdentifierWords(subject.title));
97
+ }
98
+ if (subject.formatsIndividual) {
99
+ nameParts.push(subject.formatsIndividual, ...i18nKeySegments(subject.formatsIndividual));
100
+ }
101
+ if (subject.formatsPlural) {
102
+ nameParts.push(subject.formatsPlural, ...i18nKeySegments(subject.formatsPlural));
103
+ }
104
+ if ((_a = subject.extraTexts) === null || _a === void 0 ? void 0 : _a.length) {
105
+ nameParts.push(...subject.extraTexts);
106
+ }
107
+ const names = uniqueFolded(nameParts);
108
+ const tags = uniqueFolded((_b = subject.searchTags) !== null && _b !== void 0 ? _b : []);
109
+ const all = uniqueFolded([...names, ...tags]);
110
+ return { names, tags, all };
111
+ }
112
+ //#endregion
113
+ //#region ----- Match -----
114
+ function scoreTokens(haystack, tokens, weight) {
115
+ let score = 0;
116
+ for (const token of tokens) {
117
+ if (haystack.some((item) => item === token)) {
118
+ score += weight;
119
+ }
120
+ else if (haystackContains(haystack, token)) {
121
+ score += Math.max(1, Math.floor(weight / 2));
122
+ }
123
+ }
124
+ return score;
125
+ }
126
+ /**
127
+ * `search` matches name / fullName / i18n-key fragments / titles / tags.
128
+ * `searchTag` matches `searchTags` only.
129
+ * When both are set, the entity must satisfy both.
130
+ */
131
+ function axpMatchEntityCatalogSearch(subject, search, searchTag) {
132
+ var _a, _b;
133
+ const query = (_a = search === null || search === void 0 ? void 0 : search.trim()) !== null && _a !== void 0 ? _a : '';
134
+ const tagQuery = (_b = searchTag === null || searchTag === void 0 ? void 0 : searchTag.trim()) !== null && _b !== void 0 ? _b : '';
135
+ if (!query && !tagQuery) {
136
+ return { matched: false, score: 0 };
137
+ }
138
+ const { names, tags, all } = axpBuildEntityCatalogSearchHaystack(subject);
139
+ const searchTokens = query ? axpCatalogSearchTokens(query) : [];
140
+ const tagTokens = tagQuery ? axpCatalogSearchTokens(tagQuery) : [];
141
+ if (query && searchTokens.length === 0) {
142
+ return { matched: false, score: 0 };
143
+ }
144
+ if (tagQuery && tagTokens.length === 0) {
145
+ return { matched: false, score: 0 };
146
+ }
147
+ const foldedSearch = query ? axpFoldCatalogSearchText(query) : '';
148
+ const foldedTagQuery = tagQuery ? axpFoldCatalogSearchText(tagQuery) : '';
149
+ const searchHit = !query ||
150
+ haystackContains(all, foldedSearch) ||
151
+ searchTokens.some((token) => haystackContains(all, token));
152
+ const tagHit = !tagQuery ||
153
+ haystackContains(tags, foldedTagQuery) ||
154
+ tagTokens.some((token) => haystackContains(tags, token));
155
+ if (!searchHit || !tagHit) {
156
+ return { matched: false, score: 0 };
157
+ }
158
+ let score = 0;
159
+ if (foldedSearch && tags.includes(foldedSearch)) {
160
+ score += 200;
161
+ }
162
+ if (foldedTagQuery && tags.includes(foldedTagQuery)) {
163
+ score += 200;
164
+ }
165
+ score += scoreTokens(tags, searchTokens.length ? searchTokens : tagTokens, 100);
166
+ score += scoreTokens(names, searchTokens, 20);
167
+ if (foldedSearch && haystackContains(all, foldedSearch)) {
168
+ score += 10;
169
+ }
170
+ return { matched: true, score: Math.max(score, 1) };
171
+ }
172
+ function axpSplitEntityFullName(fullName) {
173
+ const dot = fullName.indexOf('.');
174
+ if (dot <= 0 || dot >= fullName.length - 1) {
175
+ return null;
176
+ }
177
+ return {
178
+ module: fullName.slice(0, dot),
179
+ name: fullName.slice(dot + 1),
180
+ };
181
+ }
182
+ /** Exact Module.Entity first; then case-insensitive fullName; then bare entity name. */
183
+ function axpResolveEntityCatalogByFullName(all, targetFullName) {
184
+ var _a, _b;
185
+ const target = targetFullName.trim();
186
+ if (!target) {
187
+ return [];
188
+ }
189
+ const exact = all.filter((row) => row.fullName === target);
190
+ if (exact.length > 0) {
191
+ return [...exact];
192
+ }
193
+ const lower = target.toLowerCase();
194
+ const caseInsensitive = all.filter((row) => row.fullName.toLowerCase() === lower);
195
+ if (caseInsensitive.length > 0) {
196
+ return [...caseInsensitive];
197
+ }
198
+ const bareName = target.includes('.') ? ((_b = (_a = axpSplitEntityFullName(target)) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : target) : target;
199
+ const bareLower = bareName.toLowerCase();
200
+ const byEntityName = all.filter((row) => {
201
+ var _a, _b;
202
+ const split = axpSplitEntityFullName(row.fullName);
203
+ return ((_b = (_a = split === null || split === void 0 ? void 0 : split.name) !== null && _a !== void 0 ? _a : row.name) !== null && _b !== void 0 ? _b : '').toLowerCase() === bareLower;
204
+ });
205
+ return byEntityName.length > 0 ? [...byEntityName] : [];
206
+ }
207
+ //#endregion
208
+ //# sourceMappingURL=entity-catalog-search.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-catalog-search.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-catalog-search.util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { AXPEntityTableColumn } from '../types/entity-display-field.types';
2
+ export declare function isEntityColumnBand(column: AXPEntityTableColumn): boolean;
3
+ /** Depth-first leaf columns (skips band nodes). */
4
+ export declare function flattenEntityTableColumns(columns: readonly AXPEntityTableColumn[] | undefined): AXPEntityTableColumn[];
5
+ /** Finds a column definition anywhere in the band tree. */
6
+ export declare function findEntityTableColumnInTree(columns: readonly AXPEntityTableColumn[] | undefined, name: string): AXPEntityTableColumn | undefined;
7
+ /**
8
+ * Applies leaf visibility from a name map; drops bands with no visible children.
9
+ * Band nodes are not listed in `visibilityByName`.
10
+ */
11
+ export declare function applyLeafVisibilityToEntityColumnTree(tree: readonly AXPEntityTableColumn[], visibilityByName: ReadonlyMap<string, boolean>): AXPEntityTableColumn[];
12
+ //# sourceMappingURL=entity-column-tree.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-column-tree.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-column-tree.util.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAMhF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAExE;AAMD,mDAAmD;AACnD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,SAAS,oBAAoB,EAAE,GAAG,SAAS,GACnD,oBAAoB,EAAE,CAaxB;AAED,2DAA2D;AAC3D,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,SAAS,oBAAoB,EAAE,GAAG,SAAS,EACpD,IAAI,EAAE,MAAM,GACX,oBAAoB,GAAG,SAAS,CAgBlC;AAMD;;;GAGG;AACH,wBAAgB,qCAAqC,CACnD,IAAI,EAAE,SAAS,oBAAoB,EAAE,EACrC,gBAAgB,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7C,oBAAoB,EAAE,CA2BxB"}