@acorex-platform/framework-shared 0.0.37 → 0.0.46
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/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/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 +53 -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 +249 -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
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ENTITY_LIST_CUSTOM_VIEW_NAME_PREFIX = exports.ENTITY_LIST_CUSTOM_VIEWS_SETTING_PATH = void 0;
|
|
4
|
+
exports.isQueryViewColumnVisible = isQueryViewColumnVisible;
|
|
5
|
+
exports.isCustomQueryView = isCustomQueryView;
|
|
6
|
+
exports.withQueryViewFilterVisibility = withQueryViewFilterVisibility;
|
|
7
|
+
exports.createCustomQueryViewName = createCustomQueryViewName;
|
|
8
|
+
exports.mergeDefinitionAndCustomQueryViews = mergeDefinitionAndCustomQueryViews;
|
|
9
|
+
exports.readPersistedCustomQueryViews = readPersistedCustomQueryViews;
|
|
10
|
+
exports.upsertPersistedCustomQueryView = upsertPersistedCustomQueryView;
|
|
11
|
+
exports.removePersistedCustomQueryView = removePersistedCustomQueryView;
|
|
12
|
+
exports.mergeQueryViewAndUserFilters = mergeQueryViewAndUserFilters;
|
|
13
|
+
exports.resolveCustomViewFilterQueries = resolveCustomViewFilterQueries;
|
|
14
|
+
exports.filterQueriesToViewConditions = filterQueriesToViewConditions;
|
|
15
|
+
exports.snapshotCustomQueryView = snapshotCustomQueryView;
|
|
16
|
+
exports.isQueryViewDirty = isQueryViewDirty;
|
|
17
|
+
//#region ----- Imports -----
|
|
18
|
+
const core_1 = require("@acorex-platform/framework-shared/core");
|
|
19
|
+
const entity_query_view_types_1 = require("../types/entity-query-view.types");
|
|
20
|
+
const related_entity_query_views_util_1 = require("./related-entity-query-views.util");
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region ----- Constants -----
|
|
23
|
+
exports.ENTITY_LIST_CUSTOM_VIEWS_SETTING_PATH = ['list', 'customViews'];
|
|
24
|
+
exports.ENTITY_LIST_CUSTOM_VIEW_NAME_PREFIX = 'custom-';
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region ----- Identity -----
|
|
27
|
+
function isQueryViewColumnVisible(visible) {
|
|
28
|
+
return visible !== false;
|
|
29
|
+
}
|
|
30
|
+
function isCustomQueryView(view) {
|
|
31
|
+
return view.custom === true || view.name.startsWith(exports.ENTITY_LIST_CUSTOM_VIEW_NAME_PREFIX);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Built-in view conditions stay hidden chips (owned by the tab).
|
|
35
|
+
* Custom-view conditions are the user's saved filters and must remain visible.
|
|
36
|
+
*/
|
|
37
|
+
function withQueryViewFilterVisibility(view, filters) {
|
|
38
|
+
var _a;
|
|
39
|
+
const hideViewOwned = !isCustomQueryView(view);
|
|
40
|
+
const viewFields = new Set(((_a = view.conditions) !== null && _a !== void 0 ? _a : []).map((condition) => condition.name));
|
|
41
|
+
return filters.map((filter) => {
|
|
42
|
+
var _a, _b;
|
|
43
|
+
const field = (_b = (_a = (0, core_1.resolveFilterQueryIdentityField)(filter)) !== null && _a !== void 0 ? _a : filter.field) !== null && _b !== void 0 ? _b : '';
|
|
44
|
+
const ownedByView = !!field && viewFields.has(field);
|
|
45
|
+
return Object.assign(Object.assign({}, filter), { hidden: filter.hidden === true || (hideViewOwned && ownedByView) });
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function createCustomQueryViewName() {
|
|
49
|
+
return `${exports.ENTITY_LIST_CUSTOM_VIEW_NAME_PREFIX}${(0, core_1.createRandomUuid)()}`;
|
|
50
|
+
}
|
|
51
|
+
function mergeDefinitionAndCustomQueryViews(definitionViews, customViews) {
|
|
52
|
+
const definition = definitionViews !== null && definitionViews !== void 0 ? definitionViews : [];
|
|
53
|
+
const definitionNames = new Set(definition.map((view) => view.name));
|
|
54
|
+
const extras = (customViews !== null && customViews !== void 0 ? customViews : []).filter((view) => view.name && !definitionNames.has(view.name));
|
|
55
|
+
return [...definition, ...extras];
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
//#region ----- Persistence -----
|
|
59
|
+
function readPersistedCustomQueryViews(setting) {
|
|
60
|
+
const raw = getNested(setting, [...exports.ENTITY_LIST_CUSTOM_VIEWS_SETTING_PATH]);
|
|
61
|
+
if (!Array.isArray(raw)) {
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
return raw
|
|
65
|
+
.map((item) => sanitizePersistedCustomQueryView(item))
|
|
66
|
+
.filter((view) => view != null);
|
|
67
|
+
}
|
|
68
|
+
function upsertPersistedCustomQueryView(setting, view) {
|
|
69
|
+
var _a;
|
|
70
|
+
const current = readPersistedCustomQueryViews(setting);
|
|
71
|
+
const nextView = (_a = sanitizePersistedCustomQueryView(view)) !== null && _a !== void 0 ? _a : view;
|
|
72
|
+
const index = current.findIndex((item) => item.name === nextView.name);
|
|
73
|
+
const next = index >= 0 ? current.map((item, i) => (i === index ? nextView : item)) : [...current, nextView];
|
|
74
|
+
return setCustomViews(setting, next);
|
|
75
|
+
}
|
|
76
|
+
function removePersistedCustomQueryView(setting, name) {
|
|
77
|
+
const next = readPersistedCustomQueryViews(setting).filter((view) => view.name !== name);
|
|
78
|
+
return setCustomViews(setting, next);
|
|
79
|
+
}
|
|
80
|
+
function setCustomViews(setting, views) {
|
|
81
|
+
const root = setting && typeof setting === 'object' ? Object.assign({}, setting) : {};
|
|
82
|
+
const list = root['list'] && typeof root['list'] === 'object' ? Object.assign({}, root['list']) : {};
|
|
83
|
+
list['customViews'] = views;
|
|
84
|
+
root['list'] = list;
|
|
85
|
+
return root;
|
|
86
|
+
}
|
|
87
|
+
function sanitizePersistedCustomQueryView(value) {
|
|
88
|
+
if (!value || typeof value !== 'object') {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
const record = value;
|
|
92
|
+
const name = typeof record['name'] === 'string' ? record['name'].trim() : '';
|
|
93
|
+
const title = typeof record['title'] === 'string' ? record['title'].trim() : '';
|
|
94
|
+
if (!name || !title) {
|
|
95
|
+
return null;
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
name,
|
|
99
|
+
title,
|
|
100
|
+
fixed: false,
|
|
101
|
+
custom: true,
|
|
102
|
+
columns: Array.isArray(record['columns']) ? record['columns'] : [],
|
|
103
|
+
conditions: Array.isArray(record['conditions']) ? record['conditions'] : [],
|
|
104
|
+
sorts: Array.isArray(record['sorts']) ? record['sorts'] : [],
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
function getNested(source, path) {
|
|
108
|
+
let current = source;
|
|
109
|
+
for (const key of path) {
|
|
110
|
+
if (!current || typeof current !== 'object') {
|
|
111
|
+
return undefined;
|
|
112
|
+
}
|
|
113
|
+
current = current[key];
|
|
114
|
+
}
|
|
115
|
+
return current;
|
|
116
|
+
}
|
|
117
|
+
//#endregion
|
|
118
|
+
//#region ----- Snapshot -----
|
|
119
|
+
function mergeQueryViewAndUserFilters(viewFilters, persisted) {
|
|
120
|
+
if (!(persisted === null || persisted === void 0 ? void 0 : persisted.length)) {
|
|
121
|
+
return viewFilters;
|
|
122
|
+
}
|
|
123
|
+
const viewFlat = (0, core_1.flattenQueryFilterUserGroups)(viewFilters).queries;
|
|
124
|
+
const viewFields = new Set(viewFlat.map((filter) => (0, core_1.resolveFilterQueryIdentityField)(filter)).filter((field) => !!field));
|
|
125
|
+
const extras = (0, core_1.flattenQueryFilterUserGroups)(persisted).queries.filter((filter) => {
|
|
126
|
+
const field = (0, core_1.resolveFilterQueryIdentityField)(filter);
|
|
127
|
+
return field && !viewFields.has(field);
|
|
128
|
+
});
|
|
129
|
+
return extras.length ? [...viewFlat, ...extras] : viewFlat;
|
|
130
|
+
}
|
|
131
|
+
function resolveCustomViewFilterQueries(input) {
|
|
132
|
+
const persistable = (0, core_1.flattenQueryFilterUserGroups)(input.currentFilters).queries.filter((filter) => (0, core_1.isPersistableFilterQuery)(filter));
|
|
133
|
+
if (!input.includeActiveView) {
|
|
134
|
+
return persistable;
|
|
135
|
+
}
|
|
136
|
+
return mergeQueryViewAndUserFilters((0, related_entity_query_views_util_1.queryViewConditionsToFilterQueries)(input.activeView), persistable);
|
|
137
|
+
}
|
|
138
|
+
function filterQueriesToViewConditions(queries) {
|
|
139
|
+
return (0, core_1.flattenQueryFilterUserGroups)(queries).queries.flatMap(convertFilterQueryToViewConditions);
|
|
140
|
+
}
|
|
141
|
+
function snapshotCustomQueryView(input) {
|
|
142
|
+
const includeActiveView = input.includeActiveView !== false;
|
|
143
|
+
const filterQueries = resolveCustomViewFilterQueries({
|
|
144
|
+
includeActiveView,
|
|
145
|
+
activeView: input.activeView,
|
|
146
|
+
currentFilters: input.currentFilters,
|
|
147
|
+
});
|
|
148
|
+
return {
|
|
149
|
+
name: input.name,
|
|
150
|
+
title: input.title.trim(),
|
|
151
|
+
fixed: false,
|
|
152
|
+
custom: true,
|
|
153
|
+
columns: resolveCustomViewColumns(includeActiveView, input.activeView, input.currentColumns),
|
|
154
|
+
conditions: filterQueriesToViewConditions(filterQueries),
|
|
155
|
+
sorts: resolveCustomViewSorts(includeActiveView, input.activeView, input.currentSorts),
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
function resolveCustomViewColumns(includeActiveView, activeView, currentColumns) {
|
|
159
|
+
if (!includeActiveView) {
|
|
160
|
+
return currentColumns;
|
|
161
|
+
}
|
|
162
|
+
const viewColumns = (0, entity_query_view_types_1.normalizeAXPQueryViewColumns)(activeView.columns);
|
|
163
|
+
if (!viewColumns.length) {
|
|
164
|
+
return currentColumns;
|
|
165
|
+
}
|
|
166
|
+
const currentByName = new Map(currentColumns.map((column) => [typeof column === 'string' ? column : column.name, column]));
|
|
167
|
+
const merged = viewColumns.map((viewColumn) => {
|
|
168
|
+
var _a;
|
|
169
|
+
const current = currentByName.get(viewColumn.name);
|
|
170
|
+
if (!current || typeof current === 'string') {
|
|
171
|
+
return { name: viewColumn.name, visible: viewColumn.visible, width: viewColumn.width };
|
|
172
|
+
}
|
|
173
|
+
return {
|
|
174
|
+
name: viewColumn.name,
|
|
175
|
+
visible: current.visible !== false,
|
|
176
|
+
width: (_a = current.width) !== null && _a !== void 0 ? _a : viewColumn.width,
|
|
177
|
+
};
|
|
178
|
+
});
|
|
179
|
+
for (const current of currentColumns) {
|
|
180
|
+
const name = typeof current === 'string' ? current : current.name;
|
|
181
|
+
if (!viewColumns.some((column) => column.name === name)) {
|
|
182
|
+
merged.push(current);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
return merged;
|
|
186
|
+
}
|
|
187
|
+
function resolveCustomViewSorts(includeActiveView, activeView, currentSorts) {
|
|
188
|
+
var _a;
|
|
189
|
+
const sorts = (currentSorts !== null && currentSorts !== void 0 ? currentSorts : []).filter((sort) => sort.dir === 'asc' || sort.dir === 'desc');
|
|
190
|
+
if (!includeActiveView || sorts.length) {
|
|
191
|
+
return sorts;
|
|
192
|
+
}
|
|
193
|
+
return (_a = activeView.sorts) !== null && _a !== void 0 ? _a : [];
|
|
194
|
+
}
|
|
195
|
+
function convertFilterQueryToViewConditions(query) {
|
|
196
|
+
var _a;
|
|
197
|
+
if (((_a = query.filters) === null || _a === void 0 ? void 0 : _a.length) &&
|
|
198
|
+
!(typeof query.field === 'string' && query.field.length > 0) &&
|
|
199
|
+
!(0, core_1.isQueryFilterAllNode)(query)) {
|
|
200
|
+
return query.filters.flatMap(convertFilterQueryToViewConditions);
|
|
201
|
+
}
|
|
202
|
+
const name = (0, core_1.resolveFilterQueryIdentityField)(query);
|
|
203
|
+
if (!name || !query.operator) {
|
|
204
|
+
return [];
|
|
205
|
+
}
|
|
206
|
+
return [
|
|
207
|
+
{
|
|
208
|
+
name,
|
|
209
|
+
operator: query.operator,
|
|
210
|
+
value: query.value,
|
|
211
|
+
hidden: query.hidden,
|
|
212
|
+
},
|
|
213
|
+
];
|
|
214
|
+
}
|
|
215
|
+
//#endregion
|
|
216
|
+
//#region ----- Dirty -----
|
|
217
|
+
function isQueryViewDirty(state) {
|
|
218
|
+
var _a, _b;
|
|
219
|
+
const viewFields = new Set(((_a = state.view.conditions) !== null && _a !== void 0 ? _a : []).map((condition) => condition.name));
|
|
220
|
+
const extras = state.persistableFilters.filter((filter) => {
|
|
221
|
+
const field = (0, core_1.resolveFilterQueryIdentityField)(filter);
|
|
222
|
+
return !field || !viewFields.has(field);
|
|
223
|
+
});
|
|
224
|
+
if (extras.length > 0) {
|
|
225
|
+
return true;
|
|
226
|
+
}
|
|
227
|
+
if (sortsSignature(state.currentSorts) !== sortsSignature((_b = state.view.sorts) !== null && _b !== void 0 ? _b : [])) {
|
|
228
|
+
return true;
|
|
229
|
+
}
|
|
230
|
+
return columnsSignature(state.currentColumns) !== expectedColumnsSignature(state);
|
|
231
|
+
}
|
|
232
|
+
function expectedColumnsSignature(state) {
|
|
233
|
+
const viewColumns = (0, entity_query_view_types_1.normalizeAXPQueryViewColumns)(state.view.columns);
|
|
234
|
+
if (viewColumns.length) {
|
|
235
|
+
return columnsSignature(viewColumns);
|
|
236
|
+
}
|
|
237
|
+
return columnsSignature(state.defaultColumns);
|
|
238
|
+
}
|
|
239
|
+
function sortsSignature(sorts) {
|
|
240
|
+
return sorts
|
|
241
|
+
.filter((sort) => sort.dir === 'asc' || sort.dir === 'desc')
|
|
242
|
+
.map((sort) => `${sort.name}:${sort.dir}`)
|
|
243
|
+
.join('|');
|
|
244
|
+
}
|
|
245
|
+
function columnsSignature(columns) {
|
|
246
|
+
return columns.map((column) => `${column.name}:${column.visible !== false ? '1' : '0'}`).join('|');
|
|
247
|
+
}
|
|
248
|
+
//#endregion
|
|
249
|
+
//# sourceMappingURL=entity-list-custom-query-view.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-list-custom-query-view.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-list-custom-query-view.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AXPEntity } from '../types/entity-definition.types';
|
|
2
|
+
import { type AXPEntitySortPreset } from '../types/entity-master-list.types';
|
|
3
|
+
/**
|
|
4
|
+
* Default list Quick Presets from entity shape: one date field (newest/oldest) and one title field (A→Z).
|
|
5
|
+
* Authored `sortPresets` with the same `name` are not replaced; callers should merge.
|
|
6
|
+
*/
|
|
7
|
+
export declare function inferEntityListSortPresets(entity: AXPEntity | null | undefined): AXPEntitySortPreset[];
|
|
8
|
+
//# sourceMappingURL=entity-list-sort-presets.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-list-sort-presets.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-list-sort-presets.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAA0B,KAAK,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAiDrG;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,mBAAmB,EAAE,CA6BtG"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.inferEntityListSortPresets = inferEntityListSortPresets;
|
|
4
|
+
const entity_master_list_types_1 = require("../types/entity-master-list.types");
|
|
5
|
+
const entity_column_tree_util_1 = require("./entity-column-tree.util");
|
|
6
|
+
const entity_list_sortable_fields_util_1 = require("./entity-list-sortable-fields.util");
|
|
7
|
+
const entity_search_title_context_util_1 = require("./entity-search-title-context.util");
|
|
8
|
+
//#region ----- Constants -----
|
|
9
|
+
const DATE_NAME_PRIORITY = [
|
|
10
|
+
'createdAt',
|
|
11
|
+
'createdDate',
|
|
12
|
+
'insertedAt',
|
|
13
|
+
'insertDate',
|
|
14
|
+
'since',
|
|
15
|
+
'occurredAt',
|
|
16
|
+
'startDate',
|
|
17
|
+
'startedAt',
|
|
18
|
+
'hireDate',
|
|
19
|
+
'publishedAt',
|
|
20
|
+
];
|
|
21
|
+
const TITLE_NAME_CANDIDATES = ['title', 'name', 'fullName', 'displayName'];
|
|
22
|
+
const DATE_DATA_TYPES = new Set(['date', 'datetime', 'date-time']);
|
|
23
|
+
const DATE_WIDGET_TYPES = new Set(['date-time-editor']);
|
|
24
|
+
const SIMPLE_PATH_PATTERN = /^[\w]+(?:\.[\w]+)*$/;
|
|
25
|
+
const SORT_PRESET_I18N = {
|
|
26
|
+
newestFirst: {
|
|
27
|
+
title: '@general:terms.interface.sort.presets.newest-first.title',
|
|
28
|
+
hint: '@general:terms.interface.sort.presets.newest-first.hint',
|
|
29
|
+
},
|
|
30
|
+
oldestFirst: {
|
|
31
|
+
title: '@general:terms.interface.sort.presets.oldest-first.title',
|
|
32
|
+
hint: '@general:terms.interface.sort.presets.oldest-first.hint',
|
|
33
|
+
},
|
|
34
|
+
titleAz: {
|
|
35
|
+
title: '@general:terms.interface.sort.presets.title-az.title',
|
|
36
|
+
hint: '@general:terms.interface.sort.presets.title-az.hint',
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
//#endregion
|
|
40
|
+
//#region ----- Public API -----
|
|
41
|
+
/**
|
|
42
|
+
* Default list Quick Presets from entity shape: one date field (newest/oldest) and one title field (A→Z).
|
|
43
|
+
* Authored `sortPresets` with the same `name` are not replaced; callers should merge.
|
|
44
|
+
*/
|
|
45
|
+
function inferEntityListSortPresets(entity) {
|
|
46
|
+
if (!entity) {
|
|
47
|
+
return [];
|
|
48
|
+
}
|
|
49
|
+
const presets = [];
|
|
50
|
+
const dateField = pickDateSortField(entity);
|
|
51
|
+
const titleField = pickTitleSortField(entity);
|
|
52
|
+
if (dateField) {
|
|
53
|
+
presets.push((0, entity_master_list_types_1.createEntitySortPreset)('newest-first', SORT_PRESET_I18N.newestFirst.title, [{ name: dateField, dir: 'desc' }], {
|
|
54
|
+
hint: SORT_PRESET_I18N.newestFirst.hint,
|
|
55
|
+
}), (0, entity_master_list_types_1.createEntitySortPreset)('oldest-first', SORT_PRESET_I18N.oldestFirst.title, [{ name: dateField, dir: 'asc' }], {
|
|
56
|
+
hint: SORT_PRESET_I18N.oldestFirst.hint,
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
if (titleField) {
|
|
60
|
+
presets.push((0, entity_master_list_types_1.createEntitySortPreset)('title-az', SORT_PRESET_I18N.titleAz.title, [{ name: titleField, dir: 'asc' }], {
|
|
61
|
+
hint: SORT_PRESET_I18N.titleAz.hint,
|
|
62
|
+
}));
|
|
63
|
+
}
|
|
64
|
+
return presets;
|
|
65
|
+
}
|
|
66
|
+
//#endregion
|
|
67
|
+
//#region ----- Field pickers -----
|
|
68
|
+
function pickDateSortField(entity) {
|
|
69
|
+
var _a, _b;
|
|
70
|
+
const sortable = ((_a = entity.properties) !== null && _a !== void 0 ? _a : []).filter((property) => (0, entity_list_sortable_fields_util_1.isEntityPropertySortEnabled)(property) && isDateProperty(property));
|
|
71
|
+
for (const name of DATE_NAME_PRIORITY) {
|
|
72
|
+
if (sortable.some((property) => property.name === name)) {
|
|
73
|
+
return name;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return (_b = sortable[0]) === null || _b === void 0 ? void 0 : _b.name;
|
|
77
|
+
}
|
|
78
|
+
function isDateProperty(property) {
|
|
79
|
+
var _a, _b, _c, _d;
|
|
80
|
+
const dataType = (_b = (_a = property.schema) === null || _a === void 0 ? void 0 : _a.dataType) === null || _b === void 0 ? void 0 : _b.toLowerCase();
|
|
81
|
+
const widgetType = (_d = (_c = property.schema) === null || _c === void 0 ? void 0 : _c.interface) === null || _d === void 0 ? void 0 : _d.type;
|
|
82
|
+
return (dataType != null && DATE_DATA_TYPES.has(dataType))
|
|
83
|
+
|| (typeof widgetType === 'string' && DATE_WIDGET_TYPES.has(widgetType));
|
|
84
|
+
}
|
|
85
|
+
function pickTitleSortField(entity) {
|
|
86
|
+
var _a;
|
|
87
|
+
const fromTemplate = firstSimplePath((0, entity_search_title_context_util_1.resolveEntityRowTitleTemplate)(entity));
|
|
88
|
+
if (fromTemplate) {
|
|
89
|
+
return fromTemplate;
|
|
90
|
+
}
|
|
91
|
+
const properties = (_a = entity.properties) !== null && _a !== void 0 ? _a : [];
|
|
92
|
+
for (const name of TITLE_NAME_CANDIDATES) {
|
|
93
|
+
const property = properties.find((item) => item.name === name);
|
|
94
|
+
if (property && (0, entity_list_sortable_fields_util_1.isEntityPropertySortEnabled)(property)) {
|
|
95
|
+
return name;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
const columns = (0, entity_column_tree_util_1.flattenEntityTableColumns)(entity.columns).map((column) => column.name);
|
|
99
|
+
for (const name of TITLE_NAME_CANDIDATES) {
|
|
100
|
+
const dotted = columns.find((column) => column === name || column.endsWith(`.${name}`));
|
|
101
|
+
if (dotted) {
|
|
102
|
+
return dotted;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return undefined;
|
|
106
|
+
}
|
|
107
|
+
function firstSimplePath(template) {
|
|
108
|
+
if (!template) {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
const evalMatch = template.match(/context\.eval\(\s*['"]([\w]+(?:\.[\w]+)*)['"]\s*\)/);
|
|
112
|
+
if ((evalMatch === null || evalMatch === void 0 ? void 0 : evalMatch[1]) && SIMPLE_PATH_PATTERN.test(evalMatch[1])) {
|
|
113
|
+
return evalMatch[1];
|
|
114
|
+
}
|
|
115
|
+
const doubleBrace = template.match(/\{\{\s*([\w]+(?:\.[\w]+)*)\s*\}\}/);
|
|
116
|
+
if ((doubleBrace === null || doubleBrace === void 0 ? void 0 : doubleBrace[1]) && doubleBrace[1] !== 'context') {
|
|
117
|
+
return doubleBrace[1];
|
|
118
|
+
}
|
|
119
|
+
const singleBrace = template.match(/\{\s*([\w]+(?:\.[\w]+)*)\s*\}/);
|
|
120
|
+
if ((singleBrace === null || singleBrace === void 0 ? void 0 : singleBrace[1]) && SIMPLE_PATH_PATTERN.test(singleBrace[1])) {
|
|
121
|
+
return singleBrace[1];
|
|
122
|
+
}
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
//#endregion
|
|
126
|
+
//# sourceMappingURL=entity-list-sort-presets.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-list-sort-presets.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-list-sort-presets.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AXPEntity } from '../types/entity-definition.types';
|
|
2
|
+
import type { AXPEntitySortPreset } from '../types/entity-master-list.types';
|
|
2
3
|
import type { AXPEntityProperty } from '../types/entity-property.types';
|
|
3
4
|
import type { AXPCollectEntityQuickSearchPathsResolver } from './entity-quick-search-paths.util';
|
|
4
5
|
export interface AXPEntityListSortableField {
|
|
@@ -11,4 +12,5 @@ export interface AXPEntityListSortableField {
|
|
|
11
12
|
*/
|
|
12
13
|
export declare function collectEntityListSortableFields(entity: AXPEntity | null | undefined, resolveRelatedDefinition: AXPCollectEntityQuickSearchPathsResolver): Promise<AXPEntityListSortableField[]>;
|
|
13
14
|
export declare function isEntityPropertySortEnabled(property: AXPEntityProperty | null | undefined): boolean;
|
|
15
|
+
export declare function collectEntityListSortPresets(entity: AXPEntity | null | undefined): AXPEntitySortPreset[];
|
|
14
16
|
//# sourceMappingURL=entity-list-sortable-fields.util.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-list-sortable-fields.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-list-sortable-fields.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAMxE,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,kCAAkC,CAAC;AAIjG,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAwED;;;GAGG;AACH,wBAAsB,+BAA+B,CACnD,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EACpC,wBAAwB,EAAE,wCAAwC,GACjE,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAoBvC;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEnG"}
|
|
1
|
+
{"version":3,"file":"entity-list-sortable-fields.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-list-sortable-fields.util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAMxE,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,kCAAkC,CAAC;AAIjG,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAwED;;;GAGG;AACH,wBAAsB,+BAA+B,CACnD,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,EACpC,wBAAwB,EAAE,wCAAwC,GACjE,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAoBvC;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAEnG;AAED,wBAAgB,4BAA4B,CAC1C,MAAM,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,GACnC,mBAAmB,EAAE,CAavB"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.collectEntityListSortableFields = collectEntityListSortableFields;
|
|
4
4
|
exports.isEntityPropertySortEnabled = isEntityPropertySortEnabled;
|
|
5
|
+
exports.collectEntityListSortPresets = collectEntityListSortPresets;
|
|
5
6
|
const tslib_1 = require("tslib");
|
|
6
7
|
const entity_merge_detail_list_properties_util_1 = require("./entity-merge-detail-list-properties.util");
|
|
7
8
|
//#endregion
|
|
@@ -91,5 +92,16 @@ function collectEntityListSortableFields(entity, resolveRelatedDefinition) {
|
|
|
91
92
|
function isEntityPropertySortEnabled(property) {
|
|
92
93
|
return property != null && isPropertySortEnabled(property);
|
|
93
94
|
}
|
|
95
|
+
function collectEntityListSortPresets(entity) {
|
|
96
|
+
var _a, _b, _c;
|
|
97
|
+
const presets = (_c = (_b = (_a = entity === null || entity === void 0 ? void 0 : entity.interfaces) === null || _a === void 0 ? void 0 : _a.master) === null || _b === void 0 ? void 0 : _b.list) === null || _c === void 0 ? void 0 : _c.sortPresets;
|
|
98
|
+
if (!(presets === null || presets === void 0 ? void 0 : presets.length)) {
|
|
99
|
+
return [];
|
|
100
|
+
}
|
|
101
|
+
return presets.filter((preset) => typeof (preset === null || preset === void 0 ? void 0 : preset.name) === 'string' &&
|
|
102
|
+
preset.name.length > 0 &&
|
|
103
|
+
Array.isArray(preset.sorts) &&
|
|
104
|
+
preset.sorts.some((sort) => !!(sort === null || sort === void 0 ? void 0 : sort.name) && (sort.dir === 'asc' || sort.dir === 'desc')));
|
|
105
|
+
}
|
|
94
106
|
//#endregion
|
|
95
107
|
//# sourceMappingURL=entity-list-sortable-fields.util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-list-sortable-fields.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-list-sortable-fields.util.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"entity-list-sortable-fields.util.js","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-list-sortable-fields.util.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type AXPFilterClause } from '@acorex-platform/framework-shared/core';
|
|
2
|
+
import type { AXPEntityMasterStyling } from '../types/entity-master-styling.types';
|
|
3
|
+
import { type AXPEntityListUserStylingRule, type AXPEntityMasterStylingLockedRule } from '../types/entity-list-user-styling.types';
|
|
4
|
+
export declare function createEntityListStylingCondition(): AXPFilterClause;
|
|
5
|
+
/** True when the tree has at least one leaf with a field and operator. */
|
|
6
|
+
export declare function isCompleteEntityListStylingCondition(clause: AXPFilterClause | undefined): boolean;
|
|
7
|
+
/** Drops incomplete or malformed rules read from user settings. */
|
|
8
|
+
export declare function normalizeEntityListUserStylingRules(value: unknown): AXPEntityListUserStylingRule[];
|
|
9
|
+
/** Flattens `interfaces.master.styling` into rows the highlight dialog can show as locked. */
|
|
10
|
+
export declare function listEntityMasterStylingLockedRules(styling?: AXPEntityMasterStyling): AXPEntityMasterStylingLockedRule[];
|
|
11
|
+
export declare function isEntityListRecordStylingTarget(target: string): boolean;
|
|
12
|
+
//# sourceMappingURL=entity-list-user-styling.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity-list-user-styling.util.d.ts","sourceRoot":"","sources":["../../../../../../../../libs/framework/shared/entity/src/lib/utils/entity-list-user-styling.util.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,gCAAgC,EACtC,MAAM,yCAAyC,CAAC;AAmCjD,wBAAgB,gCAAgC,IAAI,eAAe,CAElE;AAED,0EAA0E;AAC1E,wBAAgB,oCAAoC,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,OAAO,CAEjG;AAED,mEAAmE;AACnE,wBAAgB,mCAAmC,CAAC,KAAK,EAAE,OAAO,GAAG,4BAA4B,EAAE,CAalG;AAED,8FAA8F;AAC9F,wBAAgB,kCAAkC,CAChD,OAAO,CAAC,EAAE,sBAAsB,GAC/B,gCAAgC,EAAE,CAWpC;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEvE"}
|