@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.
- package/core/src/lib/color-surface/runtime-surface.util.d.ts +2 -0
- package/core/src/lib/color-surface/runtime-surface.util.d.ts.map +1 -1
- package/core/src/lib/color-surface/runtime-surface.util.js +20 -0
- package/core/src/lib/color-surface/runtime-surface.util.js.map +1 -1
- package/core/src/lib/core/grid-item-placement.util.d.ts +33 -0
- package/core/src/lib/core/grid-item-placement.util.d.ts.map +1 -0
- package/core/src/lib/core/grid-item-placement.util.js +93 -0
- package/core/src/lib/core/grid-item-placement.util.js.map +1 -0
- package/core/src/lib/core/index.d.ts +1 -0
- package/core/src/lib/core/index.d.ts.map +1 -1
- package/core/src/lib/core/index.js +1 -0
- package/core/src/lib/core/index.js.map +1 -1
- package/core/src/lib/data/filter-query.util.d.ts +48 -0
- package/core/src/lib/data/filter-query.util.d.ts.map +1 -0
- package/core/src/lib/data/filter-query.util.js +268 -0
- package/core/src/lib/data/filter-query.util.js.map +1 -0
- package/core/src/lib/data/filter.types.d.ts +3 -0
- package/core/src/lib/data/filter.types.d.ts.map +1 -1
- package/core/src/lib/data/filter.types.js.map +1 -1
- package/core/src/lib/data/index.d.ts +1 -0
- package/core/src/lib/data/index.d.ts.map +1 -1
- package/core/src/lib/data/index.js +1 -0
- package/core/src/lib/data/index.js.map +1 -1
- package/core/src/lib/index.d.ts +1 -0
- package/core/src/lib/index.d.ts.map +1 -1
- package/core/src/lib/index.js +1 -0
- package/core/src/lib/index.js.map +1 -1
- package/core/src/lib/interaction/view-query.types.d.ts +2 -0
- package/core/src/lib/interaction/view-query.types.d.ts.map +1 -1
- package/core/src/lib/interaction/view-query.types.js.map +1 -1
- package/core/src/lib/module-manifest/index.d.ts +3 -0
- package/core/src/lib/module-manifest/index.d.ts.map +1 -0
- package/core/src/lib/module-manifest/index.js +8 -0
- package/core/src/lib/module-manifest/index.js.map +1 -0
- package/core/src/lib/module-manifest/module-manifest.types.d.ts +61 -0
- package/core/src/lib/module-manifest/module-manifest.types.d.ts.map +1 -0
- package/core/src/lib/module-manifest/module-manifest.types.js +5 -0
- package/core/src/lib/module-manifest/module-manifest.types.js.map +1 -0
- package/core/src/lib/module-manifest/module-taxonomy.d.ts +47 -0
- package/core/src/lib/module-manifest/module-taxonomy.d.ts.map +1 -0
- package/core/src/lib/module-manifest/module-taxonomy.js +61 -0
- package/core/src/lib/module-manifest/module-taxonomy.js.map +1 -0
- package/core/src/lib/widgets/widgets-catalog.d.ts +4 -0
- package/core/src/lib/widgets/widgets-catalog.d.ts.map +1 -1
- package/core/src/lib/widgets/widgets-catalog.js +4 -0
- package/core/src/lib/widgets/widgets-catalog.js.map +1 -1
- package/domain/src/lib/definitions/entity-definition.types.d.ts +2 -0
- package/domain/src/lib/definitions/entity-definition.types.d.ts.map +1 -1
- package/entity/src/lib/helpers/entity-action.helpers.d.ts +2 -1
- package/entity/src/lib/helpers/entity-action.helpers.d.ts.map +1 -1
- package/entity/src/lib/helpers/entity-action.helpers.js +12 -11
- package/entity/src/lib/helpers/entity-action.helpers.js.map +1 -1
- package/entity/src/lib/types/entity-definition.types.d.ts +6 -0
- package/entity/src/lib/types/entity-definition.types.d.ts.map +1 -1
- package/entity/src/lib/types/entity-definition.types.js.map +1 -1
- package/entity/src/lib/types/entity-display-field.types.d.ts +2 -0
- package/entity/src/lib/types/entity-display-field.types.d.ts.map +1 -1
- package/entity/src/lib/types/entity-display-field.types.js.map +1 -1
- package/entity/src/lib/types/entity-list-user-styling.types.d.ts +32 -0
- package/entity/src/lib/types/entity-list-user-styling.types.d.ts.map +1 -0
- package/entity/src/lib/types/entity-list-user-styling.types.js +8 -0
- package/entity/src/lib/types/entity-list-user-styling.types.js.map +1 -0
- package/entity/src/lib/types/entity-master-list.types.d.ts +20 -1
- package/entity/src/lib/types/entity-master-list.types.d.ts.map +1 -1
- package/entity/src/lib/types/entity-master-list.types.js +6 -0
- package/entity/src/lib/types/entity-master-list.types.js.map +1 -1
- package/entity/src/lib/types/entity-query-view.types.d.ts +34 -11
- package/entity/src/lib/types/entity-query-view.types.d.ts.map +1 -1
- package/entity/src/lib/types/entity-query-view.types.js +25 -0
- package/entity/src/lib/types/entity-query-view.types.js.map +1 -1
- package/entity/src/lib/types/entity-related-layout.types.d.ts +17 -1
- package/entity/src/lib/types/entity-related-layout.types.d.ts.map +1 -1
- package/entity/src/lib/types/entity-related-layout.types.js.map +1 -1
- package/entity/src/lib/types/index.d.ts +1 -0
- package/entity/src/lib/types/index.d.ts.map +1 -1
- package/entity/src/lib/types/index.js +1 -0
- package/entity/src/lib/types/index.js.map +1 -1
- package/entity/src/lib/utils/entity-catalog-search.util.d.ts +41 -0
- package/entity/src/lib/utils/entity-catalog-search.util.d.ts.map +1 -0
- package/entity/src/lib/utils/entity-catalog-search.util.js +208 -0
- package/entity/src/lib/utils/entity-catalog-search.util.js.map +1 -0
- package/entity/src/lib/utils/entity-column-tree.util.d.ts +12 -0
- package/entity/src/lib/utils/entity-column-tree.util.d.ts.map +1 -0
- package/entity/src/lib/utils/entity-column-tree.util.js +79 -0
- package/entity/src/lib/utils/entity-column-tree.util.js.map +1 -0
- package/entity/src/lib/utils/entity-default-card-layout.util.d.ts.map +1 -1
- package/entity/src/lib/utils/entity-default-card-layout.util.js +7 -6
- package/entity/src/lib/utils/entity-default-card-layout.util.js.map +1 -1
- package/entity/src/lib/utils/entity-list-custom-query-view.util.d.ts +59 -0
- package/entity/src/lib/utils/entity-list-custom-query-view.util.d.ts.map +1 -0
- package/entity/src/lib/utils/entity-list-custom-query-view.util.js +257 -0
- package/entity/src/lib/utils/entity-list-custom-query-view.util.js.map +1 -0
- package/entity/src/lib/utils/entity-list-sort-presets.util.d.ts +8 -0
- package/entity/src/lib/utils/entity-list-sort-presets.util.d.ts.map +1 -0
- package/entity/src/lib/utils/entity-list-sort-presets.util.js +126 -0
- package/entity/src/lib/utils/entity-list-sort-presets.util.js.map +1 -0
- package/entity/src/lib/utils/entity-list-sortable-fields.util.d.ts +2 -0
- package/entity/src/lib/utils/entity-list-sortable-fields.util.d.ts.map +1 -1
- package/entity/src/lib/utils/entity-list-sortable-fields.util.js +12 -0
- package/entity/src/lib/utils/entity-list-sortable-fields.util.js.map +1 -1
- package/entity/src/lib/utils/entity-list-user-styling.util.d.ts +12 -0
- package/entity/src/lib/utils/entity-list-user-styling.util.d.ts.map +1 -0
- package/entity/src/lib/utils/entity-list-user-styling.util.js +237 -0
- package/entity/src/lib/utils/entity-list-user-styling.util.js.map +1 -0
- package/entity/src/lib/utils/entity-quick-search-paths.util.d.ts.map +1 -1
- package/entity/src/lib/utils/entity-quick-search-paths.util.js +2 -1
- package/entity/src/lib/utils/entity-quick-search-paths.util.js.map +1 -1
- package/entity/src/lib/utils/index.d.ts +6 -0
- package/entity/src/lib/utils/index.d.ts.map +1 -1
- package/entity/src/lib/utils/index.js +6 -0
- package/entity/src/lib/utils/index.js.map +1 -1
- package/entity/src/lib/utils/related-entity-query-views.util.d.ts +20 -0
- package/entity/src/lib/utils/related-entity-query-views.util.d.ts.map +1 -0
- package/entity/src/lib/utils/related-entity-query-views.util.js +87 -0
- package/entity/src/lib/utils/related-entity-query-views.util.js.map +1 -0
- package/hook/src/index.d.ts +4 -0
- package/hook/src/index.d.ts.map +1 -0
- package/hook/src/index.js +7 -0
- package/hook/src/index.js.map +1 -0
- package/hook/src/lib/hook-registry.d.ts +10 -0
- package/hook/src/lib/hook-registry.d.ts.map +1 -0
- package/hook/src/lib/hook-registry.js +68 -0
- package/hook/src/lib/hook-registry.js.map +1 -0
- package/hook/src/lib/hook-run.d.ts +4 -0
- package/hook/src/lib/hook-run.d.ts.map +1 -0
- package/hook/src/lib/hook-run.js +29 -0
- package/hook/src/lib/hook-run.js.map +1 -0
- package/hook/src/lib/hook.types.d.ts +12 -0
- package/hook/src/lib/hook.types.d.ts.map +1 -0
- package/hook/src/lib/hook.types.js +17 -0
- package/hook/src/lib/hook.types.js.map +1 -0
- package/package.json +5 -1
- package/runtime/src/lib/commands/auth-command-keys.d.ts +2 -0
- package/runtime/src/lib/commands/auth-command-keys.d.ts.map +1 -1
- package/runtime/src/lib/commands/auth-command-keys.js +3 -1
- package/runtime/src/lib/commands/auth-command-keys.js.map +1 -1
- package/runtime/src/lib/commands/entity-action-command-input.d.ts.map +1 -1
- package/runtime/src/lib/commands/entity-action-command-input.js +26 -3
- package/runtime/src/lib/commands/entity-action-command-input.js.map +1 -1
- package/runtime/src/lib/shared/catalog-definition-base.types.d.ts +19 -0
- package/runtime/src/lib/shared/catalog-definition-base.types.d.ts.map +1 -1
- package/runtime/src/lib/shared/catalog-definition-base.types.js.map +1 -1
- package/widget-core/src/lib/index.d.ts +2 -0
- package/widget-core/src/lib/index.d.ts.map +1 -1
- package/widget-core/src/lib/index.js +2 -0
- package/widget-core/src/lib/index.js.map +1 -1
- package/widget-core/src/lib/layout-profile.types.d.ts +15 -0
- package/widget-core/src/lib/layout-profile.types.d.ts.map +1 -0
- package/widget-core/src/lib/layout-profile.types.js +7 -0
- package/widget-core/src/lib/layout-profile.types.js.map +1 -0
- package/widget-core/src/lib/layout-profile.util.d.ts +38 -0
- package/widget-core/src/lib/layout-profile.util.d.ts.map +1 -0
- package/widget-core/src/lib/layout-profile.util.js +239 -0
- package/widget-core/src/lib/layout-profile.util.js.map +1 -0
- package/widget-core/src/lib/types/widget-types-map.types.d.ts +3 -0
- package/widget-core/src/lib/types/widget-types-map.types.d.ts.map +1 -1
- package/widget-core/src/lib/types/widget.types.d.ts +8 -2
- package/widget-core/src/lib/types/widget.types.d.ts.map +1 -1
- 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;
|
|
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;;
|
|
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
|
-
*
|
|
17
|
-
* Empty
|
|
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:
|
|
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
|
|
27
|
-
columns?:
|
|
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
|
-
}
|
|
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;
|
|
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;;
|
|
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;
|
|
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;;
|
|
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"}
|