@acorex-platform/module-data-management-client 0.0.54 → 0.0.56
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/fesm2022/acorex-platform-module-data-management-client-contracts.mjs +43 -3
- package/fesm2022/acorex-platform-module-data-management-client-contracts.mjs.map +1 -1
- package/fesm2022/{acorex-platform-module-data-management-client-index-CMxKYDas.mjs → acorex-platform-module-data-management-client-index-C0e7q0jf.mjs} +9 -2
- package/fesm2022/acorex-platform-module-data-management-client-index-C0e7q0jf.mjs.map +1 -0
- package/fesm2022/acorex-platform-module-data-management-client.mjs +157 -14
- package/fesm2022/acorex-platform-module-data-management-client.mjs.map +1 -1
- package/i18n/en-AU/data-management.json +689 -0
- package/i18n/en-US/data-management.json +689 -0
- package/i18n/fa-IR/data-management.json +693 -0
- package/package.json +1 -1
- package/types/acorex-platform-module-data-management-client-contracts.d.ts +21 -2
- package/types/acorex-platform-module-data-management-client.d.ts +17 -1
- package/fesm2022/acorex-platform-module-data-management-client-index-CMxKYDas.mjs.map +0 -1
|
@@ -133,8 +133,45 @@ const AXPDataManagementMenuKeys = {
|
|
|
133
133
|
Tags: 'DataManagement:Menu:Tags',
|
|
134
134
|
};
|
|
135
135
|
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
const AXM_META_DATA_FIELD_APPLIES_TO_DEFAULT = 'document';
|
|
137
|
+
/** Missing, null, or any value other than `folder` resolves to document. */
|
|
138
|
+
function resolveMetaDataFieldAppliesTo(field) {
|
|
139
|
+
const raw = field?.appliesTo ?? field?.configuration?.['appliesTo'];
|
|
140
|
+
return raw === 'folder' ? 'folder' : AXM_META_DATA_FIELD_APPLIES_TO_DEFAULT;
|
|
141
|
+
}
|
|
142
|
+
function filterMetaDataListByAppliesTo(list, appliesTo) {
|
|
143
|
+
const groups = (list?.groups ?? [])
|
|
144
|
+
.map((group) => ({
|
|
145
|
+
...group,
|
|
146
|
+
fields: (group.fields ?? []).filter((field) => resolveMetaDataFieldAppliesTo(field) === appliesTo),
|
|
147
|
+
}))
|
|
148
|
+
.filter((group) => (group.fields?.length ?? 0) > 0);
|
|
149
|
+
return { groups };
|
|
150
|
+
}
|
|
151
|
+
function hasMetaDataListFields(list) {
|
|
152
|
+
return (list?.groups ?? []).some((group) => (group.fields?.length ?? 0) > 0);
|
|
153
|
+
}
|
|
154
|
+
function mergeMetaDataLists(lists) {
|
|
155
|
+
const groups = [];
|
|
156
|
+
const seenFieldNames = new Set();
|
|
157
|
+
for (const list of lists) {
|
|
158
|
+
for (const group of list?.groups ?? []) {
|
|
159
|
+
const fields = (group.fields ?? []).filter((field) => {
|
|
160
|
+
const name = String(field?.name ?? '').trim();
|
|
161
|
+
if (!name || seenFieldNames.has(name)) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
seenFieldNames.add(name);
|
|
165
|
+
return true;
|
|
166
|
+
});
|
|
167
|
+
if (fields.length === 0) {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
groups.push({ ...group, fields });
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
return { groups };
|
|
174
|
+
}
|
|
138
175
|
function convertValueToState(value) {
|
|
139
176
|
if (!value) {
|
|
140
177
|
return {
|
|
@@ -158,6 +195,7 @@ function convertValueToState(value) {
|
|
|
158
195
|
description: item.description,
|
|
159
196
|
interface: item.interface,
|
|
160
197
|
configuration: item.configuration,
|
|
198
|
+
appliesTo: resolveMetaDataFieldAppliesTo(item),
|
|
161
199
|
status: item.status || 'active',
|
|
162
200
|
order: item.order ?? index,
|
|
163
201
|
isNewlyAdded: item.isNewlyAdded,
|
|
@@ -182,6 +220,7 @@ function convertValueToState(value) {
|
|
|
182
220
|
description: field.description,
|
|
183
221
|
interface: field.interface,
|
|
184
222
|
configuration: field.configuration,
|
|
223
|
+
appliesTo: resolveMetaDataFieldAppliesTo(field),
|
|
185
224
|
status: field.status || 'active',
|
|
186
225
|
order: field.order ?? fieldIndex,
|
|
187
226
|
isNewlyAdded: field.isNewlyAdded,
|
|
@@ -215,6 +254,7 @@ function convertStateToValue(state) {
|
|
|
215
254
|
description: field.description,
|
|
216
255
|
interface: field.interface,
|
|
217
256
|
configuration: field.configuration,
|
|
257
|
+
appliesTo: resolveMetaDataFieldAppliesTo(field),
|
|
218
258
|
order: field.order,
|
|
219
259
|
})),
|
|
220
260
|
};
|
|
@@ -382,5 +422,5 @@ var AXMDataSourceType;
|
|
|
382
422
|
* Generated bundle index. Do not edit.
|
|
383
423
|
*/
|
|
384
424
|
|
|
385
|
-
export { AXMDataManagementFeatureKeys, AXMDataSourceOutputType, AXMDataSourceType, AXMPermissionsKeys, AXM_COLUMN_DEF_WIDGET, AXPDataManagementMenuKeys, AXPInsightsReportingPermissionKeys, DataManagementManifest, RootConfig, convertStateToValue, convertValueToState, createDefaultGroup };
|
|
425
|
+
export { AXMDataManagementFeatureKeys, AXMDataSourceOutputType, AXMDataSourceType, AXMPermissionsKeys, AXM_COLUMN_DEF_WIDGET, AXM_META_DATA_FIELD_APPLIES_TO_DEFAULT, AXPDataManagementMenuKeys, AXPInsightsReportingPermissionKeys, DataManagementManifest, RootConfig, convertStateToValue, convertValueToState, createDefaultGroup, filterMetaDataListByAppliesTo, hasMetaDataListFields, mergeMetaDataLists, resolveMetaDataFieldAppliesTo };
|
|
386
426
|
//# sourceMappingURL=acorex-platform-module-data-management-client-contracts.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acorex-platform-module-data-management-client-contracts.mjs","sources":["../../../../libs/modules/data-management/contracts/src/column-def.widget.ts","../../../../libs/modules/data-management/contracts/src/features.keys.ts","../../../../libs/modules/data-management/contracts/src/menu.keys.ts","../../../../libs/modules/data-management/contracts/src/meta-data-builder.types.ts","../../../../libs/modules/data-management/contracts/src/permission.keys.ts","../../../../libs/modules/data-management/contracts/src/root-config.ts","../../../../libs/modules/data-management/contracts/src/manifest.ts","../../../../libs/modules/data-management/contracts/src/entities/data-source/data-source.types.ts","../../../../libs/modules/data-management/contracts/src/entities/query/query.types.ts","../../../../libs/modules/data-management/contracts/src/entities/tag/tag.types.ts","../../../../libs/modules/data-management/contracts/src/index.ts","../../../../libs/modules/data-management/contracts/src/acorex-platform-module-data-management-client-contracts.ts"],"sourcesContent":["//#region ---- Column Definition Widget ----\n\nexport const AXM_COLUMN_DEF_WIDGET = [\n {\n type: 'grid-layout',\n mode: 'view',\n options: {\n direction: 'horizontal',\n },\n children: [\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'text-editor',\n mode: 'edit',\n path: 'name',\n options: {\n placeholder: 'Column Name',\n required: true,\n },\n },\n ],\n },\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'text-editor',\n mode: 'edit',\n path: 'title',\n options: {\n placeholder: 'Display Title',\n required: true,\n },\n },\n ],\n },\n {\n type: 'grid-item-layout',\n options: { colSpan: 3 },\n mode: 'view',\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'type',\n options: {\n placeholder: 'Widget Type',\n valueField: 'name',\n textField: 'title',\n dataSource: 'PlatformManagement:ListEditorWidgets',\n direction: 'horizontal',\n multiple: false,\n required: true,\n },\n },\n ],\n },\n {\n type: 'grid-item-layout',\n options: { colSpan: 1 },\n mode: 'view',\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'isValueField',\n options: {\n tooltip: 'Value Field (only one can be selected)',\n label: 'Value',\n },\n triggers: [\n {\n event: \"{{ events.context('columns.isValueField') }}\",\n action: `{{ context.set('columns.isValueField', context.eval('columns.isValueField')[0]); }}`,\n },\n ],\n },\n ],\n },\n {\n type: 'grid-item-layout',\n options: { colSpan: 1 },\n mode: 'view',\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'isTextField',\n options: {\n tooltip: 'Text Field (multiple allowed)',\n label: 'Text',\n },\n },\n ],\n },\n {\n type: 'grid-item-layout',\n options: { colSpan: 1 },\n mode: 'view',\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'isRequired',\n options: {\n label: 'Required',\n tooltip: 'Required field',\n },\n },\n ],\n },\n ],\n },\n];\n\n//#endregion\n","export const AXMDataManagementFeatureKeys = {\n Queries: 'DataManagement:Feature:Queries',\n DataSources: 'DataManagement:Feature:DataSources',\n MetaDataDefinitions: 'DataManagement:Feature:MetaDataDefinitions',\n} as const;\n\n","export const AXPDataManagementMenuKeys = {\n Root: 'DataManagement:Menu',\n Queries: 'DataManagement:Menu:Queries',\n DataSources: 'DataManagement:Menu:DataSources',\n MetaDataDefinitions: 'DataManagement:Menu:MetaDataDefinitions',\n Tags: 'DataManagement:Menu:Tags',\n} as const;\n\n","import { AXPMultiLanguageString, AXPOptionsData } from '@acorex-platform/framework-shared/core';\n//#region ---- Meta-Data Builder Field / Group Types ----\n/** Localized or plain string as stored / edited in the builder */\nexport type AXMMetaDataLocalizedString = string | AXPMultiLanguageString;\n\n/** Single metadata field within a group */\nexport interface AXMMetaDataBuilderField {\n id: string;\n name: string;\n title: AXMMetaDataLocalizedString;\n description?: AXMMetaDataLocalizedString;\n interface: string;\n configuration?: {\n isRequired?: boolean;\n placeholder?: string;\n [key: string]: unknown;\n };\n status: 'active' | 'deleted' | 'temporary';\n order: number;\n isNewlyAdded?: boolean;\n}\n\n/** Group of metadata fields */\nexport interface AXMMetaDataBuilderGroup {\n id: string;\n name: string;\n title?: AXMMetaDataLocalizedString;\n description?: AXMMetaDataLocalizedString;\n order: number;\n fields: AXMMetaDataBuilderField[];\n isNewlyAdded?: boolean;\n}\n\n/** Designer state (internal) */\nexport interface AXMMetaDataBuilderState {\n groups: AXMMetaDataBuilderGroup[];\n mode: 'designer' | 'preview';\n selectedFieldId?: string;\n selectedGroupId?: string;\n}\n\n/** Value persisted on the entity */\nexport interface AXMMetaDataBuilderValue {\n groups: Array<{\n name: string;\n title?: AXMMetaDataLocalizedString;\n description?: AXMMetaDataLocalizedString;\n order: number;\n fields: Array<{\n id: string;\n name: string;\n title: AXMMetaDataLocalizedString;\n description?: AXMMetaDataLocalizedString;\n interface: string;\n configuration?: AXPOptionsData;\n order: number;\n }>;\n }>;\n}\n\n//#endregion\n\n//#region ---- Utility Functions ----\n\nexport function convertValueToState(value: unknown): AXMMetaDataBuilderState {\n if (!value) {\n return {\n groups: [createDefaultGroup()],\n mode: 'designer',\n };\n }\n\n if (Array.isArray(value)) {\n return {\n groups: [\n {\n id: 'group-default',\n name: 'default',\n title: 'Default Section',\n description: undefined,\n order: 0,\n fields: value.map((item: any, index: number) => ({\n id: item.id || `field-${index}`,\n name: item.name,\n title: item.title,\n description: item.description,\n interface: item.interface,\n configuration: item.configuration,\n status: item.status || 'active',\n order: item.order ?? index,\n isNewlyAdded: item.isNewlyAdded,\n })),\n },\n ],\n mode: 'designer',\n };\n }\n\n const v = value as { groups?: unknown[] };\n if (v.groups && Array.isArray(v.groups)) {\n const groups = v.groups.map((group: any, groupIndex: number) => ({\n id: group.id || `group-${group.name}`,\n name: group.name,\n title: group.title,\n description: group.description,\n order: group.order ?? groupIndex,\n fields: (group.fields || []).map((field: any, fieldIndex: number) => ({\n id: field.id || `field-${fieldIndex}`,\n name: field.name,\n title: field.title,\n description: field.description,\n interface: field.interface,\n configuration: field.configuration,\n status: field.status || 'active',\n order: field.order ?? fieldIndex,\n isNewlyAdded: field.isNewlyAdded,\n })),\n isNewlyAdded: group.isNewlyAdded,\n }));\n\n const finalGroups = groups.length > 0 ? groups : [createDefaultGroup()];\n\n return {\n groups: finalGroups,\n mode: 'designer',\n };\n }\n\n return {\n groups: [createDefaultGroup()],\n mode: 'designer',\n };\n}\n\nexport function convertStateToValue(state: AXMMetaDataBuilderState): AXMMetaDataBuilderValue {\n return {\n groups: state.groups.map((group) => {\n const activeFields = group.fields.filter((field) => field.status !== 'deleted');\n return {\n name: group.name,\n title: group.title,\n description: group.description,\n order: group.order,\n fields: activeFields.map((field) => ({\n id: field.id,\n name: field.name,\n title: field.title,\n description: field.description,\n interface: field.interface,\n configuration: field.configuration,\n order: field.order,\n })),\n };\n }),\n };\n}\n\nexport function createDefaultGroup(): AXMMetaDataBuilderGroup {\n return {\n id: 'group-default',\n name: 'default',\n title: 'Default Section',\n description: undefined,\n order: 0,\n fields: [],\n isNewlyAdded: true,\n };\n}\n\n//#endregion\n","/**\n * Insights & Reporting capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPInsightsReportingPermissionKeys = {\n Access: 'InsightsReporting:Permission:Access',\n MaintainReports: 'InsightsReporting:Permission:MaintainReports',\n MaintainData: 'InsightsReporting:Permission:MaintainData',\n ViewActivityInsight: 'InsightsReporting:Permission:ViewActivityInsight',\n ManageActivityInsight: 'InsightsReporting:Permission:ManageActivityInsight',\n Setup: 'InsightsReporting:Permission:Setup',\n} as const;\n\n/**\n * @deprecated Prefer {@link AXPInsightsReportingPermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXMPermissionsKeys = {\n DataManagement: {\n Query: {\n Management: AXPInsightsReportingPermissionKeys.MaintainData,\n },\n DataSource: {\n Management: AXPInsightsReportingPermissionKeys.MaintainData,\n },\n MetaDataDefinition: {\n Management: AXPInsightsReportingPermissionKeys.Setup,\n },\n Equipment: {\n Management: AXPInsightsReportingPermissionKeys.MaintainData,\n },\n Tag: {\n Management: AXPInsightsReportingPermissionKeys.Setup,\n },\n },\n} as const;\n","const config = {\n i18n: 'data-management',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'data-management',\n name: 'DataManagement',\n title: '@data-management:module.title',\n icon: 'fa-regular fa-database',\n },\n entities: {\n query: {\n name: 'Query',\n title: '@data-management:queries.entities.query.title',\n titlePlural: '@data-management:queries.entities.query.plural',\n icon: 'fa-regular fa-nfc-magnifying-glass',\n },\n queryCategory: {\n name: 'QueryCategory',\n title: '@data-management:queries.terms.category',\n titlePlural: '@data-management:queries.terms.categories',\n icon: 'fa-regular fa-layer-group',\n },\n dataSource: {\n name: 'DataSource',\n title: '@data-management:data-sources.entities.data-source.title',\n titlePlural: '@data-management:data-sources.entities.data-source.plural',\n icon: 'fa-regular fa-database',\n },\n dataSourceCategory: {\n name: 'DataSourceCategory',\n title: '@data-management:data-sources.terms.category',\n titlePlural: '@data-management:data-sources.terms.categories',\n icon: 'fa-regular fa-layer-group',\n },\n metaDataDefinition: {\n name: 'MetaDataDefinition',\n title: '@data-management:metadata-definitions.entities.metadata-definition.title',\n titlePlural: '@data-management:metadata-definitions.entities.metadata-definition.plural',\n icon: 'fa-light fa-server',\n },\n tag: {\n name: 'Tag',\n source: 'DataManagement.Tag',\n title: '@general:terms.common.tag',\n icon: 'fa-light fa-tags',\n },\n equipmentCategory: {\n name: 'EquipmentCategory',\n title: '@data-management:equipments.entities.equipment-category.title',\n titlePlural: '@data-management:equipments.entities.equipment-category.plural',\n icon: 'fa-light fa-folder-tree',\n },\n equipment: {\n name: 'Equipment',\n source: 'DataManagement.Equipment',\n title: '@data-management:equipments.entities.equipment.title',\n titlePlural: '@data-management:equipments.entities.equipment.plural',\n icon: 'fa-light fa-plug',\n },\n },\n} as const;\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Data Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const DataManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'platform',\n domain: 'data',\n required : true,\n\n // Module dependencies (optional)\n};\n\n//#endregion\n\n","import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n//#region ---- Output Types ----\n\nexport enum AXMDataSourceOutputType {\n Table = 'table',\n SingleObject = 'single_object',\n Value = 'value'\n}\n\nexport interface AXMDataSourceOutputTypeOption {\n name: AXMDataSourceOutputType;\n title: string;\n}\n\n//#endregion\n\n//#region ---- Source Types ----\n\nexport enum AXMDataSourceType {\n Static = 'static',\n Query = 'query',\n // ExternalApi = 'external_api' // TODO: Will be implemented later\n}\n\nexport interface AXMDataSourceTypeOption {\n name: AXMDataSourceType;\n title: string;\n}\n\n//#endregion\n\n//#region ---- Filter Definition ----\n\nexport interface AXMDataSourceFilter {\n columnName: string;\n defaultValue: any;\n isSystemFilter: boolean; // User can enable/disable in report\n isRequired: boolean; // Must be present in report\n}\n\n//#endregion\n\n//#region ---- Main Entity Model ----\n\nexport interface AXMDataSourceEntityModel<T = string> extends AXPEntityModel<T> {\n\n name: string,\n title: string;\n categoryIds?: string[];\n sourceStatic: any[];\n sourceEntity: T;\n sourceType: AXMDataSourceTypeOption;\n outputType: AXMDataSourceOutputTypeOption;\n filters?: AXMDataSourceFilter[];\n}\n\n//#endregion\n","import { AXPCategoryListItem, AXPFilterDefinition } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\nimport { AXMDataSourceEntityModel } from '../data-source';\n\n//#region ---- Query Builder Types ----\n\n/**\n * Query output type\n * Defines the expected structure of the query result\n */\nexport type AXPQueryOutputType = 'value' | 'table' | 'object';\n\n/**\n * Sort rule for query builder\n */\nexport interface AXPQuerySortRule {\n field: string;\n dir: 'asc' | 'desc';\n}\n\n/**\n * Aggregate operation in query\n * Represents an aggregate function applied to a field\n * Supports nested aggregates (e.g., CONCAT(MIN(field1), MAX(field2)))\n */\nexport interface AXPAggregateOperation {\n /**\n * Field name to aggregate (optional if nestedAggregates is provided)\n */\n field?: string;\n\n /**\n * Aggregate function name\n */\n function: string;\n\n /**\n * Output alias/name for the aggregated result\n */\n alias?: string;\n\n /**\n * Whether to use DISTINCT modifier\n */\n distinct?: boolean;\n\n /**\n * Nested aggregate operations (for functions like CONCAT that can contain other aggregates)\n * Example: CONCAT(MIN(price), MAX(price)) would have:\n * - function: 'concat'\n * - nestedAggregates: [\n * { function: 'min', field: 'price' },\n * { function: 'max', field: 'price' }\n * ]\n */\n nestedAggregates?: AXPAggregateOperation[];\n}\n\n/**\n * Complete query builder data model\n * Includes all query components: dataSource, columns, where, sort, groupBy, aggregates, and raw query\n */\nexport interface AXPQueryBuilderData {\n /**\n * Data source name (optional, can be set from context)\n */\n dataSource?: string;\n\n /**\n * Selected column names (array of column keys)\n */\n columns: string[];\n\n /**\n * WHERE clause (filter definition with groups and conditions)\n */\n where: AXPFilterDefinition;\n\n /**\n * Sort rules (array of field + direction)\n */\n sort: AXPQuerySortRule[];\n\n /**\n * Group by columns (array of column keys)\n */\n groupBy: string[];\n\n /**\n * Aggregate operations (array of field + function + alias)\n */\n aggregates: AXPAggregateOperation[];\n\n /**\n * Raw SQL/query string (optional, used when user wants to write raw query)\n */\n rawQuery?: string;\n\n /**\n * Query language/dialect for raw query (e.g., 'mysql', 'postgresql', 'mongodb')\n */\n queryLanguage?: string;\n\n /**\n * Expected output type for the query result\n * - 'value': Single value result (e.g., COUNT, SUM, AVG)\n * - 'table': Table result with items array and total\n * - 'object': Custom object structure\n */\n outputType?: AXPQueryOutputType;\n}\n\n//#endregion\n\n//#region ---- Query Execution Result Types ----\n\n/**\n * Query execution result\n * Can be:\n * - A single value (for aggregate queries like SUM, COUNT, etc.)\n * - A table with items and total (for regular queries)\n * - An object with custom structure\n */\nexport type AXPQueryExecutionResult =\n | {\n /**\n * Table result with items array\n */\n items: Record<string, unknown>[];\n total: number;\n metadata?: Record<string, unknown>;\n }\n | {\n /**\n * Single aggregate value result\n */\n value: unknown;\n metadata?: Record<string, unknown>;\n }\n | Record<string, unknown>\n | unknown[];\n\n//#endregion\n\n//#region ---- Entity Types ----\n\nexport interface AXMDataManagementQueryEntityModel extends AXPEntityModel<string> {\n name: string;\n title: string;\n dataSource?: AXMDataSourceEntityModel;\n query?: AXPQueryBuilderData;\n categoryIds?: string[];\n categories?: AXPCategoryListItem[];\n}\n\n// Alias for easier import in mock files\nexport type AXMQueryEntityModel = AXMDataManagementQueryEntityModel;\n\n//#endregion","//#region ---- Tag Entity Types ----\n\n/**\n * Tag entity model\n */\nexport interface AXMTag {\n id: string;\n text: string;\n color: string;\n icon?: string;\n description?: string;\n scope: 'system' | 'tenant' | 'user';\n isReadonly?: boolean;\n createdBy?: string;\n createdAt?: Date;\n updatedAt?: Date;\n}\n\n//#endregion\n\n","//#region ---- Contracts barrel ----\n\nexport * from './column-def.widget';\nexport * from './features.keys';\nexport * from './menu.keys';\nexport * from './meta-data-builder.types';\nexport * from './permission.keys';\n\nexport * from './root-config';\nexport * from './manifest';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;AAEO,MAAM,qBAAqB,GAAG;AACnC,IAAA;AACE,QAAA,IAAI,EAAE,aAAa;AACnB,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,OAAO,EAAE;AACP,YAAA,SAAS,EAAE,YAAY;AACxB,SAAA;AACD,QAAA,QAAQ,EAAE;AACR,YAAA;AACE,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvB,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,OAAO,EAAE;AACP,4BAAA,WAAW,EAAE,aAAa;AAC1B,4BAAA,QAAQ,EAAE,IAAI;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvB,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAE,OAAO;AACb,wBAAA,OAAO,EAAE;AACP,4BAAA,WAAW,EAAE,eAAe;AAC5B,4BAAA,QAAQ,EAAE,IAAI;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,IAAI,EAAE,eAAe;AACrB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,OAAO,EAAE;AACP,4BAAA,WAAW,EAAE,aAAa;AAC1B,4BAAA,UAAU,EAAE,MAAM;AAClB,4BAAA,SAAS,EAAE,OAAO;AAClB,4BAAA,UAAU,EAAE,sCAAsC;AAClD,4BAAA,SAAS,EAAE,YAAY;AACvB,4BAAA,QAAQ,EAAE,KAAK;AACf,4BAAA,QAAQ,EAAE,IAAI;AACf,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,IAAI,EAAE,iBAAiB;AACvB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAE,cAAc;AACpB,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,wCAAwC;AACjD,4BAAA,KAAK,EAAE,OAAO;AACf,yBAAA;AACD,wBAAA,QAAQ,EAAE;AACR,4BAAA;AACE,gCAAA,KAAK,EAAE,8CAA8C;AACrD,gCAAA,MAAM,EAAE,CAAA,mFAAA,CAAqF;AAC9F,6BAAA;AACF,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,IAAI,EAAE,iBAAiB;AACvB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAE,aAAa;AACnB,wBAAA,OAAO,EAAE;AACP,4BAAA,OAAO,EAAE,+BAA+B;AACxC,4BAAA,KAAK,EAAE,MAAM;AACd,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,kBAAkB;AACxB,gBAAA,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;AACvB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,QAAQ,EAAE;AACR,oBAAA;AACE,wBAAA,IAAI,EAAE,iBAAiB;AACvB,wBAAA,IAAI,EAAE,MAAM;AACZ,wBAAA,IAAI,EAAE,YAAY;AAClB,wBAAA,OAAO,EAAE;AACP,4BAAA,KAAK,EAAE,UAAU;AACjB,4BAAA,OAAO,EAAE,gBAAgB;AAC1B,yBAAA;AACF,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;;AAGH;;ACzHO,MAAM,4BAA4B,GAAG;AAC1C,IAAA,OAAO,EAAE,gCAAgC;AACzC,IAAA,WAAW,EAAE,oCAAoC;AACjD,IAAA,mBAAmB,EAAE,4CAA4C;;;ACH5D,MAAM,yBAAyB,GAAG;AACvC,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,OAAO,EAAE,6BAA6B;AACtC,IAAA,WAAW,EAAE,iCAAiC;AAC9C,IAAA,mBAAmB,EAAE,yCAAyC;AAC9D,IAAA,IAAI,EAAE,0BAA0B;;;ACuDlC;AAEA;AAEM,SAAU,mBAAmB,CAAC,KAAc,EAAA;IAChD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO;AACL,YAAA,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC;AAC9B,YAAA,IAAI,EAAE,UAAU;SACjB;IACH;AAEA,IAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO;AACL,YAAA,MAAM,EAAE;AACN,gBAAA;AACE,oBAAA,EAAE,EAAE,eAAe;AACnB,oBAAA,IAAI,EAAE,SAAS;AACf,oBAAA,KAAK,EAAE,iBAAiB;AACxB,oBAAA,WAAW,EAAE,SAAS;AACtB,oBAAA,KAAK,EAAE,CAAC;AACR,oBAAA,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,KAAa,MAAM;AAC/C,wBAAA,EAAE,EAAE,IAAI,CAAC,EAAE,IAAI,CAAA,MAAA,EAAS,KAAK,CAAA,CAAE;wBAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,KAAK,EAAE,IAAI,CAAC,KAAK;wBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;wBACzB,aAAa,EAAE,IAAI,CAAC,aAAa;AACjC,wBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,QAAQ;AAC/B,wBAAA,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,KAAK;wBAC1B,YAAY,EAAE,IAAI,CAAC,YAAY;AAChC,qBAAA,CAAC,CAAC;AACJ,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE,UAAU;SACjB;IACH;IAEA,MAAM,CAAC,GAAG,KAA+B;AACzC,IAAA,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE;AACvC,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,UAAkB,MAAM;YAC/D,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAA,MAAA,EAAS,KAAK,CAAC,IAAI,CAAA,CAAE;YACrC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW;AAC9B,YAAA,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU;AAChC,YAAA,MAAM,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC,KAAU,EAAE,UAAkB,MAAM;AACpE,gBAAA,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,CAAA,MAAA,EAAS,UAAU,CAAA,CAAE;gBACrC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;AAClC,gBAAA,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ;AAChC,gBAAA,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU;gBAChC,YAAY,EAAE,KAAK,CAAC,YAAY;AACjC,aAAA,CAAC,CAAC;YACH,YAAY,EAAE,KAAK,CAAC,YAAY;AACjC,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAEvE,OAAO;AACL,YAAA,MAAM,EAAE,WAAW;AACnB,YAAA,IAAI,EAAE,UAAU;SACjB;IACH;IAEA,OAAO;AACL,QAAA,MAAM,EAAE,CAAC,kBAAkB,EAAE,CAAC;AAC9B,QAAA,IAAI,EAAE,UAAU;KACjB;AACH;AAEM,SAAU,mBAAmB,CAAC,KAA8B,EAAA;IAChE,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,KAAI;AACjC,YAAA,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;YAC/E,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM;oBACnC,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;oBAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;oBAClC,KAAK,EAAE,KAAK,CAAC,KAAK;AACnB,iBAAA,CAAC,CAAC;aACJ;AACH,QAAA,CAAC,CAAC;KACH;AACH;SAEgB,kBAAkB,GAAA;IAChC,OAAO;AACL,QAAA,EAAE,EAAE,eAAe;AACnB,QAAA,IAAI,EAAE,SAAS;AACf,QAAA,KAAK,EAAE,iBAAiB;AACxB,QAAA,WAAW,EAAE,SAAS;AACtB,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,YAAY,EAAE,IAAI;KACnB;AACH;AAEA;;ACzKA;;;AAGG;AACI,MAAM,kCAAkC,GAAG;AAChD,IAAA,MAAM,EAAE,qCAAqC;AAC7C,IAAA,eAAe,EAAE,8CAA8C;AAC/D,IAAA,YAAY,EAAE,2CAA2C;AACzD,IAAA,mBAAmB,EAAE,kDAAkD;AACvE,IAAA,qBAAqB,EAAE,oDAAoD;AAC3E,IAAA,KAAK,EAAE,oCAAoC;;AAG7C;;;AAGG;AACI,MAAM,kBAAkB,GAAG;AAChC,IAAA,cAAc,EAAE;AACd,QAAA,KAAK,EAAE;YACL,UAAU,EAAE,kCAAkC,CAAC,YAAY;AAC5D,SAAA;AACD,QAAA,UAAU,EAAE;YACV,UAAU,EAAE,kCAAkC,CAAC,YAAY;AAC5D,SAAA;AACD,QAAA,kBAAkB,EAAE;YAClB,UAAU,EAAE,kCAAkC,CAAC,KAAK;AACrD,SAAA;AACD,QAAA,SAAS,EAAE;YACT,UAAU,EAAE,kCAAkC,CAAC,YAAY;AAC5D,SAAA;AACD,QAAA,GAAG,EAAE;YACH,UAAU,EAAE,kCAAkC,CAAC,KAAK;AACrD,SAAA;AACF,KAAA;;;AClCH,MAAM,MAAM,GAAG;AACb,IAAA,IAAI,EAAE,iBAAiB;CACxB;AACM,MAAM,UAAU,GAAG;IACxB,MAAM;AACN,IAAA,MAAM,EAAE;AACN,QAAA,KAAK,EAAE,iBAAiB;AACxB,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,KAAK,EAAE,+BAA+B;AACtC,QAAA,IAAI,EAAE,wBAAwB;AAC/B,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE;AACL,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,KAAK,EAAE,+CAA+C;AACtD,YAAA,WAAW,EAAE,gDAAgD;AAC7D,YAAA,IAAI,EAAE,oCAAoC;AAC3C,SAAA;AACD,QAAA,aAAa,EAAE;AACb,YAAA,IAAI,EAAE,eAAe;AACrB,YAAA,KAAK,EAAE,yCAAyC;AAChD,YAAA,WAAW,EAAE,2CAA2C;AACxD,YAAA,IAAI,EAAE,2BAA2B;AAClC,SAAA;AACD,QAAA,UAAU,EAAE;AACV,YAAA,IAAI,EAAE,YAAY;AAClB,YAAA,KAAK,EAAE,0DAA0D;AACjE,YAAA,WAAW,EAAE,2DAA2D;AACxE,YAAA,IAAI,EAAE,wBAAwB;AAC/B,SAAA;AACD,QAAA,kBAAkB,EAAE;AAClB,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,KAAK,EAAE,8CAA8C;AACrD,YAAA,WAAW,EAAE,gDAAgD;AAC7D,YAAA,IAAI,EAAE,2BAA2B;AAClC,SAAA;AACD,QAAA,kBAAkB,EAAE;AAClB,YAAA,IAAI,EAAE,oBAAoB;AAC1B,YAAA,KAAK,EAAE,0EAA0E;AACjF,YAAA,WAAW,EAAE,2EAA2E;AACxF,YAAA,IAAI,EAAE,oBAAoB;AAC3B,SAAA;AACD,QAAA,GAAG,EAAE;AACH,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,MAAM,EAAE,oBAAoB;AAC5B,YAAA,KAAK,EAAE,2BAA2B;AAClC,YAAA,IAAI,EAAE,kBAAkB;AACzB,SAAA;AACD,QAAA,iBAAiB,EAAE;AACjB,YAAA,IAAI,EAAE,mBAAmB;AACzB,YAAA,KAAK,EAAE,+DAA+D;AACtE,YAAA,WAAW,EAAE,gEAAgE;AAC7E,YAAA,IAAI,EAAE,yBAAyB;AAChC,SAAA;AACD,QAAA,SAAS,EAAE;AACT,YAAA,IAAI,EAAE,WAAW;AACjB,YAAA,MAAM,EAAE,0BAA0B;AAClC,YAAA,KAAK,EAAE,sDAAsD;AAC7D,YAAA,WAAW,EAAE,uDAAuD;AACpE,YAAA,IAAI,EAAE,kBAAkB;AACzB,SAAA;AACF,KAAA;;;AC7DH;AAKA;AAEA;AAEA;;;AAGG;AACI,MAAM,sBAAsB,GAAsB;AACvD,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK;AAC9B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI;AAC5B,IAAA,IAAI,EAAE,UAAU;AAChB,IAAA,MAAM,EAAE,MAAM;AACd,IAAA,QAAQ,EAAG,IAAI;;;AAKjB;;ACzBA;IAEY;AAAZ,CAAA,UAAY,uBAAuB,EAAA;AACjC,IAAA,uBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACf,IAAA,uBAAA,CAAA,cAAA,CAAA,GAAA,eAA8B;AAC9B,IAAA,uBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;AACjB,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,GAAA,EAAA,CAAA,CAAA;AAWnC;AAEA;IAEY;AAAZ,CAAA,UAAY,iBAAiB,EAAA;AAC3B,IAAA,iBAAA,CAAA,QAAA,CAAA,GAAA,QAAiB;AACjB,IAAA,iBAAA,CAAA,OAAA,CAAA,GAAA,OAAe;;AAEjB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,GAAA,EAAA,CAAA,CAAA;AAsC7B;;ACsGA;;AC9JA;AAkBA;;AClBA;;ACAA;;AAEG;;"}
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-data-management-client-contracts.mjs","sources":["../../../../libs/modules/data-management/contracts/src/column-def.widget.ts","../../../../libs/modules/data-management/contracts/src/features.keys.ts","../../../../libs/modules/data-management/contracts/src/menu.keys.ts","../../../../libs/modules/data-management/contracts/src/meta-data-builder.types.ts","../../../../libs/modules/data-management/contracts/src/permission.keys.ts","../../../../libs/modules/data-management/contracts/src/root-config.ts","../../../../libs/modules/data-management/contracts/src/manifest.ts","../../../../libs/modules/data-management/contracts/src/entities/data-source/data-source.types.ts","../../../../libs/modules/data-management/contracts/src/entities/query/query.types.ts","../../../../libs/modules/data-management/contracts/src/entities/tag/tag.types.ts","../../../../libs/modules/data-management/contracts/src/index.ts","../../../../libs/modules/data-management/contracts/src/acorex-platform-module-data-management-client-contracts.ts"],"sourcesContent":["//#region ---- Column Definition Widget ----\n\nexport const AXM_COLUMN_DEF_WIDGET = [\n {\n type: 'grid-layout',\n mode: 'view',\n options: {\n direction: 'horizontal',\n },\n children: [\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'text-editor',\n mode: 'edit',\n path: 'name',\n options: {\n placeholder: 'Column Name',\n required: true,\n },\n },\n ],\n },\n {\n type: 'grid-item-layout',\n mode: 'view',\n options: { colSpan: 3 },\n children: [\n {\n type: 'text-editor',\n mode: 'edit',\n path: 'title',\n options: {\n placeholder: 'Display Title',\n required: true,\n },\n },\n ],\n },\n {\n type: 'grid-item-layout',\n options: { colSpan: 3 },\n mode: 'view',\n children: [\n {\n type: 'select-editor',\n mode: 'edit',\n path: 'type',\n options: {\n placeholder: 'Widget Type',\n valueField: 'name',\n textField: 'title',\n dataSource: 'PlatformManagement:ListEditorWidgets',\n direction: 'horizontal',\n multiple: false,\n required: true,\n },\n },\n ],\n },\n {\n type: 'grid-item-layout',\n options: { colSpan: 1 },\n mode: 'view',\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'isValueField',\n options: {\n tooltip: 'Value Field (only one can be selected)',\n label: 'Value',\n },\n triggers: [\n {\n event: \"{{ events.context('columns.isValueField') }}\",\n action: `{{ context.set('columns.isValueField', context.eval('columns.isValueField')[0]); }}`,\n },\n ],\n },\n ],\n },\n {\n type: 'grid-item-layout',\n options: { colSpan: 1 },\n mode: 'view',\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'isTextField',\n options: {\n tooltip: 'Text Field (multiple allowed)',\n label: 'Text',\n },\n },\n ],\n },\n {\n type: 'grid-item-layout',\n options: { colSpan: 1 },\n mode: 'view',\n children: [\n {\n type: 'checkbox-editor',\n mode: 'edit',\n path: 'isRequired',\n options: {\n label: 'Required',\n tooltip: 'Required field',\n },\n },\n ],\n },\n ],\n },\n];\n\n//#endregion\n","export const AXMDataManagementFeatureKeys = {\n Queries: 'DataManagement:Feature:Queries',\n DataSources: 'DataManagement:Feature:DataSources',\n MetaDataDefinitions: 'DataManagement:Feature:MetaDataDefinitions',\n} as const;\n\n","export const AXPDataManagementMenuKeys = {\n Root: 'DataManagement:Menu',\n Queries: 'DataManagement:Menu:Queries',\n DataSources: 'DataManagement:Menu:DataSources',\n MetaDataDefinitions: 'DataManagement:Menu:MetaDataDefinitions',\n Tags: 'DataManagement:Menu:Tags',\n} as const;\n\n","import { AXPMultiLanguageString, AXPOptionsData } from '@acorex-platform/framework-shared/core';\n//#region ---- Meta-Data Builder Field / Group Types ----\n/** Localized or plain string as stored / edited in the builder */\nexport type AXMMetaDataLocalizedString = string | AXPMultiLanguageString;\n\n/** Which record a metadata field is collected on. Missing / null means document. */\nexport type AXMMetaDataFieldAppliesTo = 'document' | 'folder';\n\nexport const AXM_META_DATA_FIELD_APPLIES_TO_DEFAULT: AXMMetaDataFieldAppliesTo = 'document';\n\n/** Single metadata field within a group */\nexport interface AXMMetaDataBuilderField {\n id: string;\n name: string;\n title: AXMMetaDataLocalizedString;\n description?: AXMMetaDataLocalizedString;\n interface: string;\n configuration?: {\n isRequired?: boolean;\n placeholder?: string;\n [key: string]: unknown;\n };\n /** When omitted or null, the field applies to the document. */\n appliesTo?: AXMMetaDataFieldAppliesTo | null;\n status: 'active' | 'deleted' | 'temporary';\n order: number;\n isNewlyAdded?: boolean;\n}\n\n/** Group of metadata fields */\nexport interface AXMMetaDataBuilderGroup {\n id: string;\n name: string;\n title?: AXMMetaDataLocalizedString;\n description?: AXMMetaDataLocalizedString;\n order: number;\n fields: AXMMetaDataBuilderField[];\n isNewlyAdded?: boolean;\n}\n\n/** Designer state (internal) */\nexport interface AXMMetaDataBuilderState {\n groups: AXMMetaDataBuilderGroup[];\n mode: 'designer' | 'preview';\n selectedFieldId?: string;\n selectedGroupId?: string;\n}\n\n/** Value persisted on the entity */\nexport interface AXMMetaDataBuilderValue {\n groups: Array<{\n name: string;\n title?: AXMMetaDataLocalizedString;\n description?: AXMMetaDataLocalizedString;\n order: number;\n fields: Array<{\n id: string;\n name: string;\n title: AXMMetaDataLocalizedString;\n description?: AXMMetaDataLocalizedString;\n interface: string;\n configuration?: AXPOptionsData;\n /** When omitted or null, the field applies to the document. */\n appliesTo?: AXMMetaDataFieldAppliesTo | null;\n order: number;\n }>;\n }>;\n}\n\n//#endregion\n\n//#region ---- Utility Functions ----\n\ntype MetaDataAppliesToSource = {\n appliesTo?: unknown;\n configuration?: { appliesTo?: unknown; [key: string]: unknown };\n};\n\n/** Missing, null, or any value other than `folder` resolves to document. */\nexport function resolveMetaDataFieldAppliesTo(field: MetaDataAppliesToSource | null | undefined): AXMMetaDataFieldAppliesTo {\n const raw = field?.appliesTo ?? field?.configuration?.['appliesTo'];\n return raw === 'folder' ? 'folder' : AXM_META_DATA_FIELD_APPLIES_TO_DEFAULT;\n}\n\nexport function filterMetaDataListByAppliesTo(\n list: AXMMetaDataBuilderValue | null | undefined,\n appliesTo: AXMMetaDataFieldAppliesTo,\n): AXMMetaDataBuilderValue {\n const groups = (list?.groups ?? [])\n .map((group) => ({\n ...group,\n fields: (group.fields ?? []).filter((field) => resolveMetaDataFieldAppliesTo(field) === appliesTo),\n }))\n .filter((group) => (group.fields?.length ?? 0) > 0);\n return { groups };\n}\n\nexport function hasMetaDataListFields(list: AXMMetaDataBuilderValue | null | undefined): boolean {\n return (list?.groups ?? []).some((group) => (group.fields?.length ?? 0) > 0);\n}\n\nexport function mergeMetaDataLists(lists: Array<AXMMetaDataBuilderValue | null | undefined>): AXMMetaDataBuilderValue {\n const groups: AXMMetaDataBuilderValue['groups'] = [];\n const seenFieldNames = new Set<string>();\n for (const list of lists) {\n for (const group of list?.groups ?? []) {\n const fields = (group.fields ?? []).filter((field) => {\n const name = String(field?.name ?? '').trim();\n if (!name || seenFieldNames.has(name)) {\n return false;\n }\n seenFieldNames.add(name);\n return true;\n });\n if (fields.length === 0) {\n continue;\n }\n groups.push({ ...group, fields });\n }\n }\n return { groups };\n}\n\nexport function convertValueToState(value: unknown): AXMMetaDataBuilderState {\n if (!value) {\n return {\n groups: [createDefaultGroup()],\n mode: 'designer',\n };\n }\n\n if (Array.isArray(value)) {\n return {\n groups: [\n {\n id: 'group-default',\n name: 'default',\n title: 'Default Section',\n description: undefined,\n order: 0,\n fields: value.map((item: any, index: number) => ({\n id: item.id || `field-${index}`,\n name: item.name,\n title: item.title,\n description: item.description,\n interface: item.interface,\n configuration: item.configuration,\n appliesTo: resolveMetaDataFieldAppliesTo(item),\n status: item.status || 'active',\n order: item.order ?? index,\n isNewlyAdded: item.isNewlyAdded,\n })),\n },\n ],\n mode: 'designer',\n };\n }\n\n const v = value as { groups?: unknown[] };\n if (v.groups && Array.isArray(v.groups)) {\n const groups = v.groups.map((group: any, groupIndex: number) => ({\n id: group.id || `group-${group.name}`,\n name: group.name,\n title: group.title,\n description: group.description,\n order: group.order ?? groupIndex,\n fields: (group.fields || []).map((field: any, fieldIndex: number) => ({\n id: field.id || `field-${fieldIndex}`,\n name: field.name,\n title: field.title,\n description: field.description,\n interface: field.interface,\n configuration: field.configuration,\n appliesTo: resolveMetaDataFieldAppliesTo(field),\n status: field.status || 'active',\n order: field.order ?? fieldIndex,\n isNewlyAdded: field.isNewlyAdded,\n })),\n isNewlyAdded: group.isNewlyAdded,\n }));\n\n const finalGroups = groups.length > 0 ? groups : [createDefaultGroup()];\n\n return {\n groups: finalGroups,\n mode: 'designer',\n };\n }\n\n return {\n groups: [createDefaultGroup()],\n mode: 'designer',\n };\n}\n\nexport function convertStateToValue(state: AXMMetaDataBuilderState): AXMMetaDataBuilderValue {\n return {\n groups: state.groups.map((group) => {\n const activeFields = group.fields.filter((field) => field.status !== 'deleted');\n return {\n name: group.name,\n title: group.title,\n description: group.description,\n order: group.order,\n fields: activeFields.map((field) => ({\n id: field.id,\n name: field.name,\n title: field.title,\n description: field.description,\n interface: field.interface,\n configuration: field.configuration,\n appliesTo: resolveMetaDataFieldAppliesTo(field),\n order: field.order,\n })),\n };\n }),\n };\n}\n\nexport function createDefaultGroup(): AXMMetaDataBuilderGroup {\n return {\n id: 'group-default',\n name: 'default',\n title: 'Default Section',\n description: undefined,\n order: 0,\n fields: [],\n isNewlyAdded: true,\n };\n}\n\n//#endregion\n","/**\n * Insights & Reporting capabilities used by this module.\n * Domain capability keys for this module. Root groups live in `AXPCommonPermissionGroupKeys` (common contracts).\n */\nexport const AXPInsightsReportingPermissionKeys = {\n Access: 'InsightsReporting:Permission:Access',\n MaintainReports: 'InsightsReporting:Permission:MaintainReports',\n MaintainData: 'InsightsReporting:Permission:MaintainData',\n ViewActivityInsight: 'InsightsReporting:Permission:ViewActivityInsight',\n ManageActivityInsight: 'InsightsReporting:Permission:ManageActivityInsight',\n Setup: 'InsightsReporting:Permission:Setup',\n} as const;\n\n/**\n * @deprecated Prefer {@link AXPInsightsReportingPermissionKeys}.\n * Legacy nested shape kept so existing imports compile during migration.\n */\nexport const AXMPermissionsKeys = {\n DataManagement: {\n Query: {\n Management: AXPInsightsReportingPermissionKeys.MaintainData,\n },\n DataSource: {\n Management: AXPInsightsReportingPermissionKeys.MaintainData,\n },\n MetaDataDefinition: {\n Management: AXPInsightsReportingPermissionKeys.Setup,\n },\n Equipment: {\n Management: AXPInsightsReportingPermissionKeys.MaintainData,\n },\n Tag: {\n Management: AXPInsightsReportingPermissionKeys.Setup,\n },\n },\n} as const;\n","const config = {\n i18n: 'data-management',\n};\nexport const RootConfig = {\n config,\n module: {\n route: 'data-management',\n name: 'DataManagement',\n title: '@data-management:module.title',\n icon: 'fa-regular fa-database',\n },\n entities: {\n query: {\n name: 'Query',\n title: '@data-management:queries.entities.query.title',\n titlePlural: '@data-management:queries.entities.query.plural',\n icon: 'fa-regular fa-nfc-magnifying-glass',\n },\n queryCategory: {\n name: 'QueryCategory',\n title: '@data-management:queries.terms.category',\n titlePlural: '@data-management:queries.terms.categories',\n icon: 'fa-regular fa-layer-group',\n },\n dataSource: {\n name: 'DataSource',\n title: '@data-management:data-sources.entities.data-source.title',\n titlePlural: '@data-management:data-sources.entities.data-source.plural',\n icon: 'fa-regular fa-database',\n },\n dataSourceCategory: {\n name: 'DataSourceCategory',\n title: '@data-management:data-sources.terms.category',\n titlePlural: '@data-management:data-sources.terms.categories',\n icon: 'fa-regular fa-layer-group',\n },\n metaDataDefinition: {\n name: 'MetaDataDefinition',\n title: '@data-management:metadata-definitions.entities.metadata-definition.title',\n titlePlural: '@data-management:metadata-definitions.entities.metadata-definition.plural',\n icon: 'fa-light fa-server',\n },\n tag: {\n name: 'Tag',\n source: 'DataManagement.Tag',\n title: '@general:terms.common.tag',\n icon: 'fa-light fa-tags',\n },\n equipmentCategory: {\n name: 'EquipmentCategory',\n title: '@data-management:equipments.entities.equipment-category.title',\n titlePlural: '@data-management:equipments.entities.equipment-category.plural',\n icon: 'fa-light fa-folder-tree',\n },\n equipment: {\n name: 'Equipment',\n source: 'DataManagement.Equipment',\n title: '@data-management:equipments.entities.equipment.title',\n titlePlural: '@data-management:equipments.entities.equipment.plural',\n icon: 'fa-light fa-plug',\n },\n },\n} as const;\n","//#region ---- Imports ----\n\nimport { AXPModuleManifest } from '@acorex-platform/framework-shared/core';\nimport { RootConfig } from './root-config';\n\n//#endregion\n\n//#region ---- Manifest Definition ----\n\n/**\n * Data Management Module Manifest.\n * Defines module metadata, features, and provider references.\n */\nexport const DataManagementManifest: AXPModuleManifest = {\n name: RootConfig.module.name,\n version: '1.0.0',\n title: RootConfig.module.title,\n icon: RootConfig.module.icon,\n i18n: RootConfig.config.i18n,\n type: 'platform',\n domain: 'data',\n required : true,\n\n // Module dependencies (optional)\n};\n\n//#endregion\n\n","import { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\n//#region ---- Output Types ----\n\nexport enum AXMDataSourceOutputType {\n Table = 'table',\n SingleObject = 'single_object',\n Value = 'value'\n}\n\nexport interface AXMDataSourceOutputTypeOption {\n name: AXMDataSourceOutputType;\n title: string;\n}\n\n//#endregion\n\n//#region ---- Source Types ----\n\nexport enum AXMDataSourceType {\n Static = 'static',\n Query = 'query',\n // ExternalApi = 'external_api' // TODO: Will be implemented later\n}\n\nexport interface AXMDataSourceTypeOption {\n name: AXMDataSourceType;\n title: string;\n}\n\n//#endregion\n\n//#region ---- Filter Definition ----\n\nexport interface AXMDataSourceFilter {\n columnName: string;\n defaultValue: any;\n isSystemFilter: boolean; // User can enable/disable in report\n isRequired: boolean; // Must be present in report\n}\n\n//#endregion\n\n//#region ---- Main Entity Model ----\n\nexport interface AXMDataSourceEntityModel<T = string> extends AXPEntityModel<T> {\n\n name: string,\n title: string;\n categoryIds?: string[];\n sourceStatic: any[];\n sourceEntity: T;\n sourceType: AXMDataSourceTypeOption;\n outputType: AXMDataSourceOutputTypeOption;\n filters?: AXMDataSourceFilter[];\n}\n\n//#endregion\n","import { AXPCategoryListItem, AXPFilterDefinition } from '@acorex-platform/framework-shared/core';\nimport { AXPEntityModel } from '@acorex-platform/framework-shared/entity';\nimport { AXMDataSourceEntityModel } from '../data-source';\n\n//#region ---- Query Builder Types ----\n\n/**\n * Query output type\n * Defines the expected structure of the query result\n */\nexport type AXPQueryOutputType = 'value' | 'table' | 'object';\n\n/**\n * Sort rule for query builder\n */\nexport interface AXPQuerySortRule {\n field: string;\n dir: 'asc' | 'desc';\n}\n\n/**\n * Aggregate operation in query\n * Represents an aggregate function applied to a field\n * Supports nested aggregates (e.g., CONCAT(MIN(field1), MAX(field2)))\n */\nexport interface AXPAggregateOperation {\n /**\n * Field name to aggregate (optional if nestedAggregates is provided)\n */\n field?: string;\n\n /**\n * Aggregate function name\n */\n function: string;\n\n /**\n * Output alias/name for the aggregated result\n */\n alias?: string;\n\n /**\n * Whether to use DISTINCT modifier\n */\n distinct?: boolean;\n\n /**\n * Nested aggregate operations (for functions like CONCAT that can contain other aggregates)\n * Example: CONCAT(MIN(price), MAX(price)) would have:\n * - function: 'concat'\n * - nestedAggregates: [\n * { function: 'min', field: 'price' },\n * { function: 'max', field: 'price' }\n * ]\n */\n nestedAggregates?: AXPAggregateOperation[];\n}\n\n/**\n * Complete query builder data model\n * Includes all query components: dataSource, columns, where, sort, groupBy, aggregates, and raw query\n */\nexport interface AXPQueryBuilderData {\n /**\n * Data source name (optional, can be set from context)\n */\n dataSource?: string;\n\n /**\n * Selected column names (array of column keys)\n */\n columns: string[];\n\n /**\n * WHERE clause (filter definition with groups and conditions)\n */\n where: AXPFilterDefinition;\n\n /**\n * Sort rules (array of field + direction)\n */\n sort: AXPQuerySortRule[];\n\n /**\n * Group by columns (array of column keys)\n */\n groupBy: string[];\n\n /**\n * Aggregate operations (array of field + function + alias)\n */\n aggregates: AXPAggregateOperation[];\n\n /**\n * Raw SQL/query string (optional, used when user wants to write raw query)\n */\n rawQuery?: string;\n\n /**\n * Query language/dialect for raw query (e.g., 'mysql', 'postgresql', 'mongodb')\n */\n queryLanguage?: string;\n\n /**\n * Expected output type for the query result\n * - 'value': Single value result (e.g., COUNT, SUM, AVG)\n * - 'table': Table result with items array and total\n * - 'object': Custom object structure\n */\n outputType?: AXPQueryOutputType;\n}\n\n//#endregion\n\n//#region ---- Query Execution Result Types ----\n\n/**\n * Query execution result\n * Can be:\n * - A single value (for aggregate queries like SUM, COUNT, etc.)\n * - A table with items and total (for regular queries)\n * - An object with custom structure\n */\nexport type AXPQueryExecutionResult =\n | {\n /**\n * Table result with items array\n */\n items: Record<string, unknown>[];\n total: number;\n metadata?: Record<string, unknown>;\n }\n | {\n /**\n * Single aggregate value result\n */\n value: unknown;\n metadata?: Record<string, unknown>;\n }\n | Record<string, unknown>\n | unknown[];\n\n//#endregion\n\n//#region ---- Entity Types ----\n\nexport interface AXMDataManagementQueryEntityModel extends AXPEntityModel<string> {\n name: string;\n title: string;\n dataSource?: AXMDataSourceEntityModel;\n query?: AXPQueryBuilderData;\n categoryIds?: string[];\n categories?: AXPCategoryListItem[];\n}\n\n// Alias for easier import in mock files\nexport type AXMQueryEntityModel = AXMDataManagementQueryEntityModel;\n\n//#endregion","//#region ---- Tag Entity Types ----\n\n/**\n * Tag entity model\n */\nexport interface AXMTag {\n id: string;\n text: string;\n color: string;\n icon?: string;\n description?: string;\n scope: 'system' | 'tenant' | 'user';\n isReadonly?: boolean;\n createdBy?: string;\n createdAt?: Date;\n updatedAt?: Date;\n}\n\n//#endregion\n\n","//#region ---- Contracts barrel ----\n\nexport * from './column-def.widget';\nexport * from './features.keys';\nexport * from './menu.keys';\nexport * from './meta-data-builder.types';\nexport * from './permission.keys';\n\nexport * from './root-config';\nexport * from './manifest';\n\n//#endregion\n\nexport * from './entities';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -76,7 +76,14 @@ class AXPMetaDataBuilderPageComponent extends AXPPageLayoutBaseComponent {
|
|
|
76
76
|
untracked(() => this.recompute());
|
|
77
77
|
}, /* @ts-ignore */
|
|
78
78
|
...(ngDevMode ? [{ debugName: "#syncFromContext" }] : /* istanbul ignore next */ []));
|
|
79
|
-
this.groupsOptions = computed(() =>
|
|
79
|
+
this.groupsOptions = computed(() => {
|
|
80
|
+
const plugins = this.entityDef()?.plugins;
|
|
81
|
+
const builder = plugins?.find((plugin) => plugin.name === 'meta-data-builder');
|
|
82
|
+
return {
|
|
83
|
+
hideHeaderActions: true,
|
|
84
|
+
fieldAppliesTo: builder?.options?.fieldAppliesTo === true,
|
|
85
|
+
};
|
|
86
|
+
}, /* @ts-ignore */
|
|
80
87
|
...(ngDevMode ? [{ debugName: "groupsOptions" }] : /* istanbul ignore next */ []));
|
|
81
88
|
effect((onCleanup) => {
|
|
82
89
|
const moduleName = this.route.snapshot.parent?.paramMap.get('module');
|
|
@@ -295,4 +302,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.8", ngImpor
|
|
|
295
302
|
}] });
|
|
296
303
|
|
|
297
304
|
export { AXMMetaDataBuilderPageComponentProvider, AXPMetaDataBuilderPageComponent, META_DATA_BUILDER_ADD_SECTION_COMMAND, META_DATA_BUILDER_DISCARD_COMMAND, META_DATA_BUILDER_PREVIEW_COMMAND, META_DATA_BUILDER_SAVE_COMMAND };
|
|
298
|
-
//# sourceMappingURL=acorex-platform-module-data-management-client-index-
|
|
305
|
+
//# sourceMappingURL=acorex-platform-module-data-management-client-index-C0e7q0jf.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acorex-platform-module-data-management-client-index-C0e7q0jf.mjs","sources":["../../../../libs/modules/data-management/client/src/lib/features/meta-data/meta-data-builder/meta-data-builder-page/meta-data-builder-page.commands.ts","../../../../libs/modules/data-management/client/src/lib/features/meta-data/meta-data-builder/meta-data-builder-page/meta-data-builder-page.component.ts","../../../../libs/modules/data-management/client/src/lib/features/meta-data/meta-data-builder/meta-data-builder-page/meta-data-builder-page-component.provider.ts"],"sourcesContent":["/** Command names used by the meta-data-builder page toolbar actions. */\nexport const META_DATA_BUILDER_ADD_SECTION_COMMAND = 'MetaDataBuilder:AddSection';\nexport const META_DATA_BUILDER_PREVIEW_COMMAND = 'MetaDataBuilder:Preview';\nexport const META_DATA_BUILDER_SAVE_COMMAND = 'MetaDataBuilder:Save';\nexport const META_DATA_BUILDER_DISCARD_COMMAND = 'MetaDataBuilder:Discard';\n","\nimport { AXPEntity } from '@acorex-platform/framework-shared/entity';\nimport { AXPEntityDefinitionRegistryService } from '@acorex-platform/framework-client/layout/entity';\nimport type { AXPLayoutDetailsViewAction } from '@acorex-platform/framework-client/layout/views';\nimport { AXPPageLayoutBase, AXPPageLayoutBaseComponent } from '@acorex-platform/framework-client/layout/views';\n\nimport {\n ChangeDetectionStrategy,\n Component,\n computed,\n effect,\n inject,\n input,\n signal,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { ActivatedRoute } from '@angular/router';\nimport { cloneDeep, get, isEqual } from 'lodash';\nimport { AXPMetaDataBuilderGroupsComponent } from '../meta-data-builder-groups.component';\nimport { AXMMetaDataBuilderRecordService } from '../meta-data-builder-record.service';\nimport type { AXMMetaDataBuilderValue } from '@acorex-platform/module-data-management-client/contracts';\nimport {\n META_DATA_BUILDER_ADD_SECTION_COMMAND,\n META_DATA_BUILDER_DISCARD_COMMAND,\n META_DATA_BUILDER_PREVIEW_COMMAND,\n META_DATA_BUILDER_SAVE_COMMAND,\n} from './meta-data-builder-page.commands';\n\n/**\n * Page component that renders the meta-data builder with hideHeaderActions,\n * and exposes Add section, Preview, Save, and Discard as page action commands.\n */\n@Component({\n selector: 'axp-meta-data-builder-page',\n standalone: true,\n imports: [AXPMetaDataBuilderGroupsComponent],\n providers: [\n {\n provide: AXPPageLayoutBase,\n useExisting: AXPMetaDataBuilderPageComponent,\n },\n ],\n template: `\n <axp-meta-data-builder-groups\n #groupsRef\n [value]=\"committedValue()\"\n [options]=\"groupsOptions()\"\n (valueChange)=\"onValueChange($event)\"\n />\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class.axp-page-layout-base]': 'true',\n },\n})\nexport class AXPMetaDataBuilderPageComponent extends AXPPageLayoutBaseComponent {\n /** Entity record context from details view; set asynchronously by page-component-renderer. */\n rootContext = input<Record<string, unknown>>();\n\n pageConfig = input<Record<string, unknown>>();\n\n protected groupsRef = viewChild<AXPMetaDataBuilderGroupsComponent>('groupsRef');\n\n private route = inject(ActivatedRoute);\n private entityRegistry = inject(AXPEntityDefinitionRegistryService);\n private recordService = inject(AXMMetaDataBuilderRecordService);\n private hostPageLayout = inject(AXPPageLayoutBase, { optional: true, skipSelf: true });\n\n private entityDef = signal<AXPEntity | null>(null);\n\n private baselineValue = signal<AXMMetaDataBuilderValue | null | undefined>(null);\n protected committedValue = signal<AXMMetaDataBuilderValue | null | undefined>(null);\n\n /** True when committed meta-data differs from last saved / loaded baseline (same pattern as questionnaire questions page). */\n protected isDirty = computed(() => {\n const committed = this.committedValue();\n const baseline = this.baselineValue();\n return !isEqual(committed ?? null, baseline ?? null);\n });\n\n constructor() {\n super();\n effect((onCleanup) => {\n const moduleName = this.route.snapshot.parent?.paramMap.get('module');\n const entityName = this.route.snapshot.paramMap.get('entity');\n if (!moduleName || !entityName) {\n this.entityDef.set(null);\n return;\n }\n let cancelled = false;\n this.entityRegistry.resolve(moduleName, entityName).then((entity) => {\n if (!cancelled) this.entityDef.set(entity);\n });\n onCleanup(() => {\n cancelled = true;\n });\n });\n }\n\n protected context = computed(() => this.rootContext() ?? {});\n\n protected fieldName = computed(() => {\n const config = this.pageConfig();\n return config && typeof (config as { field?: string }).field === 'string'\n ? (config as { field: string }).field\n : 'metaDataList';\n });\n\n protected entityKey = computed(() => {\n const moduleName = this.route.snapshot.parent?.paramMap.get('module');\n const entityName = this.route.snapshot.paramMap.get('entity');\n return moduleName && entityName ? `${moduleName}.${entityName}` : '';\n });\n\n protected recordId = computed(() => {\n const ctx = this.context();\n const id = get(ctx, 'id');\n return id != null ? String(id) : '';\n });\n\n #syncFromContext = effect(() => {\n const ctx = this.rootContext();\n if (ctx == null) {\n return;\n }\n\n const field = this.fieldName();\n const value = field ? (get(ctx, field) as AXMMetaDataBuilderValue) : undefined;\n this.baselineValue.set(value ?? null);\n this.committedValue.set(value ?? null);\n untracked(() => this.recompute());\n });\n\n protected groupsOptions = computed(() => {\n const plugins = this.entityDef()?.plugins as Array<{ name?: string; options?: { fieldAppliesTo?: boolean } }> | undefined;\n const builder = plugins?.find((plugin) => plugin.name === 'meta-data-builder');\n return {\n hideHeaderActions: true,\n fieldAppliesTo: builder?.options?.fieldAppliesTo === true,\n };\n });\n\n protected onValueChange(value: AXMMetaDataBuilderValue): void {\n this.committedValue.set(value);\n this.updateRootContextField(this.fieldName(), value);\n this.recompute();\n }\n\n override getWizardStepContext(): Record<string, unknown> | null {\n const field = this.fieldName();\n const value = this.committedValue();\n if (!field || value == null) {\n return null;\n }\n return { [field]: cloneDeep(value) };\n }\n\n override hasUnsavedChanges(): boolean {\n return this.isDirty();\n }\n\n override async getPrimaryMenuItems(): Promise<AXPLayoutDetailsViewAction[]> {\n const addSectionTitle =\n (await this.translateService.translateAsync('@data-management:metadata-definitions.actions.add-group.title')) ||\n 'Add section';\n const previewTitle =\n (await this.translateService.translateAsync('@data-management:metadata-definitions.actions.preview.title')) ||\n 'Preview';\n const saveTitle = (await this.translateService.translateAsync('@general:actions.save.title')) || 'Save';\n const discardTitle = (await this.translateService.translateAsync('@general:actions.discard.title')) || 'Discard';\n\n return [\n {\n title: addSectionTitle,\n icon: 'fa-light fa-layer-group',\n zone: 'header',\n priority: 'primary',\n color: 'primary',\n command: { name: META_DATA_BUILDER_ADD_SECTION_COMMAND, options: {} },\n },\n {\n title: previewTitle,\n icon: 'fa-light fa-eye',\n zone: 'header',\n priority: 'primary',\n color: 'default',\n command: { name: META_DATA_BUILDER_PREVIEW_COMMAND, options: {} },\n },\n {\n title: discardTitle,\n icon: 'fa-light fa-rotate-left',\n zone: 'footer',\n priority: 'secondary',\n color: 'default',\n visible: this.isDirty(),\n command: { name: META_DATA_BUILDER_DISCARD_COMMAND, options: {} },\n },\n {\n title: saveTitle,\n icon: 'fa-light fa-floppy-disk',\n zone: 'footer',\n priority: 'primary',\n color: 'primary',\n visible: this.isDirty(),\n command: { name: META_DATA_BUILDER_SAVE_COMMAND, options: {} },\n },\n ];\n }\n\n override async execute(command: { name: string; options?: unknown }): Promise<void> {\n const groups = this.groupsRef();\n if (command.name === META_DATA_BUILDER_ADD_SECTION_COMMAND) {\n await groups?.addSection();\n return;\n }\n if (command.name === META_DATA_BUILDER_PREVIEW_COMMAND) {\n await groups?.handlePreviewClick();\n return;\n }\n if (command.name === META_DATA_BUILDER_SAVE_COMMAND) {\n await this.handleSave();\n return;\n }\n if (command.name === META_DATA_BUILDER_DISCARD_COMMAND) {\n this.handleDiscard();\n return;\n }\n }\n\n private async handleSave(): Promise<void> {\n const entity = this.entityKey();\n const id = this.recordId();\n const field = this.fieldName();\n const value = this.committedValue();\n if (!entity || !id || !field) {\n this.toastService.show({\n color: 'danger',\n title: await this.translateService.translateAsync('@general:messages.error.title'),\n content: await this.translateService.translateAsync('@general:messages.entity.invalid-data'),\n });\n return;\n }\n try {\n await this.recordService.updateRecord(entity, id, { [field]: value ?? { groups: [] } });\n const saved = value ?? { groups: [] };\n this.baselineValue.set(saved);\n this.committedValue.set(saved);\n this.updateRootContextField(field, saved);\n this.recompute();\n this.toastService.show({\n color: 'success',\n title: await this.translateService.translateAsync('@general:messages.generic.success.title'),\n content: await this.translateService.translateAsync('@general:messages.generic.success.description'),\n location: 'bottom-center',\n closeButton: true,\n timeOut: 3000,\n timeOutProgress: true,\n });\n } catch {\n this.toastService.show({\n color: 'danger',\n title: await this.translateService.translateAsync('@general:messages.error.title'),\n content: await this.translateService.translateAsync('@general:messages.entity.update-failed'),\n });\n }\n }\n\n private handleDiscard(): void {\n const baseline = this.baselineValue();\n this.committedValue.set(baseline ?? null);\n this.recompute();\n }\n\n protected override recompute(): void {\n super.recompute();\n const maybeLayout = this.hostPageLayout as unknown as { recompute?: () => void };\n maybeLayout?.recompute?.();\n }\n\n /** Keeps details-view `rootContext` in sync so sidebar navigation remounts with latest data. */\n private updateRootContextField(field: string, value: unknown): void {\n const ctx = this.rootContext() as Record<string, unknown> | undefined;\n if (!ctx || typeof ctx !== 'object') {\n return;\n }\n ctx[field] = cloneDeep(value);\n }\n}\n","import {\n AXPPageComponentDefinition,\n AXPPageComponentProvider,\n} from '@acorex-platform/framework-client/layout/components';\nimport { Injectable } from '@angular/core';\nimport { META_DATA_BUILDER_PAGE_COMPONENT_KEY } from '../meta-data-builder.plugin';\n\n@Injectable()\nexport class AXMMetaDataBuilderPageComponentProvider implements AXPPageComponentProvider {\n async components(): Promise<AXPPageComponentDefinition[]> {\n return [\n {\n key: META_DATA_BUILDER_PAGE_COMPONENT_KEY,\n loader: () =>\n import('./meta-data-builder-page.component').then((m) => m.AXPMetaDataBuilderPageComponent),\n },\n ];\n }\n}\n"],"names":[],"mappings":"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"}
|