@acorex/connectivity 21.0.0-next.15 → 21.0.0-next.17
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.
|
@@ -9,7 +9,7 @@ import { inject, Injectable, NgModule, Injector, runInInjectionContext, signal,
|
|
|
9
9
|
import { AXMAssetManagementFeatureKeys, RootConfig as RootConfig$2, AXMAssetStatus } from '@acorex/modules/asset-management';
|
|
10
10
|
import { AXMAssessmentManagementFeatureKeys, RootConfig as RootConfig$1, AXMAssessmentManagementPermissionKeys } from '@acorex/modules/assessment-management';
|
|
11
11
|
import { AXPCommonFeatureKeys, AXPWidgetsList } from '@acorex/modules/common';
|
|
12
|
-
import { AXMDataManagementFeatureKeys, AXMPermissionsKeys as AXMPermissionsKeys$2, RootConfig as RootConfig$c, AXMMetaDataDefinitionService, META_DATA_SELECTOR_FIELD, AXMQueryServiceImpl, AXMQueryService } from '@acorex/modules/data-management';
|
|
12
|
+
import { AXMDataManagementFeatureKeys, AXMPermissionsKeys as AXMPermissionsKeys$2, RootConfig as RootConfig$c, AXMMetaDataDefinitionService, META_DATA_SELECTOR_FIELD, AXMQueryServiceImpl, ShowMetaDataSelectorPopupCommand, AXMQueryService } from '@acorex/modules/data-management';
|
|
13
13
|
import { AXPHumanCapitalManagementFeatureKeys, AXMPermissionsKeys as AXMPermissionsKeys$4, RootConfig as RootConfig$4 } from '@acorex/modules/human-capital-management';
|
|
14
14
|
import { AXPSystemStatusType, AXPAppVersionService, AXPSystemStatuses, AXPFileStorageStatus, AXPFileStorageService, AXVChangeType as AXVChangeType$1, AXP_SEARCH_PROVIDER, AXPLockService, AXPVersioningService } from '@acorex/platform/common';
|
|
15
15
|
import { RootConfig, AXMPermissionsKeys, AXMApplicationService, AXMEditionService } from '@acorex/modules/application-management';
|
|
@@ -1558,6 +1558,11 @@ const questionnaireMock = [
|
|
|
1558
1558
|
title: 'Employee Annual Survey 2025',
|
|
1559
1559
|
description: 'Annual employee satisfaction and engagement survey',
|
|
1560
1560
|
type: 'survey',
|
|
1561
|
+
preEnabled: true,
|
|
1562
|
+
preContent: { 'en-US': '<p>Welcome to the Employee Annual Survey 2025.</p><p>This survey will take approximately 10 minutes. Your responses are confidential.</p><p>Click <strong>Start</strong> when you are ready to begin.</p>', 'fa-IR': '<p>به نظرسنجی سالانه کارکنان 2025 خوش آمدید.</p><p>این نظرسنجی حدود 10 دقیقه طول میکشد. پاسخهای شما محرمانه است.</p><p>وقتی آماده هستید روی <strong>شروع</strong> کلیک کنید.</p>' },
|
|
1563
|
+
postReviewEnabled: true,
|
|
1564
|
+
postSummaryEnabled: true,
|
|
1565
|
+
postSummaryContent: { 'en-US': '<p>Thank you for completing the survey!</p><p>Your score: <strong>{{score}}%</strong></p><p>You answered <strong>{{answeredCount}}</strong> of <strong>{{totalQuestions}}</strong> questions.</p>', 'fa-IR': '<p>از تکمیل نظرسنجی متشکریم!</p><p>امتیاز شما: <strong>{{score}}٪</strong></p><p>شما به <strong>{{answeredCount}}</strong> از <strong>{{totalQuestions}}</strong> سوال پاسخ دادید.</p>' },
|
|
1561
1566
|
categoryIds: [QUESTIONNAIRE_CATEGORY_MOCK.find((c) => c.title === 'Annual Review').id],
|
|
1562
1567
|
categories: [QUESTIONNAIRE_CATEGORY_MOCK.find((c) => c.title === 'Annual Review')],
|
|
1563
1568
|
structure: {
|
|
@@ -8431,7 +8436,10 @@ const visibilityFilterMiddleware = {
|
|
|
8431
8436
|
// The issue: we only have the paginated items, but need to filter ALL records to get correct total
|
|
8432
8437
|
// Solution: Re-run the query with the same filters but without pagination to get all filtered records,
|
|
8433
8438
|
// then apply visibility filtering, then recalculate total and re-apply pagination
|
|
8434
|
-
|
|
8439
|
+
// Skip re-query for Policy entity - it's system config, avoids N+1 Policy queries from visibility filter
|
|
8440
|
+
const policyEntityFullName = `${RootConfig$5.module.name}.${RootConfig$5.entities.policy.name}`;
|
|
8441
|
+
const isPolicyEntity = ctx.entityName === policyEntityFullName;
|
|
8442
|
+
if (ctx.result.items && Array.isArray(ctx.result.items) && !isPolicyEntity) {
|
|
8435
8443
|
const skip = ctx.request?.skip ?? 0;
|
|
8436
8444
|
const take = ctx.request?.take ?? 0;
|
|
8437
8445
|
// Re-run the query with the same filters but without pagination to get all filtered records
|
|
@@ -10321,11 +10329,15 @@ class AXCFileStorageService {
|
|
|
10321
10329
|
if (!file) {
|
|
10322
10330
|
throw new Error('File not found');
|
|
10323
10331
|
}
|
|
10332
|
+
const metadata = request.metadata ?? {};
|
|
10324
10333
|
const updatedFileInfo = {
|
|
10325
10334
|
...file,
|
|
10326
|
-
...
|
|
10335
|
+
...metadata,
|
|
10327
10336
|
name: request.name !== undefined ? request.name : file.name,
|
|
10328
10337
|
isPrimary: request.isPrimary !== undefined ? request.isPrimary : file.isPrimary,
|
|
10338
|
+
// Persist optional title/description so findMany can return them
|
|
10339
|
+
...(metadata['title'] !== undefined && { title: metadata['title'] }),
|
|
10340
|
+
...(metadata['description'] !== undefined && { description: metadata['description'] }),
|
|
10329
10341
|
};
|
|
10330
10342
|
await db.files.put(updatedFileInfo);
|
|
10331
10343
|
return this.mapToFileStorageInfo(updatedFileInfo);
|
|
@@ -10385,15 +10397,20 @@ class AXCFileStorageService {
|
|
|
10385
10397
|
}
|
|
10386
10398
|
async findMany(ids) {
|
|
10387
10399
|
const files = await db.files.where('fileId').anyOf(ids).toArray();
|
|
10388
|
-
return Promise.all(files.map(async (file) =>
|
|
10389
|
-
|
|
10390
|
-
|
|
10391
|
-
|
|
10392
|
-
|
|
10393
|
-
|
|
10394
|
-
|
|
10395
|
-
|
|
10396
|
-
|
|
10400
|
+
return Promise.all(files.map(async (file) => {
|
|
10401
|
+
const record = file;
|
|
10402
|
+
return {
|
|
10403
|
+
id: file.fileId,
|
|
10404
|
+
fileId: file.fileId,
|
|
10405
|
+
refId: file.refId,
|
|
10406
|
+
refType: file.refType,
|
|
10407
|
+
size: file.size,
|
|
10408
|
+
name: file.name,
|
|
10409
|
+
url: file.binary ? await this.fileService.blobToBase64(file.binary) : undefined,
|
|
10410
|
+
...(record['title'] !== undefined && { title: record['title'] }),
|
|
10411
|
+
...(record['description'] !== undefined && { description: record['description'] }),
|
|
10412
|
+
};
|
|
10413
|
+
}));
|
|
10397
10414
|
}
|
|
10398
10415
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCFileStorageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
10399
10416
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCFileStorageService }); }
|
|
@@ -15008,1941 +15025,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
15008
15025
|
}]
|
|
15009
15026
|
}] });
|
|
15010
15027
|
|
|
15011
|
-
const REPORT_ID = AXPDataGenerator.uuid();
|
|
15012
|
-
const child1 = {
|
|
15013
|
-
id: AXPDataGenerator.uuid(),
|
|
15014
|
-
title: 'Financial Reports',
|
|
15015
|
-
parentId: REPORT_ID,
|
|
15016
|
-
childrenCount: 0,
|
|
15017
|
-
};
|
|
15018
|
-
const child2 = {
|
|
15019
|
-
id: AXPDataGenerator.uuid(),
|
|
15020
|
-
title: 'User Reports',
|
|
15021
|
-
parentId: REPORT_ID,
|
|
15022
|
-
childrenCount: 0,
|
|
15023
|
-
};
|
|
15024
|
-
const child3 = {
|
|
15025
|
-
id: AXPDataGenerator.uuid(),
|
|
15026
|
-
title: 'System Reports',
|
|
15027
|
-
parentId: REPORT_ID,
|
|
15028
|
-
childrenCount: 0,
|
|
15029
|
-
};
|
|
15030
|
-
const QUERY_CATEGORY_MOCK = [
|
|
15031
|
-
{
|
|
15032
|
-
id: AXPDataGenerator.uuid(),
|
|
15033
|
-
title: 'General Queries',
|
|
15034
|
-
childrenCount: 0,
|
|
15035
|
-
},
|
|
15036
|
-
{
|
|
15037
|
-
id: REPORT_ID,
|
|
15038
|
-
title: 'Reports',
|
|
15039
|
-
childrenCount: 3,
|
|
15040
|
-
},
|
|
15041
|
-
child1,
|
|
15042
|
-
child2,
|
|
15043
|
-
child3,
|
|
15044
|
-
{
|
|
15045
|
-
id: AXPDataGenerator.uuid(),
|
|
15046
|
-
title: 'Analytics',
|
|
15047
|
-
childrenCount: 0,
|
|
15048
|
-
},
|
|
15049
|
-
];
|
|
15050
|
-
const QUERY_MOCK = [
|
|
15051
|
-
{
|
|
15052
|
-
id: AXPDataGenerator.uuid(),
|
|
15053
|
-
name: 'user-list-query',
|
|
15054
|
-
title: 'User List Query',
|
|
15055
|
-
categoryIds: [QUERY_CATEGORY_MOCK[0].id],
|
|
15056
|
-
categories: [{ id: QUERY_CATEGORY_MOCK[0].id, title: QUERY_CATEGORY_MOCK[0].title }],
|
|
15057
|
-
},
|
|
15058
|
-
{
|
|
15059
|
-
id: AXPDataGenerator.uuid(),
|
|
15060
|
-
name: 'financial-report-query',
|
|
15061
|
-
title: 'Financial Report Query',
|
|
15062
|
-
categoryIds: [child1.id],
|
|
15063
|
-
categories: [{ id: child1.id, title: child1.title }],
|
|
15064
|
-
},
|
|
15065
|
-
{
|
|
15066
|
-
id: AXPDataGenerator.uuid(),
|
|
15067
|
-
name: 'system-status-query',
|
|
15068
|
-
title: 'System Status Query',
|
|
15069
|
-
categoryIds: [child3.id],
|
|
15070
|
-
categories: [{ id: child3.id, title: child3.title }],
|
|
15071
|
-
},
|
|
15072
|
-
{
|
|
15073
|
-
id: AXPDataGenerator.uuid(),
|
|
15074
|
-
name: 'analytics-dashboard-query',
|
|
15075
|
-
title: 'Analytics Dashboard Query',
|
|
15076
|
-
categoryIds: [QUERY_CATEGORY_MOCK[5].id],
|
|
15077
|
-
categories: [{ id: QUERY_CATEGORY_MOCK[5].id, title: QUERY_CATEGORY_MOCK[5].title }],
|
|
15078
|
-
},
|
|
15079
|
-
];
|
|
15080
|
-
|
|
15081
|
-
class AXCQueryDataSeeder {
|
|
15082
|
-
constructor() {
|
|
15083
|
-
this.storageService = inject(AXPEntityStorageService);
|
|
15084
|
-
}
|
|
15085
|
-
async seed() {
|
|
15086
|
-
await this.storageService.initial(`${RootConfig$c.module.name}.${RootConfig$c.entities.queryCategory.name}`, QUERY_CATEGORY_MOCK);
|
|
15087
|
-
await this.storageService.initial(`${RootConfig$c.module.name}.${RootConfig$c.entities.query.name}`, QUERY_MOCK);
|
|
15088
|
-
}
|
|
15089
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCQueryDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
15090
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCQueryDataSeeder }); }
|
|
15091
|
-
}
|
|
15092
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCQueryDataSeeder, decorators: [{
|
|
15093
|
-
type: Injectable
|
|
15094
|
-
}] });
|
|
15095
|
-
|
|
15096
|
-
const metadataCategoryMocks = (() => {
|
|
15097
|
-
const ids = new Map();
|
|
15098
|
-
// Root categories
|
|
15099
|
-
const general = {
|
|
15100
|
-
id: AXPDataGenerator.uuid(),
|
|
15101
|
-
title: 'General',
|
|
15102
|
-
description: 'Common metadata fields used across all document types',
|
|
15103
|
-
parentId: undefined,
|
|
15104
|
-
childrenCount: 0,
|
|
15105
|
-
};
|
|
15106
|
-
ids.set('General', general.id);
|
|
15107
|
-
const location = {
|
|
15108
|
-
id: AXPDataGenerator.uuid(),
|
|
15109
|
-
title: 'Location',
|
|
15110
|
-
description: 'Geographic location metadata (country, province, city)',
|
|
15111
|
-
parentId: undefined,
|
|
15112
|
-
childrenCount: 0,
|
|
15113
|
-
};
|
|
15114
|
-
ids.set('Location', location.id);
|
|
15115
|
-
const documentManagement = {
|
|
15116
|
-
id: AXPDataGenerator.uuid(),
|
|
15117
|
-
title: 'Document Management',
|
|
15118
|
-
description: 'Document creation, storage, and retrieval metadata',
|
|
15119
|
-
parentId: undefined,
|
|
15120
|
-
childrenCount: 3,
|
|
15121
|
-
};
|
|
15122
|
-
ids.set('Document Management', documentManagement.id);
|
|
15123
|
-
const qualityControl = {
|
|
15124
|
-
id: AXPDataGenerator.uuid(),
|
|
15125
|
-
title: 'Quality Control',
|
|
15126
|
-
description: 'Quality assurance and control metadata',
|
|
15127
|
-
parentId: undefined,
|
|
15128
|
-
childrenCount: 3,
|
|
15129
|
-
};
|
|
15130
|
-
ids.set('Quality Control', qualityControl.id);
|
|
15131
|
-
const compliance = {
|
|
15132
|
-
id: AXPDataGenerator.uuid(),
|
|
15133
|
-
title: 'Compliance',
|
|
15134
|
-
description: 'Regulatory compliance and audit metadata',
|
|
15135
|
-
parentId: undefined,
|
|
15136
|
-
childrenCount: 3,
|
|
15137
|
-
};
|
|
15138
|
-
ids.set('Compliance', compliance.id);
|
|
15139
|
-
const projectManagement = {
|
|
15140
|
-
id: AXPDataGenerator.uuid(),
|
|
15141
|
-
title: 'Project Management',
|
|
15142
|
-
description: 'Project planning and execution metadata',
|
|
15143
|
-
parentId: undefined,
|
|
15144
|
-
childrenCount: 3,
|
|
15145
|
-
};
|
|
15146
|
-
ids.set('Project Management', projectManagement.id);
|
|
15147
|
-
const electronicsAndAppliances = {
|
|
15148
|
-
id: AXPDataGenerator.uuid(),
|
|
15149
|
-
title: 'Electronics & Appliances',
|
|
15150
|
-
description: 'Electronics and home appliances metadata',
|
|
15151
|
-
parentId: undefined,
|
|
15152
|
-
childrenCount: 7,
|
|
15153
|
-
};
|
|
15154
|
-
ids.set('Electronics & Appliances', electronicsAndAppliances.id);
|
|
15155
|
-
// Document Management children
|
|
15156
|
-
const versionControl = {
|
|
15157
|
-
id: AXPDataGenerator.uuid(),
|
|
15158
|
-
title: 'Version Control',
|
|
15159
|
-
description: 'Document versioning and change tracking',
|
|
15160
|
-
parentId: documentManagement.id,
|
|
15161
|
-
childrenCount: 0,
|
|
15162
|
-
};
|
|
15163
|
-
ids.set('Version Control', versionControl.id);
|
|
15164
|
-
const accessControl = {
|
|
15165
|
-
id: AXPDataGenerator.uuid(),
|
|
15166
|
-
title: 'Access Control',
|
|
15167
|
-
description: 'User permissions and access management',
|
|
15168
|
-
parentId: documentManagement.id,
|
|
15169
|
-
childrenCount: 0,
|
|
15170
|
-
};
|
|
15171
|
-
ids.set('Access Control', accessControl.id);
|
|
15172
|
-
const documentTypes = {
|
|
15173
|
-
id: AXPDataGenerator.uuid(),
|
|
15174
|
-
title: 'Document Types',
|
|
15175
|
-
description: 'Classification and categorization of documents',
|
|
15176
|
-
parentId: documentManagement.id,
|
|
15177
|
-
childrenCount: 0,
|
|
15178
|
-
};
|
|
15179
|
-
ids.set('Document Types', documentTypes.id);
|
|
15180
|
-
// Quality Control children
|
|
15181
|
-
const standards = {
|
|
15182
|
-
id: AXPDataGenerator.uuid(),
|
|
15183
|
-
title: 'Standards',
|
|
15184
|
-
description: 'Quality standards and specifications',
|
|
15185
|
-
parentId: qualityControl.id,
|
|
15186
|
-
childrenCount: 0,
|
|
15187
|
-
};
|
|
15188
|
-
ids.set('Standards', standards.id);
|
|
15189
|
-
const testing = {
|
|
15190
|
-
id: AXPDataGenerator.uuid(),
|
|
15191
|
-
title: 'Testing',
|
|
15192
|
-
description: 'Test procedures and results tracking',
|
|
15193
|
-
parentId: qualityControl.id,
|
|
15194
|
-
childrenCount: 0,
|
|
15195
|
-
};
|
|
15196
|
-
ids.set('Testing', testing.id);
|
|
15197
|
-
const validation = {
|
|
15198
|
-
id: AXPDataGenerator.uuid(),
|
|
15199
|
-
title: 'Validation',
|
|
15200
|
-
description: 'Data validation and verification processes',
|
|
15201
|
-
parentId: qualityControl.id,
|
|
15202
|
-
childrenCount: 0,
|
|
15203
|
-
};
|
|
15204
|
-
ids.set('Validation', validation.id);
|
|
15205
|
-
// Compliance children
|
|
15206
|
-
const regulations = {
|
|
15207
|
-
id: AXPDataGenerator.uuid(),
|
|
15208
|
-
title: 'Regulations',
|
|
15209
|
-
description: 'Regulatory requirements and compliance rules',
|
|
15210
|
-
parentId: compliance.id,
|
|
15211
|
-
childrenCount: 0,
|
|
15212
|
-
};
|
|
15213
|
-
ids.set('Regulations', regulations.id);
|
|
15214
|
-
const auditTrail = {
|
|
15215
|
-
id: AXPDataGenerator.uuid(),
|
|
15216
|
-
title: 'Audit Trail',
|
|
15217
|
-
description: 'Activity logging and audit documentation',
|
|
15218
|
-
parentId: compliance.id,
|
|
15219
|
-
childrenCount: 0,
|
|
15220
|
-
};
|
|
15221
|
-
ids.set('Audit Trail', auditTrail.id);
|
|
15222
|
-
const certifications = {
|
|
15223
|
-
id: AXPDataGenerator.uuid(),
|
|
15224
|
-
title: 'Certifications',
|
|
15225
|
-
description: 'Certification and accreditation tracking',
|
|
15226
|
-
parentId: compliance.id,
|
|
15227
|
-
childrenCount: 0,
|
|
15228
|
-
};
|
|
15229
|
-
ids.set('Certifications', certifications.id);
|
|
15230
|
-
// Project Management children
|
|
15231
|
-
const planning = {
|
|
15232
|
-
id: AXPDataGenerator.uuid(),
|
|
15233
|
-
title: 'Planning',
|
|
15234
|
-
description: 'Project planning and scheduling metadata',
|
|
15235
|
-
parentId: projectManagement.id,
|
|
15236
|
-
childrenCount: 0,
|
|
15237
|
-
};
|
|
15238
|
-
ids.set('Planning', planning.id);
|
|
15239
|
-
const resources = {
|
|
15240
|
-
id: AXPDataGenerator.uuid(),
|
|
15241
|
-
title: 'Resources',
|
|
15242
|
-
description: 'Resource allocation and management',
|
|
15243
|
-
parentId: projectManagement.id,
|
|
15244
|
-
childrenCount: 0,
|
|
15245
|
-
};
|
|
15246
|
-
ids.set('Resources', resources.id);
|
|
15247
|
-
const timeline = {
|
|
15248
|
-
id: AXPDataGenerator.uuid(),
|
|
15249
|
-
title: 'Timeline',
|
|
15250
|
-
description: 'Project timeline and milestone tracking',
|
|
15251
|
-
parentId: projectManagement.id,
|
|
15252
|
-
childrenCount: 0,
|
|
15253
|
-
};
|
|
15254
|
-
ids.set('Timeline', timeline.id);
|
|
15255
|
-
// Electronics & Appliances children
|
|
15256
|
-
const mobilePhonesAndTablets = {
|
|
15257
|
-
id: AXPDataGenerator.uuid(),
|
|
15258
|
-
title: 'Mobile Phones & Tablets',
|
|
15259
|
-
description: 'Mobile phones, smartphones, and tablet devices',
|
|
15260
|
-
parentId: electronicsAndAppliances.id,
|
|
15261
|
-
childrenCount: 0,
|
|
15262
|
-
};
|
|
15263
|
-
ids.set('Mobile Phones & Tablets', mobilePhonesAndTablets.id);
|
|
15264
|
-
const laptopsAndComputers = {
|
|
15265
|
-
id: AXPDataGenerator.uuid(),
|
|
15266
|
-
title: 'Laptops & Computers',
|
|
15267
|
-
description: 'Laptops, desktops, and computer systems',
|
|
15268
|
-
parentId: electronicsAndAppliances.id,
|
|
15269
|
-
childrenCount: 0,
|
|
15270
|
-
};
|
|
15271
|
-
ids.set('Laptops & Computers', laptopsAndComputers.id);
|
|
15272
|
-
const monitors = {
|
|
15273
|
-
id: AXPDataGenerator.uuid(),
|
|
15274
|
-
title: 'Monitors',
|
|
15275
|
-
description: 'Computer monitors and display screens',
|
|
15276
|
-
parentId: electronicsAndAppliances.id,
|
|
15277
|
-
childrenCount: 0,
|
|
15278
|
-
};
|
|
15279
|
-
ids.set('Monitors', monitors.id);
|
|
15280
|
-
const accessories = {
|
|
15281
|
-
id: AXPDataGenerator.uuid(),
|
|
15282
|
-
title: 'Accessories (Cables, Chargers, Cases…)',
|
|
15283
|
-
description: 'Electronic accessories including cables, chargers, cases, and more',
|
|
15284
|
-
parentId: electronicsAndAppliances.id,
|
|
15285
|
-
childrenCount: 0,
|
|
15286
|
-
};
|
|
15287
|
-
ids.set('Accessories (Cables, Chargers, Cases…)', accessories.id);
|
|
15288
|
-
const homeAppliances = {
|
|
15289
|
-
id: AXPDataGenerator.uuid(),
|
|
15290
|
-
title: 'Home Appliances',
|
|
15291
|
-
description: 'Home and kitchen appliances',
|
|
15292
|
-
parentId: electronicsAndAppliances.id,
|
|
15293
|
-
childrenCount: 0,
|
|
15294
|
-
};
|
|
15295
|
-
ids.set('Home Appliances', homeAppliances.id);
|
|
15296
|
-
const audioAndVideo = {
|
|
15297
|
-
id: AXPDataGenerator.uuid(),
|
|
15298
|
-
title: 'Audio & Video',
|
|
15299
|
-
description: 'Audio and video equipment and devices',
|
|
15300
|
-
parentId: electronicsAndAppliances.id,
|
|
15301
|
-
childrenCount: 0,
|
|
15302
|
-
};
|
|
15303
|
-
ids.set('Audio & Video', audioAndVideo.id);
|
|
15304
|
-
const cameras = {
|
|
15305
|
-
id: AXPDataGenerator.uuid(),
|
|
15306
|
-
title: 'Cameras',
|
|
15307
|
-
description: 'Digital cameras and photography equipment',
|
|
15308
|
-
parentId: electronicsAndAppliances.id,
|
|
15309
|
-
childrenCount: 0,
|
|
15310
|
-
};
|
|
15311
|
-
ids.set('Cameras', cameras.id);
|
|
15312
|
-
return [
|
|
15313
|
-
general,
|
|
15314
|
-
location,
|
|
15315
|
-
documentManagement,
|
|
15316
|
-
qualityControl,
|
|
15317
|
-
compliance,
|
|
15318
|
-
projectManagement,
|
|
15319
|
-
electronicsAndAppliances,
|
|
15320
|
-
versionControl,
|
|
15321
|
-
accessControl,
|
|
15322
|
-
documentTypes,
|
|
15323
|
-
standards,
|
|
15324
|
-
testing,
|
|
15325
|
-
validation,
|
|
15326
|
-
regulations,
|
|
15327
|
-
auditTrail,
|
|
15328
|
-
certifications,
|
|
15329
|
-
planning,
|
|
15330
|
-
resources,
|
|
15331
|
-
timeline,
|
|
15332
|
-
mobilePhonesAndTablets,
|
|
15333
|
-
laptopsAndComputers,
|
|
15334
|
-
monitors,
|
|
15335
|
-
accessories,
|
|
15336
|
-
homeAppliances,
|
|
15337
|
-
audioAndVideo,
|
|
15338
|
-
cameras,
|
|
15339
|
-
];
|
|
15340
|
-
})();
|
|
15341
|
-
|
|
15342
|
-
const findCategory$2 = (title) => metadataCategoryMocks.find((cat) => cat.title === title);
|
|
15343
|
-
const METADATA_MOCK = [
|
|
15344
|
-
// General - Common metadata fields
|
|
15345
|
-
{
|
|
15346
|
-
id: AXPDataGenerator.uuid(),
|
|
15347
|
-
name: 'title',
|
|
15348
|
-
title: 'Title',
|
|
15349
|
-
defaultValue: '',
|
|
15350
|
-
interface: titleInterface,
|
|
15351
|
-
categoryIds: [findCategory$2('General').id],
|
|
15352
|
-
categories: [findCategory$2('General')],
|
|
15353
|
-
},
|
|
15354
|
-
{
|
|
15355
|
-
id: AXPDataGenerator.uuid(),
|
|
15356
|
-
name: 'description',
|
|
15357
|
-
title: 'Description',
|
|
15358
|
-
defaultValue: '',
|
|
15359
|
-
interface: descriptionInterface,
|
|
15360
|
-
categoryIds: [findCategory$2('General').id],
|
|
15361
|
-
categories: [findCategory$2('General')],
|
|
15362
|
-
},
|
|
15363
|
-
{
|
|
15364
|
-
id: AXPDataGenerator.uuid(),
|
|
15365
|
-
name: 'created-date',
|
|
15366
|
-
title: 'Created Date',
|
|
15367
|
-
defaultValue: '',
|
|
15368
|
-
interface: dateInterface,
|
|
15369
|
-
categoryIds: [findCategory$2('General').id],
|
|
15370
|
-
categories: [findCategory$2('General')],
|
|
15371
|
-
},
|
|
15372
|
-
{
|
|
15373
|
-
id: AXPDataGenerator.uuid(),
|
|
15374
|
-
name: 'status',
|
|
15375
|
-
title: 'Status',
|
|
15376
|
-
defaultValue: 'Draft',
|
|
15377
|
-
interface: {
|
|
15378
|
-
type: 'select-editor',
|
|
15379
|
-
options: {
|
|
15380
|
-
dataSource: [
|
|
15381
|
-
{ id: 'Draft', title: 'Draft' },
|
|
15382
|
-
{ id: 'In Review', title: 'In Review' },
|
|
15383
|
-
{ id: 'Approved', title: 'Approved' },
|
|
15384
|
-
{ id: 'Published', title: 'Published' },
|
|
15385
|
-
{ id: 'Archived', title: 'Archived' },
|
|
15386
|
-
],
|
|
15387
|
-
placeholder: 'Select status',
|
|
15388
|
-
},
|
|
15389
|
-
},
|
|
15390
|
-
categoryIds: [findCategory$2('General').id],
|
|
15391
|
-
categories: [findCategory$2('General')],
|
|
15392
|
-
},
|
|
15393
|
-
{
|
|
15394
|
-
id: AXPDataGenerator.uuid(),
|
|
15395
|
-
name: 'priority',
|
|
15396
|
-
title: 'Priority',
|
|
15397
|
-
defaultValue: 'Medium',
|
|
15398
|
-
interface: {
|
|
15399
|
-
type: 'select-editor',
|
|
15400
|
-
options: {
|
|
15401
|
-
dataSource: [
|
|
15402
|
-
{ id: 'Low', title: 'Low' },
|
|
15403
|
-
{ id: 'Medium', title: 'Medium' },
|
|
15404
|
-
{ id: 'High', title: 'High' },
|
|
15405
|
-
{ id: 'Critical', title: 'Critical' },
|
|
15406
|
-
],
|
|
15407
|
-
placeholder: 'Select priority',
|
|
15408
|
-
},
|
|
15409
|
-
},
|
|
15410
|
-
categoryIds: [findCategory$2('General').id],
|
|
15411
|
-
categories: [findCategory$2('General')],
|
|
15412
|
-
},
|
|
15413
|
-
{
|
|
15414
|
-
id: AXPDataGenerator.uuid(),
|
|
15415
|
-
name: 'tags',
|
|
15416
|
-
title: 'Tags',
|
|
15417
|
-
defaultValue: '',
|
|
15418
|
-
interface: textAreaInterface,
|
|
15419
|
-
categoryIds: [findCategory$2('General').id],
|
|
15420
|
-
categories: [findCategory$2('General')],
|
|
15421
|
-
},
|
|
15422
|
-
{
|
|
15423
|
-
id: AXPDataGenerator.uuid(),
|
|
15424
|
-
name: 'keywords',
|
|
15425
|
-
title: 'Keywords',
|
|
15426
|
-
defaultValue: '',
|
|
15427
|
-
interface: textAreaInterface,
|
|
15428
|
-
categoryIds: [findCategory$2('General').id],
|
|
15429
|
-
categories: [findCategory$2('General')],
|
|
15430
|
-
},
|
|
15431
|
-
{
|
|
15432
|
-
id: AXPDataGenerator.uuid(),
|
|
15433
|
-
name: 'language',
|
|
15434
|
-
title: 'Language',
|
|
15435
|
-
defaultValue: 'English',
|
|
15436
|
-
interface: {
|
|
15437
|
-
type: 'select-editor',
|
|
15438
|
-
options: {
|
|
15439
|
-
dataSource: [
|
|
15440
|
-
{ id: 'English', title: 'English' },
|
|
15441
|
-
{ id: 'Spanish', title: 'Spanish' },
|
|
15442
|
-
{ id: 'French', title: 'French' },
|
|
15443
|
-
{ id: 'German', title: 'German' },
|
|
15444
|
-
{ id: 'Chinese', title: 'Chinese' },
|
|
15445
|
-
{ id: 'Japanese', title: 'Japanese' },
|
|
15446
|
-
{ id: 'Arabic', title: 'Arabic' },
|
|
15447
|
-
{ id: 'Portuguese', title: 'Portuguese' },
|
|
15448
|
-
],
|
|
15449
|
-
placeholder: 'Select language',
|
|
15450
|
-
},
|
|
15451
|
-
},
|
|
15452
|
-
categoryIds: [findCategory$2('General').id],
|
|
15453
|
-
categories: [findCategory$2('General')],
|
|
15454
|
-
},
|
|
15455
|
-
{
|
|
15456
|
-
id: AXPDataGenerator.uuid(),
|
|
15457
|
-
name: 'is-confidential',
|
|
15458
|
-
title: 'Confidential',
|
|
15459
|
-
defaultValue: 'false',
|
|
15460
|
-
interface: checkboxInterface,
|
|
15461
|
-
categoryIds: [findCategory$2('General').id],
|
|
15462
|
-
categories: [findCategory$2('General')],
|
|
15463
|
-
},
|
|
15464
|
-
// Location - Country / Province / City (uses existing datasources: countries, provinces, cities)
|
|
15465
|
-
{
|
|
15466
|
-
id: AXPDataGenerator.uuid(),
|
|
15467
|
-
name: 'country',
|
|
15468
|
-
title: 'Country',
|
|
15469
|
-
defaultValue: '',
|
|
15470
|
-
interface: {
|
|
15471
|
-
type: 'select-editor',
|
|
15472
|
-
options: {
|
|
15473
|
-
dataSource: 'countries',
|
|
15474
|
-
valueField: 'id',
|
|
15475
|
-
textField: 'title',
|
|
15476
|
-
placeholder: 'Select country',
|
|
15477
|
-
hasClearButton: true,
|
|
15478
|
-
},
|
|
15479
|
-
},
|
|
15480
|
-
categoryIds: [findCategory$2('Location').id],
|
|
15481
|
-
categories: [findCategory$2('Location')],
|
|
15482
|
-
},
|
|
15483
|
-
{
|
|
15484
|
-
id: AXPDataGenerator.uuid(),
|
|
15485
|
-
name: 'province',
|
|
15486
|
-
title: 'Province',
|
|
15487
|
-
defaultValue: '',
|
|
15488
|
-
interface: {
|
|
15489
|
-
type: 'select-editor',
|
|
15490
|
-
options: {
|
|
15491
|
-
dataSource: 'provinces',
|
|
15492
|
-
valueField: 'id',
|
|
15493
|
-
textField: 'title',
|
|
15494
|
-
placeholder: 'Select province',
|
|
15495
|
-
hasClearButton: true,
|
|
15496
|
-
filter: {
|
|
15497
|
-
logic: 'and',
|
|
15498
|
-
filters: [
|
|
15499
|
-
{ field: 'parentId', operator: { type: 'equal' }, value: '{{ context.eval("country.id") }}' },
|
|
15500
|
-
],
|
|
15501
|
-
},
|
|
15502
|
-
},
|
|
15503
|
-
triggers: [{ event: "{{ events.context('country') }}", action: '{{ widget.refresh() }}' }],
|
|
15504
|
-
},
|
|
15505
|
-
categoryIds: [findCategory$2('Location').id],
|
|
15506
|
-
categories: [findCategory$2('Location')],
|
|
15507
|
-
},
|
|
15508
|
-
{
|
|
15509
|
-
id: AXPDataGenerator.uuid(),
|
|
15510
|
-
name: 'city',
|
|
15511
|
-
title: 'City',
|
|
15512
|
-
defaultValue: '',
|
|
15513
|
-
interface: {
|
|
15514
|
-
type: 'select-editor',
|
|
15515
|
-
options: {
|
|
15516
|
-
dataSource: 'cities',
|
|
15517
|
-
valueField: 'id',
|
|
15518
|
-
textField: 'title',
|
|
15519
|
-
placeholder: 'Select city',
|
|
15520
|
-
hasClearButton: true,
|
|
15521
|
-
filter: {
|
|
15522
|
-
logic: 'and',
|
|
15523
|
-
filters: [
|
|
15524
|
-
{ field: 'parentId', operator: { type: 'equal' }, value: '{{ context.eval("province.id") }}' },
|
|
15525
|
-
],
|
|
15526
|
-
},
|
|
15527
|
-
},
|
|
15528
|
-
triggers: [{ event: "{{ events.context('province') }}", action: '{{ widget.refresh() }}' }],
|
|
15529
|
-
},
|
|
15530
|
-
categoryIds: [findCategory$2('Location').id],
|
|
15531
|
-
categories: [findCategory$2('Location')],
|
|
15532
|
-
},
|
|
15533
|
-
// Document Management - Version Control
|
|
15534
|
-
{
|
|
15535
|
-
id: AXPDataGenerator.uuid(),
|
|
15536
|
-
name: 'document-title',
|
|
15537
|
-
title: 'Document Title',
|
|
15538
|
-
defaultValue: '',
|
|
15539
|
-
interface: titleInterface,
|
|
15540
|
-
categoryIds: [findCategory$2('Version Control').id],
|
|
15541
|
-
categories: [findCategory$2('Version Control')],
|
|
15542
|
-
},
|
|
15543
|
-
{
|
|
15544
|
-
id: AXPDataGenerator.uuid(),
|
|
15545
|
-
name: 'document-version',
|
|
15546
|
-
title: 'Document Version',
|
|
15547
|
-
defaultValue: '1.0',
|
|
15548
|
-
interface: versionInterface,
|
|
15549
|
-
categoryIds: [findCategory$2('Version Control').id],
|
|
15550
|
-
categories: [findCategory$2('Version Control')],
|
|
15551
|
-
},
|
|
15552
|
-
{
|
|
15553
|
-
id: AXPDataGenerator.uuid(),
|
|
15554
|
-
name: 'last-modified',
|
|
15555
|
-
title: 'Last Modified',
|
|
15556
|
-
defaultValue: '',
|
|
15557
|
-
interface: dateInterface,
|
|
15558
|
-
categoryIds: [findCategory$2('Version Control').id],
|
|
15559
|
-
categories: [findCategory$2('Version Control')],
|
|
15560
|
-
},
|
|
15561
|
-
{
|
|
15562
|
-
id: AXPDataGenerator.uuid(),
|
|
15563
|
-
name: 'change-log',
|
|
15564
|
-
title: 'Change Log',
|
|
15565
|
-
defaultValue: '',
|
|
15566
|
-
interface: textAreaInterface,
|
|
15567
|
-
categoryIds: [findCategory$2('Version Control').id],
|
|
15568
|
-
categories: [findCategory$2('Version Control')],
|
|
15569
|
-
},
|
|
15570
|
-
// Document Management - Access Control
|
|
15571
|
-
{
|
|
15572
|
-
id: AXPDataGenerator.uuid(),
|
|
15573
|
-
name: 'access-level',
|
|
15574
|
-
title: 'Access Level',
|
|
15575
|
-
defaultValue: 'Public',
|
|
15576
|
-
interface: {
|
|
15577
|
-
type: 'select-editor',
|
|
15578
|
-
options: {
|
|
15579
|
-
dataSource: [
|
|
15580
|
-
{ id: 'Public', title: 'Public' },
|
|
15581
|
-
{ id: 'Internal', title: 'Internal' },
|
|
15582
|
-
{ id: 'Confidential', title: 'Confidential' },
|
|
15583
|
-
{ id: 'Restricted', title: 'Restricted' },
|
|
15584
|
-
{ id: 'Private', title: 'Private' },
|
|
15585
|
-
],
|
|
15586
|
-
placeholder: 'Select access level',
|
|
15587
|
-
},
|
|
15588
|
-
},
|
|
15589
|
-
categoryIds: [findCategory$2('Access Control').id],
|
|
15590
|
-
categories: [findCategory$2('Access Control')],
|
|
15591
|
-
},
|
|
15592
|
-
{
|
|
15593
|
-
id: AXPDataGenerator.uuid(),
|
|
15594
|
-
name: 'permissions',
|
|
15595
|
-
title: 'Permissions',
|
|
15596
|
-
defaultValue: '',
|
|
15597
|
-
interface: textAreaInterface,
|
|
15598
|
-
categoryIds: [findCategory$2('Access Control').id],
|
|
15599
|
-
categories: [findCategory$2('Access Control')],
|
|
15600
|
-
},
|
|
15601
|
-
// Document Management - Document Types
|
|
15602
|
-
{
|
|
15603
|
-
id: AXPDataGenerator.uuid(),
|
|
15604
|
-
name: 'document-type',
|
|
15605
|
-
title: 'Document Type',
|
|
15606
|
-
defaultValue: '',
|
|
15607
|
-
interface: {
|
|
15608
|
-
type: 'select-editor',
|
|
15609
|
-
options: {
|
|
15610
|
-
dataSource: [
|
|
15611
|
-
{ id: 'Report', title: 'Report' },
|
|
15612
|
-
{ id: 'Manual', title: 'Manual' },
|
|
15613
|
-
{ id: 'Policy', title: 'Policy' },
|
|
15614
|
-
{ id: 'Procedure', title: 'Procedure' },
|
|
15615
|
-
{ id: 'Form', title: 'Form' },
|
|
15616
|
-
{ id: 'Contract', title: 'Contract' },
|
|
15617
|
-
{ id: 'Specification', title: 'Specification' },
|
|
15618
|
-
],
|
|
15619
|
-
placeholder: 'Select document type',
|
|
15620
|
-
},
|
|
15621
|
-
},
|
|
15622
|
-
categoryIds: [findCategory$2('Document Types').id],
|
|
15623
|
-
categories: [findCategory$2('Document Types')],
|
|
15624
|
-
},
|
|
15625
|
-
{
|
|
15626
|
-
id: AXPDataGenerator.uuid(),
|
|
15627
|
-
name: 'document-category',
|
|
15628
|
-
title: 'Document Category',
|
|
15629
|
-
defaultValue: '',
|
|
15630
|
-
interface: {
|
|
15631
|
-
type: 'select-editor',
|
|
15632
|
-
options: {
|
|
15633
|
-
dataSource: [
|
|
15634
|
-
{ id: 'Technical', title: 'Technical' },
|
|
15635
|
-
{ id: 'Administrative', title: 'Administrative' },
|
|
15636
|
-
{ id: 'Legal', title: 'Legal' },
|
|
15637
|
-
{ id: 'Financial', title: 'Financial' },
|
|
15638
|
-
{ id: 'HR', title: 'HR' },
|
|
15639
|
-
{ id: 'Marketing', title: 'Marketing' },
|
|
15640
|
-
],
|
|
15641
|
-
placeholder: 'Select document category',
|
|
15642
|
-
},
|
|
15643
|
-
},
|
|
15644
|
-
categoryIds: [findCategory$2('Document Types').id],
|
|
15645
|
-
categories: [findCategory$2('Document Types')],
|
|
15646
|
-
},
|
|
15647
|
-
{
|
|
15648
|
-
id: AXPDataGenerator.uuid(),
|
|
15649
|
-
name: 'file-format',
|
|
15650
|
-
title: 'File Format',
|
|
15651
|
-
defaultValue: '',
|
|
15652
|
-
interface: {
|
|
15653
|
-
type: 'select-editor',
|
|
15654
|
-
options: {
|
|
15655
|
-
dataSource: [
|
|
15656
|
-
{ id: 'PDF', title: 'PDF' },
|
|
15657
|
-
{ id: 'DOCX', title: 'DOCX' },
|
|
15658
|
-
{ id: 'XLSX', title: 'XLSX' },
|
|
15659
|
-
{ id: 'PPTX', title: 'PPTX' },
|
|
15660
|
-
{ id: 'TXT', title: 'TXT' },
|
|
15661
|
-
{ id: 'HTML', title: 'HTML' },
|
|
15662
|
-
{ id: 'XML', title: 'XML' },
|
|
15663
|
-
{ id: 'JSON', title: 'JSON' },
|
|
15664
|
-
],
|
|
15665
|
-
placeholder: 'Select file format',
|
|
15666
|
-
},
|
|
15667
|
-
},
|
|
15668
|
-
categoryIds: [findCategory$2('Document Types').id],
|
|
15669
|
-
categories: [findCategory$2('Document Types')],
|
|
15670
|
-
},
|
|
15671
|
-
// Quality Control - Standards
|
|
15672
|
-
{
|
|
15673
|
-
id: AXPDataGenerator.uuid(),
|
|
15674
|
-
name: 'quality-standard',
|
|
15675
|
-
title: 'Quality Standard',
|
|
15676
|
-
defaultValue: '',
|
|
15677
|
-
interface: {
|
|
15678
|
-
type: 'select-editor',
|
|
15679
|
-
options: {
|
|
15680
|
-
dataSource: [
|
|
15681
|
-
{ id: 'ISO 9001', title: 'ISO 9001' },
|
|
15682
|
-
{ id: 'ISO 14001', title: 'ISO 14001' },
|
|
15683
|
-
{ id: 'ISO 27001', title: 'ISO 27001' },
|
|
15684
|
-
{ id: 'ISO 45001', title: 'ISO 45001' },
|
|
15685
|
-
{ id: 'Six Sigma', title: 'Six Sigma' },
|
|
15686
|
-
{ id: 'CMMI', title: 'CMMI' },
|
|
15687
|
-
],
|
|
15688
|
-
placeholder: 'Select quality standard',
|
|
15689
|
-
},
|
|
15690
|
-
},
|
|
15691
|
-
categoryIds: [findCategory$2('Standards').id],
|
|
15692
|
-
categories: [findCategory$2('Standards')],
|
|
15693
|
-
},
|
|
15694
|
-
{
|
|
15695
|
-
id: AXPDataGenerator.uuid(),
|
|
15696
|
-
name: 'compliance-level',
|
|
15697
|
-
title: 'Compliance Level',
|
|
15698
|
-
defaultValue: '',
|
|
15699
|
-
interface: {
|
|
15700
|
-
type: 'select-editor',
|
|
15701
|
-
options: {
|
|
15702
|
-
dataSource: [
|
|
15703
|
-
{ id: 'Level 1', title: 'Level 1 - Basic' },
|
|
15704
|
-
{ id: 'Level 2', title: 'Level 2 - Intermediate' },
|
|
15705
|
-
{ id: 'Level 3', title: 'Level 3 - Advanced' },
|
|
15706
|
-
{ id: 'Level 4', title: 'Level 4 - Expert' },
|
|
15707
|
-
{ id: 'Level 5', title: 'Level 5 - Master' },
|
|
15708
|
-
],
|
|
15709
|
-
placeholder: 'Select compliance level',
|
|
15710
|
-
},
|
|
15711
|
-
},
|
|
15712
|
-
categoryIds: [findCategory$2('Standards').id],
|
|
15713
|
-
categories: [findCategory$2('Standards')],
|
|
15714
|
-
},
|
|
15715
|
-
{
|
|
15716
|
-
id: AXPDataGenerator.uuid(),
|
|
15717
|
-
name: 'standard-version',
|
|
15718
|
-
title: 'Standard Version',
|
|
15719
|
-
defaultValue: '',
|
|
15720
|
-
interface: versionInterface,
|
|
15721
|
-
categoryIds: [findCategory$2('Standards').id],
|
|
15722
|
-
categories: [findCategory$2('Standards')],
|
|
15723
|
-
},
|
|
15724
|
-
// Quality Control - Testing
|
|
15725
|
-
{
|
|
15726
|
-
id: AXPDataGenerator.uuid(),
|
|
15727
|
-
name: 'test-status',
|
|
15728
|
-
title: 'Test Status',
|
|
15729
|
-
defaultValue: 'Pending',
|
|
15730
|
-
interface: {
|
|
15731
|
-
type: 'select-editor',
|
|
15732
|
-
options: {
|
|
15733
|
-
dataSource: [
|
|
15734
|
-
{ id: 'Pending', title: 'Pending' },
|
|
15735
|
-
{ id: 'In Progress', title: 'In Progress' },
|
|
15736
|
-
{ id: 'Passed', title: 'Passed' },
|
|
15737
|
-
{ id: 'Failed', title: 'Failed' },
|
|
15738
|
-
{ id: 'Blocked', title: 'Blocked' },
|
|
15739
|
-
{ id: 'Skipped', title: 'Skipped' },
|
|
15740
|
-
],
|
|
15741
|
-
placeholder: 'Select test status',
|
|
15742
|
-
},
|
|
15743
|
-
},
|
|
15744
|
-
categoryIds: [findCategory$2('Testing').id],
|
|
15745
|
-
categories: [findCategory$2('Testing')],
|
|
15746
|
-
},
|
|
15747
|
-
{
|
|
15748
|
-
id: AXPDataGenerator.uuid(),
|
|
15749
|
-
name: 'test-results',
|
|
15750
|
-
title: 'Test Results',
|
|
15751
|
-
defaultValue: '',
|
|
15752
|
-
interface: textAreaInterface,
|
|
15753
|
-
categoryIds: [findCategory$2('Testing').id],
|
|
15754
|
-
categories: [findCategory$2('Testing')],
|
|
15755
|
-
},
|
|
15756
|
-
{
|
|
15757
|
-
id: AXPDataGenerator.uuid(),
|
|
15758
|
-
name: 'test-date',
|
|
15759
|
-
title: 'Test Date',
|
|
15760
|
-
defaultValue: '',
|
|
15761
|
-
interface: dateInterface,
|
|
15762
|
-
categoryIds: [findCategory$2('Testing').id],
|
|
15763
|
-
categories: [findCategory$2('Testing')],
|
|
15764
|
-
},
|
|
15765
|
-
// Quality Control - Validation
|
|
15766
|
-
{
|
|
15767
|
-
id: AXPDataGenerator.uuid(),
|
|
15768
|
-
name: 'validation-status',
|
|
15769
|
-
title: 'Validation Status',
|
|
15770
|
-
defaultValue: 'Not Validated',
|
|
15771
|
-
interface: {
|
|
15772
|
-
type: 'select-editor',
|
|
15773
|
-
options: {
|
|
15774
|
-
dataSource: [
|
|
15775
|
-
{ id: 'Not Validated', title: 'Not Validated' },
|
|
15776
|
-
{ id: 'In Validation', title: 'In Validation' },
|
|
15777
|
-
{ id: 'Validated', title: 'Validated' },
|
|
15778
|
-
{ id: 'Validation Failed', title: 'Validation Failed' },
|
|
15779
|
-
{ id: 'Requires Review', title: 'Requires Review' },
|
|
15780
|
-
],
|
|
15781
|
-
placeholder: 'Select validation status',
|
|
15782
|
-
},
|
|
15783
|
-
},
|
|
15784
|
-
categoryIds: [findCategory$2('Validation').id],
|
|
15785
|
-
categories: [findCategory$2('Validation')],
|
|
15786
|
-
},
|
|
15787
|
-
{
|
|
15788
|
-
id: AXPDataGenerator.uuid(),
|
|
15789
|
-
name: 'validation-notes',
|
|
15790
|
-
title: 'Validation Notes',
|
|
15791
|
-
defaultValue: '',
|
|
15792
|
-
interface: textAreaInterface,
|
|
15793
|
-
categoryIds: [findCategory$2('Validation').id],
|
|
15794
|
-
categories: [findCategory$2('Validation')],
|
|
15795
|
-
},
|
|
15796
|
-
// Compliance - Regulations
|
|
15797
|
-
{
|
|
15798
|
-
id: AXPDataGenerator.uuid(),
|
|
15799
|
-
name: 'regulatory-framework',
|
|
15800
|
-
title: 'Regulatory Framework',
|
|
15801
|
-
defaultValue: '',
|
|
15802
|
-
interface: {
|
|
15803
|
-
type: 'select-editor',
|
|
15804
|
-
options: {
|
|
15805
|
-
dataSource: [
|
|
15806
|
-
{ id: 'GDPR', title: 'GDPR' },
|
|
15807
|
-
{ id: 'HIPAA', title: 'HIPAA' },
|
|
15808
|
-
{ id: 'SOX', title: 'SOX' },
|
|
15809
|
-
{ id: 'PCI DSS', title: 'PCI DSS' },
|
|
15810
|
-
{ id: 'FDA', title: 'FDA' },
|
|
15811
|
-
{ id: 'FCC', title: 'FCC' },
|
|
15812
|
-
{ id: 'EU Directives', title: 'EU Directives' },
|
|
15813
|
-
],
|
|
15814
|
-
placeholder: 'Select regulatory framework',
|
|
15815
|
-
},
|
|
15816
|
-
},
|
|
15817
|
-
categoryIds: [findCategory$2('Regulations').id],
|
|
15818
|
-
categories: [findCategory$2('Regulations')],
|
|
15819
|
-
},
|
|
15820
|
-
{
|
|
15821
|
-
id: AXPDataGenerator.uuid(),
|
|
15822
|
-
name: 'compliance-status',
|
|
15823
|
-
title: 'Compliance Status',
|
|
15824
|
-
defaultValue: 'Under Review',
|
|
15825
|
-
interface: {
|
|
15826
|
-
type: 'select-editor',
|
|
15827
|
-
options: {
|
|
15828
|
-
dataSource: [
|
|
15829
|
-
{ id: 'Under Review', title: 'Under Review' },
|
|
15830
|
-
{ id: 'Compliant', title: 'Compliant' },
|
|
15831
|
-
{ id: 'Non-Compliant', title: 'Non-Compliant' },
|
|
15832
|
-
{ id: 'Partially Compliant', title: 'Partially Compliant' },
|
|
15833
|
-
{ id: 'Exempt', title: 'Exempt' },
|
|
15834
|
-
],
|
|
15835
|
-
placeholder: 'Select compliance status',
|
|
15836
|
-
},
|
|
15837
|
-
},
|
|
15838
|
-
categoryIds: [findCategory$2('Regulations').id],
|
|
15839
|
-
categories: [findCategory$2('Regulations')],
|
|
15840
|
-
},
|
|
15841
|
-
{
|
|
15842
|
-
id: AXPDataGenerator.uuid(),
|
|
15843
|
-
name: 'regulation-reference',
|
|
15844
|
-
title: 'Regulation Reference',
|
|
15845
|
-
defaultValue: '',
|
|
15846
|
-
interface: textAreaInterface,
|
|
15847
|
-
categoryIds: [findCategory$2('Regulations').id],
|
|
15848
|
-
categories: [findCategory$2('Regulations')],
|
|
15849
|
-
},
|
|
15850
|
-
// Compliance - Audit Trail
|
|
15851
|
-
{
|
|
15852
|
-
id: AXPDataGenerator.uuid(),
|
|
15853
|
-
name: 'audit-trail',
|
|
15854
|
-
title: 'Audit Trail',
|
|
15855
|
-
defaultValue: '',
|
|
15856
|
-
interface: textAreaInterface,
|
|
15857
|
-
categoryIds: [findCategory$2('Audit Trail').id],
|
|
15858
|
-
categories: [findCategory$2('Audit Trail')],
|
|
15859
|
-
},
|
|
15860
|
-
{
|
|
15861
|
-
id: AXPDataGenerator.uuid(),
|
|
15862
|
-
name: 'audit-date',
|
|
15863
|
-
title: 'Audit Date',
|
|
15864
|
-
defaultValue: '',
|
|
15865
|
-
interface: dateInterface,
|
|
15866
|
-
categoryIds: [findCategory$2('Audit Trail').id],
|
|
15867
|
-
categories: [findCategory$2('Audit Trail')],
|
|
15868
|
-
},
|
|
15869
|
-
// Compliance - Certifications
|
|
15870
|
-
{
|
|
15871
|
-
id: AXPDataGenerator.uuid(),
|
|
15872
|
-
name: 'certification-type',
|
|
15873
|
-
title: 'Certification Type',
|
|
15874
|
-
defaultValue: '',
|
|
15875
|
-
interface: {
|
|
15876
|
-
type: 'select-editor',
|
|
15877
|
-
options: {
|
|
15878
|
-
dataSource: [
|
|
15879
|
-
{ id: 'ISO Certification', title: 'ISO Certification' },
|
|
15880
|
-
{ id: 'Industry Standard', title: 'Industry Standard' },
|
|
15881
|
-
{ id: 'Professional Certification', title: 'Professional Certification' },
|
|
15882
|
-
{ id: 'Product Certification', title: 'Product Certification' },
|
|
15883
|
-
{ id: 'Quality Certification', title: 'Quality Certification' },
|
|
15884
|
-
],
|
|
15885
|
-
placeholder: 'Select certification type',
|
|
15886
|
-
},
|
|
15887
|
-
},
|
|
15888
|
-
categoryIds: [findCategory$2('Certifications').id],
|
|
15889
|
-
categories: [findCategory$2('Certifications')],
|
|
15890
|
-
},
|
|
15891
|
-
{
|
|
15892
|
-
id: AXPDataGenerator.uuid(),
|
|
15893
|
-
name: 'certification-number',
|
|
15894
|
-
title: 'Certification Number',
|
|
15895
|
-
defaultValue: '',
|
|
15896
|
-
interface: textInterface,
|
|
15897
|
-
categoryIds: [findCategory$2('Certifications').id],
|
|
15898
|
-
categories: [findCategory$2('Certifications')],
|
|
15899
|
-
},
|
|
15900
|
-
{
|
|
15901
|
-
id: AXPDataGenerator.uuid(),
|
|
15902
|
-
name: 'certification-expiry',
|
|
15903
|
-
title: 'Certification Expiry',
|
|
15904
|
-
defaultValue: '',
|
|
15905
|
-
interface: dateInterface,
|
|
15906
|
-
categoryIds: [findCategory$2('Certifications').id],
|
|
15907
|
-
categories: [findCategory$2('Certifications')],
|
|
15908
|
-
},
|
|
15909
|
-
// Project Management - Planning
|
|
15910
|
-
{
|
|
15911
|
-
id: AXPDataGenerator.uuid(),
|
|
15912
|
-
name: 'project-phase',
|
|
15913
|
-
title: 'Project Phase',
|
|
15914
|
-
defaultValue: 'Planning',
|
|
15915
|
-
interface: {
|
|
15916
|
-
type: 'select-editor',
|
|
15917
|
-
options: {
|
|
15918
|
-
dataSource: [
|
|
15919
|
-
{ id: 'Planning', title: 'Planning' },
|
|
15920
|
-
{ id: 'Initiation', title: 'Initiation' },
|
|
15921
|
-
{ id: 'Execution', title: 'Execution' },
|
|
15922
|
-
{ id: 'Monitoring', title: 'Monitoring' },
|
|
15923
|
-
{ id: 'Closing', title: 'Closing' },
|
|
15924
|
-
],
|
|
15925
|
-
placeholder: 'Select project phase',
|
|
15926
|
-
},
|
|
15927
|
-
},
|
|
15928
|
-
categoryIds: [findCategory$2('Planning').id],
|
|
15929
|
-
categories: [findCategory$2('Planning')],
|
|
15930
|
-
},
|
|
15931
|
-
{
|
|
15932
|
-
id: AXPDataGenerator.uuid(),
|
|
15933
|
-
name: 'project-milestone',
|
|
15934
|
-
title: 'Project Milestone',
|
|
15935
|
-
defaultValue: '',
|
|
15936
|
-
interface: textAreaInterface,
|
|
15937
|
-
categoryIds: [findCategory$2('Planning').id],
|
|
15938
|
-
categories: [findCategory$2('Planning')],
|
|
15939
|
-
},
|
|
15940
|
-
{
|
|
15941
|
-
id: AXPDataGenerator.uuid(),
|
|
15942
|
-
name: 'project-objectives',
|
|
15943
|
-
title: 'Project Objectives',
|
|
15944
|
-
defaultValue: '',
|
|
15945
|
-
interface: textAreaInterface,
|
|
15946
|
-
categoryIds: [findCategory$2('Planning').id],
|
|
15947
|
-
categories: [findCategory$2('Planning')],
|
|
15948
|
-
},
|
|
15949
|
-
// Project Management - Resources
|
|
15950
|
-
{
|
|
15951
|
-
id: AXPDataGenerator.uuid(),
|
|
15952
|
-
name: 'resource-allocation',
|
|
15953
|
-
title: 'Resource Allocation',
|
|
15954
|
-
defaultValue: '',
|
|
15955
|
-
interface: textAreaInterface,
|
|
15956
|
-
categoryIds: [findCategory$2('Resources').id],
|
|
15957
|
-
categories: [findCategory$2('Resources')],
|
|
15958
|
-
},
|
|
15959
|
-
{
|
|
15960
|
-
id: AXPDataGenerator.uuid(),
|
|
15961
|
-
name: 'budget',
|
|
15962
|
-
title: 'Budget',
|
|
15963
|
-
defaultValue: '',
|
|
15964
|
-
interface: numberInterface,
|
|
15965
|
-
categoryIds: [findCategory$2('Resources').id],
|
|
15966
|
-
categories: [findCategory$2('Resources')],
|
|
15967
|
-
},
|
|
15968
|
-
{
|
|
15969
|
-
id: AXPDataGenerator.uuid(),
|
|
15970
|
-
name: 'team-members',
|
|
15971
|
-
title: 'Team Members',
|
|
15972
|
-
defaultValue: '',
|
|
15973
|
-
interface: textAreaInterface,
|
|
15974
|
-
categoryIds: [findCategory$2('Resources').id],
|
|
15975
|
-
categories: [findCategory$2('Resources')],
|
|
15976
|
-
},
|
|
15977
|
-
// Project Management - Timeline
|
|
15978
|
-
{
|
|
15979
|
-
id: AXPDataGenerator.uuid(),
|
|
15980
|
-
name: 'start-date',
|
|
15981
|
-
title: 'Start Date',
|
|
15982
|
-
defaultValue: '',
|
|
15983
|
-
interface: dateInterface,
|
|
15984
|
-
categoryIds: [findCategory$2('Timeline').id],
|
|
15985
|
-
categories: [findCategory$2('Timeline')],
|
|
15986
|
-
},
|
|
15987
|
-
{
|
|
15988
|
-
id: AXPDataGenerator.uuid(),
|
|
15989
|
-
name: 'end-date',
|
|
15990
|
-
title: 'End Date',
|
|
15991
|
-
defaultValue: '',
|
|
15992
|
-
interface: dateInterface,
|
|
15993
|
-
categoryIds: [findCategory$2('Timeline').id],
|
|
15994
|
-
categories: [findCategory$2('Timeline')],
|
|
15995
|
-
},
|
|
15996
|
-
{
|
|
15997
|
-
id: AXPDataGenerator.uuid(),
|
|
15998
|
-
name: 'deadline',
|
|
15999
|
-
title: 'Deadline',
|
|
16000
|
-
defaultValue: '',
|
|
16001
|
-
interface: dateInterface,
|
|
16002
|
-
categoryIds: [findCategory$2('Timeline').id],
|
|
16003
|
-
categories: [findCategory$2('Timeline')],
|
|
16004
|
-
},
|
|
16005
|
-
// Electronics & Appliances - Mobile Phones & Tablets
|
|
16006
|
-
{
|
|
16007
|
-
id: AXPDataGenerator.uuid(),
|
|
16008
|
-
name: 'screen-size',
|
|
16009
|
-
title: 'Screen Size',
|
|
16010
|
-
defaultValue: '',
|
|
16011
|
-
interface: textInterface,
|
|
16012
|
-
categoryIds: [findCategory$2('Mobile Phones & Tablets').id],
|
|
16013
|
-
categories: [findCategory$2('Mobile Phones & Tablets')],
|
|
16014
|
-
},
|
|
16015
|
-
{
|
|
16016
|
-
id: AXPDataGenerator.uuid(),
|
|
16017
|
-
name: 'operating-system',
|
|
16018
|
-
title: 'Operating System',
|
|
16019
|
-
defaultValue: '',
|
|
16020
|
-
interface: {
|
|
16021
|
-
type: 'select-editor',
|
|
16022
|
-
options: {
|
|
16023
|
-
dataSource: [
|
|
16024
|
-
{ id: 'Android', title: 'Android' },
|
|
16025
|
-
{ id: 'iOS', title: 'iOS' },
|
|
16026
|
-
{ id: 'Windows', title: 'Windows' },
|
|
16027
|
-
{ id: 'HarmonyOS', title: 'HarmonyOS' },
|
|
16028
|
-
],
|
|
16029
|
-
placeholder: 'Select operating system',
|
|
16030
|
-
},
|
|
16031
|
-
},
|
|
16032
|
-
categoryIds: [findCategory$2('Mobile Phones & Tablets').id],
|
|
16033
|
-
categories: [findCategory$2('Mobile Phones & Tablets')],
|
|
16034
|
-
},
|
|
16035
|
-
{
|
|
16036
|
-
id: AXPDataGenerator.uuid(),
|
|
16037
|
-
name: 'storage-capacity',
|
|
16038
|
-
title: 'Storage Capacity',
|
|
16039
|
-
defaultValue: '',
|
|
16040
|
-
interface: {
|
|
16041
|
-
type: 'select-editor',
|
|
16042
|
-
options: {
|
|
16043
|
-
dataSource: [
|
|
16044
|
-
{ id: '32GB', title: '32 GB' },
|
|
16045
|
-
{ id: '64GB', title: '64 GB' },
|
|
16046
|
-
{ id: '128GB', title: '128 GB' },
|
|
16047
|
-
{ id: '256GB', title: '256 GB' },
|
|
16048
|
-
{ id: '512GB', title: '512 GB' },
|
|
16049
|
-
{ id: '1TB', title: '1 TB' },
|
|
16050
|
-
],
|
|
16051
|
-
placeholder: 'Select storage capacity',
|
|
16052
|
-
},
|
|
16053
|
-
},
|
|
16054
|
-
categoryIds: [findCategory$2('Mobile Phones & Tablets').id],
|
|
16055
|
-
categories: [findCategory$2('Mobile Phones & Tablets')],
|
|
16056
|
-
},
|
|
16057
|
-
{
|
|
16058
|
-
id: AXPDataGenerator.uuid(),
|
|
16059
|
-
name: 'ram',
|
|
16060
|
-
title: 'RAM',
|
|
16061
|
-
defaultValue: '',
|
|
16062
|
-
interface: {
|
|
16063
|
-
type: 'select-editor',
|
|
16064
|
-
options: {
|
|
16065
|
-
dataSource: [
|
|
16066
|
-
{ id: '2GB', title: '2 GB' },
|
|
16067
|
-
{ id: '3GB', title: '3 GB' },
|
|
16068
|
-
{ id: '4GB', title: '4 GB' },
|
|
16069
|
-
{ id: '6GB', title: '6 GB' },
|
|
16070
|
-
{ id: '8GB', title: '8 GB' },
|
|
16071
|
-
{ id: '12GB', title: '12 GB' },
|
|
16072
|
-
{ id: '16GB', title: '16 GB' },
|
|
16073
|
-
],
|
|
16074
|
-
placeholder: 'Select RAM',
|
|
16075
|
-
},
|
|
16076
|
-
},
|
|
16077
|
-
categoryIds: [findCategory$2('Mobile Phones & Tablets').id],
|
|
16078
|
-
categories: [findCategory$2('Mobile Phones & Tablets')],
|
|
16079
|
-
},
|
|
16080
|
-
{
|
|
16081
|
-
id: AXPDataGenerator.uuid(),
|
|
16082
|
-
name: 'battery-capacity',
|
|
16083
|
-
title: 'Battery Capacity',
|
|
16084
|
-
defaultValue: '',
|
|
16085
|
-
interface: textInterface,
|
|
16086
|
-
categoryIds: [findCategory$2('Mobile Phones & Tablets').id],
|
|
16087
|
-
categories: [findCategory$2('Mobile Phones & Tablets')],
|
|
16088
|
-
},
|
|
16089
|
-
{
|
|
16090
|
-
id: AXPDataGenerator.uuid(),
|
|
16091
|
-
name: 'camera-resolution',
|
|
16092
|
-
title: 'Camera Resolution',
|
|
16093
|
-
defaultValue: '',
|
|
16094
|
-
interface: textInterface,
|
|
16095
|
-
categoryIds: [findCategory$2('Mobile Phones & Tablets').id],
|
|
16096
|
-
categories: [findCategory$2('Mobile Phones & Tablets')],
|
|
16097
|
-
},
|
|
16098
|
-
// Electronics & Appliances - Laptops & Computers
|
|
16099
|
-
{
|
|
16100
|
-
id: AXPDataGenerator.uuid(),
|
|
16101
|
-
name: 'processor',
|
|
16102
|
-
title: 'Processor',
|
|
16103
|
-
defaultValue: '',
|
|
16104
|
-
interface: textInterface,
|
|
16105
|
-
categoryIds: [findCategory$2('Laptops & Computers').id],
|
|
16106
|
-
categories: [findCategory$2('Laptops & Computers')],
|
|
16107
|
-
},
|
|
16108
|
-
{
|
|
16109
|
-
id: AXPDataGenerator.uuid(),
|
|
16110
|
-
name: 'memory',
|
|
16111
|
-
title: 'Memory (RAM)',
|
|
16112
|
-
defaultValue: '',
|
|
16113
|
-
interface: {
|
|
16114
|
-
type: 'select-editor',
|
|
16115
|
-
options: {
|
|
16116
|
-
dataSource: [
|
|
16117
|
-
{ id: '4GB', title: '4 GB' },
|
|
16118
|
-
{ id: '8GB', title: '8 GB' },
|
|
16119
|
-
{ id: '16GB', title: '16 GB' },
|
|
16120
|
-
{ id: '32GB', title: '32 GB' },
|
|
16121
|
-
{ id: '64GB', title: '64 GB' },
|
|
16122
|
-
],
|
|
16123
|
-
placeholder: 'Select memory (RAM)',
|
|
16124
|
-
},
|
|
16125
|
-
},
|
|
16126
|
-
categoryIds: [findCategory$2('Laptops & Computers').id],
|
|
16127
|
-
categories: [findCategory$2('Laptops & Computers')],
|
|
16128
|
-
},
|
|
16129
|
-
{
|
|
16130
|
-
id: AXPDataGenerator.uuid(),
|
|
16131
|
-
name: 'hard-drive',
|
|
16132
|
-
title: 'Hard Drive',
|
|
16133
|
-
defaultValue: '',
|
|
16134
|
-
interface: {
|
|
16135
|
-
type: 'select-editor',
|
|
16136
|
-
options: {
|
|
16137
|
-
dataSource: [
|
|
16138
|
-
{ id: '256GB SSD', title: '256 GB SSD' },
|
|
16139
|
-
{ id: '512GB SSD', title: '512 GB SSD' },
|
|
16140
|
-
{ id: '1TB SSD', title: '1 TB SSD' },
|
|
16141
|
-
{ id: '2TB SSD', title: '2 TB SSD' },
|
|
16142
|
-
{ id: '500GB HDD', title: '500 GB HDD' },
|
|
16143
|
-
{ id: '1TB HDD', title: '1 TB HDD' },
|
|
16144
|
-
{ id: '2TB HDD', title: '2 TB HDD' },
|
|
16145
|
-
],
|
|
16146
|
-
placeholder: 'Select hard drive',
|
|
16147
|
-
},
|
|
16148
|
-
},
|
|
16149
|
-
categoryIds: [findCategory$2('Laptops & Computers').id],
|
|
16150
|
-
categories: [findCategory$2('Laptops & Computers')],
|
|
16151
|
-
},
|
|
16152
|
-
{
|
|
16153
|
-
id: AXPDataGenerator.uuid(),
|
|
16154
|
-
name: 'graphics-card',
|
|
16155
|
-
title: 'Graphics Card',
|
|
16156
|
-
defaultValue: '',
|
|
16157
|
-
interface: textInterface,
|
|
16158
|
-
categoryIds: [findCategory$2('Laptops & Computers').id],
|
|
16159
|
-
categories: [findCategory$2('Laptops & Computers')],
|
|
16160
|
-
},
|
|
16161
|
-
{
|
|
16162
|
-
id: AXPDataGenerator.uuid(),
|
|
16163
|
-
name: 'display-size',
|
|
16164
|
-
title: 'Display Size',
|
|
16165
|
-
defaultValue: '',
|
|
16166
|
-
interface: textInterface,
|
|
16167
|
-
categoryIds: [findCategory$2('Laptops & Computers').id],
|
|
16168
|
-
categories: [findCategory$2('Laptops & Computers')],
|
|
16169
|
-
},
|
|
16170
|
-
{
|
|
16171
|
-
id: AXPDataGenerator.uuid(),
|
|
16172
|
-
name: 'weight',
|
|
16173
|
-
title: 'Weight',
|
|
16174
|
-
defaultValue: '',
|
|
16175
|
-
interface: numberInterface,
|
|
16176
|
-
categoryIds: [findCategory$2('Laptops & Computers').id],
|
|
16177
|
-
categories: [findCategory$2('Laptops & Computers')],
|
|
16178
|
-
},
|
|
16179
|
-
// Electronics & Appliances - Monitors
|
|
16180
|
-
{
|
|
16181
|
-
id: AXPDataGenerator.uuid(),
|
|
16182
|
-
name: 'monitor-size',
|
|
16183
|
-
title: 'Monitor Size',
|
|
16184
|
-
defaultValue: '',
|
|
16185
|
-
interface: textInterface,
|
|
16186
|
-
categoryIds: [findCategory$2('Monitors').id],
|
|
16187
|
-
categories: [findCategory$2('Monitors')],
|
|
16188
|
-
},
|
|
16189
|
-
{
|
|
16190
|
-
id: AXPDataGenerator.uuid(),
|
|
16191
|
-
name: 'resolution',
|
|
16192
|
-
title: 'Resolution',
|
|
16193
|
-
defaultValue: '',
|
|
16194
|
-
interface: {
|
|
16195
|
-
type: 'select-editor',
|
|
16196
|
-
options: {
|
|
16197
|
-
dataSource: [
|
|
16198
|
-
{ id: '1920x1080', title: '1920x1080 (Full HD)' },
|
|
16199
|
-
{ id: '2560x1440', title: '2560x1440 (QHD)' },
|
|
16200
|
-
{ id: '3840x2160', title: '3840x2160 (4K UHD)' },
|
|
16201
|
-
{ id: '5120x2880', title: '5120x2880 (5K)' },
|
|
16202
|
-
{ id: '7680x4320', title: '7680x4320 (8K UHD)' },
|
|
16203
|
-
],
|
|
16204
|
-
placeholder: 'Select resolution',
|
|
16205
|
-
},
|
|
16206
|
-
},
|
|
16207
|
-
categoryIds: [findCategory$2('Monitors').id],
|
|
16208
|
-
categories: [findCategory$2('Monitors')],
|
|
16209
|
-
},
|
|
16210
|
-
{
|
|
16211
|
-
id: AXPDataGenerator.uuid(),
|
|
16212
|
-
name: 'refresh-rate',
|
|
16213
|
-
title: 'Refresh Rate',
|
|
16214
|
-
defaultValue: '',
|
|
16215
|
-
interface: textInterface,
|
|
16216
|
-
categoryIds: [findCategory$2('Monitors').id],
|
|
16217
|
-
categories: [findCategory$2('Monitors')],
|
|
16218
|
-
},
|
|
16219
|
-
{
|
|
16220
|
-
id: AXPDataGenerator.uuid(),
|
|
16221
|
-
name: 'panel-type',
|
|
16222
|
-
title: 'Panel Type',
|
|
16223
|
-
defaultValue: '',
|
|
16224
|
-
interface: {
|
|
16225
|
-
type: 'select-editor',
|
|
16226
|
-
options: {
|
|
16227
|
-
dataSource: [
|
|
16228
|
-
{ id: 'IPS', title: 'IPS' },
|
|
16229
|
-
{ id: 'VA', title: 'VA' },
|
|
16230
|
-
{ id: 'TN', title: 'TN' },
|
|
16231
|
-
{ id: 'OLED', title: 'OLED' },
|
|
16232
|
-
{ id: 'QLED', title: 'QLED' },
|
|
16233
|
-
],
|
|
16234
|
-
placeholder: 'Select panel type',
|
|
16235
|
-
},
|
|
16236
|
-
},
|
|
16237
|
-
categoryIds: [findCategory$2('Monitors').id],
|
|
16238
|
-
categories: [findCategory$2('Monitors')],
|
|
16239
|
-
},
|
|
16240
|
-
{
|
|
16241
|
-
id: AXPDataGenerator.uuid(),
|
|
16242
|
-
name: 'connectivity',
|
|
16243
|
-
title: 'Connectivity',
|
|
16244
|
-
defaultValue: '',
|
|
16245
|
-
interface: textAreaInterface,
|
|
16246
|
-
categoryIds: [findCategory$2('Monitors').id],
|
|
16247
|
-
categories: [findCategory$2('Monitors')],
|
|
16248
|
-
},
|
|
16249
|
-
// Electronics & Appliances - Accessories (Cables, Chargers, Cases…)
|
|
16250
|
-
{
|
|
16251
|
-
id: AXPDataGenerator.uuid(),
|
|
16252
|
-
name: 'accessory-type',
|
|
16253
|
-
title: 'Accessory Type',
|
|
16254
|
-
defaultValue: '',
|
|
16255
|
-
interface: {
|
|
16256
|
-
type: 'select-editor',
|
|
16257
|
-
options: {
|
|
16258
|
-
dataSource: [
|
|
16259
|
-
{ id: 'Cable', title: 'Cable' },
|
|
16260
|
-
{ id: 'Charger', title: 'Charger' },
|
|
16261
|
-
{ id: 'Case', title: 'Case' },
|
|
16262
|
-
{ id: 'Screen Protector', title: 'Screen Protector' },
|
|
16263
|
-
{ id: 'Stand', title: 'Stand' },
|
|
16264
|
-
{ id: 'Adapter', title: 'Adapter' },
|
|
16265
|
-
{ id: 'Dock', title: 'Dock' },
|
|
16266
|
-
],
|
|
16267
|
-
placeholder: 'Select accessory type',
|
|
16268
|
-
},
|
|
16269
|
-
},
|
|
16270
|
-
categoryIds: [findCategory$2('Accessories (Cables, Chargers, Cases…)').id],
|
|
16271
|
-
categories: [findCategory$2('Accessories (Cables, Chargers, Cases…)')],
|
|
16272
|
-
},
|
|
16273
|
-
{
|
|
16274
|
-
id: AXPDataGenerator.uuid(),
|
|
16275
|
-
name: 'compatibility',
|
|
16276
|
-
title: 'Compatibility',
|
|
16277
|
-
defaultValue: '',
|
|
16278
|
-
interface: textAreaInterface,
|
|
16279
|
-
categoryIds: [findCategory$2('Accessories (Cables, Chargers, Cases…)').id],
|
|
16280
|
-
categories: [findCategory$2('Accessories (Cables, Chargers, Cases…)')],
|
|
16281
|
-
},
|
|
16282
|
-
{
|
|
16283
|
-
id: AXPDataGenerator.uuid(),
|
|
16284
|
-
name: 'cable-length',
|
|
16285
|
-
title: 'Cable Length',
|
|
16286
|
-
defaultValue: '',
|
|
16287
|
-
interface: textInterface,
|
|
16288
|
-
categoryIds: [findCategory$2('Accessories (Cables, Chargers, Cases…)').id],
|
|
16289
|
-
categories: [findCategory$2('Accessories (Cables, Chargers, Cases…)')],
|
|
16290
|
-
},
|
|
16291
|
-
{
|
|
16292
|
-
id: AXPDataGenerator.uuid(),
|
|
16293
|
-
name: 'power-output',
|
|
16294
|
-
title: 'Power Output',
|
|
16295
|
-
defaultValue: '',
|
|
16296
|
-
interface: textInterface,
|
|
16297
|
-
categoryIds: [findCategory$2('Accessories (Cables, Chargers, Cases…)').id],
|
|
16298
|
-
categories: [findCategory$2('Accessories (Cables, Chargers, Cases…)')],
|
|
16299
|
-
},
|
|
16300
|
-
{
|
|
16301
|
-
id: AXPDataGenerator.uuid(),
|
|
16302
|
-
name: 'material',
|
|
16303
|
-
title: 'Material',
|
|
16304
|
-
defaultValue: '',
|
|
16305
|
-
interface: {
|
|
16306
|
-
type: 'select-editor',
|
|
16307
|
-
options: {
|
|
16308
|
-
dataSource: [
|
|
16309
|
-
{ id: 'Silicone', title: 'Silicone' },
|
|
16310
|
-
{ id: 'Leather', title: 'Leather' },
|
|
16311
|
-
{ id: 'Plastic', title: 'Plastic' },
|
|
16312
|
-
{ id: 'Metal', title: 'Metal' },
|
|
16313
|
-
{ id: 'Fabric', title: 'Fabric' },
|
|
16314
|
-
{ id: 'TPU', title: 'TPU' },
|
|
16315
|
-
{ id: 'Carbon Fiber', title: 'Carbon Fiber' },
|
|
16316
|
-
],
|
|
16317
|
-
placeholder: 'Select material',
|
|
16318
|
-
},
|
|
16319
|
-
},
|
|
16320
|
-
categoryIds: [findCategory$2('Accessories (Cables, Chargers, Cases…)').id],
|
|
16321
|
-
categories: [findCategory$2('Accessories (Cables, Chargers, Cases…)')],
|
|
16322
|
-
},
|
|
16323
|
-
// Electronics & Appliances - Home Appliances
|
|
16324
|
-
{
|
|
16325
|
-
id: AXPDataGenerator.uuid(),
|
|
16326
|
-
name: 'appliance-type',
|
|
16327
|
-
title: 'Appliance Type',
|
|
16328
|
-
defaultValue: '',
|
|
16329
|
-
interface: {
|
|
16330
|
-
type: 'select-editor',
|
|
16331
|
-
options: {
|
|
16332
|
-
dataSource: [
|
|
16333
|
-
{ id: 'Refrigerator', title: 'Refrigerator' },
|
|
16334
|
-
{ id: 'Washing Machine', title: 'Washing Machine' },
|
|
16335
|
-
{ id: 'Dishwasher', title: 'Dishwasher' },
|
|
16336
|
-
{ id: 'Oven', title: 'Oven' },
|
|
16337
|
-
{ id: 'Microwave', title: 'Microwave' },
|
|
16338
|
-
{ id: 'Air Conditioner', title: 'Air Conditioner' },
|
|
16339
|
-
{ id: 'Vacuum Cleaner', title: 'Vacuum Cleaner' },
|
|
16340
|
-
],
|
|
16341
|
-
placeholder: 'Select appliance type',
|
|
16342
|
-
},
|
|
16343
|
-
},
|
|
16344
|
-
categoryIds: [findCategory$2('Home Appliances').id],
|
|
16345
|
-
categories: [findCategory$2('Home Appliances')],
|
|
16346
|
-
},
|
|
16347
|
-
{
|
|
16348
|
-
id: AXPDataGenerator.uuid(),
|
|
16349
|
-
name: 'energy-rating',
|
|
16350
|
-
title: 'Energy Rating',
|
|
16351
|
-
defaultValue: '',
|
|
16352
|
-
interface: {
|
|
16353
|
-
type: 'select-editor',
|
|
16354
|
-
options: {
|
|
16355
|
-
dataSource: [
|
|
16356
|
-
{ id: 'A+++', title: 'A+++' },
|
|
16357
|
-
{ id: 'A++', title: 'A++' },
|
|
16358
|
-
{ id: 'A+', title: 'A+' },
|
|
16359
|
-
{ id: 'A', title: 'A' },
|
|
16360
|
-
{ id: 'B', title: 'B' },
|
|
16361
|
-
{ id: 'C', title: 'C' },
|
|
16362
|
-
{ id: 'D', title: 'D' },
|
|
16363
|
-
],
|
|
16364
|
-
placeholder: 'Select energy rating',
|
|
16365
|
-
},
|
|
16366
|
-
},
|
|
16367
|
-
categoryIds: [findCategory$2('Home Appliances').id],
|
|
16368
|
-
categories: [findCategory$2('Home Appliances')],
|
|
16369
|
-
},
|
|
16370
|
-
{
|
|
16371
|
-
id: AXPDataGenerator.uuid(),
|
|
16372
|
-
name: 'capacity',
|
|
16373
|
-
title: 'Capacity',
|
|
16374
|
-
defaultValue: '',
|
|
16375
|
-
interface: textInterface,
|
|
16376
|
-
categoryIds: [findCategory$2('Home Appliances').id],
|
|
16377
|
-
categories: [findCategory$2('Home Appliances')],
|
|
16378
|
-
},
|
|
16379
|
-
{
|
|
16380
|
-
id: AXPDataGenerator.uuid(),
|
|
16381
|
-
name: 'power-consumption',
|
|
16382
|
-
title: 'Power Consumption',
|
|
16383
|
-
defaultValue: '',
|
|
16384
|
-
interface: textInterface,
|
|
16385
|
-
categoryIds: [findCategory$2('Home Appliances').id],
|
|
16386
|
-
categories: [findCategory$2('Home Appliances')],
|
|
16387
|
-
},
|
|
16388
|
-
{
|
|
16389
|
-
id: AXPDataGenerator.uuid(),
|
|
16390
|
-
name: 'dimensions',
|
|
16391
|
-
title: 'Dimensions',
|
|
16392
|
-
defaultValue: '',
|
|
16393
|
-
interface: textInterface,
|
|
16394
|
-
categoryIds: [findCategory$2('Home Appliances').id],
|
|
16395
|
-
categories: [findCategory$2('Home Appliances')],
|
|
16396
|
-
},
|
|
16397
|
-
{
|
|
16398
|
-
id: AXPDataGenerator.uuid(),
|
|
16399
|
-
name: 'features',
|
|
16400
|
-
title: 'Features',
|
|
16401
|
-
defaultValue: '',
|
|
16402
|
-
interface: textAreaInterface,
|
|
16403
|
-
categoryIds: [findCategory$2('Home Appliances').id],
|
|
16404
|
-
categories: [findCategory$2('Home Appliances')],
|
|
16405
|
-
},
|
|
16406
|
-
// Electronics & Appliances - Audio & Video
|
|
16407
|
-
{
|
|
16408
|
-
id: AXPDataGenerator.uuid(),
|
|
16409
|
-
name: 'audio-video-type',
|
|
16410
|
-
title: 'Audio/Video Type',
|
|
16411
|
-
defaultValue: '',
|
|
16412
|
-
interface: {
|
|
16413
|
-
type: 'select-editor',
|
|
16414
|
-
options: {
|
|
16415
|
-
dataSource: [
|
|
16416
|
-
{ id: 'Headphones', title: 'Headphones' },
|
|
16417
|
-
{ id: 'Speakers', title: 'Speakers' },
|
|
16418
|
-
{ id: 'Soundbar', title: 'Soundbar' },
|
|
16419
|
-
{ id: 'TV', title: 'TV' },
|
|
16420
|
-
{ id: 'Projector', title: 'Projector' },
|
|
16421
|
-
{ id: 'Home Theater', title: 'Home Theater' },
|
|
16422
|
-
{ id: 'Microphone', title: 'Microphone' },
|
|
16423
|
-
],
|
|
16424
|
-
placeholder: 'Select audio/video type',
|
|
16425
|
-
},
|
|
16426
|
-
},
|
|
16427
|
-
categoryIds: [findCategory$2('Audio & Video').id],
|
|
16428
|
-
categories: [findCategory$2('Audio & Video')],
|
|
16429
|
-
},
|
|
16430
|
-
{
|
|
16431
|
-
id: AXPDataGenerator.uuid(),
|
|
16432
|
-
name: 'audio-output',
|
|
16433
|
-
title: 'Audio Output',
|
|
16434
|
-
defaultValue: '',
|
|
16435
|
-
interface: textInterface,
|
|
16436
|
-
categoryIds: [findCategory$2('Audio & Video').id],
|
|
16437
|
-
categories: [findCategory$2('Audio & Video')],
|
|
16438
|
-
},
|
|
16439
|
-
{
|
|
16440
|
-
id: AXPDataGenerator.uuid(),
|
|
16441
|
-
name: 'video-resolution',
|
|
16442
|
-
title: 'Video Resolution',
|
|
16443
|
-
defaultValue: '',
|
|
16444
|
-
interface: {
|
|
16445
|
-
type: 'select-editor',
|
|
16446
|
-
options: {
|
|
16447
|
-
dataSource: [
|
|
16448
|
-
{ id: '720p', title: '720p (HD)' },
|
|
16449
|
-
{ id: '1080p', title: '1080p (Full HD)' },
|
|
16450
|
-
{ id: '1440p', title: '1440p (QHD)' },
|
|
16451
|
-
{ id: '2160p', title: '2160p (4K UHD)' },
|
|
16452
|
-
{ id: '4320p', title: '4320p (8K UHD)' },
|
|
16453
|
-
],
|
|
16454
|
-
placeholder: 'Select video resolution',
|
|
16455
|
-
},
|
|
16456
|
-
},
|
|
16457
|
-
categoryIds: [findCategory$2('Audio & Video').id],
|
|
16458
|
-
categories: [findCategory$2('Audio & Video')],
|
|
16459
|
-
},
|
|
16460
|
-
{
|
|
16461
|
-
id: AXPDataGenerator.uuid(),
|
|
16462
|
-
name: 'connectivity-options',
|
|
16463
|
-
title: 'Connectivity Options',
|
|
16464
|
-
defaultValue: '',
|
|
16465
|
-
interface: textAreaInterface,
|
|
16466
|
-
categoryIds: [findCategory$2('Audio & Video').id],
|
|
16467
|
-
categories: [findCategory$2('Audio & Video')],
|
|
16468
|
-
},
|
|
16469
|
-
{
|
|
16470
|
-
id: AXPDataGenerator.uuid(),
|
|
16471
|
-
name: 'frequency-response',
|
|
16472
|
-
title: 'Frequency Response',
|
|
16473
|
-
defaultValue: '',
|
|
16474
|
-
interface: textInterface,
|
|
16475
|
-
categoryIds: [findCategory$2('Audio & Video').id],
|
|
16476
|
-
categories: [findCategory$2('Audio & Video')],
|
|
16477
|
-
},
|
|
16478
|
-
{
|
|
16479
|
-
id: AXPDataGenerator.uuid(),
|
|
16480
|
-
name: 'wattage',
|
|
16481
|
-
title: 'Wattage',
|
|
16482
|
-
defaultValue: '',
|
|
16483
|
-
interface: numberInterface,
|
|
16484
|
-
categoryIds: [findCategory$2('Audio & Video').id],
|
|
16485
|
-
categories: [findCategory$2('Audio & Video')],
|
|
16486
|
-
},
|
|
16487
|
-
// Electronics & Appliances - Cameras
|
|
16488
|
-
{
|
|
16489
|
-
id: AXPDataGenerator.uuid(),
|
|
16490
|
-
name: 'camera-type',
|
|
16491
|
-
title: 'Camera Type',
|
|
16492
|
-
defaultValue: '',
|
|
16493
|
-
interface: {
|
|
16494
|
-
type: 'select-editor',
|
|
16495
|
-
options: {
|
|
16496
|
-
dataSource: [
|
|
16497
|
-
{ id: 'DSLR', title: 'DSLR' },
|
|
16498
|
-
{ id: 'Mirrorless', title: 'Mirrorless' },
|
|
16499
|
-
{ id: 'Point and Shoot', title: 'Point and Shoot' },
|
|
16500
|
-
{ id: 'Action Camera', title: 'Action Camera' },
|
|
16501
|
-
{ id: 'Instant Camera', title: 'Instant Camera' },
|
|
16502
|
-
{ id: 'Film Camera', title: 'Film Camera' },
|
|
16503
|
-
],
|
|
16504
|
-
placeholder: 'Select camera type',
|
|
16505
|
-
},
|
|
16506
|
-
},
|
|
16507
|
-
categoryIds: [findCategory$2('Cameras').id],
|
|
16508
|
-
categories: [findCategory$2('Cameras')],
|
|
16509
|
-
},
|
|
16510
|
-
{
|
|
16511
|
-
id: AXPDataGenerator.uuid(),
|
|
16512
|
-
name: 'megapixels',
|
|
16513
|
-
title: 'Megapixels',
|
|
16514
|
-
defaultValue: '',
|
|
16515
|
-
interface: numberInterface,
|
|
16516
|
-
categoryIds: [findCategory$2('Cameras').id],
|
|
16517
|
-
categories: [findCategory$2('Cameras')],
|
|
16518
|
-
},
|
|
16519
|
-
{
|
|
16520
|
-
id: AXPDataGenerator.uuid(),
|
|
16521
|
-
name: 'sensor-size',
|
|
16522
|
-
title: 'Sensor Size',
|
|
16523
|
-
defaultValue: '',
|
|
16524
|
-
interface: textInterface,
|
|
16525
|
-
categoryIds: [findCategory$2('Cameras').id],
|
|
16526
|
-
categories: [findCategory$2('Cameras')],
|
|
16527
|
-
},
|
|
16528
|
-
{
|
|
16529
|
-
id: AXPDataGenerator.uuid(),
|
|
16530
|
-
name: 'lens-type',
|
|
16531
|
-
title: 'Lens Type',
|
|
16532
|
-
defaultValue: '',
|
|
16533
|
-
interface: {
|
|
16534
|
-
type: 'select-editor',
|
|
16535
|
-
options: {
|
|
16536
|
-
dataSource: [
|
|
16537
|
-
{ id: 'Prime', title: 'Prime' },
|
|
16538
|
-
{ id: 'Zoom', title: 'Zoom' },
|
|
16539
|
-
{ id: 'Wide Angle', title: 'Wide Angle' },
|
|
16540
|
-
{ id: 'Telephoto', title: 'Telephoto' },
|
|
16541
|
-
{ id: 'Macro', title: 'Macro' },
|
|
16542
|
-
{ id: 'Fisheye', title: 'Fisheye' },
|
|
16543
|
-
],
|
|
16544
|
-
placeholder: 'Select lens type',
|
|
16545
|
-
},
|
|
16546
|
-
},
|
|
16547
|
-
categoryIds: [findCategory$2('Cameras').id],
|
|
16548
|
-
categories: [findCategory$2('Cameras')],
|
|
16549
|
-
},
|
|
16550
|
-
{
|
|
16551
|
-
id: AXPDataGenerator.uuid(),
|
|
16552
|
-
name: 'iso-range',
|
|
16553
|
-
title: 'ISO Range',
|
|
16554
|
-
defaultValue: '',
|
|
16555
|
-
interface: textInterface,
|
|
16556
|
-
categoryIds: [findCategory$2('Cameras').id],
|
|
16557
|
-
categories: [findCategory$2('Cameras')],
|
|
16558
|
-
},
|
|
16559
|
-
{
|
|
16560
|
-
id: AXPDataGenerator.uuid(),
|
|
16561
|
-
name: 'video-recording',
|
|
16562
|
-
title: 'Video Recording',
|
|
16563
|
-
defaultValue: '',
|
|
16564
|
-
interface: textInterface,
|
|
16565
|
-
categoryIds: [findCategory$2('Cameras').id],
|
|
16566
|
-
categories: [findCategory$2('Cameras')],
|
|
16567
|
-
},
|
|
16568
|
-
{
|
|
16569
|
-
id: AXPDataGenerator.uuid(),
|
|
16570
|
-
name: 'battery-life',
|
|
16571
|
-
title: 'Battery Life',
|
|
16572
|
-
defaultValue: '',
|
|
16573
|
-
interface: textInterface,
|
|
16574
|
-
categoryIds: [findCategory$2('Cameras').id],
|
|
16575
|
-
categories: [findCategory$2('Cameras')],
|
|
16576
|
-
},
|
|
16577
|
-
];
|
|
16578
|
-
|
|
16579
|
-
class AXCMetaDataDefinitionDataSeeder {
|
|
16580
|
-
constructor() {
|
|
16581
|
-
this.storageService = inject(AXPEntityStorageService);
|
|
16582
|
-
}
|
|
16583
|
-
async seed() {
|
|
16584
|
-
await this.storageService.initial(`${RootConfig$c.module.name}.${RootConfig$c.entities.metaDataDefinition.name}`, METADATA_MOCK);
|
|
16585
|
-
}
|
|
16586
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMetaDataDefinitionDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16587
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMetaDataDefinitionDataSeeder }); }
|
|
16588
|
-
}
|
|
16589
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMetaDataDefinitionDataSeeder, decorators: [{
|
|
16590
|
-
type: Injectable
|
|
16591
|
-
}] });
|
|
16592
|
-
|
|
16593
|
-
class AXCQueryCategoryMetadataInheritanceQuery {
|
|
16594
|
-
constructor() {
|
|
16595
|
-
this.injector = inject(Injector);
|
|
16596
|
-
this.metaDataService = inject(AXMMetaDataDefinitionService);
|
|
16597
|
-
}
|
|
16598
|
-
async fetch(params) {
|
|
16599
|
-
const { entityName, categoryId } = params;
|
|
16600
|
-
//1a25158a-3e0f-4e9c-bdc2-d6cc0ece86ba
|
|
16601
|
-
const service = runInInjectionContext(this.injector, () => new AXMEntityCrudServiceImpl(`${params.entityName}Category`));
|
|
16602
|
-
// Find the category by ID
|
|
16603
|
-
const category = await this.findCategoryById(categoryId, service);
|
|
16604
|
-
if (!category) {
|
|
16605
|
-
throw new Error(`Category with ID ${categoryId} not found`);
|
|
16606
|
-
}
|
|
16607
|
-
// Build the hierarchy (traverse up to root)
|
|
16608
|
-
const hierarchy = await this.buildCategoryHierarchy(category, service);
|
|
16609
|
-
// Collect and merge groups from all categories in hierarchy
|
|
16610
|
-
const mergedGroups = this.mergeMetadataGroupsFromHierarchy(hierarchy);
|
|
16611
|
-
return mergedGroups;
|
|
16612
|
-
}
|
|
16613
|
-
async findCategoryById(categoryId, service) {
|
|
16614
|
-
try {
|
|
16615
|
-
const result = await service.query({
|
|
16616
|
-
filter: {
|
|
16617
|
-
logic: 'and',
|
|
16618
|
-
filters: [
|
|
16619
|
-
{
|
|
16620
|
-
field: 'id',
|
|
16621
|
-
operator: {
|
|
16622
|
-
type: 'equal',
|
|
16623
|
-
},
|
|
16624
|
-
value: categoryId,
|
|
16625
|
-
},
|
|
16626
|
-
],
|
|
16627
|
-
},
|
|
16628
|
-
take: 1,
|
|
16629
|
-
skip: 0,
|
|
16630
|
-
});
|
|
16631
|
-
return result.items.length > 0 ? result.items[0] : null;
|
|
16632
|
-
}
|
|
16633
|
-
catch (error) {
|
|
16634
|
-
console.error('Error finding category by ID:', error);
|
|
16635
|
-
return null;
|
|
16636
|
-
}
|
|
16637
|
-
}
|
|
16638
|
-
async buildCategoryHierarchy(category, service) {
|
|
16639
|
-
const hierarchy = [category];
|
|
16640
|
-
let currentCategory = category;
|
|
16641
|
-
// Traverse up the parent hierarchy
|
|
16642
|
-
while (currentCategory.parentId) {
|
|
16643
|
-
try {
|
|
16644
|
-
const parentResult = await service.query({
|
|
16645
|
-
filter: {
|
|
16646
|
-
logic: 'and',
|
|
16647
|
-
filters: [
|
|
16648
|
-
{
|
|
16649
|
-
field: 'id',
|
|
16650
|
-
operator: {
|
|
16651
|
-
type: 'equal',
|
|
16652
|
-
},
|
|
16653
|
-
value: currentCategory.parentId,
|
|
16654
|
-
},
|
|
16655
|
-
],
|
|
16656
|
-
},
|
|
16657
|
-
take: 1,
|
|
16658
|
-
skip: 0,
|
|
16659
|
-
});
|
|
16660
|
-
if (parentResult.items.length > 0) {
|
|
16661
|
-
const parent = parentResult.items[0];
|
|
16662
|
-
hierarchy.unshift(parent); // Add to beginning to maintain hierarchy order
|
|
16663
|
-
currentCategory = parent;
|
|
16664
|
-
}
|
|
16665
|
-
else {
|
|
16666
|
-
break; // Parent not found, stop traversal
|
|
16667
|
-
}
|
|
16668
|
-
}
|
|
16669
|
-
catch (error) {
|
|
16670
|
-
console.error('Error finding parent category:', error);
|
|
16671
|
-
break;
|
|
16672
|
-
}
|
|
16673
|
-
}
|
|
16674
|
-
return hierarchy;
|
|
16675
|
-
}
|
|
16676
|
-
/**
|
|
16677
|
-
* Merge metadata groups from category hierarchy, preserving group structure
|
|
16678
|
-
* Groups are merged by name, with fields from child categories taking precedence
|
|
16679
|
-
*/
|
|
16680
|
-
mergeMetadataGroupsFromHierarchy(hierarchy) {
|
|
16681
|
-
const groupsMap = new Map();
|
|
16682
|
-
const seenFieldIds = new Set();
|
|
16683
|
-
// Process hierarchy from root to leaf (child categories override parent fields)
|
|
16684
|
-
for (const category of hierarchy) {
|
|
16685
|
-
// Type: AXMMetaDataSelectorValue from @acorex/modules/data-management
|
|
16686
|
-
const metaDataList = get(category, META_DATA_SELECTOR_FIELD);
|
|
16687
|
-
if (!metaDataList || !metaDataList.groups || !Array.isArray(metaDataList.groups)) {
|
|
16688
|
-
continue;
|
|
16689
|
-
}
|
|
16690
|
-
// Process each group in the category's metadata
|
|
16691
|
-
for (const group of metaDataList.groups) {
|
|
16692
|
-
const groupName = group.name || 'default';
|
|
16693
|
-
// Get or create group
|
|
16694
|
-
if (!groupsMap.has(groupName)) {
|
|
16695
|
-
groupsMap.set(groupName, {
|
|
16696
|
-
name: groupName,
|
|
16697
|
-
title: group.title,
|
|
16698
|
-
description: group.description,
|
|
16699
|
-
order: group.order ?? 0,
|
|
16700
|
-
fields: [],
|
|
16701
|
-
});
|
|
16702
|
-
}
|
|
16703
|
-
const mergedGroup = groupsMap.get(groupName);
|
|
16704
|
-
// Process fields in this group
|
|
16705
|
-
if (group.fields && Array.isArray(group.fields)) {
|
|
16706
|
-
for (const field of group.fields) {
|
|
16707
|
-
// Skip if we've already seen this field (child categories override)
|
|
16708
|
-
if (seenFieldIds.has(field.id)) {
|
|
16709
|
-
// Remove existing field and add new one (child overrides parent)
|
|
16710
|
-
mergedGroup.fields = mergedGroup.fields.filter(f => f.id !== field.id);
|
|
16711
|
-
}
|
|
16712
|
-
// Add field to merged group
|
|
16713
|
-
// Ensure title is always present (use name as fallback)
|
|
16714
|
-
mergedGroup.fields.push({
|
|
16715
|
-
id: field.id,
|
|
16716
|
-
name: field.name,
|
|
16717
|
-
title: field.title || field.name || 'Untitled Field',
|
|
16718
|
-
description: field.description,
|
|
16719
|
-
interface: field.interface,
|
|
16720
|
-
configuration: field.configuration,
|
|
16721
|
-
order: field.order ?? mergedGroup.fields.length,
|
|
16722
|
-
});
|
|
16723
|
-
seenFieldIds.add(field.id);
|
|
16724
|
-
}
|
|
16725
|
-
}
|
|
16726
|
-
}
|
|
16727
|
-
}
|
|
16728
|
-
// Convert map to array and sort by order
|
|
16729
|
-
const result = Array.from(groupsMap.values())
|
|
16730
|
-
.sort((a, b) => (a.order ?? 0) - (b.order ?? 0))
|
|
16731
|
-
.map(group => ({
|
|
16732
|
-
...group,
|
|
16733
|
-
fields: group.fields.sort((a, b) => (a.order ?? 0) - (b.order ?? 0)),
|
|
16734
|
-
}));
|
|
16735
|
-
return result;
|
|
16736
|
-
}
|
|
16737
|
-
async collectInheritedMetadata(hierarchy) {
|
|
16738
|
-
const allMetadata = [];
|
|
16739
|
-
const seenMetadataIds = new Set();
|
|
16740
|
-
// Collect metadata from each level in the hierarchy
|
|
16741
|
-
for (const category of hierarchy) {
|
|
16742
|
-
try {
|
|
16743
|
-
const metadataResult = await this.metaDataService.query({
|
|
16744
|
-
filter: {
|
|
16745
|
-
logic: 'and',
|
|
16746
|
-
filters: [
|
|
16747
|
-
{
|
|
16748
|
-
field: 'categoryIds',
|
|
16749
|
-
operator: {
|
|
16750
|
-
type: 'contains',
|
|
16751
|
-
},
|
|
16752
|
-
value: category.id,
|
|
16753
|
-
},
|
|
16754
|
-
],
|
|
16755
|
-
},
|
|
16756
|
-
take: 1000,
|
|
16757
|
-
skip: 0,
|
|
16758
|
-
});
|
|
16759
|
-
// Add metadata fields that haven't been seen before (avoid duplicates)
|
|
16760
|
-
for (const metadata of metadataResult.items) {
|
|
16761
|
-
if (!seenMetadataIds.has(metadata.id)) {
|
|
16762
|
-
allMetadata.push(metadata);
|
|
16763
|
-
seenMetadataIds.add(metadata.id);
|
|
16764
|
-
}
|
|
16765
|
-
}
|
|
16766
|
-
}
|
|
16767
|
-
catch (error) {
|
|
16768
|
-
console.error(`Error collecting metadata for category ${category.id}:`, error);
|
|
16769
|
-
}
|
|
16770
|
-
}
|
|
16771
|
-
return allMetadata;
|
|
16772
|
-
}
|
|
16773
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCQueryCategoryMetadataInheritanceQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16774
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCQueryCategoryMetadataInheritanceQuery, providedIn: 'root' }); }
|
|
16775
|
-
}
|
|
16776
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCQueryCategoryMetadataInheritanceQuery, decorators: [{
|
|
16777
|
-
type: Injectable,
|
|
16778
|
-
args: [{
|
|
16779
|
-
providedIn: 'root'
|
|
16780
|
-
}]
|
|
16781
|
-
}] });
|
|
16782
|
-
|
|
16783
|
-
var categoryMetadataInheritance_query = /*#__PURE__*/Object.freeze({
|
|
16784
|
-
__proto__: null,
|
|
16785
|
-
AXCQueryCategoryMetadataInheritanceQuery: AXCQueryCategoryMetadataInheritanceQuery
|
|
16786
|
-
});
|
|
16787
|
-
|
|
16788
|
-
class AXCMetadataCategorySeeder {
|
|
16789
|
-
constructor() {
|
|
16790
|
-
this.storageService = inject(AXPEntityStorageService);
|
|
16791
|
-
}
|
|
16792
|
-
async seed() {
|
|
16793
|
-
await this.storageService.initial(`${RootConfig$c.module.name}.${RootConfig$c.entities.metaDataDefinition.name}Category`, metadataCategoryMocks);
|
|
16794
|
-
}
|
|
16795
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMetadataCategorySeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16796
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMetadataCategorySeeder }); }
|
|
16797
|
-
}
|
|
16798
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMetadataCategorySeeder, decorators: [{
|
|
16799
|
-
type: Injectable
|
|
16800
|
-
}] });
|
|
16801
|
-
|
|
16802
|
-
//#endregion
|
|
16803
|
-
//#region ---- Tag Mock Data ----
|
|
16804
|
-
const TAGS_MOCK = [
|
|
16805
|
-
// System Tags
|
|
16806
|
-
{
|
|
16807
|
-
id: AXPDataGenerator.uuid(),
|
|
16808
|
-
title: 'Important',
|
|
16809
|
-
color: '#F44336', // Red - Material Design
|
|
16810
|
-
description: 'Marks items as important',
|
|
16811
|
-
scope: 'system',
|
|
16812
|
-
createdAt: new Date('2024-01-01'),
|
|
16813
|
-
},
|
|
16814
|
-
{
|
|
16815
|
-
id: AXPDataGenerator.uuid(),
|
|
16816
|
-
title: 'Urgent',
|
|
16817
|
-
color: '#FF9800', // Orange - Material Design
|
|
16818
|
-
description: 'Marks items as urgent',
|
|
16819
|
-
scope: 'system',
|
|
16820
|
-
createdAt: new Date('2024-01-01'),
|
|
16821
|
-
},
|
|
16822
|
-
{
|
|
16823
|
-
id: AXPDataGenerator.uuid(),
|
|
16824
|
-
title: 'To Do',
|
|
16825
|
-
color: '#2196F3', // Blue - Material Design
|
|
16826
|
-
description: 'Items pending action',
|
|
16827
|
-
scope: 'system',
|
|
16828
|
-
createdAt: new Date('2024-01-01'),
|
|
16829
|
-
},
|
|
16830
|
-
{
|
|
16831
|
-
id: AXPDataGenerator.uuid(),
|
|
16832
|
-
title: 'In Progress',
|
|
16833
|
-
color: '#03A9F4', // Light Blue - Material Design
|
|
16834
|
-
description: 'Currently being worked on',
|
|
16835
|
-
scope: 'system',
|
|
16836
|
-
createdAt: new Date('2024-01-01'),
|
|
16837
|
-
},
|
|
16838
|
-
{
|
|
16839
|
-
id: AXPDataGenerator.uuid(),
|
|
16840
|
-
title: 'Completed',
|
|
16841
|
-
color: '#4CAF50', // Green - Material Design
|
|
16842
|
-
description: 'Finished items',
|
|
16843
|
-
scope: 'system',
|
|
16844
|
-
createdAt: new Date('2024-01-01'),
|
|
16845
|
-
},
|
|
16846
|
-
{
|
|
16847
|
-
id: AXPDataGenerator.uuid(),
|
|
16848
|
-
title: 'Blocked',
|
|
16849
|
-
color: '#FF5722', // Deep Orange - Material Design
|
|
16850
|
-
description: 'Items that are blocked',
|
|
16851
|
-
scope: 'system',
|
|
16852
|
-
createdAt: new Date('2024-01-01'),
|
|
16853
|
-
},
|
|
16854
|
-
{
|
|
16855
|
-
id: AXPDataGenerator.uuid(),
|
|
16856
|
-
title: 'Review',
|
|
16857
|
-
color: '#FFC107', // Amber - Material Design
|
|
16858
|
-
description: 'Items pending review',
|
|
16859
|
-
scope: 'system',
|
|
16860
|
-
createdAt: new Date('2024-01-01'),
|
|
16861
|
-
},
|
|
16862
|
-
{
|
|
16863
|
-
id: AXPDataGenerator.uuid(),
|
|
16864
|
-
title: 'Bug',
|
|
16865
|
-
color: '#E91E63', // Pink - Material Design
|
|
16866
|
-
description: 'Bug reports',
|
|
16867
|
-
scope: 'system',
|
|
16868
|
-
createdAt: new Date('2024-01-01'),
|
|
16869
|
-
},
|
|
16870
|
-
{
|
|
16871
|
-
id: AXPDataGenerator.uuid(),
|
|
16872
|
-
title: 'Feature',
|
|
16873
|
-
color: '#009688', // Teal - Material Design
|
|
16874
|
-
description: 'New feature requests',
|
|
16875
|
-
scope: 'system',
|
|
16876
|
-
createdAt: new Date('2024-01-01'),
|
|
16877
|
-
},
|
|
16878
|
-
{
|
|
16879
|
-
id: AXPDataGenerator.uuid(),
|
|
16880
|
-
title: 'Documentation',
|
|
16881
|
-
color: '#00BCD4', // Cyan - Material Design
|
|
16882
|
-
description: 'Documentation related',
|
|
16883
|
-
scope: 'system',
|
|
16884
|
-
createdAt: new Date('2024-01-01'),
|
|
16885
|
-
},
|
|
16886
|
-
// Tenant Tags
|
|
16887
|
-
{
|
|
16888
|
-
id: AXPDataGenerator.uuid(),
|
|
16889
|
-
title: 'High Priority',
|
|
16890
|
-
color: '#9C27B0', // Purple - Material Design
|
|
16891
|
-
description: 'High priority items for this organization',
|
|
16892
|
-
scope: 'tenant',
|
|
16893
|
-
createdAt: new Date('2024-06-01'),
|
|
16894
|
-
},
|
|
16895
|
-
{
|
|
16896
|
-
id: AXPDataGenerator.uuid(),
|
|
16897
|
-
title: 'Q4 Project',
|
|
16898
|
-
color: '#3F51B5', // Indigo - Material Design
|
|
16899
|
-
description: 'Related to Q4 projects',
|
|
16900
|
-
scope: 'tenant',
|
|
16901
|
-
createdAt: new Date('2024-09-01'),
|
|
16902
|
-
},
|
|
16903
|
-
{
|
|
16904
|
-
id: AXPDataGenerator.uuid(),
|
|
16905
|
-
title: 'Customer Facing',
|
|
16906
|
-
color: '#8BC34A', // Light Green - Material Design
|
|
16907
|
-
description: 'Customer-facing tasks and items',
|
|
16908
|
-
scope: 'tenant',
|
|
16909
|
-
createdAt: new Date('2024-07-01'),
|
|
16910
|
-
},
|
|
16911
|
-
// User Tags
|
|
16912
|
-
{
|
|
16913
|
-
id: AXPDataGenerator.uuid(),
|
|
16914
|
-
title: 'Personal Project',
|
|
16915
|
-
color: '#673AB7', // Deep Purple - Material Design
|
|
16916
|
-
description: 'My personal projects',
|
|
16917
|
-
scope: 'user',
|
|
16918
|
-
createdAt: new Date('2024-10-01'),
|
|
16919
|
-
},
|
|
16920
|
-
{
|
|
16921
|
-
id: AXPDataGenerator.uuid(),
|
|
16922
|
-
title: 'Learning',
|
|
16923
|
-
color: '#CDDC39', // Lime - Material Design
|
|
16924
|
-
description: 'Items to learn or study',
|
|
16925
|
-
scope: 'user',
|
|
16926
|
-
createdAt: new Date('2024-10-15'),
|
|
16927
|
-
},
|
|
16928
|
-
];
|
|
16929
|
-
//#endregion
|
|
16930
|
-
|
|
16931
|
-
//#region ---- Tag Data Seeder ----
|
|
16932
|
-
class AXMTagDataSeeder {
|
|
16933
|
-
constructor() {
|
|
16934
|
-
this.storageService = inject(AXPEntityStorageService);
|
|
16935
|
-
}
|
|
16936
|
-
async seed() {
|
|
16937
|
-
await this.storageService.initial(RootConfig$c.entities.tag.source, TAGS_MOCK);
|
|
16938
|
-
}
|
|
16939
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMTagDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
16940
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMTagDataSeeder }); }
|
|
16941
|
-
}
|
|
16942
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMTagDataSeeder, decorators: [{
|
|
16943
|
-
type: Injectable
|
|
16944
|
-
}] });
|
|
16945
|
-
|
|
16946
15028
|
var equipmentTypeMetaDataListJson = [
|
|
16947
15029
|
{
|
|
16948
15030
|
name: "TR",
|
|
@@ -24162,132 +22244,1923 @@ var equipmentTypeMetaDataListJson = [
|
|
|
24162
22244
|
}
|
|
24163
22245
|
];
|
|
24164
22246
|
|
|
24165
|
-
const categoryMeta = {
|
|
24166
|
-
'eq-tr': {
|
|
24167
|
-
description: 'Transformer',
|
|
24168
|
-
icon: 'fa-light fa-bolt',
|
|
24169
|
-
color: '#3b82f6',
|
|
24170
|
-
},
|
|
24171
|
-
'eq-etr': {
|
|
24172
|
-
description: 'Equipment Type ETR',
|
|
24173
|
-
icon: 'fa-light fa-plug',
|
|
24174
|
-
color: '#8b5cf6',
|
|
24175
|
-
},
|
|
24176
|
-
'eq-lbt': {
|
|
24177
|
-
description: 'Equipment Type LBT',
|
|
24178
|
-
icon: 'fa-light fa-circle-nodes',
|
|
24179
|
-
color: '#06b6d4',
|
|
24180
|
-
},
|
|
24181
|
-
};
|
|
24182
|
-
const list = equipmentTypeMetaDataListJson;
|
|
24183
|
-
const equipmentCategoryMocks = list.map((item) => {
|
|
24184
|
-
const meta = categoryMeta[item.categoryId];
|
|
24185
|
-
return {
|
|
24186
|
-
id: item.categoryId,
|
|
24187
|
-
title: item.typeCode,
|
|
24188
|
-
description: meta?.description ?? item.typeCode,
|
|
24189
|
-
childrenCount: 0,
|
|
24190
|
-
icon: meta?.icon,
|
|
24191
|
-
color: meta?.color,
|
|
24192
|
-
metaDataList: item.metaDataList,
|
|
24193
|
-
};
|
|
22247
|
+
const categoryMeta = {
|
|
22248
|
+
'eq-tr': {
|
|
22249
|
+
description: 'Transformer',
|
|
22250
|
+
icon: 'fa-light fa-bolt',
|
|
22251
|
+
color: '#3b82f6',
|
|
22252
|
+
},
|
|
22253
|
+
'eq-etr': {
|
|
22254
|
+
description: 'Equipment Type ETR',
|
|
22255
|
+
icon: 'fa-light fa-plug',
|
|
22256
|
+
color: '#8b5cf6',
|
|
22257
|
+
},
|
|
22258
|
+
'eq-lbt': {
|
|
22259
|
+
description: 'Equipment Type LBT',
|
|
22260
|
+
icon: 'fa-light fa-circle-nodes',
|
|
22261
|
+
color: '#06b6d4',
|
|
22262
|
+
},
|
|
22263
|
+
};
|
|
22264
|
+
const list = equipmentTypeMetaDataListJson;
|
|
22265
|
+
const equipmentCategoryMocks = list.map((item) => {
|
|
22266
|
+
const meta = categoryMeta[item.categoryId];
|
|
22267
|
+
return {
|
|
22268
|
+
id: item.categoryId,
|
|
22269
|
+
title: item.typeCode,
|
|
22270
|
+
description: meta?.description ?? item.typeCode,
|
|
22271
|
+
childrenCount: 0,
|
|
22272
|
+
icon: meta?.icon,
|
|
22273
|
+
color: meta?.color,
|
|
22274
|
+
metaDataList: item.metaDataList,
|
|
22275
|
+
};
|
|
22276
|
+
});
|
|
22277
|
+
|
|
22278
|
+
function generateEquipments() {
|
|
22279
|
+
const trCategory = equipmentCategoryMocks.find((c) => c.id === 'eq-tr');
|
|
22280
|
+
const etrCategory = equipmentCategoryMocks.find((c) => c.id === 'eq-etr');
|
|
22281
|
+
const lbtCategory = equipmentCategoryMocks.find((c) => c.id === 'eq-lbt');
|
|
22282
|
+
return [
|
|
22283
|
+
{
|
|
22284
|
+
id: AXPDataGenerator.uuid(),
|
|
22285
|
+
code: 'EQ-001',
|
|
22286
|
+
title: 'Transformer TR-001',
|
|
22287
|
+
description: 'Main transformer unit',
|
|
22288
|
+
categoryIds: trCategory ? [trCategory.id] : undefined,
|
|
22289
|
+
categories: trCategory ? [{ id: trCategory.id, title: trCategory.title }] : undefined,
|
|
22290
|
+
},
|
|
22291
|
+
{
|
|
22292
|
+
id: AXPDataGenerator.uuid(),
|
|
22293
|
+
code: 'EQ-002',
|
|
22294
|
+
title: 'Transformer TR-002',
|
|
22295
|
+
description: 'Secondary transformer',
|
|
22296
|
+
categoryIds: trCategory ? [trCategory.id] : undefined,
|
|
22297
|
+
categories: trCategory ? [{ id: trCategory.id, title: trCategory.title }] : undefined,
|
|
22298
|
+
},
|
|
22299
|
+
{
|
|
22300
|
+
id: AXPDataGenerator.uuid(),
|
|
22301
|
+
code: 'EQ-003',
|
|
22302
|
+
title: 'ETR Unit A',
|
|
22303
|
+
description: 'ETR type equipment A',
|
|
22304
|
+
categoryIds: etrCategory ? [etrCategory.id] : undefined,
|
|
22305
|
+
categories: etrCategory ? [{ id: etrCategory.id, title: etrCategory.title }] : undefined,
|
|
22306
|
+
},
|
|
22307
|
+
{
|
|
22308
|
+
id: AXPDataGenerator.uuid(),
|
|
22309
|
+
code: 'EQ-004',
|
|
22310
|
+
title: 'ETR Unit B',
|
|
22311
|
+
description: 'ETR type equipment B',
|
|
22312
|
+
categoryIds: etrCategory ? [etrCategory.id] : undefined,
|
|
22313
|
+
categories: etrCategory ? [{ id: etrCategory.id, title: etrCategory.title }] : undefined,
|
|
22314
|
+
},
|
|
22315
|
+
{
|
|
22316
|
+
id: AXPDataGenerator.uuid(),
|
|
22317
|
+
code: 'EQ-005',
|
|
22318
|
+
title: 'LBT Device 1',
|
|
22319
|
+
description: 'LBT type device',
|
|
22320
|
+
categoryIds: lbtCategory ? [lbtCategory.id] : undefined,
|
|
22321
|
+
categories: lbtCategory ? [{ id: lbtCategory.id, title: lbtCategory.title }] : undefined,
|
|
22322
|
+
},
|
|
22323
|
+
{
|
|
22324
|
+
id: AXPDataGenerator.uuid(),
|
|
22325
|
+
code: 'EQ-006',
|
|
22326
|
+
title: 'LBT Device 2',
|
|
22327
|
+
description: 'LBT type device second unit',
|
|
22328
|
+
categoryIds: lbtCategory ? [lbtCategory.id] : undefined,
|
|
22329
|
+
categories: lbtCategory ? [{ id: lbtCategory.id, title: lbtCategory.title }] : undefined,
|
|
22330
|
+
},
|
|
22331
|
+
{
|
|
22332
|
+
id: AXPDataGenerator.uuid(),
|
|
22333
|
+
code: 'EQ-007',
|
|
22334
|
+
title: 'Mixed Type Equipment',
|
|
22335
|
+
description: 'Equipment in multiple categories',
|
|
22336
|
+
categoryIds: trCategory && etrCategory ? [trCategory.id, etrCategory.id] : undefined,
|
|
22337
|
+
categories: trCategory && etrCategory
|
|
22338
|
+
? [
|
|
22339
|
+
{ id: trCategory.id, title: trCategory.title },
|
|
22340
|
+
{ id: etrCategory.id, title: etrCategory.title },
|
|
22341
|
+
]
|
|
22342
|
+
: undefined,
|
|
22343
|
+
},
|
|
22344
|
+
];
|
|
22345
|
+
}
|
|
22346
|
+
const equipmentMocks = generateEquipments();
|
|
22347
|
+
|
|
22348
|
+
class AXCEquipmentSeeder {
|
|
22349
|
+
constructor() {
|
|
22350
|
+
this.storageService = inject(AXPEntityStorageService);
|
|
22351
|
+
}
|
|
22352
|
+
async seed() {
|
|
22353
|
+
await this.storageService.initial(`${RootConfig$c.module.name}.${RootConfig$c.entities.equipment.name}`, equipmentMocks);
|
|
22354
|
+
}
|
|
22355
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCEquipmentSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22356
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCEquipmentSeeder }); }
|
|
22357
|
+
}
|
|
22358
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCEquipmentSeeder, decorators: [{
|
|
22359
|
+
type: Injectable
|
|
22360
|
+
}] });
|
|
22361
|
+
|
|
22362
|
+
class AXCEquipmentCategorySeeder {
|
|
22363
|
+
constructor() {
|
|
22364
|
+
this.storageService = inject(AXPEntityStorageService);
|
|
22365
|
+
}
|
|
22366
|
+
async seed() {
|
|
22367
|
+
await this.storageService.initial(`${RootConfig$c.module.name}.${RootConfig$c.entities.equipmentCategory.name}`, equipmentCategoryMocks);
|
|
22368
|
+
}
|
|
22369
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCEquipmentCategorySeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
22370
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCEquipmentCategorySeeder }); }
|
|
22371
|
+
}
|
|
22372
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCEquipmentCategorySeeder, decorators: [{
|
|
22373
|
+
type: Injectable
|
|
22374
|
+
}] });
|
|
22375
|
+
|
|
22376
|
+
const metadataCategoryMocks = (() => {
|
|
22377
|
+
const ids = new Map();
|
|
22378
|
+
// Root categories
|
|
22379
|
+
const general = {
|
|
22380
|
+
id: AXPDataGenerator.uuid(),
|
|
22381
|
+
title: 'General',
|
|
22382
|
+
description: 'Common metadata fields used across all document types',
|
|
22383
|
+
parentId: undefined,
|
|
22384
|
+
childrenCount: 0,
|
|
22385
|
+
};
|
|
22386
|
+
ids.set('General', general.id);
|
|
22387
|
+
const location = {
|
|
22388
|
+
id: AXPDataGenerator.uuid(),
|
|
22389
|
+
title: 'Location',
|
|
22390
|
+
description: 'Geographic location metadata (country, province, city)',
|
|
22391
|
+
parentId: undefined,
|
|
22392
|
+
childrenCount: 0,
|
|
22393
|
+
};
|
|
22394
|
+
ids.set('Location', location.id);
|
|
22395
|
+
const documentManagement = {
|
|
22396
|
+
id: AXPDataGenerator.uuid(),
|
|
22397
|
+
title: 'Document Management',
|
|
22398
|
+
description: 'Document creation, storage, and retrieval metadata',
|
|
22399
|
+
parentId: undefined,
|
|
22400
|
+
childrenCount: 3,
|
|
22401
|
+
};
|
|
22402
|
+
ids.set('Document Management', documentManagement.id);
|
|
22403
|
+
const qualityControl = {
|
|
22404
|
+
id: AXPDataGenerator.uuid(),
|
|
22405
|
+
title: 'Quality Control',
|
|
22406
|
+
description: 'Quality assurance and control metadata',
|
|
22407
|
+
parentId: undefined,
|
|
22408
|
+
childrenCount: 3,
|
|
22409
|
+
};
|
|
22410
|
+
ids.set('Quality Control', qualityControl.id);
|
|
22411
|
+
const compliance = {
|
|
22412
|
+
id: AXPDataGenerator.uuid(),
|
|
22413
|
+
title: 'Compliance',
|
|
22414
|
+
description: 'Regulatory compliance and audit metadata',
|
|
22415
|
+
parentId: undefined,
|
|
22416
|
+
childrenCount: 3,
|
|
22417
|
+
};
|
|
22418
|
+
ids.set('Compliance', compliance.id);
|
|
22419
|
+
const projectManagement = {
|
|
22420
|
+
id: AXPDataGenerator.uuid(),
|
|
22421
|
+
title: 'Project Management',
|
|
22422
|
+
description: 'Project planning and execution metadata',
|
|
22423
|
+
parentId: undefined,
|
|
22424
|
+
childrenCount: 3,
|
|
22425
|
+
};
|
|
22426
|
+
ids.set('Project Management', projectManagement.id);
|
|
22427
|
+
const electronicsAndAppliances = {
|
|
22428
|
+
id: AXPDataGenerator.uuid(),
|
|
22429
|
+
title: 'Electronics & Appliances',
|
|
22430
|
+
description: 'Electronics and home appliances metadata',
|
|
22431
|
+
parentId: undefined,
|
|
22432
|
+
childrenCount: 7,
|
|
22433
|
+
};
|
|
22434
|
+
ids.set('Electronics & Appliances', electronicsAndAppliances.id);
|
|
22435
|
+
// Document Management children
|
|
22436
|
+
const versionControl = {
|
|
22437
|
+
id: AXPDataGenerator.uuid(),
|
|
22438
|
+
title: 'Version Control',
|
|
22439
|
+
description: 'Document versioning and change tracking',
|
|
22440
|
+
parentId: documentManagement.id,
|
|
22441
|
+
childrenCount: 0,
|
|
22442
|
+
};
|
|
22443
|
+
ids.set('Version Control', versionControl.id);
|
|
22444
|
+
const accessControl = {
|
|
22445
|
+
id: AXPDataGenerator.uuid(),
|
|
22446
|
+
title: 'Access Control',
|
|
22447
|
+
description: 'User permissions and access management',
|
|
22448
|
+
parentId: documentManagement.id,
|
|
22449
|
+
childrenCount: 0,
|
|
22450
|
+
};
|
|
22451
|
+
ids.set('Access Control', accessControl.id);
|
|
22452
|
+
const documentTypes = {
|
|
22453
|
+
id: AXPDataGenerator.uuid(),
|
|
22454
|
+
title: 'Document Types',
|
|
22455
|
+
description: 'Classification and categorization of documents',
|
|
22456
|
+
parentId: documentManagement.id,
|
|
22457
|
+
childrenCount: 0,
|
|
22458
|
+
};
|
|
22459
|
+
ids.set('Document Types', documentTypes.id);
|
|
22460
|
+
// Quality Control children
|
|
22461
|
+
const standards = {
|
|
22462
|
+
id: AXPDataGenerator.uuid(),
|
|
22463
|
+
title: 'Standards',
|
|
22464
|
+
description: 'Quality standards and specifications',
|
|
22465
|
+
parentId: qualityControl.id,
|
|
22466
|
+
childrenCount: 0,
|
|
22467
|
+
};
|
|
22468
|
+
ids.set('Standards', standards.id);
|
|
22469
|
+
const testing = {
|
|
22470
|
+
id: AXPDataGenerator.uuid(),
|
|
22471
|
+
title: 'Testing',
|
|
22472
|
+
description: 'Test procedures and results tracking',
|
|
22473
|
+
parentId: qualityControl.id,
|
|
22474
|
+
childrenCount: 0,
|
|
22475
|
+
};
|
|
22476
|
+
ids.set('Testing', testing.id);
|
|
22477
|
+
const validation = {
|
|
22478
|
+
id: AXPDataGenerator.uuid(),
|
|
22479
|
+
title: 'Validation',
|
|
22480
|
+
description: 'Data validation and verification processes',
|
|
22481
|
+
parentId: qualityControl.id,
|
|
22482
|
+
childrenCount: 0,
|
|
22483
|
+
};
|
|
22484
|
+
ids.set('Validation', validation.id);
|
|
22485
|
+
// Compliance children
|
|
22486
|
+
const regulations = {
|
|
22487
|
+
id: AXPDataGenerator.uuid(),
|
|
22488
|
+
title: 'Regulations',
|
|
22489
|
+
description: 'Regulatory requirements and compliance rules',
|
|
22490
|
+
parentId: compliance.id,
|
|
22491
|
+
childrenCount: 0,
|
|
22492
|
+
};
|
|
22493
|
+
ids.set('Regulations', regulations.id);
|
|
22494
|
+
const auditTrail = {
|
|
22495
|
+
id: AXPDataGenerator.uuid(),
|
|
22496
|
+
title: 'Audit Trail',
|
|
22497
|
+
description: 'Activity logging and audit documentation',
|
|
22498
|
+
parentId: compliance.id,
|
|
22499
|
+
childrenCount: 0,
|
|
22500
|
+
};
|
|
22501
|
+
ids.set('Audit Trail', auditTrail.id);
|
|
22502
|
+
const certifications = {
|
|
22503
|
+
id: AXPDataGenerator.uuid(),
|
|
22504
|
+
title: 'Certifications',
|
|
22505
|
+
description: 'Certification and accreditation tracking',
|
|
22506
|
+
parentId: compliance.id,
|
|
22507
|
+
childrenCount: 0,
|
|
22508
|
+
};
|
|
22509
|
+
ids.set('Certifications', certifications.id);
|
|
22510
|
+
// Project Management children
|
|
22511
|
+
const planning = {
|
|
22512
|
+
id: AXPDataGenerator.uuid(),
|
|
22513
|
+
title: 'Planning',
|
|
22514
|
+
description: 'Project planning and scheduling metadata',
|
|
22515
|
+
parentId: projectManagement.id,
|
|
22516
|
+
childrenCount: 0,
|
|
22517
|
+
};
|
|
22518
|
+
ids.set('Planning', planning.id);
|
|
22519
|
+
const resources = {
|
|
22520
|
+
id: AXPDataGenerator.uuid(),
|
|
22521
|
+
title: 'Resources',
|
|
22522
|
+
description: 'Resource allocation and management',
|
|
22523
|
+
parentId: projectManagement.id,
|
|
22524
|
+
childrenCount: 0,
|
|
22525
|
+
};
|
|
22526
|
+
ids.set('Resources', resources.id);
|
|
22527
|
+
const timeline = {
|
|
22528
|
+
id: AXPDataGenerator.uuid(),
|
|
22529
|
+
title: 'Timeline',
|
|
22530
|
+
description: 'Project timeline and milestone tracking',
|
|
22531
|
+
parentId: projectManagement.id,
|
|
22532
|
+
childrenCount: 0,
|
|
22533
|
+
};
|
|
22534
|
+
ids.set('Timeline', timeline.id);
|
|
22535
|
+
// Electronics & Appliances children
|
|
22536
|
+
const mobilePhonesAndTablets = {
|
|
22537
|
+
id: AXPDataGenerator.uuid(),
|
|
22538
|
+
title: 'Mobile Phones & Tablets',
|
|
22539
|
+
description: 'Mobile phones, smartphones, and tablet devices',
|
|
22540
|
+
parentId: electronicsAndAppliances.id,
|
|
22541
|
+
childrenCount: 0,
|
|
22542
|
+
};
|
|
22543
|
+
ids.set('Mobile Phones & Tablets', mobilePhonesAndTablets.id);
|
|
22544
|
+
const laptopsAndComputers = {
|
|
22545
|
+
id: AXPDataGenerator.uuid(),
|
|
22546
|
+
title: 'Laptops & Computers',
|
|
22547
|
+
description: 'Laptops, desktops, and computer systems',
|
|
22548
|
+
parentId: electronicsAndAppliances.id,
|
|
22549
|
+
childrenCount: 0,
|
|
22550
|
+
};
|
|
22551
|
+
ids.set('Laptops & Computers', laptopsAndComputers.id);
|
|
22552
|
+
const monitors = {
|
|
22553
|
+
id: AXPDataGenerator.uuid(),
|
|
22554
|
+
title: 'Monitors',
|
|
22555
|
+
description: 'Computer monitors and display screens',
|
|
22556
|
+
parentId: electronicsAndAppliances.id,
|
|
22557
|
+
childrenCount: 0,
|
|
22558
|
+
};
|
|
22559
|
+
ids.set('Monitors', monitors.id);
|
|
22560
|
+
const accessories = {
|
|
22561
|
+
id: AXPDataGenerator.uuid(),
|
|
22562
|
+
title: 'Accessories (Cables, Chargers, Cases…)',
|
|
22563
|
+
description: 'Electronic accessories including cables, chargers, cases, and more',
|
|
22564
|
+
parentId: electronicsAndAppliances.id,
|
|
22565
|
+
childrenCount: 0,
|
|
22566
|
+
};
|
|
22567
|
+
ids.set('Accessories (Cables, Chargers, Cases…)', accessories.id);
|
|
22568
|
+
const homeAppliances = {
|
|
22569
|
+
id: AXPDataGenerator.uuid(),
|
|
22570
|
+
title: 'Home Appliances',
|
|
22571
|
+
description: 'Home and kitchen appliances',
|
|
22572
|
+
parentId: electronicsAndAppliances.id,
|
|
22573
|
+
childrenCount: 0,
|
|
22574
|
+
};
|
|
22575
|
+
ids.set('Home Appliances', homeAppliances.id);
|
|
22576
|
+
const audioAndVideo = {
|
|
22577
|
+
id: AXPDataGenerator.uuid(),
|
|
22578
|
+
title: 'Audio & Video',
|
|
22579
|
+
description: 'Audio and video equipment and devices',
|
|
22580
|
+
parentId: electronicsAndAppliances.id,
|
|
22581
|
+
childrenCount: 0,
|
|
22582
|
+
};
|
|
22583
|
+
ids.set('Audio & Video', audioAndVideo.id);
|
|
22584
|
+
const cameras = {
|
|
22585
|
+
id: AXPDataGenerator.uuid(),
|
|
22586
|
+
title: 'Cameras',
|
|
22587
|
+
description: 'Digital cameras and photography equipment',
|
|
22588
|
+
parentId: electronicsAndAppliances.id,
|
|
22589
|
+
childrenCount: 0,
|
|
22590
|
+
};
|
|
22591
|
+
ids.set('Cameras', cameras.id);
|
|
22592
|
+
return [
|
|
22593
|
+
general,
|
|
22594
|
+
location,
|
|
22595
|
+
documentManagement,
|
|
22596
|
+
qualityControl,
|
|
22597
|
+
compliance,
|
|
22598
|
+
projectManagement,
|
|
22599
|
+
electronicsAndAppliances,
|
|
22600
|
+
versionControl,
|
|
22601
|
+
accessControl,
|
|
22602
|
+
documentTypes,
|
|
22603
|
+
standards,
|
|
22604
|
+
testing,
|
|
22605
|
+
validation,
|
|
22606
|
+
regulations,
|
|
22607
|
+
auditTrail,
|
|
22608
|
+
certifications,
|
|
22609
|
+
planning,
|
|
22610
|
+
resources,
|
|
22611
|
+
timeline,
|
|
22612
|
+
mobilePhonesAndTablets,
|
|
22613
|
+
laptopsAndComputers,
|
|
22614
|
+
monitors,
|
|
22615
|
+
accessories,
|
|
22616
|
+
homeAppliances,
|
|
22617
|
+
audioAndVideo,
|
|
22618
|
+
cameras,
|
|
22619
|
+
];
|
|
22620
|
+
})();
|
|
22621
|
+
|
|
22622
|
+
const findCategory$2 = (title) => metadataCategoryMocks.find((cat) => cat.title === title);
|
|
22623
|
+
const METADATA_MOCK = [
|
|
22624
|
+
// General - Common metadata fields
|
|
22625
|
+
{
|
|
22626
|
+
id: AXPDataGenerator.uuid(),
|
|
22627
|
+
name: 'title',
|
|
22628
|
+
title: 'Title',
|
|
22629
|
+
defaultValue: '',
|
|
22630
|
+
interface: titleInterface,
|
|
22631
|
+
categoryIds: [findCategory$2('General').id],
|
|
22632
|
+
categories: [findCategory$2('General')],
|
|
22633
|
+
},
|
|
22634
|
+
{
|
|
22635
|
+
id: AXPDataGenerator.uuid(),
|
|
22636
|
+
name: 'description',
|
|
22637
|
+
title: 'Description',
|
|
22638
|
+
defaultValue: '',
|
|
22639
|
+
interface: descriptionInterface,
|
|
22640
|
+
categoryIds: [findCategory$2('General').id],
|
|
22641
|
+
categories: [findCategory$2('General')],
|
|
22642
|
+
},
|
|
22643
|
+
{
|
|
22644
|
+
id: AXPDataGenerator.uuid(),
|
|
22645
|
+
name: 'created-date',
|
|
22646
|
+
title: 'Created Date',
|
|
22647
|
+
defaultValue: '',
|
|
22648
|
+
interface: dateInterface,
|
|
22649
|
+
categoryIds: [findCategory$2('General').id],
|
|
22650
|
+
categories: [findCategory$2('General')],
|
|
22651
|
+
},
|
|
22652
|
+
{
|
|
22653
|
+
id: AXPDataGenerator.uuid(),
|
|
22654
|
+
name: 'status',
|
|
22655
|
+
title: 'Status',
|
|
22656
|
+
defaultValue: 'Draft',
|
|
22657
|
+
interface: {
|
|
22658
|
+
type: 'select-editor',
|
|
22659
|
+
options: {
|
|
22660
|
+
dataSource: [
|
|
22661
|
+
{ id: 'Draft', title: 'Draft' },
|
|
22662
|
+
{ id: 'In Review', title: 'In Review' },
|
|
22663
|
+
{ id: 'Approved', title: 'Approved' },
|
|
22664
|
+
{ id: 'Published', title: 'Published' },
|
|
22665
|
+
{ id: 'Archived', title: 'Archived' },
|
|
22666
|
+
],
|
|
22667
|
+
placeholder: 'Select status',
|
|
22668
|
+
},
|
|
22669
|
+
},
|
|
22670
|
+
categoryIds: [findCategory$2('General').id],
|
|
22671
|
+
categories: [findCategory$2('General')],
|
|
22672
|
+
},
|
|
22673
|
+
{
|
|
22674
|
+
id: AXPDataGenerator.uuid(),
|
|
22675
|
+
name: 'priority',
|
|
22676
|
+
title: 'Priority',
|
|
22677
|
+
defaultValue: 'Medium',
|
|
22678
|
+
interface: {
|
|
22679
|
+
type: 'select-editor',
|
|
22680
|
+
options: {
|
|
22681
|
+
dataSource: [
|
|
22682
|
+
{ id: 'Low', title: 'Low' },
|
|
22683
|
+
{ id: 'Medium', title: 'Medium' },
|
|
22684
|
+
{ id: 'High', title: 'High' },
|
|
22685
|
+
{ id: 'Critical', title: 'Critical' },
|
|
22686
|
+
],
|
|
22687
|
+
placeholder: 'Select priority',
|
|
22688
|
+
},
|
|
22689
|
+
},
|
|
22690
|
+
categoryIds: [findCategory$2('General').id],
|
|
22691
|
+
categories: [findCategory$2('General')],
|
|
22692
|
+
},
|
|
22693
|
+
{
|
|
22694
|
+
id: AXPDataGenerator.uuid(),
|
|
22695
|
+
name: 'tags',
|
|
22696
|
+
title: 'Tags',
|
|
22697
|
+
defaultValue: '',
|
|
22698
|
+
interface: textAreaInterface,
|
|
22699
|
+
categoryIds: [findCategory$2('General').id],
|
|
22700
|
+
categories: [findCategory$2('General')],
|
|
22701
|
+
},
|
|
22702
|
+
{
|
|
22703
|
+
id: AXPDataGenerator.uuid(),
|
|
22704
|
+
name: 'keywords',
|
|
22705
|
+
title: 'Keywords',
|
|
22706
|
+
defaultValue: '',
|
|
22707
|
+
interface: textAreaInterface,
|
|
22708
|
+
categoryIds: [findCategory$2('General').id],
|
|
22709
|
+
categories: [findCategory$2('General')],
|
|
22710
|
+
},
|
|
22711
|
+
{
|
|
22712
|
+
id: AXPDataGenerator.uuid(),
|
|
22713
|
+
name: 'language',
|
|
22714
|
+
title: 'Language',
|
|
22715
|
+
defaultValue: 'English',
|
|
22716
|
+
interface: {
|
|
22717
|
+
type: 'select-editor',
|
|
22718
|
+
options: {
|
|
22719
|
+
dataSource: [
|
|
22720
|
+
{ id: 'English', title: 'English' },
|
|
22721
|
+
{ id: 'Spanish', title: 'Spanish' },
|
|
22722
|
+
{ id: 'French', title: 'French' },
|
|
22723
|
+
{ id: 'German', title: 'German' },
|
|
22724
|
+
{ id: 'Chinese', title: 'Chinese' },
|
|
22725
|
+
{ id: 'Japanese', title: 'Japanese' },
|
|
22726
|
+
{ id: 'Arabic', title: 'Arabic' },
|
|
22727
|
+
{ id: 'Portuguese', title: 'Portuguese' },
|
|
22728
|
+
],
|
|
22729
|
+
placeholder: 'Select language',
|
|
22730
|
+
},
|
|
22731
|
+
},
|
|
22732
|
+
categoryIds: [findCategory$2('General').id],
|
|
22733
|
+
categories: [findCategory$2('General')],
|
|
22734
|
+
},
|
|
22735
|
+
{
|
|
22736
|
+
id: AXPDataGenerator.uuid(),
|
|
22737
|
+
name: 'is-confidential',
|
|
22738
|
+
title: 'Confidential',
|
|
22739
|
+
defaultValue: 'false',
|
|
22740
|
+
interface: checkboxInterface,
|
|
22741
|
+
categoryIds: [findCategory$2('General').id],
|
|
22742
|
+
categories: [findCategory$2('General')],
|
|
22743
|
+
},
|
|
22744
|
+
// Location - Country / Province / City (uses existing datasources: countries, provinces, cities)
|
|
22745
|
+
{
|
|
22746
|
+
id: AXPDataGenerator.uuid(),
|
|
22747
|
+
name: 'country',
|
|
22748
|
+
title: 'Country',
|
|
22749
|
+
defaultValue: '',
|
|
22750
|
+
interface: {
|
|
22751
|
+
type: 'select-editor',
|
|
22752
|
+
options: {
|
|
22753
|
+
dataSource: 'countries',
|
|
22754
|
+
valueField: 'id',
|
|
22755
|
+
textField: 'title',
|
|
22756
|
+
placeholder: 'Select country',
|
|
22757
|
+
hasClearButton: true,
|
|
22758
|
+
},
|
|
22759
|
+
},
|
|
22760
|
+
categoryIds: [findCategory$2('Location').id],
|
|
22761
|
+
categories: [findCategory$2('Location')],
|
|
22762
|
+
},
|
|
22763
|
+
{
|
|
22764
|
+
id: AXPDataGenerator.uuid(),
|
|
22765
|
+
name: 'province',
|
|
22766
|
+
title: 'Province',
|
|
22767
|
+
defaultValue: '',
|
|
22768
|
+
interface: {
|
|
22769
|
+
type: 'select-editor',
|
|
22770
|
+
options: {
|
|
22771
|
+
dataSource: 'provinces',
|
|
22772
|
+
valueField: 'id',
|
|
22773
|
+
textField: 'title',
|
|
22774
|
+
placeholder: 'Select province',
|
|
22775
|
+
hasClearButton: true,
|
|
22776
|
+
filter: {
|
|
22777
|
+
logic: 'and',
|
|
22778
|
+
filters: [
|
|
22779
|
+
{ field: 'parentId', operator: { type: 'equal' }, value: '{{ context.eval("country.id") }}' },
|
|
22780
|
+
],
|
|
22781
|
+
},
|
|
22782
|
+
},
|
|
22783
|
+
triggers: [{ event: "{{ events.context('country') }}", action: '{{ widget.refresh() }}' }],
|
|
22784
|
+
},
|
|
22785
|
+
categoryIds: [findCategory$2('Location').id],
|
|
22786
|
+
categories: [findCategory$2('Location')],
|
|
22787
|
+
},
|
|
22788
|
+
{
|
|
22789
|
+
id: AXPDataGenerator.uuid(),
|
|
22790
|
+
name: 'city',
|
|
22791
|
+
title: 'City',
|
|
22792
|
+
defaultValue: '',
|
|
22793
|
+
interface: {
|
|
22794
|
+
type: 'select-editor',
|
|
22795
|
+
options: {
|
|
22796
|
+
dataSource: 'cities',
|
|
22797
|
+
valueField: 'id',
|
|
22798
|
+
textField: 'title',
|
|
22799
|
+
placeholder: 'Select city',
|
|
22800
|
+
hasClearButton: true,
|
|
22801
|
+
filter: {
|
|
22802
|
+
logic: 'and',
|
|
22803
|
+
filters: [
|
|
22804
|
+
{ field: 'parentId', operator: { type: 'equal' }, value: '{{ context.eval("province.id") }}' },
|
|
22805
|
+
],
|
|
22806
|
+
},
|
|
22807
|
+
},
|
|
22808
|
+
triggers: [{ event: "{{ events.context('province') }}", action: '{{ widget.refresh() }}' }],
|
|
22809
|
+
},
|
|
22810
|
+
categoryIds: [findCategory$2('Location').id],
|
|
22811
|
+
categories: [findCategory$2('Location')],
|
|
22812
|
+
},
|
|
22813
|
+
// Document Management - Version Control
|
|
22814
|
+
{
|
|
22815
|
+
id: AXPDataGenerator.uuid(),
|
|
22816
|
+
name: 'document-title',
|
|
22817
|
+
title: 'Document Title',
|
|
22818
|
+
defaultValue: '',
|
|
22819
|
+
interface: titleInterface,
|
|
22820
|
+
categoryIds: [findCategory$2('Version Control').id],
|
|
22821
|
+
categories: [findCategory$2('Version Control')],
|
|
22822
|
+
},
|
|
22823
|
+
{
|
|
22824
|
+
id: AXPDataGenerator.uuid(),
|
|
22825
|
+
name: 'document-version',
|
|
22826
|
+
title: 'Document Version',
|
|
22827
|
+
defaultValue: '1.0',
|
|
22828
|
+
interface: versionInterface,
|
|
22829
|
+
categoryIds: [findCategory$2('Version Control').id],
|
|
22830
|
+
categories: [findCategory$2('Version Control')],
|
|
22831
|
+
},
|
|
22832
|
+
{
|
|
22833
|
+
id: AXPDataGenerator.uuid(),
|
|
22834
|
+
name: 'last-modified',
|
|
22835
|
+
title: 'Last Modified',
|
|
22836
|
+
defaultValue: '',
|
|
22837
|
+
interface: dateInterface,
|
|
22838
|
+
categoryIds: [findCategory$2('Version Control').id],
|
|
22839
|
+
categories: [findCategory$2('Version Control')],
|
|
22840
|
+
},
|
|
22841
|
+
{
|
|
22842
|
+
id: AXPDataGenerator.uuid(),
|
|
22843
|
+
name: 'change-log',
|
|
22844
|
+
title: 'Change Log',
|
|
22845
|
+
defaultValue: '',
|
|
22846
|
+
interface: textAreaInterface,
|
|
22847
|
+
categoryIds: [findCategory$2('Version Control').id],
|
|
22848
|
+
categories: [findCategory$2('Version Control')],
|
|
22849
|
+
},
|
|
22850
|
+
// Document Management - Access Control
|
|
22851
|
+
{
|
|
22852
|
+
id: AXPDataGenerator.uuid(),
|
|
22853
|
+
name: 'access-level',
|
|
22854
|
+
title: 'Access Level',
|
|
22855
|
+
defaultValue: 'Public',
|
|
22856
|
+
interface: {
|
|
22857
|
+
type: 'select-editor',
|
|
22858
|
+
options: {
|
|
22859
|
+
dataSource: [
|
|
22860
|
+
{ id: 'Public', title: 'Public' },
|
|
22861
|
+
{ id: 'Internal', title: 'Internal' },
|
|
22862
|
+
{ id: 'Confidential', title: 'Confidential' },
|
|
22863
|
+
{ id: 'Restricted', title: 'Restricted' },
|
|
22864
|
+
{ id: 'Private', title: 'Private' },
|
|
22865
|
+
],
|
|
22866
|
+
placeholder: 'Select access level',
|
|
22867
|
+
},
|
|
22868
|
+
},
|
|
22869
|
+
categoryIds: [findCategory$2('Access Control').id],
|
|
22870
|
+
categories: [findCategory$2('Access Control')],
|
|
22871
|
+
},
|
|
22872
|
+
{
|
|
22873
|
+
id: AXPDataGenerator.uuid(),
|
|
22874
|
+
name: 'permissions',
|
|
22875
|
+
title: 'Permissions',
|
|
22876
|
+
defaultValue: '',
|
|
22877
|
+
interface: textAreaInterface,
|
|
22878
|
+
categoryIds: [findCategory$2('Access Control').id],
|
|
22879
|
+
categories: [findCategory$2('Access Control')],
|
|
22880
|
+
},
|
|
22881
|
+
// Document Management - Document Types
|
|
22882
|
+
{
|
|
22883
|
+
id: AXPDataGenerator.uuid(),
|
|
22884
|
+
name: 'document-type',
|
|
22885
|
+
title: 'Document Type',
|
|
22886
|
+
defaultValue: '',
|
|
22887
|
+
interface: {
|
|
22888
|
+
type: 'select-editor',
|
|
22889
|
+
options: {
|
|
22890
|
+
dataSource: [
|
|
22891
|
+
{ id: 'Report', title: 'Report' },
|
|
22892
|
+
{ id: 'Manual', title: 'Manual' },
|
|
22893
|
+
{ id: 'Policy', title: 'Policy' },
|
|
22894
|
+
{ id: 'Procedure', title: 'Procedure' },
|
|
22895
|
+
{ id: 'Form', title: 'Form' },
|
|
22896
|
+
{ id: 'Contract', title: 'Contract' },
|
|
22897
|
+
{ id: 'Specification', title: 'Specification' },
|
|
22898
|
+
],
|
|
22899
|
+
placeholder: 'Select document type',
|
|
22900
|
+
},
|
|
22901
|
+
},
|
|
22902
|
+
categoryIds: [findCategory$2('Document Types').id],
|
|
22903
|
+
categories: [findCategory$2('Document Types')],
|
|
22904
|
+
},
|
|
22905
|
+
{
|
|
22906
|
+
id: AXPDataGenerator.uuid(),
|
|
22907
|
+
name: 'document-category',
|
|
22908
|
+
title: 'Document Category',
|
|
22909
|
+
defaultValue: '',
|
|
22910
|
+
interface: {
|
|
22911
|
+
type: 'select-editor',
|
|
22912
|
+
options: {
|
|
22913
|
+
dataSource: [
|
|
22914
|
+
{ id: 'Technical', title: 'Technical' },
|
|
22915
|
+
{ id: 'Administrative', title: 'Administrative' },
|
|
22916
|
+
{ id: 'Legal', title: 'Legal' },
|
|
22917
|
+
{ id: 'Financial', title: 'Financial' },
|
|
22918
|
+
{ id: 'HR', title: 'HR' },
|
|
22919
|
+
{ id: 'Marketing', title: 'Marketing' },
|
|
22920
|
+
],
|
|
22921
|
+
placeholder: 'Select document category',
|
|
22922
|
+
},
|
|
22923
|
+
},
|
|
22924
|
+
categoryIds: [findCategory$2('Document Types').id],
|
|
22925
|
+
categories: [findCategory$2('Document Types')],
|
|
22926
|
+
},
|
|
22927
|
+
{
|
|
22928
|
+
id: AXPDataGenerator.uuid(),
|
|
22929
|
+
name: 'file-format',
|
|
22930
|
+
title: 'File Format',
|
|
22931
|
+
defaultValue: '',
|
|
22932
|
+
interface: {
|
|
22933
|
+
type: 'select-editor',
|
|
22934
|
+
options: {
|
|
22935
|
+
dataSource: [
|
|
22936
|
+
{ id: 'PDF', title: 'PDF' },
|
|
22937
|
+
{ id: 'DOCX', title: 'DOCX' },
|
|
22938
|
+
{ id: 'XLSX', title: 'XLSX' },
|
|
22939
|
+
{ id: 'PPTX', title: 'PPTX' },
|
|
22940
|
+
{ id: 'TXT', title: 'TXT' },
|
|
22941
|
+
{ id: 'HTML', title: 'HTML' },
|
|
22942
|
+
{ id: 'XML', title: 'XML' },
|
|
22943
|
+
{ id: 'JSON', title: 'JSON' },
|
|
22944
|
+
],
|
|
22945
|
+
placeholder: 'Select file format',
|
|
22946
|
+
},
|
|
22947
|
+
},
|
|
22948
|
+
categoryIds: [findCategory$2('Document Types').id],
|
|
22949
|
+
categories: [findCategory$2('Document Types')],
|
|
22950
|
+
},
|
|
22951
|
+
// Quality Control - Standards
|
|
22952
|
+
{
|
|
22953
|
+
id: AXPDataGenerator.uuid(),
|
|
22954
|
+
name: 'quality-standard',
|
|
22955
|
+
title: 'Quality Standard',
|
|
22956
|
+
defaultValue: '',
|
|
22957
|
+
interface: {
|
|
22958
|
+
type: 'select-editor',
|
|
22959
|
+
options: {
|
|
22960
|
+
dataSource: [
|
|
22961
|
+
{ id: 'ISO 9001', title: 'ISO 9001' },
|
|
22962
|
+
{ id: 'ISO 14001', title: 'ISO 14001' },
|
|
22963
|
+
{ id: 'ISO 27001', title: 'ISO 27001' },
|
|
22964
|
+
{ id: 'ISO 45001', title: 'ISO 45001' },
|
|
22965
|
+
{ id: 'Six Sigma', title: 'Six Sigma' },
|
|
22966
|
+
{ id: 'CMMI', title: 'CMMI' },
|
|
22967
|
+
],
|
|
22968
|
+
placeholder: 'Select quality standard',
|
|
22969
|
+
},
|
|
22970
|
+
},
|
|
22971
|
+
categoryIds: [findCategory$2('Standards').id],
|
|
22972
|
+
categories: [findCategory$2('Standards')],
|
|
22973
|
+
},
|
|
22974
|
+
{
|
|
22975
|
+
id: AXPDataGenerator.uuid(),
|
|
22976
|
+
name: 'compliance-level',
|
|
22977
|
+
title: 'Compliance Level',
|
|
22978
|
+
defaultValue: '',
|
|
22979
|
+
interface: {
|
|
22980
|
+
type: 'select-editor',
|
|
22981
|
+
options: {
|
|
22982
|
+
dataSource: [
|
|
22983
|
+
{ id: 'Level 1', title: 'Level 1 - Basic' },
|
|
22984
|
+
{ id: 'Level 2', title: 'Level 2 - Intermediate' },
|
|
22985
|
+
{ id: 'Level 3', title: 'Level 3 - Advanced' },
|
|
22986
|
+
{ id: 'Level 4', title: 'Level 4 - Expert' },
|
|
22987
|
+
{ id: 'Level 5', title: 'Level 5 - Master' },
|
|
22988
|
+
],
|
|
22989
|
+
placeholder: 'Select compliance level',
|
|
22990
|
+
},
|
|
22991
|
+
},
|
|
22992
|
+
categoryIds: [findCategory$2('Standards').id],
|
|
22993
|
+
categories: [findCategory$2('Standards')],
|
|
22994
|
+
},
|
|
22995
|
+
{
|
|
22996
|
+
id: AXPDataGenerator.uuid(),
|
|
22997
|
+
name: 'standard-version',
|
|
22998
|
+
title: 'Standard Version',
|
|
22999
|
+
defaultValue: '',
|
|
23000
|
+
interface: versionInterface,
|
|
23001
|
+
categoryIds: [findCategory$2('Standards').id],
|
|
23002
|
+
categories: [findCategory$2('Standards')],
|
|
23003
|
+
},
|
|
23004
|
+
// Quality Control - Testing
|
|
23005
|
+
{
|
|
23006
|
+
id: AXPDataGenerator.uuid(),
|
|
23007
|
+
name: 'test-status',
|
|
23008
|
+
title: 'Test Status',
|
|
23009
|
+
defaultValue: 'Pending',
|
|
23010
|
+
interface: {
|
|
23011
|
+
type: 'select-editor',
|
|
23012
|
+
options: {
|
|
23013
|
+
dataSource: [
|
|
23014
|
+
{ id: 'Pending', title: 'Pending' },
|
|
23015
|
+
{ id: 'In Progress', title: 'In Progress' },
|
|
23016
|
+
{ id: 'Passed', title: 'Passed' },
|
|
23017
|
+
{ id: 'Failed', title: 'Failed' },
|
|
23018
|
+
{ id: 'Blocked', title: 'Blocked' },
|
|
23019
|
+
{ id: 'Skipped', title: 'Skipped' },
|
|
23020
|
+
],
|
|
23021
|
+
placeholder: 'Select test status',
|
|
23022
|
+
},
|
|
23023
|
+
},
|
|
23024
|
+
categoryIds: [findCategory$2('Testing').id],
|
|
23025
|
+
categories: [findCategory$2('Testing')],
|
|
23026
|
+
},
|
|
23027
|
+
{
|
|
23028
|
+
id: AXPDataGenerator.uuid(),
|
|
23029
|
+
name: 'test-results',
|
|
23030
|
+
title: 'Test Results',
|
|
23031
|
+
defaultValue: '',
|
|
23032
|
+
interface: textAreaInterface,
|
|
23033
|
+
categoryIds: [findCategory$2('Testing').id],
|
|
23034
|
+
categories: [findCategory$2('Testing')],
|
|
23035
|
+
},
|
|
23036
|
+
{
|
|
23037
|
+
id: AXPDataGenerator.uuid(),
|
|
23038
|
+
name: 'test-date',
|
|
23039
|
+
title: 'Test Date',
|
|
23040
|
+
defaultValue: '',
|
|
23041
|
+
interface: dateInterface,
|
|
23042
|
+
categoryIds: [findCategory$2('Testing').id],
|
|
23043
|
+
categories: [findCategory$2('Testing')],
|
|
23044
|
+
},
|
|
23045
|
+
// Quality Control - Validation
|
|
23046
|
+
{
|
|
23047
|
+
id: AXPDataGenerator.uuid(),
|
|
23048
|
+
name: 'validation-status',
|
|
23049
|
+
title: 'Validation Status',
|
|
23050
|
+
defaultValue: 'Not Validated',
|
|
23051
|
+
interface: {
|
|
23052
|
+
type: 'select-editor',
|
|
23053
|
+
options: {
|
|
23054
|
+
dataSource: [
|
|
23055
|
+
{ id: 'Not Validated', title: 'Not Validated' },
|
|
23056
|
+
{ id: 'In Validation', title: 'In Validation' },
|
|
23057
|
+
{ id: 'Validated', title: 'Validated' },
|
|
23058
|
+
{ id: 'Validation Failed', title: 'Validation Failed' },
|
|
23059
|
+
{ id: 'Requires Review', title: 'Requires Review' },
|
|
23060
|
+
],
|
|
23061
|
+
placeholder: 'Select validation status',
|
|
23062
|
+
},
|
|
23063
|
+
},
|
|
23064
|
+
categoryIds: [findCategory$2('Validation').id],
|
|
23065
|
+
categories: [findCategory$2('Validation')],
|
|
23066
|
+
},
|
|
23067
|
+
{
|
|
23068
|
+
id: AXPDataGenerator.uuid(),
|
|
23069
|
+
name: 'validation-notes',
|
|
23070
|
+
title: 'Validation Notes',
|
|
23071
|
+
defaultValue: '',
|
|
23072
|
+
interface: textAreaInterface,
|
|
23073
|
+
categoryIds: [findCategory$2('Validation').id],
|
|
23074
|
+
categories: [findCategory$2('Validation')],
|
|
23075
|
+
},
|
|
23076
|
+
// Compliance - Regulations
|
|
23077
|
+
{
|
|
23078
|
+
id: AXPDataGenerator.uuid(),
|
|
23079
|
+
name: 'regulatory-framework',
|
|
23080
|
+
title: 'Regulatory Framework',
|
|
23081
|
+
defaultValue: '',
|
|
23082
|
+
interface: {
|
|
23083
|
+
type: 'select-editor',
|
|
23084
|
+
options: {
|
|
23085
|
+
dataSource: [
|
|
23086
|
+
{ id: 'GDPR', title: 'GDPR' },
|
|
23087
|
+
{ id: 'HIPAA', title: 'HIPAA' },
|
|
23088
|
+
{ id: 'SOX', title: 'SOX' },
|
|
23089
|
+
{ id: 'PCI DSS', title: 'PCI DSS' },
|
|
23090
|
+
{ id: 'FDA', title: 'FDA' },
|
|
23091
|
+
{ id: 'FCC', title: 'FCC' },
|
|
23092
|
+
{ id: 'EU Directives', title: 'EU Directives' },
|
|
23093
|
+
],
|
|
23094
|
+
placeholder: 'Select regulatory framework',
|
|
23095
|
+
},
|
|
23096
|
+
},
|
|
23097
|
+
categoryIds: [findCategory$2('Regulations').id],
|
|
23098
|
+
categories: [findCategory$2('Regulations')],
|
|
23099
|
+
},
|
|
23100
|
+
{
|
|
23101
|
+
id: AXPDataGenerator.uuid(),
|
|
23102
|
+
name: 'compliance-status',
|
|
23103
|
+
title: 'Compliance Status',
|
|
23104
|
+
defaultValue: 'Under Review',
|
|
23105
|
+
interface: {
|
|
23106
|
+
type: 'select-editor',
|
|
23107
|
+
options: {
|
|
23108
|
+
dataSource: [
|
|
23109
|
+
{ id: 'Under Review', title: 'Under Review' },
|
|
23110
|
+
{ id: 'Compliant', title: 'Compliant' },
|
|
23111
|
+
{ id: 'Non-Compliant', title: 'Non-Compliant' },
|
|
23112
|
+
{ id: 'Partially Compliant', title: 'Partially Compliant' },
|
|
23113
|
+
{ id: 'Exempt', title: 'Exempt' },
|
|
23114
|
+
],
|
|
23115
|
+
placeholder: 'Select compliance status',
|
|
23116
|
+
},
|
|
23117
|
+
},
|
|
23118
|
+
categoryIds: [findCategory$2('Regulations').id],
|
|
23119
|
+
categories: [findCategory$2('Regulations')],
|
|
23120
|
+
},
|
|
23121
|
+
{
|
|
23122
|
+
id: AXPDataGenerator.uuid(),
|
|
23123
|
+
name: 'regulation-reference',
|
|
23124
|
+
title: 'Regulation Reference',
|
|
23125
|
+
defaultValue: '',
|
|
23126
|
+
interface: textAreaInterface,
|
|
23127
|
+
categoryIds: [findCategory$2('Regulations').id],
|
|
23128
|
+
categories: [findCategory$2('Regulations')],
|
|
23129
|
+
},
|
|
23130
|
+
// Compliance - Audit Trail
|
|
23131
|
+
{
|
|
23132
|
+
id: AXPDataGenerator.uuid(),
|
|
23133
|
+
name: 'audit-trail',
|
|
23134
|
+
title: 'Audit Trail',
|
|
23135
|
+
defaultValue: '',
|
|
23136
|
+
interface: textAreaInterface,
|
|
23137
|
+
categoryIds: [findCategory$2('Audit Trail').id],
|
|
23138
|
+
categories: [findCategory$2('Audit Trail')],
|
|
23139
|
+
},
|
|
23140
|
+
{
|
|
23141
|
+
id: AXPDataGenerator.uuid(),
|
|
23142
|
+
name: 'audit-date',
|
|
23143
|
+
title: 'Audit Date',
|
|
23144
|
+
defaultValue: '',
|
|
23145
|
+
interface: dateInterface,
|
|
23146
|
+
categoryIds: [findCategory$2('Audit Trail').id],
|
|
23147
|
+
categories: [findCategory$2('Audit Trail')],
|
|
23148
|
+
},
|
|
23149
|
+
// Compliance - Certifications
|
|
23150
|
+
{
|
|
23151
|
+
id: AXPDataGenerator.uuid(),
|
|
23152
|
+
name: 'certification-type',
|
|
23153
|
+
title: 'Certification Type',
|
|
23154
|
+
defaultValue: '',
|
|
23155
|
+
interface: {
|
|
23156
|
+
type: 'select-editor',
|
|
23157
|
+
options: {
|
|
23158
|
+
dataSource: [
|
|
23159
|
+
{ id: 'ISO Certification', title: 'ISO Certification' },
|
|
23160
|
+
{ id: 'Industry Standard', title: 'Industry Standard' },
|
|
23161
|
+
{ id: 'Professional Certification', title: 'Professional Certification' },
|
|
23162
|
+
{ id: 'Product Certification', title: 'Product Certification' },
|
|
23163
|
+
{ id: 'Quality Certification', title: 'Quality Certification' },
|
|
23164
|
+
],
|
|
23165
|
+
placeholder: 'Select certification type',
|
|
23166
|
+
},
|
|
23167
|
+
},
|
|
23168
|
+
categoryIds: [findCategory$2('Certifications').id],
|
|
23169
|
+
categories: [findCategory$2('Certifications')],
|
|
23170
|
+
},
|
|
23171
|
+
{
|
|
23172
|
+
id: AXPDataGenerator.uuid(),
|
|
23173
|
+
name: 'certification-number',
|
|
23174
|
+
title: 'Certification Number',
|
|
23175
|
+
defaultValue: '',
|
|
23176
|
+
interface: textInterface,
|
|
23177
|
+
categoryIds: [findCategory$2('Certifications').id],
|
|
23178
|
+
categories: [findCategory$2('Certifications')],
|
|
23179
|
+
},
|
|
23180
|
+
{
|
|
23181
|
+
id: AXPDataGenerator.uuid(),
|
|
23182
|
+
name: 'certification-expiry',
|
|
23183
|
+
title: 'Certification Expiry',
|
|
23184
|
+
defaultValue: '',
|
|
23185
|
+
interface: dateInterface,
|
|
23186
|
+
categoryIds: [findCategory$2('Certifications').id],
|
|
23187
|
+
categories: [findCategory$2('Certifications')],
|
|
23188
|
+
},
|
|
23189
|
+
// Project Management - Planning
|
|
23190
|
+
{
|
|
23191
|
+
id: AXPDataGenerator.uuid(),
|
|
23192
|
+
name: 'project-phase',
|
|
23193
|
+
title: 'Project Phase',
|
|
23194
|
+
defaultValue: 'Planning',
|
|
23195
|
+
interface: {
|
|
23196
|
+
type: 'select-editor',
|
|
23197
|
+
options: {
|
|
23198
|
+
dataSource: [
|
|
23199
|
+
{ id: 'Planning', title: 'Planning' },
|
|
23200
|
+
{ id: 'Initiation', title: 'Initiation' },
|
|
23201
|
+
{ id: 'Execution', title: 'Execution' },
|
|
23202
|
+
{ id: 'Monitoring', title: 'Monitoring' },
|
|
23203
|
+
{ id: 'Closing', title: 'Closing' },
|
|
23204
|
+
],
|
|
23205
|
+
placeholder: 'Select project phase',
|
|
23206
|
+
},
|
|
23207
|
+
},
|
|
23208
|
+
categoryIds: [findCategory$2('Planning').id],
|
|
23209
|
+
categories: [findCategory$2('Planning')],
|
|
23210
|
+
},
|
|
23211
|
+
{
|
|
23212
|
+
id: AXPDataGenerator.uuid(),
|
|
23213
|
+
name: 'project-milestone',
|
|
23214
|
+
title: 'Project Milestone',
|
|
23215
|
+
defaultValue: '',
|
|
23216
|
+
interface: textAreaInterface,
|
|
23217
|
+
categoryIds: [findCategory$2('Planning').id],
|
|
23218
|
+
categories: [findCategory$2('Planning')],
|
|
23219
|
+
},
|
|
23220
|
+
{
|
|
23221
|
+
id: AXPDataGenerator.uuid(),
|
|
23222
|
+
name: 'project-objectives',
|
|
23223
|
+
title: 'Project Objectives',
|
|
23224
|
+
defaultValue: '',
|
|
23225
|
+
interface: textAreaInterface,
|
|
23226
|
+
categoryIds: [findCategory$2('Planning').id],
|
|
23227
|
+
categories: [findCategory$2('Planning')],
|
|
23228
|
+
},
|
|
23229
|
+
// Project Management - Resources
|
|
23230
|
+
{
|
|
23231
|
+
id: AXPDataGenerator.uuid(),
|
|
23232
|
+
name: 'resource-allocation',
|
|
23233
|
+
title: 'Resource Allocation',
|
|
23234
|
+
defaultValue: '',
|
|
23235
|
+
interface: textAreaInterface,
|
|
23236
|
+
categoryIds: [findCategory$2('Resources').id],
|
|
23237
|
+
categories: [findCategory$2('Resources')],
|
|
23238
|
+
},
|
|
23239
|
+
{
|
|
23240
|
+
id: AXPDataGenerator.uuid(),
|
|
23241
|
+
name: 'budget',
|
|
23242
|
+
title: 'Budget',
|
|
23243
|
+
defaultValue: '',
|
|
23244
|
+
interface: numberInterface,
|
|
23245
|
+
categoryIds: [findCategory$2('Resources').id],
|
|
23246
|
+
categories: [findCategory$2('Resources')],
|
|
23247
|
+
},
|
|
23248
|
+
{
|
|
23249
|
+
id: AXPDataGenerator.uuid(),
|
|
23250
|
+
name: 'team-members',
|
|
23251
|
+
title: 'Team Members',
|
|
23252
|
+
defaultValue: '',
|
|
23253
|
+
interface: textAreaInterface,
|
|
23254
|
+
categoryIds: [findCategory$2('Resources').id],
|
|
23255
|
+
categories: [findCategory$2('Resources')],
|
|
23256
|
+
},
|
|
23257
|
+
// Project Management - Timeline
|
|
23258
|
+
{
|
|
23259
|
+
id: AXPDataGenerator.uuid(),
|
|
23260
|
+
name: 'start-date',
|
|
23261
|
+
title: 'Start Date',
|
|
23262
|
+
defaultValue: '',
|
|
23263
|
+
interface: dateInterface,
|
|
23264
|
+
categoryIds: [findCategory$2('Timeline').id],
|
|
23265
|
+
categories: [findCategory$2('Timeline')],
|
|
23266
|
+
},
|
|
23267
|
+
{
|
|
23268
|
+
id: AXPDataGenerator.uuid(),
|
|
23269
|
+
name: 'end-date',
|
|
23270
|
+
title: 'End Date',
|
|
23271
|
+
defaultValue: '',
|
|
23272
|
+
interface: dateInterface,
|
|
23273
|
+
categoryIds: [findCategory$2('Timeline').id],
|
|
23274
|
+
categories: [findCategory$2('Timeline')],
|
|
23275
|
+
},
|
|
23276
|
+
{
|
|
23277
|
+
id: AXPDataGenerator.uuid(),
|
|
23278
|
+
name: 'deadline',
|
|
23279
|
+
title: 'Deadline',
|
|
23280
|
+
defaultValue: '',
|
|
23281
|
+
interface: dateInterface,
|
|
23282
|
+
categoryIds: [findCategory$2('Timeline').id],
|
|
23283
|
+
categories: [findCategory$2('Timeline')],
|
|
23284
|
+
},
|
|
23285
|
+
// Electronics & Appliances - Mobile Phones & Tablets
|
|
23286
|
+
{
|
|
23287
|
+
id: AXPDataGenerator.uuid(),
|
|
23288
|
+
name: 'screen-size',
|
|
23289
|
+
title: 'Screen Size',
|
|
23290
|
+
defaultValue: '',
|
|
23291
|
+
interface: textInterface,
|
|
23292
|
+
categoryIds: [findCategory$2('Mobile Phones & Tablets').id],
|
|
23293
|
+
categories: [findCategory$2('Mobile Phones & Tablets')],
|
|
23294
|
+
},
|
|
23295
|
+
{
|
|
23296
|
+
id: AXPDataGenerator.uuid(),
|
|
23297
|
+
name: 'operating-system',
|
|
23298
|
+
title: 'Operating System',
|
|
23299
|
+
defaultValue: '',
|
|
23300
|
+
interface: {
|
|
23301
|
+
type: 'select-editor',
|
|
23302
|
+
options: {
|
|
23303
|
+
dataSource: [
|
|
23304
|
+
{ id: 'Android', title: 'Android' },
|
|
23305
|
+
{ id: 'iOS', title: 'iOS' },
|
|
23306
|
+
{ id: 'Windows', title: 'Windows' },
|
|
23307
|
+
{ id: 'HarmonyOS', title: 'HarmonyOS' },
|
|
23308
|
+
],
|
|
23309
|
+
placeholder: 'Select operating system',
|
|
23310
|
+
},
|
|
23311
|
+
},
|
|
23312
|
+
categoryIds: [findCategory$2('Mobile Phones & Tablets').id],
|
|
23313
|
+
categories: [findCategory$2('Mobile Phones & Tablets')],
|
|
23314
|
+
},
|
|
23315
|
+
{
|
|
23316
|
+
id: AXPDataGenerator.uuid(),
|
|
23317
|
+
name: 'storage-capacity',
|
|
23318
|
+
title: 'Storage Capacity',
|
|
23319
|
+
defaultValue: '',
|
|
23320
|
+
interface: {
|
|
23321
|
+
type: 'select-editor',
|
|
23322
|
+
options: {
|
|
23323
|
+
dataSource: [
|
|
23324
|
+
{ id: '32GB', title: '32 GB' },
|
|
23325
|
+
{ id: '64GB', title: '64 GB' },
|
|
23326
|
+
{ id: '128GB', title: '128 GB' },
|
|
23327
|
+
{ id: '256GB', title: '256 GB' },
|
|
23328
|
+
{ id: '512GB', title: '512 GB' },
|
|
23329
|
+
{ id: '1TB', title: '1 TB' },
|
|
23330
|
+
],
|
|
23331
|
+
placeholder: 'Select storage capacity',
|
|
23332
|
+
},
|
|
23333
|
+
},
|
|
23334
|
+
categoryIds: [findCategory$2('Mobile Phones & Tablets').id],
|
|
23335
|
+
categories: [findCategory$2('Mobile Phones & Tablets')],
|
|
23336
|
+
},
|
|
23337
|
+
{
|
|
23338
|
+
id: AXPDataGenerator.uuid(),
|
|
23339
|
+
name: 'ram',
|
|
23340
|
+
title: 'RAM',
|
|
23341
|
+
defaultValue: '',
|
|
23342
|
+
interface: {
|
|
23343
|
+
type: 'select-editor',
|
|
23344
|
+
options: {
|
|
23345
|
+
dataSource: [
|
|
23346
|
+
{ id: '2GB', title: '2 GB' },
|
|
23347
|
+
{ id: '3GB', title: '3 GB' },
|
|
23348
|
+
{ id: '4GB', title: '4 GB' },
|
|
23349
|
+
{ id: '6GB', title: '6 GB' },
|
|
23350
|
+
{ id: '8GB', title: '8 GB' },
|
|
23351
|
+
{ id: '12GB', title: '12 GB' },
|
|
23352
|
+
{ id: '16GB', title: '16 GB' },
|
|
23353
|
+
],
|
|
23354
|
+
placeholder: 'Select RAM',
|
|
23355
|
+
},
|
|
23356
|
+
},
|
|
23357
|
+
categoryIds: [findCategory$2('Mobile Phones & Tablets').id],
|
|
23358
|
+
categories: [findCategory$2('Mobile Phones & Tablets')],
|
|
23359
|
+
},
|
|
23360
|
+
{
|
|
23361
|
+
id: AXPDataGenerator.uuid(),
|
|
23362
|
+
name: 'battery-capacity',
|
|
23363
|
+
title: 'Battery Capacity',
|
|
23364
|
+
defaultValue: '',
|
|
23365
|
+
interface: textInterface,
|
|
23366
|
+
categoryIds: [findCategory$2('Mobile Phones & Tablets').id],
|
|
23367
|
+
categories: [findCategory$2('Mobile Phones & Tablets')],
|
|
23368
|
+
},
|
|
23369
|
+
{
|
|
23370
|
+
id: AXPDataGenerator.uuid(),
|
|
23371
|
+
name: 'camera-resolution',
|
|
23372
|
+
title: 'Camera Resolution',
|
|
23373
|
+
defaultValue: '',
|
|
23374
|
+
interface: textInterface,
|
|
23375
|
+
categoryIds: [findCategory$2('Mobile Phones & Tablets').id],
|
|
23376
|
+
categories: [findCategory$2('Mobile Phones & Tablets')],
|
|
23377
|
+
},
|
|
23378
|
+
// Electronics & Appliances - Laptops & Computers
|
|
23379
|
+
{
|
|
23380
|
+
id: AXPDataGenerator.uuid(),
|
|
23381
|
+
name: 'processor',
|
|
23382
|
+
title: 'Processor',
|
|
23383
|
+
defaultValue: '',
|
|
23384
|
+
interface: textInterface,
|
|
23385
|
+
categoryIds: [findCategory$2('Laptops & Computers').id],
|
|
23386
|
+
categories: [findCategory$2('Laptops & Computers')],
|
|
23387
|
+
},
|
|
23388
|
+
{
|
|
23389
|
+
id: AXPDataGenerator.uuid(),
|
|
23390
|
+
name: 'memory',
|
|
23391
|
+
title: 'Memory (RAM)',
|
|
23392
|
+
defaultValue: '',
|
|
23393
|
+
interface: {
|
|
23394
|
+
type: 'select-editor',
|
|
23395
|
+
options: {
|
|
23396
|
+
dataSource: [
|
|
23397
|
+
{ id: '4GB', title: '4 GB' },
|
|
23398
|
+
{ id: '8GB', title: '8 GB' },
|
|
23399
|
+
{ id: '16GB', title: '16 GB' },
|
|
23400
|
+
{ id: '32GB', title: '32 GB' },
|
|
23401
|
+
{ id: '64GB', title: '64 GB' },
|
|
23402
|
+
],
|
|
23403
|
+
placeholder: 'Select memory (RAM)',
|
|
23404
|
+
},
|
|
23405
|
+
},
|
|
23406
|
+
categoryIds: [findCategory$2('Laptops & Computers').id],
|
|
23407
|
+
categories: [findCategory$2('Laptops & Computers')],
|
|
23408
|
+
},
|
|
23409
|
+
{
|
|
23410
|
+
id: AXPDataGenerator.uuid(),
|
|
23411
|
+
name: 'hard-drive',
|
|
23412
|
+
title: 'Hard Drive',
|
|
23413
|
+
defaultValue: '',
|
|
23414
|
+
interface: {
|
|
23415
|
+
type: 'select-editor',
|
|
23416
|
+
options: {
|
|
23417
|
+
dataSource: [
|
|
23418
|
+
{ id: '256GB SSD', title: '256 GB SSD' },
|
|
23419
|
+
{ id: '512GB SSD', title: '512 GB SSD' },
|
|
23420
|
+
{ id: '1TB SSD', title: '1 TB SSD' },
|
|
23421
|
+
{ id: '2TB SSD', title: '2 TB SSD' },
|
|
23422
|
+
{ id: '500GB HDD', title: '500 GB HDD' },
|
|
23423
|
+
{ id: '1TB HDD', title: '1 TB HDD' },
|
|
23424
|
+
{ id: '2TB HDD', title: '2 TB HDD' },
|
|
23425
|
+
],
|
|
23426
|
+
placeholder: 'Select hard drive',
|
|
23427
|
+
},
|
|
23428
|
+
},
|
|
23429
|
+
categoryIds: [findCategory$2('Laptops & Computers').id],
|
|
23430
|
+
categories: [findCategory$2('Laptops & Computers')],
|
|
23431
|
+
},
|
|
23432
|
+
{
|
|
23433
|
+
id: AXPDataGenerator.uuid(),
|
|
23434
|
+
name: 'graphics-card',
|
|
23435
|
+
title: 'Graphics Card',
|
|
23436
|
+
defaultValue: '',
|
|
23437
|
+
interface: textInterface,
|
|
23438
|
+
categoryIds: [findCategory$2('Laptops & Computers').id],
|
|
23439
|
+
categories: [findCategory$2('Laptops & Computers')],
|
|
23440
|
+
},
|
|
23441
|
+
{
|
|
23442
|
+
id: AXPDataGenerator.uuid(),
|
|
23443
|
+
name: 'display-size',
|
|
23444
|
+
title: 'Display Size',
|
|
23445
|
+
defaultValue: '',
|
|
23446
|
+
interface: textInterface,
|
|
23447
|
+
categoryIds: [findCategory$2('Laptops & Computers').id],
|
|
23448
|
+
categories: [findCategory$2('Laptops & Computers')],
|
|
23449
|
+
},
|
|
23450
|
+
{
|
|
23451
|
+
id: AXPDataGenerator.uuid(),
|
|
23452
|
+
name: 'weight',
|
|
23453
|
+
title: 'Weight',
|
|
23454
|
+
defaultValue: '',
|
|
23455
|
+
interface: numberInterface,
|
|
23456
|
+
categoryIds: [findCategory$2('Laptops & Computers').id],
|
|
23457
|
+
categories: [findCategory$2('Laptops & Computers')],
|
|
23458
|
+
},
|
|
23459
|
+
// Electronics & Appliances - Monitors
|
|
23460
|
+
{
|
|
23461
|
+
id: AXPDataGenerator.uuid(),
|
|
23462
|
+
name: 'monitor-size',
|
|
23463
|
+
title: 'Monitor Size',
|
|
23464
|
+
defaultValue: '',
|
|
23465
|
+
interface: textInterface,
|
|
23466
|
+
categoryIds: [findCategory$2('Monitors').id],
|
|
23467
|
+
categories: [findCategory$2('Monitors')],
|
|
23468
|
+
},
|
|
23469
|
+
{
|
|
23470
|
+
id: AXPDataGenerator.uuid(),
|
|
23471
|
+
name: 'resolution',
|
|
23472
|
+
title: 'Resolution',
|
|
23473
|
+
defaultValue: '',
|
|
23474
|
+
interface: {
|
|
23475
|
+
type: 'select-editor',
|
|
23476
|
+
options: {
|
|
23477
|
+
dataSource: [
|
|
23478
|
+
{ id: '1920x1080', title: '1920x1080 (Full HD)' },
|
|
23479
|
+
{ id: '2560x1440', title: '2560x1440 (QHD)' },
|
|
23480
|
+
{ id: '3840x2160', title: '3840x2160 (4K UHD)' },
|
|
23481
|
+
{ id: '5120x2880', title: '5120x2880 (5K)' },
|
|
23482
|
+
{ id: '7680x4320', title: '7680x4320 (8K UHD)' },
|
|
23483
|
+
],
|
|
23484
|
+
placeholder: 'Select resolution',
|
|
23485
|
+
},
|
|
23486
|
+
},
|
|
23487
|
+
categoryIds: [findCategory$2('Monitors').id],
|
|
23488
|
+
categories: [findCategory$2('Monitors')],
|
|
23489
|
+
},
|
|
23490
|
+
{
|
|
23491
|
+
id: AXPDataGenerator.uuid(),
|
|
23492
|
+
name: 'refresh-rate',
|
|
23493
|
+
title: 'Refresh Rate',
|
|
23494
|
+
defaultValue: '',
|
|
23495
|
+
interface: textInterface,
|
|
23496
|
+
categoryIds: [findCategory$2('Monitors').id],
|
|
23497
|
+
categories: [findCategory$2('Monitors')],
|
|
23498
|
+
},
|
|
23499
|
+
{
|
|
23500
|
+
id: AXPDataGenerator.uuid(),
|
|
23501
|
+
name: 'panel-type',
|
|
23502
|
+
title: 'Panel Type',
|
|
23503
|
+
defaultValue: '',
|
|
23504
|
+
interface: {
|
|
23505
|
+
type: 'select-editor',
|
|
23506
|
+
options: {
|
|
23507
|
+
dataSource: [
|
|
23508
|
+
{ id: 'IPS', title: 'IPS' },
|
|
23509
|
+
{ id: 'VA', title: 'VA' },
|
|
23510
|
+
{ id: 'TN', title: 'TN' },
|
|
23511
|
+
{ id: 'OLED', title: 'OLED' },
|
|
23512
|
+
{ id: 'QLED', title: 'QLED' },
|
|
23513
|
+
],
|
|
23514
|
+
placeholder: 'Select panel type',
|
|
23515
|
+
},
|
|
23516
|
+
},
|
|
23517
|
+
categoryIds: [findCategory$2('Monitors').id],
|
|
23518
|
+
categories: [findCategory$2('Monitors')],
|
|
23519
|
+
},
|
|
23520
|
+
{
|
|
23521
|
+
id: AXPDataGenerator.uuid(),
|
|
23522
|
+
name: 'connectivity',
|
|
23523
|
+
title: 'Connectivity',
|
|
23524
|
+
defaultValue: '',
|
|
23525
|
+
interface: textAreaInterface,
|
|
23526
|
+
categoryIds: [findCategory$2('Monitors').id],
|
|
23527
|
+
categories: [findCategory$2('Monitors')],
|
|
23528
|
+
},
|
|
23529
|
+
// Electronics & Appliances - Accessories (Cables, Chargers, Cases…)
|
|
23530
|
+
{
|
|
23531
|
+
id: AXPDataGenerator.uuid(),
|
|
23532
|
+
name: 'accessory-type',
|
|
23533
|
+
title: 'Accessory Type',
|
|
23534
|
+
defaultValue: '',
|
|
23535
|
+
interface: {
|
|
23536
|
+
type: 'select-editor',
|
|
23537
|
+
options: {
|
|
23538
|
+
dataSource: [
|
|
23539
|
+
{ id: 'Cable', title: 'Cable' },
|
|
23540
|
+
{ id: 'Charger', title: 'Charger' },
|
|
23541
|
+
{ id: 'Case', title: 'Case' },
|
|
23542
|
+
{ id: 'Screen Protector', title: 'Screen Protector' },
|
|
23543
|
+
{ id: 'Stand', title: 'Stand' },
|
|
23544
|
+
{ id: 'Adapter', title: 'Adapter' },
|
|
23545
|
+
{ id: 'Dock', title: 'Dock' },
|
|
23546
|
+
],
|
|
23547
|
+
placeholder: 'Select accessory type',
|
|
23548
|
+
},
|
|
23549
|
+
},
|
|
23550
|
+
categoryIds: [findCategory$2('Accessories (Cables, Chargers, Cases…)').id],
|
|
23551
|
+
categories: [findCategory$2('Accessories (Cables, Chargers, Cases…)')],
|
|
23552
|
+
},
|
|
23553
|
+
{
|
|
23554
|
+
id: AXPDataGenerator.uuid(),
|
|
23555
|
+
name: 'compatibility',
|
|
23556
|
+
title: 'Compatibility',
|
|
23557
|
+
defaultValue: '',
|
|
23558
|
+
interface: textAreaInterface,
|
|
23559
|
+
categoryIds: [findCategory$2('Accessories (Cables, Chargers, Cases…)').id],
|
|
23560
|
+
categories: [findCategory$2('Accessories (Cables, Chargers, Cases…)')],
|
|
23561
|
+
},
|
|
23562
|
+
{
|
|
23563
|
+
id: AXPDataGenerator.uuid(),
|
|
23564
|
+
name: 'cable-length',
|
|
23565
|
+
title: 'Cable Length',
|
|
23566
|
+
defaultValue: '',
|
|
23567
|
+
interface: textInterface,
|
|
23568
|
+
categoryIds: [findCategory$2('Accessories (Cables, Chargers, Cases…)').id],
|
|
23569
|
+
categories: [findCategory$2('Accessories (Cables, Chargers, Cases…)')],
|
|
23570
|
+
},
|
|
23571
|
+
{
|
|
23572
|
+
id: AXPDataGenerator.uuid(),
|
|
23573
|
+
name: 'power-output',
|
|
23574
|
+
title: 'Power Output',
|
|
23575
|
+
defaultValue: '',
|
|
23576
|
+
interface: textInterface,
|
|
23577
|
+
categoryIds: [findCategory$2('Accessories (Cables, Chargers, Cases…)').id],
|
|
23578
|
+
categories: [findCategory$2('Accessories (Cables, Chargers, Cases…)')],
|
|
23579
|
+
},
|
|
23580
|
+
{
|
|
23581
|
+
id: AXPDataGenerator.uuid(),
|
|
23582
|
+
name: 'material',
|
|
23583
|
+
title: 'Material',
|
|
23584
|
+
defaultValue: '',
|
|
23585
|
+
interface: {
|
|
23586
|
+
type: 'select-editor',
|
|
23587
|
+
options: {
|
|
23588
|
+
dataSource: [
|
|
23589
|
+
{ id: 'Silicone', title: 'Silicone' },
|
|
23590
|
+
{ id: 'Leather', title: 'Leather' },
|
|
23591
|
+
{ id: 'Plastic', title: 'Plastic' },
|
|
23592
|
+
{ id: 'Metal', title: 'Metal' },
|
|
23593
|
+
{ id: 'Fabric', title: 'Fabric' },
|
|
23594
|
+
{ id: 'TPU', title: 'TPU' },
|
|
23595
|
+
{ id: 'Carbon Fiber', title: 'Carbon Fiber' },
|
|
23596
|
+
],
|
|
23597
|
+
placeholder: 'Select material',
|
|
23598
|
+
},
|
|
23599
|
+
},
|
|
23600
|
+
categoryIds: [findCategory$2('Accessories (Cables, Chargers, Cases…)').id],
|
|
23601
|
+
categories: [findCategory$2('Accessories (Cables, Chargers, Cases…)')],
|
|
23602
|
+
},
|
|
23603
|
+
// Electronics & Appliances - Home Appliances
|
|
23604
|
+
{
|
|
23605
|
+
id: AXPDataGenerator.uuid(),
|
|
23606
|
+
name: 'appliance-type',
|
|
23607
|
+
title: 'Appliance Type',
|
|
23608
|
+
defaultValue: '',
|
|
23609
|
+
interface: {
|
|
23610
|
+
type: 'select-editor',
|
|
23611
|
+
options: {
|
|
23612
|
+
dataSource: [
|
|
23613
|
+
{ id: 'Refrigerator', title: 'Refrigerator' },
|
|
23614
|
+
{ id: 'Washing Machine', title: 'Washing Machine' },
|
|
23615
|
+
{ id: 'Dishwasher', title: 'Dishwasher' },
|
|
23616
|
+
{ id: 'Oven', title: 'Oven' },
|
|
23617
|
+
{ id: 'Microwave', title: 'Microwave' },
|
|
23618
|
+
{ id: 'Air Conditioner', title: 'Air Conditioner' },
|
|
23619
|
+
{ id: 'Vacuum Cleaner', title: 'Vacuum Cleaner' },
|
|
23620
|
+
],
|
|
23621
|
+
placeholder: 'Select appliance type',
|
|
23622
|
+
},
|
|
23623
|
+
},
|
|
23624
|
+
categoryIds: [findCategory$2('Home Appliances').id],
|
|
23625
|
+
categories: [findCategory$2('Home Appliances')],
|
|
23626
|
+
},
|
|
23627
|
+
{
|
|
23628
|
+
id: AXPDataGenerator.uuid(),
|
|
23629
|
+
name: 'energy-rating',
|
|
23630
|
+
title: 'Energy Rating',
|
|
23631
|
+
defaultValue: '',
|
|
23632
|
+
interface: {
|
|
23633
|
+
type: 'select-editor',
|
|
23634
|
+
options: {
|
|
23635
|
+
dataSource: [
|
|
23636
|
+
{ id: 'A+++', title: 'A+++' },
|
|
23637
|
+
{ id: 'A++', title: 'A++' },
|
|
23638
|
+
{ id: 'A+', title: 'A+' },
|
|
23639
|
+
{ id: 'A', title: 'A' },
|
|
23640
|
+
{ id: 'B', title: 'B' },
|
|
23641
|
+
{ id: 'C', title: 'C' },
|
|
23642
|
+
{ id: 'D', title: 'D' },
|
|
23643
|
+
],
|
|
23644
|
+
placeholder: 'Select energy rating',
|
|
23645
|
+
},
|
|
23646
|
+
},
|
|
23647
|
+
categoryIds: [findCategory$2('Home Appliances').id],
|
|
23648
|
+
categories: [findCategory$2('Home Appliances')],
|
|
23649
|
+
},
|
|
23650
|
+
{
|
|
23651
|
+
id: AXPDataGenerator.uuid(),
|
|
23652
|
+
name: 'capacity',
|
|
23653
|
+
title: 'Capacity',
|
|
23654
|
+
defaultValue: '',
|
|
23655
|
+
interface: textInterface,
|
|
23656
|
+
categoryIds: [findCategory$2('Home Appliances').id],
|
|
23657
|
+
categories: [findCategory$2('Home Appliances')],
|
|
23658
|
+
},
|
|
23659
|
+
{
|
|
23660
|
+
id: AXPDataGenerator.uuid(),
|
|
23661
|
+
name: 'power-consumption',
|
|
23662
|
+
title: 'Power Consumption',
|
|
23663
|
+
defaultValue: '',
|
|
23664
|
+
interface: textInterface,
|
|
23665
|
+
categoryIds: [findCategory$2('Home Appliances').id],
|
|
23666
|
+
categories: [findCategory$2('Home Appliances')],
|
|
23667
|
+
},
|
|
23668
|
+
{
|
|
23669
|
+
id: AXPDataGenerator.uuid(),
|
|
23670
|
+
name: 'dimensions',
|
|
23671
|
+
title: 'Dimensions',
|
|
23672
|
+
defaultValue: '',
|
|
23673
|
+
interface: textInterface,
|
|
23674
|
+
categoryIds: [findCategory$2('Home Appliances').id],
|
|
23675
|
+
categories: [findCategory$2('Home Appliances')],
|
|
23676
|
+
},
|
|
23677
|
+
{
|
|
23678
|
+
id: AXPDataGenerator.uuid(),
|
|
23679
|
+
name: 'features',
|
|
23680
|
+
title: 'Features',
|
|
23681
|
+
defaultValue: '',
|
|
23682
|
+
interface: textAreaInterface,
|
|
23683
|
+
categoryIds: [findCategory$2('Home Appliances').id],
|
|
23684
|
+
categories: [findCategory$2('Home Appliances')],
|
|
23685
|
+
},
|
|
23686
|
+
// Electronics & Appliances - Audio & Video
|
|
23687
|
+
{
|
|
23688
|
+
id: AXPDataGenerator.uuid(),
|
|
23689
|
+
name: 'audio-video-type',
|
|
23690
|
+
title: 'Audio/Video Type',
|
|
23691
|
+
defaultValue: '',
|
|
23692
|
+
interface: {
|
|
23693
|
+
type: 'select-editor',
|
|
23694
|
+
options: {
|
|
23695
|
+
dataSource: [
|
|
23696
|
+
{ id: 'Headphones', title: 'Headphones' },
|
|
23697
|
+
{ id: 'Speakers', title: 'Speakers' },
|
|
23698
|
+
{ id: 'Soundbar', title: 'Soundbar' },
|
|
23699
|
+
{ id: 'TV', title: 'TV' },
|
|
23700
|
+
{ id: 'Projector', title: 'Projector' },
|
|
23701
|
+
{ id: 'Home Theater', title: 'Home Theater' },
|
|
23702
|
+
{ id: 'Microphone', title: 'Microphone' },
|
|
23703
|
+
],
|
|
23704
|
+
placeholder: 'Select audio/video type',
|
|
23705
|
+
},
|
|
23706
|
+
},
|
|
23707
|
+
categoryIds: [findCategory$2('Audio & Video').id],
|
|
23708
|
+
categories: [findCategory$2('Audio & Video')],
|
|
23709
|
+
},
|
|
23710
|
+
{
|
|
23711
|
+
id: AXPDataGenerator.uuid(),
|
|
23712
|
+
name: 'audio-output',
|
|
23713
|
+
title: 'Audio Output',
|
|
23714
|
+
defaultValue: '',
|
|
23715
|
+
interface: textInterface,
|
|
23716
|
+
categoryIds: [findCategory$2('Audio & Video').id],
|
|
23717
|
+
categories: [findCategory$2('Audio & Video')],
|
|
23718
|
+
},
|
|
23719
|
+
{
|
|
23720
|
+
id: AXPDataGenerator.uuid(),
|
|
23721
|
+
name: 'video-resolution',
|
|
23722
|
+
title: 'Video Resolution',
|
|
23723
|
+
defaultValue: '',
|
|
23724
|
+
interface: {
|
|
23725
|
+
type: 'select-editor',
|
|
23726
|
+
options: {
|
|
23727
|
+
dataSource: [
|
|
23728
|
+
{ id: '720p', title: '720p (HD)' },
|
|
23729
|
+
{ id: '1080p', title: '1080p (Full HD)' },
|
|
23730
|
+
{ id: '1440p', title: '1440p (QHD)' },
|
|
23731
|
+
{ id: '2160p', title: '2160p (4K UHD)' },
|
|
23732
|
+
{ id: '4320p', title: '4320p (8K UHD)' },
|
|
23733
|
+
],
|
|
23734
|
+
placeholder: 'Select video resolution',
|
|
23735
|
+
},
|
|
23736
|
+
},
|
|
23737
|
+
categoryIds: [findCategory$2('Audio & Video').id],
|
|
23738
|
+
categories: [findCategory$2('Audio & Video')],
|
|
23739
|
+
},
|
|
23740
|
+
{
|
|
23741
|
+
id: AXPDataGenerator.uuid(),
|
|
23742
|
+
name: 'connectivity-options',
|
|
23743
|
+
title: 'Connectivity Options',
|
|
23744
|
+
defaultValue: '',
|
|
23745
|
+
interface: textAreaInterface,
|
|
23746
|
+
categoryIds: [findCategory$2('Audio & Video').id],
|
|
23747
|
+
categories: [findCategory$2('Audio & Video')],
|
|
23748
|
+
},
|
|
23749
|
+
{
|
|
23750
|
+
id: AXPDataGenerator.uuid(),
|
|
23751
|
+
name: 'frequency-response',
|
|
23752
|
+
title: 'Frequency Response',
|
|
23753
|
+
defaultValue: '',
|
|
23754
|
+
interface: textInterface,
|
|
23755
|
+
categoryIds: [findCategory$2('Audio & Video').id],
|
|
23756
|
+
categories: [findCategory$2('Audio & Video')],
|
|
23757
|
+
},
|
|
23758
|
+
{
|
|
23759
|
+
id: AXPDataGenerator.uuid(),
|
|
23760
|
+
name: 'wattage',
|
|
23761
|
+
title: 'Wattage',
|
|
23762
|
+
defaultValue: '',
|
|
23763
|
+
interface: numberInterface,
|
|
23764
|
+
categoryIds: [findCategory$2('Audio & Video').id],
|
|
23765
|
+
categories: [findCategory$2('Audio & Video')],
|
|
23766
|
+
},
|
|
23767
|
+
// Electronics & Appliances - Cameras
|
|
23768
|
+
{
|
|
23769
|
+
id: AXPDataGenerator.uuid(),
|
|
23770
|
+
name: 'camera-type',
|
|
23771
|
+
title: 'Camera Type',
|
|
23772
|
+
defaultValue: '',
|
|
23773
|
+
interface: {
|
|
23774
|
+
type: 'select-editor',
|
|
23775
|
+
options: {
|
|
23776
|
+
dataSource: [
|
|
23777
|
+
{ id: 'DSLR', title: 'DSLR' },
|
|
23778
|
+
{ id: 'Mirrorless', title: 'Mirrorless' },
|
|
23779
|
+
{ id: 'Point and Shoot', title: 'Point and Shoot' },
|
|
23780
|
+
{ id: 'Action Camera', title: 'Action Camera' },
|
|
23781
|
+
{ id: 'Instant Camera', title: 'Instant Camera' },
|
|
23782
|
+
{ id: 'Film Camera', title: 'Film Camera' },
|
|
23783
|
+
],
|
|
23784
|
+
placeholder: 'Select camera type',
|
|
23785
|
+
},
|
|
23786
|
+
},
|
|
23787
|
+
categoryIds: [findCategory$2('Cameras').id],
|
|
23788
|
+
categories: [findCategory$2('Cameras')],
|
|
23789
|
+
},
|
|
23790
|
+
{
|
|
23791
|
+
id: AXPDataGenerator.uuid(),
|
|
23792
|
+
name: 'megapixels',
|
|
23793
|
+
title: 'Megapixels',
|
|
23794
|
+
defaultValue: '',
|
|
23795
|
+
interface: numberInterface,
|
|
23796
|
+
categoryIds: [findCategory$2('Cameras').id],
|
|
23797
|
+
categories: [findCategory$2('Cameras')],
|
|
23798
|
+
},
|
|
23799
|
+
{
|
|
23800
|
+
id: AXPDataGenerator.uuid(),
|
|
23801
|
+
name: 'sensor-size',
|
|
23802
|
+
title: 'Sensor Size',
|
|
23803
|
+
defaultValue: '',
|
|
23804
|
+
interface: textInterface,
|
|
23805
|
+
categoryIds: [findCategory$2('Cameras').id],
|
|
23806
|
+
categories: [findCategory$2('Cameras')],
|
|
23807
|
+
},
|
|
23808
|
+
{
|
|
23809
|
+
id: AXPDataGenerator.uuid(),
|
|
23810
|
+
name: 'lens-type',
|
|
23811
|
+
title: 'Lens Type',
|
|
23812
|
+
defaultValue: '',
|
|
23813
|
+
interface: {
|
|
23814
|
+
type: 'select-editor',
|
|
23815
|
+
options: {
|
|
23816
|
+
dataSource: [
|
|
23817
|
+
{ id: 'Prime', title: 'Prime' },
|
|
23818
|
+
{ id: 'Zoom', title: 'Zoom' },
|
|
23819
|
+
{ id: 'Wide Angle', title: 'Wide Angle' },
|
|
23820
|
+
{ id: 'Telephoto', title: 'Telephoto' },
|
|
23821
|
+
{ id: 'Macro', title: 'Macro' },
|
|
23822
|
+
{ id: 'Fisheye', title: 'Fisheye' },
|
|
23823
|
+
],
|
|
23824
|
+
placeholder: 'Select lens type',
|
|
23825
|
+
},
|
|
23826
|
+
},
|
|
23827
|
+
categoryIds: [findCategory$2('Cameras').id],
|
|
23828
|
+
categories: [findCategory$2('Cameras')],
|
|
23829
|
+
},
|
|
23830
|
+
{
|
|
23831
|
+
id: AXPDataGenerator.uuid(),
|
|
23832
|
+
name: 'iso-range',
|
|
23833
|
+
title: 'ISO Range',
|
|
23834
|
+
defaultValue: '',
|
|
23835
|
+
interface: textInterface,
|
|
23836
|
+
categoryIds: [findCategory$2('Cameras').id],
|
|
23837
|
+
categories: [findCategory$2('Cameras')],
|
|
23838
|
+
},
|
|
23839
|
+
{
|
|
23840
|
+
id: AXPDataGenerator.uuid(),
|
|
23841
|
+
name: 'video-recording',
|
|
23842
|
+
title: 'Video Recording',
|
|
23843
|
+
defaultValue: '',
|
|
23844
|
+
interface: textInterface,
|
|
23845
|
+
categoryIds: [findCategory$2('Cameras').id],
|
|
23846
|
+
categories: [findCategory$2('Cameras')],
|
|
23847
|
+
},
|
|
23848
|
+
{
|
|
23849
|
+
id: AXPDataGenerator.uuid(),
|
|
23850
|
+
name: 'battery-life',
|
|
23851
|
+
title: 'Battery Life',
|
|
23852
|
+
defaultValue: '',
|
|
23853
|
+
interface: textInterface,
|
|
23854
|
+
categoryIds: [findCategory$2('Cameras').id],
|
|
23855
|
+
categories: [findCategory$2('Cameras')],
|
|
23856
|
+
},
|
|
23857
|
+
];
|
|
23858
|
+
|
|
23859
|
+
class AXCMetaDataDefinitionDataSeeder {
|
|
23860
|
+
constructor() {
|
|
23861
|
+
this.storageService = inject(AXPEntityStorageService);
|
|
23862
|
+
}
|
|
23863
|
+
async seed() {
|
|
23864
|
+
await this.storageService.initial(`${RootConfig$c.module.name}.${RootConfig$c.entities.metaDataDefinition.name}`, METADATA_MOCK);
|
|
23865
|
+
}
|
|
23866
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMetaDataDefinitionDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
23867
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMetaDataDefinitionDataSeeder }); }
|
|
23868
|
+
}
|
|
23869
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMetaDataDefinitionDataSeeder, decorators: [{
|
|
23870
|
+
type: Injectable
|
|
23871
|
+
}] });
|
|
23872
|
+
|
|
23873
|
+
class AXCQueryCategoryMetadataInheritanceQuery {
|
|
23874
|
+
constructor() {
|
|
23875
|
+
this.injector = inject(Injector);
|
|
23876
|
+
this.metaDataService = inject(AXMMetaDataDefinitionService);
|
|
23877
|
+
}
|
|
23878
|
+
async fetch(params) {
|
|
23879
|
+
const { entityName, categoryId } = params;
|
|
23880
|
+
//1a25158a-3e0f-4e9c-bdc2-d6cc0ece86ba
|
|
23881
|
+
const service = runInInjectionContext(this.injector, () => new AXMEntityCrudServiceImpl(`${params.entityName}Category`));
|
|
23882
|
+
// Find the category by ID
|
|
23883
|
+
const category = await this.findCategoryById(categoryId, service);
|
|
23884
|
+
if (!category) {
|
|
23885
|
+
throw new Error(`Category with ID ${categoryId} not found`);
|
|
23886
|
+
}
|
|
23887
|
+
// Build the hierarchy (traverse up to root)
|
|
23888
|
+
const hierarchy = await this.buildCategoryHierarchy(category, service);
|
|
23889
|
+
// Collect and merge groups from all categories in hierarchy
|
|
23890
|
+
const mergedGroups = this.mergeMetadataGroupsFromHierarchy(hierarchy);
|
|
23891
|
+
return mergedGroups;
|
|
23892
|
+
}
|
|
23893
|
+
async findCategoryById(categoryId, service) {
|
|
23894
|
+
try {
|
|
23895
|
+
const result = await service.query({
|
|
23896
|
+
filter: {
|
|
23897
|
+
logic: 'and',
|
|
23898
|
+
filters: [
|
|
23899
|
+
{
|
|
23900
|
+
field: 'id',
|
|
23901
|
+
operator: {
|
|
23902
|
+
type: 'equal',
|
|
23903
|
+
},
|
|
23904
|
+
value: categoryId,
|
|
23905
|
+
},
|
|
23906
|
+
],
|
|
23907
|
+
},
|
|
23908
|
+
take: 1,
|
|
23909
|
+
skip: 0,
|
|
23910
|
+
});
|
|
23911
|
+
return result.items.length > 0 ? result.items[0] : null;
|
|
23912
|
+
}
|
|
23913
|
+
catch (error) {
|
|
23914
|
+
console.error('Error finding category by ID:', error);
|
|
23915
|
+
return null;
|
|
23916
|
+
}
|
|
23917
|
+
}
|
|
23918
|
+
async buildCategoryHierarchy(category, service) {
|
|
23919
|
+
const hierarchy = [category];
|
|
23920
|
+
let currentCategory = category;
|
|
23921
|
+
// Traverse up the parent hierarchy
|
|
23922
|
+
while (currentCategory.parentId) {
|
|
23923
|
+
try {
|
|
23924
|
+
const parentResult = await service.query({
|
|
23925
|
+
filter: {
|
|
23926
|
+
logic: 'and',
|
|
23927
|
+
filters: [
|
|
23928
|
+
{
|
|
23929
|
+
field: 'id',
|
|
23930
|
+
operator: {
|
|
23931
|
+
type: 'equal',
|
|
23932
|
+
},
|
|
23933
|
+
value: currentCategory.parentId,
|
|
23934
|
+
},
|
|
23935
|
+
],
|
|
23936
|
+
},
|
|
23937
|
+
take: 1,
|
|
23938
|
+
skip: 0,
|
|
23939
|
+
});
|
|
23940
|
+
if (parentResult.items.length > 0) {
|
|
23941
|
+
const parent = parentResult.items[0];
|
|
23942
|
+
hierarchy.unshift(parent); // Add to beginning to maintain hierarchy order
|
|
23943
|
+
currentCategory = parent;
|
|
23944
|
+
}
|
|
23945
|
+
else {
|
|
23946
|
+
break; // Parent not found, stop traversal
|
|
23947
|
+
}
|
|
23948
|
+
}
|
|
23949
|
+
catch (error) {
|
|
23950
|
+
console.error('Error finding parent category:', error);
|
|
23951
|
+
break;
|
|
23952
|
+
}
|
|
23953
|
+
}
|
|
23954
|
+
return hierarchy;
|
|
23955
|
+
}
|
|
23956
|
+
/**
|
|
23957
|
+
* Merge metadata groups from category hierarchy, preserving group structure
|
|
23958
|
+
* Groups are merged by name, with fields from child categories taking precedence
|
|
23959
|
+
*/
|
|
23960
|
+
mergeMetadataGroupsFromHierarchy(hierarchy) {
|
|
23961
|
+
const groupsMap = new Map();
|
|
23962
|
+
const seenFieldIds = new Set();
|
|
23963
|
+
// Process hierarchy from root to leaf (child categories override parent fields)
|
|
23964
|
+
for (const category of hierarchy) {
|
|
23965
|
+
// Type: AXMMetaDataSelectorValue from @acorex/modules/data-management
|
|
23966
|
+
const metaDataList = get(category, META_DATA_SELECTOR_FIELD);
|
|
23967
|
+
if (!metaDataList || !metaDataList.groups || !Array.isArray(metaDataList.groups)) {
|
|
23968
|
+
continue;
|
|
23969
|
+
}
|
|
23970
|
+
// Process each group in the category's metadata
|
|
23971
|
+
for (const group of metaDataList.groups) {
|
|
23972
|
+
const groupName = group.name || 'default';
|
|
23973
|
+
// Get or create group
|
|
23974
|
+
if (!groupsMap.has(groupName)) {
|
|
23975
|
+
groupsMap.set(groupName, {
|
|
23976
|
+
name: groupName,
|
|
23977
|
+
title: group.title,
|
|
23978
|
+
description: group.description,
|
|
23979
|
+
order: group.order ?? 0,
|
|
23980
|
+
fields: [],
|
|
23981
|
+
});
|
|
23982
|
+
}
|
|
23983
|
+
const mergedGroup = groupsMap.get(groupName);
|
|
23984
|
+
// Process fields in this group
|
|
23985
|
+
if (group.fields && Array.isArray(group.fields)) {
|
|
23986
|
+
for (const field of group.fields) {
|
|
23987
|
+
// Skip if we've already seen this field (child categories override)
|
|
23988
|
+
if (seenFieldIds.has(field.id)) {
|
|
23989
|
+
// Remove existing field and add new one (child overrides parent)
|
|
23990
|
+
mergedGroup.fields = mergedGroup.fields.filter(f => f.id !== field.id);
|
|
23991
|
+
}
|
|
23992
|
+
// Add field to merged group
|
|
23993
|
+
// Ensure title is always present (use name as fallback)
|
|
23994
|
+
mergedGroup.fields.push({
|
|
23995
|
+
id: field.id,
|
|
23996
|
+
name: field.name,
|
|
23997
|
+
title: field.title || field.name || 'Untitled Field',
|
|
23998
|
+
description: field.description,
|
|
23999
|
+
interface: field.interface,
|
|
24000
|
+
configuration: field.configuration,
|
|
24001
|
+
order: field.order ?? mergedGroup.fields.length,
|
|
24002
|
+
});
|
|
24003
|
+
seenFieldIds.add(field.id);
|
|
24004
|
+
}
|
|
24005
|
+
}
|
|
24006
|
+
}
|
|
24007
|
+
}
|
|
24008
|
+
// Convert map to array and sort by order
|
|
24009
|
+
const result = Array.from(groupsMap.values())
|
|
24010
|
+
.sort((a, b) => (a.order ?? 0) - (b.order ?? 0))
|
|
24011
|
+
.map(group => ({
|
|
24012
|
+
...group,
|
|
24013
|
+
fields: group.fields.sort((a, b) => (a.order ?? 0) - (b.order ?? 0)),
|
|
24014
|
+
}));
|
|
24015
|
+
return result;
|
|
24016
|
+
}
|
|
24017
|
+
async collectInheritedMetadata(hierarchy) {
|
|
24018
|
+
const allMetadata = [];
|
|
24019
|
+
const seenMetadataIds = new Set();
|
|
24020
|
+
// Collect metadata from each level in the hierarchy
|
|
24021
|
+
for (const category of hierarchy) {
|
|
24022
|
+
try {
|
|
24023
|
+
const metadataResult = await this.metaDataService.query({
|
|
24024
|
+
filter: {
|
|
24025
|
+
logic: 'and',
|
|
24026
|
+
filters: [
|
|
24027
|
+
{
|
|
24028
|
+
field: 'categoryIds',
|
|
24029
|
+
operator: {
|
|
24030
|
+
type: 'contains',
|
|
24031
|
+
},
|
|
24032
|
+
value: category.id,
|
|
24033
|
+
},
|
|
24034
|
+
],
|
|
24035
|
+
},
|
|
24036
|
+
take: 1000,
|
|
24037
|
+
skip: 0,
|
|
24038
|
+
});
|
|
24039
|
+
// Add metadata fields that haven't been seen before (avoid duplicates)
|
|
24040
|
+
for (const metadata of metadataResult.items) {
|
|
24041
|
+
if (!seenMetadataIds.has(metadata.id)) {
|
|
24042
|
+
allMetadata.push(metadata);
|
|
24043
|
+
seenMetadataIds.add(metadata.id);
|
|
24044
|
+
}
|
|
24045
|
+
}
|
|
24046
|
+
}
|
|
24047
|
+
catch (error) {
|
|
24048
|
+
console.error(`Error collecting metadata for category ${category.id}:`, error);
|
|
24049
|
+
}
|
|
24050
|
+
}
|
|
24051
|
+
return allMetadata;
|
|
24052
|
+
}
|
|
24053
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCQueryCategoryMetadataInheritanceQuery, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24054
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCQueryCategoryMetadataInheritanceQuery, providedIn: 'root' }); }
|
|
24055
|
+
}
|
|
24056
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCQueryCategoryMetadataInheritanceQuery, decorators: [{
|
|
24057
|
+
type: Injectable,
|
|
24058
|
+
args: [{
|
|
24059
|
+
providedIn: 'root'
|
|
24060
|
+
}]
|
|
24061
|
+
}] });
|
|
24062
|
+
|
|
24063
|
+
var categoryMetadataInheritance_query = /*#__PURE__*/Object.freeze({
|
|
24064
|
+
__proto__: null,
|
|
24065
|
+
AXCQueryCategoryMetadataInheritanceQuery: AXCQueryCategoryMetadataInheritanceQuery
|
|
24194
24066
|
});
|
|
24195
24067
|
|
|
24196
|
-
class
|
|
24068
|
+
class AXCMetadataCategorySeeder {
|
|
24197
24069
|
constructor() {
|
|
24198
24070
|
this.storageService = inject(AXPEntityStorageService);
|
|
24199
24071
|
}
|
|
24200
24072
|
async seed() {
|
|
24201
|
-
await this.storageService.initial(`${RootConfig$c.module.name}.${RootConfig$c.entities.
|
|
24073
|
+
await this.storageService.initial(`${RootConfig$c.module.name}.${RootConfig$c.entities.metaDataDefinition.name}Category`, metadataCategoryMocks);
|
|
24202
24074
|
}
|
|
24203
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type:
|
|
24204
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type:
|
|
24075
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMetadataCategorySeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24076
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMetadataCategorySeeder }); }
|
|
24205
24077
|
}
|
|
24206
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type:
|
|
24078
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMetadataCategorySeeder, decorators: [{
|
|
24207
24079
|
type: Injectable
|
|
24208
24080
|
}] });
|
|
24209
24081
|
|
|
24210
|
-
|
|
24211
|
-
|
|
24212
|
-
|
|
24213
|
-
|
|
24214
|
-
|
|
24215
|
-
|
|
24216
|
-
|
|
24217
|
-
|
|
24218
|
-
|
|
24219
|
-
|
|
24220
|
-
|
|
24221
|
-
|
|
24222
|
-
|
|
24223
|
-
|
|
24224
|
-
|
|
24225
|
-
|
|
24226
|
-
|
|
24227
|
-
|
|
24228
|
-
|
|
24229
|
-
|
|
24230
|
-
|
|
24231
|
-
|
|
24232
|
-
|
|
24233
|
-
|
|
24234
|
-
|
|
24235
|
-
|
|
24236
|
-
|
|
24237
|
-
|
|
24238
|
-
|
|
24239
|
-
|
|
24240
|
-
|
|
24241
|
-
|
|
24242
|
-
|
|
24243
|
-
|
|
24244
|
-
|
|
24245
|
-
|
|
24246
|
-
|
|
24247
|
-
|
|
24248
|
-
|
|
24249
|
-
|
|
24250
|
-
|
|
24251
|
-
|
|
24252
|
-
|
|
24253
|
-
|
|
24254
|
-
|
|
24255
|
-
{
|
|
24256
|
-
|
|
24257
|
-
|
|
24258
|
-
|
|
24259
|
-
|
|
24260
|
-
|
|
24261
|
-
|
|
24262
|
-
},
|
|
24263
|
-
|
|
24264
|
-
|
|
24265
|
-
|
|
24266
|
-
|
|
24267
|
-
|
|
24268
|
-
|
|
24269
|
-
|
|
24270
|
-
|
|
24271
|
-
|
|
24272
|
-
|
|
24273
|
-
|
|
24274
|
-
|
|
24275
|
-
|
|
24276
|
-
|
|
24277
|
-
}
|
|
24278
|
-
|
|
24082
|
+
const REPORT_ID = AXPDataGenerator.uuid();
|
|
24083
|
+
const child1 = {
|
|
24084
|
+
id: AXPDataGenerator.uuid(),
|
|
24085
|
+
title: 'Financial Reports',
|
|
24086
|
+
parentId: REPORT_ID,
|
|
24087
|
+
childrenCount: 0,
|
|
24088
|
+
};
|
|
24089
|
+
const child2 = {
|
|
24090
|
+
id: AXPDataGenerator.uuid(),
|
|
24091
|
+
title: 'User Reports',
|
|
24092
|
+
parentId: REPORT_ID,
|
|
24093
|
+
childrenCount: 0,
|
|
24094
|
+
};
|
|
24095
|
+
const child3 = {
|
|
24096
|
+
id: AXPDataGenerator.uuid(),
|
|
24097
|
+
title: 'System Reports',
|
|
24098
|
+
parentId: REPORT_ID,
|
|
24099
|
+
childrenCount: 0,
|
|
24100
|
+
};
|
|
24101
|
+
const QUERY_CATEGORY_MOCK = [
|
|
24102
|
+
{
|
|
24103
|
+
id: AXPDataGenerator.uuid(),
|
|
24104
|
+
title: 'General Queries',
|
|
24105
|
+
childrenCount: 0,
|
|
24106
|
+
},
|
|
24107
|
+
{
|
|
24108
|
+
id: REPORT_ID,
|
|
24109
|
+
title: 'Reports',
|
|
24110
|
+
childrenCount: 3,
|
|
24111
|
+
},
|
|
24112
|
+
child1,
|
|
24113
|
+
child2,
|
|
24114
|
+
child3,
|
|
24115
|
+
{
|
|
24116
|
+
id: AXPDataGenerator.uuid(),
|
|
24117
|
+
title: 'Analytics',
|
|
24118
|
+
childrenCount: 0,
|
|
24119
|
+
},
|
|
24120
|
+
];
|
|
24121
|
+
const QUERY_MOCK = [
|
|
24122
|
+
{
|
|
24123
|
+
id: AXPDataGenerator.uuid(),
|
|
24124
|
+
name: 'user-list-query',
|
|
24125
|
+
title: 'User List Query',
|
|
24126
|
+
categoryIds: [QUERY_CATEGORY_MOCK[0].id],
|
|
24127
|
+
categories: [{ id: QUERY_CATEGORY_MOCK[0].id, title: QUERY_CATEGORY_MOCK[0].title }],
|
|
24128
|
+
},
|
|
24129
|
+
{
|
|
24130
|
+
id: AXPDataGenerator.uuid(),
|
|
24131
|
+
name: 'financial-report-query',
|
|
24132
|
+
title: 'Financial Report Query',
|
|
24133
|
+
categoryIds: [child1.id],
|
|
24134
|
+
categories: [{ id: child1.id, title: child1.title }],
|
|
24135
|
+
},
|
|
24136
|
+
{
|
|
24137
|
+
id: AXPDataGenerator.uuid(),
|
|
24138
|
+
name: 'system-status-query',
|
|
24139
|
+
title: 'System Status Query',
|
|
24140
|
+
categoryIds: [child3.id],
|
|
24141
|
+
categories: [{ id: child3.id, title: child3.title }],
|
|
24142
|
+
},
|
|
24143
|
+
{
|
|
24144
|
+
id: AXPDataGenerator.uuid(),
|
|
24145
|
+
name: 'analytics-dashboard-query',
|
|
24146
|
+
title: 'Analytics Dashboard Query',
|
|
24147
|
+
categoryIds: [QUERY_CATEGORY_MOCK[5].id],
|
|
24148
|
+
categories: [{ id: QUERY_CATEGORY_MOCK[5].id, title: QUERY_CATEGORY_MOCK[5].title }],
|
|
24149
|
+
},
|
|
24150
|
+
];
|
|
24279
24151
|
|
|
24280
|
-
class
|
|
24152
|
+
class AXCQueryDataSeeder {
|
|
24281
24153
|
constructor() {
|
|
24282
24154
|
this.storageService = inject(AXPEntityStorageService);
|
|
24283
24155
|
}
|
|
24284
24156
|
async seed() {
|
|
24285
|
-
await this.storageService.initial(`${RootConfig$c.module.name}.${RootConfig$c.entities.
|
|
24157
|
+
await this.storageService.initial(`${RootConfig$c.module.name}.${RootConfig$c.entities.queryCategory.name}`, QUERY_CATEGORY_MOCK);
|
|
24158
|
+
await this.storageService.initial(`${RootConfig$c.module.name}.${RootConfig$c.entities.query.name}`, QUERY_MOCK);
|
|
24286
24159
|
}
|
|
24287
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type:
|
|
24288
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type:
|
|
24160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCQueryDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24161
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCQueryDataSeeder }); }
|
|
24289
24162
|
}
|
|
24290
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type:
|
|
24163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCQueryDataSeeder, decorators: [{
|
|
24291
24164
|
type: Injectable
|
|
24292
24165
|
}] });
|
|
24293
24166
|
|
|
@@ -24635,10 +24508,176 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
24635
24508
|
type: Injectable
|
|
24636
24509
|
}] });
|
|
24637
24510
|
|
|
24511
|
+
/**
|
|
24512
|
+
* Mock override of ShowMetaDataSelectorPopupCommand for testing.
|
|
24513
|
+
* Extends the base command and overrides findRecord/updateRecord to allow
|
|
24514
|
+
* custom mock behavior (e.g. logging, alternative data sources).
|
|
24515
|
+
*/
|
|
24516
|
+
class AXCMockMetaDataSelectorPopupCommand extends ShowMetaDataSelectorPopupCommand {
|
|
24517
|
+
findRecord(entity, id) {
|
|
24518
|
+
console.log('[AXCMockMetaDataSelectorPopupCommand] findRecord', { entity, id });
|
|
24519
|
+
return super.findRecord(entity, id);
|
|
24520
|
+
}
|
|
24521
|
+
updateRecord(entity, id, data) {
|
|
24522
|
+
console.log('[AXCMockMetaDataSelectorPopupCommand] updateRecord', { entity, id, data });
|
|
24523
|
+
return super.updateRecord(entity, id, data);
|
|
24524
|
+
}
|
|
24525
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMockMetaDataSelectorPopupCommand, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24526
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMockMetaDataSelectorPopupCommand }); }
|
|
24527
|
+
}
|
|
24528
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCMockMetaDataSelectorPopupCommand, decorators: [{
|
|
24529
|
+
type: Injectable
|
|
24530
|
+
}] });
|
|
24531
|
+
|
|
24532
|
+
//#endregion
|
|
24533
|
+
//#region ---- Tag Mock Data ----
|
|
24534
|
+
const TAGS_MOCK = [
|
|
24535
|
+
// System Tags
|
|
24536
|
+
{
|
|
24537
|
+
id: AXPDataGenerator.uuid(),
|
|
24538
|
+
title: 'Important',
|
|
24539
|
+
color: '#F44336', // Red - Material Design
|
|
24540
|
+
description: 'Marks items as important',
|
|
24541
|
+
scope: 'system',
|
|
24542
|
+
createdAt: new Date('2024-01-01'),
|
|
24543
|
+
},
|
|
24544
|
+
{
|
|
24545
|
+
id: AXPDataGenerator.uuid(),
|
|
24546
|
+
title: 'Urgent',
|
|
24547
|
+
color: '#FF9800', // Orange - Material Design
|
|
24548
|
+
description: 'Marks items as urgent',
|
|
24549
|
+
scope: 'system',
|
|
24550
|
+
createdAt: new Date('2024-01-01'),
|
|
24551
|
+
},
|
|
24552
|
+
{
|
|
24553
|
+
id: AXPDataGenerator.uuid(),
|
|
24554
|
+
title: 'To Do',
|
|
24555
|
+
color: '#2196F3', // Blue - Material Design
|
|
24556
|
+
description: 'Items pending action',
|
|
24557
|
+
scope: 'system',
|
|
24558
|
+
createdAt: new Date('2024-01-01'),
|
|
24559
|
+
},
|
|
24560
|
+
{
|
|
24561
|
+
id: AXPDataGenerator.uuid(),
|
|
24562
|
+
title: 'In Progress',
|
|
24563
|
+
color: '#03A9F4', // Light Blue - Material Design
|
|
24564
|
+
description: 'Currently being worked on',
|
|
24565
|
+
scope: 'system',
|
|
24566
|
+
createdAt: new Date('2024-01-01'),
|
|
24567
|
+
},
|
|
24568
|
+
{
|
|
24569
|
+
id: AXPDataGenerator.uuid(),
|
|
24570
|
+
title: 'Completed',
|
|
24571
|
+
color: '#4CAF50', // Green - Material Design
|
|
24572
|
+
description: 'Finished items',
|
|
24573
|
+
scope: 'system',
|
|
24574
|
+
createdAt: new Date('2024-01-01'),
|
|
24575
|
+
},
|
|
24576
|
+
{
|
|
24577
|
+
id: AXPDataGenerator.uuid(),
|
|
24578
|
+
title: 'Blocked',
|
|
24579
|
+
color: '#FF5722', // Deep Orange - Material Design
|
|
24580
|
+
description: 'Items that are blocked',
|
|
24581
|
+
scope: 'system',
|
|
24582
|
+
createdAt: new Date('2024-01-01'),
|
|
24583
|
+
},
|
|
24584
|
+
{
|
|
24585
|
+
id: AXPDataGenerator.uuid(),
|
|
24586
|
+
title: 'Review',
|
|
24587
|
+
color: '#FFC107', // Amber - Material Design
|
|
24588
|
+
description: 'Items pending review',
|
|
24589
|
+
scope: 'system',
|
|
24590
|
+
createdAt: new Date('2024-01-01'),
|
|
24591
|
+
},
|
|
24592
|
+
{
|
|
24593
|
+
id: AXPDataGenerator.uuid(),
|
|
24594
|
+
title: 'Bug',
|
|
24595
|
+
color: '#E91E63', // Pink - Material Design
|
|
24596
|
+
description: 'Bug reports',
|
|
24597
|
+
scope: 'system',
|
|
24598
|
+
createdAt: new Date('2024-01-01'),
|
|
24599
|
+
},
|
|
24600
|
+
{
|
|
24601
|
+
id: AXPDataGenerator.uuid(),
|
|
24602
|
+
title: 'Feature',
|
|
24603
|
+
color: '#009688', // Teal - Material Design
|
|
24604
|
+
description: 'New feature requests',
|
|
24605
|
+
scope: 'system',
|
|
24606
|
+
createdAt: new Date('2024-01-01'),
|
|
24607
|
+
},
|
|
24608
|
+
{
|
|
24609
|
+
id: AXPDataGenerator.uuid(),
|
|
24610
|
+
title: 'Documentation',
|
|
24611
|
+
color: '#00BCD4', // Cyan - Material Design
|
|
24612
|
+
description: 'Documentation related',
|
|
24613
|
+
scope: 'system',
|
|
24614
|
+
createdAt: new Date('2024-01-01'),
|
|
24615
|
+
},
|
|
24616
|
+
// Tenant Tags
|
|
24617
|
+
{
|
|
24618
|
+
id: AXPDataGenerator.uuid(),
|
|
24619
|
+
title: 'High Priority',
|
|
24620
|
+
color: '#9C27B0', // Purple - Material Design
|
|
24621
|
+
description: 'High priority items for this organization',
|
|
24622
|
+
scope: 'tenant',
|
|
24623
|
+
createdAt: new Date('2024-06-01'),
|
|
24624
|
+
},
|
|
24625
|
+
{
|
|
24626
|
+
id: AXPDataGenerator.uuid(),
|
|
24627
|
+
title: 'Q4 Project',
|
|
24628
|
+
color: '#3F51B5', // Indigo - Material Design
|
|
24629
|
+
description: 'Related to Q4 projects',
|
|
24630
|
+
scope: 'tenant',
|
|
24631
|
+
createdAt: new Date('2024-09-01'),
|
|
24632
|
+
},
|
|
24633
|
+
{
|
|
24634
|
+
id: AXPDataGenerator.uuid(),
|
|
24635
|
+
title: 'Customer Facing',
|
|
24636
|
+
color: '#8BC34A', // Light Green - Material Design
|
|
24637
|
+
description: 'Customer-facing tasks and items',
|
|
24638
|
+
scope: 'tenant',
|
|
24639
|
+
createdAt: new Date('2024-07-01'),
|
|
24640
|
+
},
|
|
24641
|
+
// User Tags
|
|
24642
|
+
{
|
|
24643
|
+
id: AXPDataGenerator.uuid(),
|
|
24644
|
+
title: 'Personal Project',
|
|
24645
|
+
color: '#673AB7', // Deep Purple - Material Design
|
|
24646
|
+
description: 'My personal projects',
|
|
24647
|
+
scope: 'user',
|
|
24648
|
+
createdAt: new Date('2024-10-01'),
|
|
24649
|
+
},
|
|
24650
|
+
{
|
|
24651
|
+
id: AXPDataGenerator.uuid(),
|
|
24652
|
+
title: 'Learning',
|
|
24653
|
+
color: '#CDDC39', // Lime - Material Design
|
|
24654
|
+
description: 'Items to learn or study',
|
|
24655
|
+
scope: 'user',
|
|
24656
|
+
createdAt: new Date('2024-10-15'),
|
|
24657
|
+
},
|
|
24658
|
+
];
|
|
24659
|
+
//#endregion
|
|
24660
|
+
|
|
24661
|
+
//#region ---- Tag Data Seeder ----
|
|
24662
|
+
class AXMTagDataSeeder {
|
|
24663
|
+
constructor() {
|
|
24664
|
+
this.storageService = inject(AXPEntityStorageService);
|
|
24665
|
+
}
|
|
24666
|
+
async seed() {
|
|
24667
|
+
await this.storageService.initial(RootConfig$c.entities.tag.source, TAGS_MOCK);
|
|
24668
|
+
}
|
|
24669
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMTagDataSeeder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
24670
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMTagDataSeeder }); }
|
|
24671
|
+
}
|
|
24672
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXMTagDataSeeder, decorators: [{
|
|
24673
|
+
type: Injectable
|
|
24674
|
+
}] });
|
|
24675
|
+
|
|
24638
24676
|
class AXCDataManagementMockModule {
|
|
24639
24677
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCDataManagementMockModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
24640
24678
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.16", ngImport: i0, type: AXCDataManagementMockModule }); }
|
|
24641
24679
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCDataManagementMockModule, providers: [
|
|
24680
|
+
AXCMockMetaDataSelectorPopupCommand,
|
|
24642
24681
|
{
|
|
24643
24682
|
provide: AXP_DATA_SEEDER_TOKEN,
|
|
24644
24683
|
useClass: AXCQueryDataSeeder,
|
|
@@ -24670,16 +24709,22 @@ class AXCDataManagementMockModule {
|
|
|
24670
24709
|
multi: true,
|
|
24671
24710
|
},
|
|
24672
24711
|
{ provide: AXMQueryService, useClass: AXCQueryMockService },
|
|
24712
|
+
provideCommandSetups([
|
|
24713
|
+
{
|
|
24714
|
+
key: 'show-meta-data-selector-popup',
|
|
24715
|
+
command: () => Promise.resolve(AXCMockMetaDataSelectorPopupCommand),
|
|
24716
|
+
},
|
|
24717
|
+
]),
|
|
24673
24718
|
provideQuerySetups([
|
|
24674
24719
|
{
|
|
24675
24720
|
key: 'DataManagement:Metadata:GetCategoryWithItems',
|
|
24676
|
-
loader: () => import('./acorex-connectivity-mock-category-with-items.query-KB7GIYeb.mjs').then(m => m.AXCQueryCategoryWithItemsQuery),
|
|
24721
|
+
loader: () => import('./acorex-connectivity-mock-category-with-items.query-KB7GIYeb.mjs').then((m) => m.AXCQueryCategoryWithItemsQuery),
|
|
24677
24722
|
},
|
|
24678
24723
|
{
|
|
24679
24724
|
key: 'DataManagement:Metadata:GetCategoryInheritance',
|
|
24680
|
-
loader: () => Promise.resolve().then(function () { return categoryMetadataInheritance_query; }).then(m => m.AXCQueryCategoryMetadataInheritanceQuery),
|
|
24681
|
-
}
|
|
24682
|
-
])
|
|
24725
|
+
loader: () => Promise.resolve().then(function () { return categoryMetadataInheritance_query; }).then((m) => m.AXCQueryCategoryMetadataInheritanceQuery),
|
|
24726
|
+
},
|
|
24727
|
+
]),
|
|
24683
24728
|
] }); }
|
|
24684
24729
|
}
|
|
24685
24730
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: AXCDataManagementMockModule, decorators: [{
|
|
@@ -24689,6 +24734,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
24689
24734
|
exports: [],
|
|
24690
24735
|
declarations: [],
|
|
24691
24736
|
providers: [
|
|
24737
|
+
AXCMockMetaDataSelectorPopupCommand,
|
|
24692
24738
|
{
|
|
24693
24739
|
provide: AXP_DATA_SEEDER_TOKEN,
|
|
24694
24740
|
useClass: AXCQueryDataSeeder,
|
|
@@ -24720,16 +24766,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
24720
24766
|
multi: true,
|
|
24721
24767
|
},
|
|
24722
24768
|
{ provide: AXMQueryService, useClass: AXCQueryMockService },
|
|
24769
|
+
provideCommandSetups([
|
|
24770
|
+
{
|
|
24771
|
+
key: 'show-meta-data-selector-popup',
|
|
24772
|
+
command: () => Promise.resolve(AXCMockMetaDataSelectorPopupCommand),
|
|
24773
|
+
},
|
|
24774
|
+
]),
|
|
24723
24775
|
provideQuerySetups([
|
|
24724
24776
|
{
|
|
24725
24777
|
key: 'DataManagement:Metadata:GetCategoryWithItems',
|
|
24726
|
-
loader: () => import('./acorex-connectivity-mock-category-with-items.query-KB7GIYeb.mjs').then(m => m.AXCQueryCategoryWithItemsQuery),
|
|
24778
|
+
loader: () => import('./acorex-connectivity-mock-category-with-items.query-KB7GIYeb.mjs').then((m) => m.AXCQueryCategoryWithItemsQuery),
|
|
24727
24779
|
},
|
|
24728
24780
|
{
|
|
24729
24781
|
key: 'DataManagement:Metadata:GetCategoryInheritance',
|
|
24730
|
-
loader: () => Promise.resolve().then(function () { return categoryMetadataInheritance_query; }).then(m => m.AXCQueryCategoryMetadataInheritanceQuery),
|
|
24731
|
-
}
|
|
24732
|
-
])
|
|
24782
|
+
loader: () => Promise.resolve().then(function () { return categoryMetadataInheritance_query; }).then((m) => m.AXCQueryCategoryMetadataInheritanceQuery),
|
|
24783
|
+
},
|
|
24784
|
+
]),
|
|
24733
24785
|
],
|
|
24734
24786
|
}]
|
|
24735
24787
|
}] });
|
|
@@ -50756,6 +50808,157 @@ const auditLoggerMiddleware = {
|
|
|
50756
50808
|
};
|
|
50757
50809
|
//#endregion
|
|
50758
50810
|
|
|
50811
|
+
/**
|
|
50812
|
+
* Category Resolver Middleware
|
|
50813
|
+
*
|
|
50814
|
+
* - On create/update: resolves categoryIds to full category objects with ancestor chain
|
|
50815
|
+
* and persists categories: [{id, parentId, title}, ...] on the record.
|
|
50816
|
+
* - On getOne/query/getAll: enriches records that have categoryIds but no categories
|
|
50817
|
+
* (e.g. seeded data) so the column can display full paths.
|
|
50818
|
+
*
|
|
50819
|
+
* Real API can return the same shape via JOIN; mock enriches at write and read time.
|
|
50820
|
+
*/
|
|
50821
|
+
const categoryResolverMiddleware = {
|
|
50822
|
+
target: {
|
|
50823
|
+
ops: ['create', 'update', 'getOne', 'getAll', 'query'],
|
|
50824
|
+
order: 9,
|
|
50825
|
+
},
|
|
50826
|
+
execute: async (ctx, next) => {
|
|
50827
|
+
const registry = inject(AXPEntityDefinitionRegistryService);
|
|
50828
|
+
const [moduleName, entityName] = ctx.entityName.split('.');
|
|
50829
|
+
if (!moduleName || !entityName) {
|
|
50830
|
+
await next();
|
|
50831
|
+
return;
|
|
50832
|
+
}
|
|
50833
|
+
// For create/update, require ctx.data
|
|
50834
|
+
if ((ctx.op === 'create' || ctx.op === 'update') && (!ctx.data || typeof ctx.data !== 'object')) {
|
|
50835
|
+
await next();
|
|
50836
|
+
return;
|
|
50837
|
+
}
|
|
50838
|
+
try {
|
|
50839
|
+
const def = await registry.resolve(moduleName, entityName).catch(() => null);
|
|
50840
|
+
const categoryExt = def?.extensions?.category;
|
|
50841
|
+
if (!categoryExt?.entity) {
|
|
50842
|
+
await next();
|
|
50843
|
+
return;
|
|
50844
|
+
}
|
|
50845
|
+
const propertyName = categoryExt.propertyName ?? 'categoryIds';
|
|
50846
|
+
const textField = categoryExt.textField ?? 'title';
|
|
50847
|
+
const valueField = categoryExt.valueField ?? 'id';
|
|
50848
|
+
const parentKey = categoryExt.parentKey ?? 'parentId';
|
|
50849
|
+
const categoryEntityName = categoryExt.entity;
|
|
50850
|
+
if (ctx.op === 'create' || ctx.op === 'update') {
|
|
50851
|
+
const hasCategoryPayload = propertyName in ctx.data || 'categories' in ctx.data;
|
|
50852
|
+
if (!hasCategoryPayload) {
|
|
50853
|
+
await next();
|
|
50854
|
+
return;
|
|
50855
|
+
}
|
|
50856
|
+
let categoryIds = [];
|
|
50857
|
+
const rawIds = get(ctx.data, propertyName);
|
|
50858
|
+
if (Array.isArray(rawIds)) {
|
|
50859
|
+
categoryIds = rawIds
|
|
50860
|
+
.map((v) => (v != null && typeof v === 'object' ? get(v, valueField) : v))
|
|
50861
|
+
.filter((id) => id != null && id !== '')
|
|
50862
|
+
.map(String);
|
|
50863
|
+
}
|
|
50864
|
+
else if (rawIds != null && rawIds !== '') {
|
|
50865
|
+
categoryIds = [String(rawIds)];
|
|
50866
|
+
}
|
|
50867
|
+
// Fallback: derive from categories array (e.g. from form expose)
|
|
50868
|
+
if (categoryIds.length === 0) {
|
|
50869
|
+
const categories = get(ctx.data, 'categories');
|
|
50870
|
+
if (Array.isArray(categories)) {
|
|
50871
|
+
categoryIds = categories
|
|
50872
|
+
.map((c) => (c != null && typeof c === 'object' ? get(c, valueField) : c))
|
|
50873
|
+
.filter((id) => id != null && id !== '')
|
|
50874
|
+
.map(String);
|
|
50875
|
+
}
|
|
50876
|
+
}
|
|
50877
|
+
const categories = await resolveCategoriesWithAncestors(ctx.backend, categoryEntityName, categoryIds, valueField, textField, parentKey);
|
|
50878
|
+
set(ctx.data, 'categories', categories);
|
|
50879
|
+
}
|
|
50880
|
+
}
|
|
50881
|
+
catch (error) {
|
|
50882
|
+
console.error('[category-resolver] Failed to resolve categories:', error);
|
|
50883
|
+
}
|
|
50884
|
+
await next();
|
|
50885
|
+
// Enrich on read: records with categoryIds but no categories (e.g. seeded data)
|
|
50886
|
+
if ((ctx.op === 'getOne' || ctx.op === 'getAll' || ctx.op === 'query') && ctx.result) {
|
|
50887
|
+
try {
|
|
50888
|
+
const def = await registry.resolve(moduleName, entityName).catch(() => null);
|
|
50889
|
+
const categoryExt = def?.extensions?.category;
|
|
50890
|
+
if (!categoryExt?.entity)
|
|
50891
|
+
return;
|
|
50892
|
+
const propertyName = categoryExt.propertyName ?? 'categoryIds';
|
|
50893
|
+
const textField = categoryExt.textField ?? 'title';
|
|
50894
|
+
const valueField = categoryExt.valueField ?? 'id';
|
|
50895
|
+
const parentKey = categoryExt.parentKey ?? 'parentId';
|
|
50896
|
+
const categoryEntityName = categoryExt.entity;
|
|
50897
|
+
const rows = ctx.op === 'getOne'
|
|
50898
|
+
? [ctx.result]
|
|
50899
|
+
: Array.isArray(ctx.result)
|
|
50900
|
+
? ctx.result
|
|
50901
|
+
: Array.isArray(ctx.result?.items)
|
|
50902
|
+
? ctx.result.items
|
|
50903
|
+
: [];
|
|
50904
|
+
for (const row of rows) {
|
|
50905
|
+
if (!row || get(row, 'categories')?.length > 0)
|
|
50906
|
+
continue;
|
|
50907
|
+
const ids = get(row, propertyName);
|
|
50908
|
+
const categoryIds = Array.isArray(ids)
|
|
50909
|
+
? ids.filter((id) => id != null && id !== '').map(String)
|
|
50910
|
+
: ids != null && ids !== '' ? [String(ids)] : [];
|
|
50911
|
+
if (categoryIds.length === 0)
|
|
50912
|
+
continue;
|
|
50913
|
+
const categories = await resolveCategoriesWithAncestors(ctx.backend, categoryEntityName, categoryIds, valueField, textField, parentKey);
|
|
50914
|
+
set(row, 'categories', categories);
|
|
50915
|
+
}
|
|
50916
|
+
}
|
|
50917
|
+
catch (error) {
|
|
50918
|
+
console.error('[category-resolver] Failed to enrich on read:', error);
|
|
50919
|
+
}
|
|
50920
|
+
}
|
|
50921
|
+
},
|
|
50922
|
+
};
|
|
50923
|
+
async function resolveCategoriesWithAncestors(backend, categoryEntityName, categoryIds, valueField, textField, parentKey) {
|
|
50924
|
+
if (categoryIds.length === 0) {
|
|
50925
|
+
return [];
|
|
50926
|
+
}
|
|
50927
|
+
const allResult = await backend.query(categoryEntityName, {
|
|
50928
|
+
skip: 0,
|
|
50929
|
+
take: 10000,
|
|
50930
|
+
});
|
|
50931
|
+
const allItems = allResult?.items ?? [];
|
|
50932
|
+
const map = new Map();
|
|
50933
|
+
for (const item of allItems) {
|
|
50934
|
+
map.set(String(get(item, valueField)), item);
|
|
50935
|
+
}
|
|
50936
|
+
const collected = new Map();
|
|
50937
|
+
const collectAncestorChain = (id) => {
|
|
50938
|
+
if (collected.has(id))
|
|
50939
|
+
return;
|
|
50940
|
+
const item = map.get(id);
|
|
50941
|
+
if (!item)
|
|
50942
|
+
return;
|
|
50943
|
+
const parentId = get(item, parentKey);
|
|
50944
|
+
if (parentId != null &&
|
|
50945
|
+
parentId !== '' &&
|
|
50946
|
+
parentId !== 'all' &&
|
|
50947
|
+
String(parentId) !== id) {
|
|
50948
|
+
collectAncestorChain(String(parentId));
|
|
50949
|
+
}
|
|
50950
|
+
collected.set(id, {
|
|
50951
|
+
id: String(get(item, valueField)),
|
|
50952
|
+
parentId: parentId != null && parentId !== '' ? String(parentId) : null,
|
|
50953
|
+
title: String(get(item, textField) ?? ''),
|
|
50954
|
+
});
|
|
50955
|
+
};
|
|
50956
|
+
for (const id of categoryIds) {
|
|
50957
|
+
collectAncestorChain(id);
|
|
50958
|
+
}
|
|
50959
|
+
return Array.from(collected.values());
|
|
50960
|
+
}
|
|
50961
|
+
|
|
50759
50962
|
const childCountMiddleware = {
|
|
50760
50963
|
target: { ops: ['create', 'delete'], order: 20 },
|
|
50761
50964
|
execute: async (ctx, next) => {
|
|
@@ -51002,21 +51205,25 @@ const createFileCastMiddleware = {
|
|
|
51002
51205
|
file.source?.kind === 'fileId' &&
|
|
51003
51206
|
typeof file.source.value === 'string') {
|
|
51004
51207
|
const cleanFileId = ensureCleanFileId(file.source.value);
|
|
51005
|
-
// If status is 'editing',
|
|
51208
|
+
// If status is 'editing', persist name/title/description to file storage
|
|
51006
51209
|
if (file.status === 'editing') {
|
|
51007
51210
|
try {
|
|
51008
51211
|
const existingFileInfo = await fileStorageService.getInfo(cleanFileId);
|
|
51009
|
-
|
|
51010
|
-
|
|
51212
|
+
if (existingFileInfo) {
|
|
51213
|
+
const existingMeta = existingFileInfo.metadata || {};
|
|
51011
51214
|
await fileStorageService.update({
|
|
51012
51215
|
fileId: cleanFileId,
|
|
51013
51216
|
name: file.name,
|
|
51014
|
-
metadata:
|
|
51217
|
+
metadata: {
|
|
51218
|
+
...existingMeta,
|
|
51219
|
+
title: file.title,
|
|
51220
|
+
description: file.description,
|
|
51221
|
+
},
|
|
51015
51222
|
});
|
|
51016
51223
|
}
|
|
51017
51224
|
}
|
|
51018
51225
|
catch (error) {
|
|
51019
|
-
console.error('[file-cast] Failed to update file
|
|
51226
|
+
console.error('[file-cast] Failed to update file during editing:', error);
|
|
51020
51227
|
}
|
|
51021
51228
|
}
|
|
51022
51229
|
// If it already has an ID and also carries meta, prefer returning as a document reference (if possible)
|
|
@@ -51214,7 +51421,7 @@ const createFileCastMiddleware = {
|
|
|
51214
51421
|
return id;
|
|
51215
51422
|
};
|
|
51216
51423
|
const convertStorageInfoToFileListItem = (storageInfo) => {
|
|
51217
|
-
|
|
51424
|
+
const item = {
|
|
51218
51425
|
id: storageInfo.fileId,
|
|
51219
51426
|
name: storageInfo.name || 'Unknown',
|
|
51220
51427
|
size: storageInfo.size,
|
|
@@ -51224,12 +51431,23 @@ const createFileCastMiddleware = {
|
|
|
51224
51431
|
value: storageInfo.fileId,
|
|
51225
51432
|
},
|
|
51226
51433
|
};
|
|
51434
|
+
if (storageInfo.title !== undefined)
|
|
51435
|
+
item.title = storageInfo.title;
|
|
51436
|
+
if (storageInfo.description !== undefined)
|
|
51437
|
+
item.description = storageInfo.description;
|
|
51438
|
+
return item;
|
|
51227
51439
|
};
|
|
51228
51440
|
// CREATE/UPDATE Operations: Save files and replace with IDs
|
|
51229
51441
|
// Note: Files with status 'deleted' will be removed from storage and excluded from the final data
|
|
51230
51442
|
if (ctx.op === 'create' || ctx.op === 'update') {
|
|
51231
51443
|
const fileKeys = findFileKeys(ctx.data);
|
|
51232
51444
|
if (fileKeys.length > 0) {
|
|
51445
|
+
fileKeys.forEach((keyPath) => {
|
|
51446
|
+
const value = getValueByPath(ctx.data, keyPath);
|
|
51447
|
+
if (Array.isArray(value)) {
|
|
51448
|
+
console.log('[file-cast] incoming payload (before process)', keyPath, value.map((f) => ({ name: f?.name, title: f?.title, description: f?.description, status: f?.status })));
|
|
51449
|
+
}
|
|
51450
|
+
});
|
|
51233
51451
|
// Process all keyPaths in parallel
|
|
51234
51452
|
await Promise.all(fileKeys.map(async (keyPath) => {
|
|
51235
51453
|
const value = getValueByPath(ctx.data, keyPath);
|
|
@@ -52486,6 +52704,7 @@ const AXCMockEntityLogListener = {
|
|
|
52486
52704
|
};
|
|
52487
52705
|
//#endregion
|
|
52488
52706
|
|
|
52707
|
+
const LOG_PREFIX = '[DexieStorage]';
|
|
52489
52708
|
class AXCDexieEntityStorageService extends Dexie {
|
|
52490
52709
|
constructor() {
|
|
52491
52710
|
super('ACoreXPlatform');
|
|
@@ -52568,26 +52787,32 @@ class AXCDexieEntityStorageService extends Dexie {
|
|
|
52568
52787
|
}
|
|
52569
52788
|
//#endregion
|
|
52570
52789
|
async getOne(entityName, id) {
|
|
52790
|
+
console.log(LOG_PREFIX, 'getOne', { entityName, id });
|
|
52571
52791
|
return await this.table('entity-store').where({ entityName, id: id }).first();
|
|
52572
52792
|
}
|
|
52573
52793
|
async updateOne(entityName, id, keyValue) {
|
|
52794
|
+
console.log(LOG_PREFIX, 'updateOne', { entityName, id, keyValue });
|
|
52574
52795
|
await this.table('entity-store').where({ entityName, id: id }).modify(keyValue);
|
|
52575
52796
|
const newEntity = await this.getOne(entityName, id);
|
|
52576
52797
|
return newEntity;
|
|
52577
52798
|
}
|
|
52578
52799
|
async deleteOne(entityName, id) {
|
|
52800
|
+
console.log(LOG_PREFIX, 'deleteOne', { entityName, id });
|
|
52579
52801
|
await this.table('entity-store').where({ entityName, id: id }).delete();
|
|
52580
52802
|
}
|
|
52581
52803
|
async insertOne(entityName, entity) {
|
|
52804
|
+
console.log(LOG_PREFIX, 'insertOne', { entityName, entityId: entity?.id });
|
|
52582
52805
|
// Use existing id if provided, otherwise generate new UUID
|
|
52583
52806
|
const id = entity?.id || AXPDataGenerator.uuid();
|
|
52584
52807
|
await this.table('entity-store').add({ ...entity, id, entityName });
|
|
52585
52808
|
return id;
|
|
52586
52809
|
}
|
|
52587
52810
|
async getAll(entityName) {
|
|
52811
|
+
console.log(LOG_PREFIX, 'getAll', { entityName });
|
|
52588
52812
|
return await this.table('entity-store').where({ entityName }).toArray();
|
|
52589
52813
|
}
|
|
52590
52814
|
async query(entityName, request) {
|
|
52815
|
+
console.log(LOG_PREFIX, 'query', { entityName, request });
|
|
52591
52816
|
let result = await this.table('entity-store').where({ entityName }).toArray();
|
|
52592
52817
|
if (request.sort && request.sort.length) {
|
|
52593
52818
|
result = applySortArray(result, request.sort);
|
|
@@ -52616,21 +52841,24 @@ class AXCDexieEntityStorageService extends Dexie {
|
|
|
52616
52841
|
return entityName.endsWith('Category');
|
|
52617
52842
|
}
|
|
52618
52843
|
/**
|
|
52619
|
-
* Calculate childrenCount for each category entity
|
|
52844
|
+
* Calculate childrenCount for each category entity.
|
|
52845
|
+
* Uses stored childrenCount when present; computes only when missing or invalid.
|
|
52620
52846
|
*/
|
|
52621
52847
|
async calculateChildrenCounts(items, entityName) {
|
|
52848
|
+
console.log(LOG_PREFIX, 'calculateChildrenCounts', { entityName, itemsCount: items.length });
|
|
52622
52849
|
return Promise.all(items.map(async (item) => {
|
|
52850
|
+
if (typeof item.childrenCount === 'number') {
|
|
52851
|
+
return { ...item };
|
|
52852
|
+
}
|
|
52623
52853
|
const childrenCount = await this.getDirectChildCount(item.id, entityName);
|
|
52624
|
-
return {
|
|
52625
|
-
...item,
|
|
52626
|
-
childrenCount
|
|
52627
|
-
};
|
|
52854
|
+
return { ...item, childrenCount };
|
|
52628
52855
|
}));
|
|
52629
52856
|
}
|
|
52630
52857
|
/**
|
|
52631
52858
|
* Get the count of direct children for a category
|
|
52632
52859
|
*/
|
|
52633
52860
|
async getDirectChildCount(categoryId, entityName) {
|
|
52861
|
+
console.log(LOG_PREFIX, 'getDirectChildCount', { categoryId, entityName });
|
|
52634
52862
|
const children = await this.table('entity-store')
|
|
52635
52863
|
.where({ entityName })
|
|
52636
52864
|
.filter((item) => item.parentId === categoryId)
|
|
@@ -52658,6 +52886,7 @@ class AXCDexieEntityStorageService extends Dexie {
|
|
|
52658
52886
|
* Apply recursive category filtering - finds entities that belong to the category or any of its children
|
|
52659
52887
|
*/
|
|
52660
52888
|
async applyRecursiveCategoryFilter(result, filter, entityName) {
|
|
52889
|
+
console.log(LOG_PREFIX, 'applyRecursiveCategoryFilter', { entityName, resultCount: result.length, filter });
|
|
52661
52890
|
// Handle compound filter - find the category filter within it
|
|
52662
52891
|
let categoryFilter = filter;
|
|
52663
52892
|
let otherFilters = [];
|
|
@@ -52699,6 +52928,7 @@ class AXCDexieEntityStorageService extends Dexie {
|
|
|
52699
52928
|
* Recursively gets all child category IDs including the parent category itself
|
|
52700
52929
|
*/
|
|
52701
52930
|
async getAllChildCategoryIds(categoryId, entityName) {
|
|
52931
|
+
console.log(LOG_PREFIX, 'getAllChildCategoryIds', { categoryId, entityName });
|
|
52702
52932
|
const allIds = [categoryId];
|
|
52703
52933
|
// Extract module name and entity name from entityName (e.g., "module.entity" -> "module" and "entity")
|
|
52704
52934
|
const [moduleName, entityNameOnly] = entityName.split('.');
|
|
@@ -52722,6 +52952,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
52722
52952
|
type: Injectable
|
|
52723
52953
|
}], ctorParameters: () => [] });
|
|
52724
52954
|
|
|
52955
|
+
/** Cache TTL in ms - policies rarely change during a session */
|
|
52956
|
+
const POLICY_CACHE_TTL_MS = 30_000;
|
|
52957
|
+
/** In-memory cache for policies - avoids N+1 Policy queries per page (one per entity operation) */
|
|
52958
|
+
let policyCache = null;
|
|
52959
|
+
/** In-flight promise for request deduplication - parallel entity ops share one Policy load */
|
|
52960
|
+
let policyLoadPromise = null;
|
|
52725
52961
|
/**
|
|
52726
52962
|
* resolve whether a policy matches current entity by wildcard (*) or exact name
|
|
52727
52963
|
*/
|
|
@@ -52847,17 +53083,37 @@ const policyEnforceMiddleware = {
|
|
|
52847
53083
|
// Prevent recursion: skip enforcement when querying the Policy entity itself
|
|
52848
53084
|
const policyEntityFullName = `${RootConfig$5.module.name}.${RootConfig$5.entities.policy.name}`;
|
|
52849
53085
|
if (ctx.entityName === policyEntityFullName) {
|
|
53086
|
+
// Invalidate cache when Policy is modified so next entity op gets fresh policies
|
|
53087
|
+
if (ctx.op === 'create' || ctx.op === 'update' || ctx.op === 'delete') {
|
|
53088
|
+
policyCache = null;
|
|
53089
|
+
}
|
|
52850
53090
|
await next();
|
|
52851
53091
|
return;
|
|
52852
53092
|
}
|
|
52853
|
-
// Load all policies (
|
|
53093
|
+
// Load all policies (cached + request deduplication - parallel entity ops share one Policy load)
|
|
52854
53094
|
let policies = [];
|
|
52855
|
-
|
|
52856
|
-
|
|
52857
|
-
policies =
|
|
53095
|
+
const now = Date.now();
|
|
53096
|
+
if (policyCache && now - policyCache.timestamp < POLICY_CACHE_TTL_MS) {
|
|
53097
|
+
policies = policyCache.policies;
|
|
52858
53098
|
}
|
|
52859
|
-
|
|
52860
|
-
|
|
53099
|
+
else {
|
|
53100
|
+
if (!policyLoadPromise) {
|
|
53101
|
+
policyLoadPromise = (async () => {
|
|
53102
|
+
try {
|
|
53103
|
+
const res = await policyService.query({ skip: 0, take: 1000 });
|
|
53104
|
+
const items = (res?.items ?? []);
|
|
53105
|
+
policyCache = { policies: items, timestamp: Date.now() };
|
|
53106
|
+
return items;
|
|
53107
|
+
}
|
|
53108
|
+
catch {
|
|
53109
|
+
return [];
|
|
53110
|
+
}
|
|
53111
|
+
finally {
|
|
53112
|
+
policyLoadPromise = null;
|
|
53113
|
+
}
|
|
53114
|
+
})();
|
|
53115
|
+
}
|
|
53116
|
+
policies = await policyLoadPromise;
|
|
52861
53117
|
}
|
|
52862
53118
|
const applicable = policies.filter(p => p?.resource?.type === 'entity' && matchesEntity(p.resource?.target, ctx.entityName));
|
|
52863
53119
|
if (applicable.length === 0) {
|
|
@@ -53267,17 +53523,18 @@ class AXCMiddlewaresModule {
|
|
|
53267
53523
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: lockGuardMiddleware }, // order: 10
|
|
53268
53524
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: uniqueFieldsMiddleware }, // order: 12
|
|
53269
53525
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: auditLoggerMiddleware }, // order: 15
|
|
53270
|
-
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: visibilityFilterMiddleware }, // order: 20
|
|
53271
53526
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: eventDispatchMiddleware },
|
|
53272
53527
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: lookupResolverMiddleware },
|
|
53528
|
+
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: categoryResolverMiddleware },
|
|
53273
53529
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: mergeDetailRelationMiddleware },
|
|
53274
53530
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: identifierCommitMiddleware },
|
|
53275
53531
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: childCountMiddleware },
|
|
53276
53532
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: createFileCastMiddleware },
|
|
53277
53533
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: primaryMiddleware },
|
|
53278
53534
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: historyLoggerMiddleware },
|
|
53279
|
-
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue:
|
|
53280
|
-
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue:
|
|
53535
|
+
//{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: visibilityFilterMiddleware }, // order: 20
|
|
53536
|
+
//{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: signatureLoaderMiddleware },
|
|
53537
|
+
//{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: groupOrderItemCalculatorMiddleware },
|
|
53281
53538
|
// Sample entity event listener to show logs for all entity.* events
|
|
53282
53539
|
//{ provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, multi: true, useValue: AXCMockEntityLogListener },
|
|
53283
53540
|
] }); }
|
|
@@ -53296,17 +53553,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
53296
53553
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: lockGuardMiddleware }, // order: 10
|
|
53297
53554
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: uniqueFieldsMiddleware }, // order: 12
|
|
53298
53555
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: auditLoggerMiddleware }, // order: 15
|
|
53299
|
-
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: visibilityFilterMiddleware }, // order: 20
|
|
53300
53556
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: eventDispatchMiddleware },
|
|
53301
53557
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: lookupResolverMiddleware },
|
|
53558
|
+
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: categoryResolverMiddleware },
|
|
53302
53559
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: mergeDetailRelationMiddleware },
|
|
53303
53560
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: identifierCommitMiddleware },
|
|
53304
53561
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: childCountMiddleware },
|
|
53305
53562
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: createFileCastMiddleware },
|
|
53306
53563
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: primaryMiddleware },
|
|
53307
53564
|
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: historyLoggerMiddleware },
|
|
53308
|
-
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue:
|
|
53309
|
-
{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue:
|
|
53565
|
+
//{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: visibilityFilterMiddleware }, // order: 20
|
|
53566
|
+
//{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: signatureLoaderMiddleware },
|
|
53567
|
+
//{ provide: AXP_ENTITY_STORAGE_MIDDLEWARE, multi: true, useValue: groupOrderItemCalculatorMiddleware },
|
|
53310
53568
|
// Sample entity event listener to show logs for all entity.* events
|
|
53311
53569
|
//{ provide: AXP_DISTRIBUTED_EVENT_LISTENER_PROVIDER, multi: true, useValue: AXCMockEntityLogListener },
|
|
53312
53570
|
],
|
|
@@ -67090,5 +67348,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
67090
67348
|
* Generated bundle index. Do not edit.
|
|
67091
67349
|
*/
|
|
67092
67350
|
|
|
67093
|
-
export { ACTIVITY_CATEGORIES, ACTIVITY_DEFINITIONS, APPLICATIONS, AXCActivityCategorySeeder, AXCActivityDefinitionSeeder, AXCAppTermDataSeeder, AXCAppVersionDataSeeder, AXCApplicationDataSeeder, AXCApplicationManagementMockModule, AXCAssessmentManagementMockModule, AXCAssetManagementMockModule, AXCAuthMockModule, AXCCalendarDataSeeder, AXCCalendarEventDataSeeder, AXCCalendarManagementMockModule, AXCCommonMockModule, AXCContactManagementMockModule, AXCContentManagementMockModule, AXCConversationMockModule, AXCCustomerManagementMockModule, AXCDashboardManagementMockModule, AXCDataManagementMockModule, AXCDexieEntityStorageService, AXCDocumentManagementMockModule, AXCEditionDataSeeder, AXCEquipmentCategorySeeder, AXCEquipmentSeeder, AXCFileStorageService, AXCFinancialCoreMockModule, AXCFormTemplateManagementMockModule, AXCGoogleStrategyMock, AXCHelpDeskMockModule, AXCHumanCapitalManagementMockModule, AXCIdentifierManagementMockModule, AXCImageCaptchaChallengeProviderMock, AXCJsaSeeder, AXCLearningManagementMockModule, AXCLocaleManagementMockModule, AXCLocationManagementMockModule, AXCLockService, AXCMeasurementCoreMockModule, AXCMeetingManagementMockModule, AXCMetaDataDefinitionDataSeeder, AXCMetaDataDefinitionElectricityDataSeeder, AXCMetadataCategorySeeder, AXCMetadataElectricityCategorySeeder, AXCMiddlewaresModule, AXCMockCaptchaChallengeComponent, AXCMockEntityLogListener, AXCMockModule, AXCNotificationManagementMockModule, AXCOrderManagementMockModule, AXCOrganizationManagementMockModule, AXCPersonManagementMockModule, AXCPlatformManagementMockModule, AXCProcurementManagementMockModule, AXCProductCatalogMockModule, AXCProjectManagementMockModule, AXCQueryCategoryMetadataInheritanceQuery, AXCReportManagementMockModule, AXCSecurityManagementMockModule, AXCSubscriptionManagementMockModule, AXCSupplierManagementMockModule, AXCTaskManagementMockModule, AXCTenantManagementMockModule, AXCTenantSeeder, AXCTokensDataSeeder, AXCUserPassStrategyMock, AXCVersionDB, AXCVersioningService, AXCWorkflowCategorySeeder, AXCWorkflowDefinitionDataSeeder, AXCWorkflowEngine, AXCWorkflowExecutionDB, AXCWorkflowManagementMockModule, AXMAiResponderService, AXMAssessmentCaseDataSeeder, AXMAssessmentSessionDataSeeder, AXMBusinessUnitDataSeeder, AXMCalendarEventTypeSeeder, AXMEmployeeDataSeeder, AXMEmploymentTypeDataSeeder, AXMFormDataSourcesProvider, AXMJobDefinitionDataSeeder, AXMJobLevelDataSeeder, AXMLeaveRequestDataSeeder, AXMMeetingDataSeeder, AXMMeetingFilesDataSeeder, AXMMeetingParticipantDataSeeder, AXMMeetingRoleTypeDataSeeder, AXMMeetingSessionDataSeeder, AXMMeetingTypeDataSeeder, AXMMeetingTypeFileTemplateDataSeeder, AXMPositionAssignmentDataSeeder, AXMPositionDataSeeder, AXMQuestionBankItemCategoryDataSeeder, AXMQuestionBankItemDataSeeder, AXMQuestionnaireCategoryDataSeeder, AXMQuestionnaireDataSeeder, AXMResponsibilityDataSeeder, AXMTagDataSeeder, AXMTeamDataSeeder, AXMTeamMemberDataSeeder, AXMTeamMemberRoleDataSeeder, AXPDashboardDataSeeder, AXPIdentifierDB, AXPMessageDataSeeder, AXPMockChecksumProvider, AXPMockClockProvider, AXPMockIdentifierService, AXPMockLookupProvider, AXPMockPolicyProvider, AXPMockSequenceProvider, AXPRoomDataSeeder, AXPSecurityManagementRoleDataSeeder, AXPSecurityManagementUserDataSeeder, AXPTaskBoardPlatformManagementTaskProvider, AXPTaskBoardProjectManagementTaskProvider, AXVChangeType, BUSINESS_UNITS_MOCK, COSTMANAGER_ENTERPRISE, COSTMANAGER_PROFESSIONAL, COSTMANAGER_STANDARD, CRM_ENTERPRISE, DASHBOARDS, EDITIONS, EMPLOYEES_MOCK, EMPLOYMENT_TYPES_MOCK, EQUIPMENT_CATEGORY_ID, FINANCE_BASIC, FINANCE_ENTERPRISE, FINANCE_PRO, HR_ENTERPRISE, JOB_DEFINITIONS_CATEGORY_MOCK, JOB_DEFINITIONS_MOCK, JOB_LEVELS_MOCK, LASER_PLUMBING_TENANT_ID, LEAVE_REQUESTS_MOCK, METADATA_ELECTRICITY_MOCK, ORDERING_BASIC, ORDERING_ENTERPRISE, ORDERING_STANDARD, OWNERSHIP_FILTER_BYPASS, PLATFORM_CONSOLE, PLATFORM_TENANT_ID, POSITIONS_CATEGORY_MOCK, POSITIONS_MOCK, POSITION_ASSIGNMENTS_MOCK, QUESTIONNAIRE_CATEGORY_MOCK, QUESTION_BANK_ITEM_CATEGORY_MOCK, RESPONSIBILITIES_CATEGORY_MOCK, RESPONSIBILITIES_MOCK, SAFETYMINDER_BASIC, SAFETYMINDER_ENTERPRISE, SAFETYMINDER_PROFESSIONAL, SHOP_BASIC, SHOP_ENTERPRISE, SHOP_PRO, TAGS_MOCK, TASKS, TASK_STATUSES, TASK_TEMPLATES, TASK_TYPES, TEAMS_MOCK, TEAM_MEMBERS_MOCK, TEAM_MEMBER_ROLES_MOCK, TIMEPLICITY_TENANT_ID, TOKENS, VISIBILITY_FILTER_BYPASS, WORKFLOW_CATEGORIES, activityCategoryMocks, assessmentCaseMock, assessmentSessionMock, auditLoggerMiddleware, avatarInterface, axVersionDB, axWorkflowExecutionDB, bypassAllFilters, bypassOwnershipFilter, bypassVisibilityFilter, calendarEventMock, calendarEventTypeMockData, calendarMock, checkboxInterface, childCountMiddleware, colorInterface, computeDiff, contactInterface, createAndSaveDashboardForUser, createDashboardForUser, createFileCastMiddleware, dateInterface, dateTimeInterface, descriptionInterface, emailInterface, equipmentCategoryMocks, equipmentMocks, fileUploaderInterface, findEmployeeById, findPersonById, generateUserDashboard, groupOrderItemCalculatorMiddleware, historyLoggerMiddleware, identifierCommitMiddleware, imageInterface, lockGuardMiddleware, longTextAnswerInterface, lookupInterface, lookupResolverMiddleware, mapInterface, meetingFilesMock, meetingIds, meetingMock, meetingParticipantMock, meetingRoleTypeMock, meetingSessionMock, meetingTimeSlotMock, meetingTypeFileTemplateMock, meetingTypeMock, mergeDetailRelationMiddleware, metadataCategoryMocks, metadataElectricityCategoryMocks, mockRoleDefinitions, mockUsers, multipleChoiceInterface, multipleSelectInterface, normalizeAnyFileArrayForView, normalizeSnapshotFileFieldsForView, numberInterface, participantIds, passwordInterface, phoneInterface, primaryMiddleware, qrcodeInterface, questionBankItemMock, questionnaireMock, ratingInterface, richTextInterface, scaleInterface, selectInterface, selectionListInterface, signatureInterface, signatureLoaderMiddleware, tagInterface, tenantMocks, textAreaInterface, textInterface, timeDurationInterface, titleInterface, toUiRows, toggleInterface, urlInterface, versionInterface, visibilityFilterMiddleware, workflowDefinitionEntityMock, workflowDefinitionIds, workflowDefinitionMock, yesNoInterface };
|
|
67351
|
+
export { ACTIVITY_CATEGORIES, ACTIVITY_DEFINITIONS, APPLICATIONS, AXCActivityCategorySeeder, AXCActivityDefinitionSeeder, AXCAppTermDataSeeder, AXCAppVersionDataSeeder, AXCApplicationDataSeeder, AXCApplicationManagementMockModule, AXCAssessmentManagementMockModule, AXCAssetManagementMockModule, AXCAuthMockModule, AXCCalendarDataSeeder, AXCCalendarEventDataSeeder, AXCCalendarManagementMockModule, AXCCommonMockModule, AXCContactManagementMockModule, AXCContentManagementMockModule, AXCConversationMockModule, AXCCustomerManagementMockModule, AXCDashboardManagementMockModule, AXCDataManagementMockModule, AXCDexieEntityStorageService, AXCDocumentManagementMockModule, AXCEditionDataSeeder, AXCEquipmentCategorySeeder, AXCEquipmentSeeder, AXCFileStorageService, AXCFinancialCoreMockModule, AXCFormTemplateManagementMockModule, AXCGoogleStrategyMock, AXCHelpDeskMockModule, AXCHumanCapitalManagementMockModule, AXCIdentifierManagementMockModule, AXCImageCaptchaChallengeProviderMock, AXCJsaSeeder, AXCLearningManagementMockModule, AXCLocaleManagementMockModule, AXCLocationManagementMockModule, AXCLockService, AXCMeasurementCoreMockModule, AXCMeetingManagementMockModule, AXCMetaDataDefinitionDataSeeder, AXCMetaDataDefinitionElectricityDataSeeder, AXCMetadataCategorySeeder, AXCMetadataElectricityCategorySeeder, AXCMiddlewaresModule, AXCMockCaptchaChallengeComponent, AXCMockEntityLogListener, AXCMockModule, AXCNotificationManagementMockModule, AXCOrderManagementMockModule, AXCOrganizationManagementMockModule, AXCPersonManagementMockModule, AXCPlatformManagementMockModule, AXCProcurementManagementMockModule, AXCProductCatalogMockModule, AXCProjectManagementMockModule, AXCQueryCategoryMetadataInheritanceQuery, AXCReportManagementMockModule, AXCSecurityManagementMockModule, AXCSubscriptionManagementMockModule, AXCSupplierManagementMockModule, AXCTaskManagementMockModule, AXCTenantManagementMockModule, AXCTenantSeeder, AXCTokensDataSeeder, AXCUserPassStrategyMock, AXCVersionDB, AXCVersioningService, AXCWorkflowCategorySeeder, AXCWorkflowDefinitionDataSeeder, AXCWorkflowEngine, AXCWorkflowExecutionDB, AXCWorkflowManagementMockModule, AXMAiResponderService, AXMAssessmentCaseDataSeeder, AXMAssessmentSessionDataSeeder, AXMBusinessUnitDataSeeder, AXMCalendarEventTypeSeeder, AXMEmployeeDataSeeder, AXMEmploymentTypeDataSeeder, AXMFormDataSourcesProvider, AXMJobDefinitionDataSeeder, AXMJobLevelDataSeeder, AXMLeaveRequestDataSeeder, AXMMeetingDataSeeder, AXMMeetingFilesDataSeeder, AXMMeetingParticipantDataSeeder, AXMMeetingRoleTypeDataSeeder, AXMMeetingSessionDataSeeder, AXMMeetingTypeDataSeeder, AXMMeetingTypeFileTemplateDataSeeder, AXMPositionAssignmentDataSeeder, AXMPositionDataSeeder, AXMQuestionBankItemCategoryDataSeeder, AXMQuestionBankItemDataSeeder, AXMQuestionnaireCategoryDataSeeder, AXMQuestionnaireDataSeeder, AXMResponsibilityDataSeeder, AXMTagDataSeeder, AXMTeamDataSeeder, AXMTeamMemberDataSeeder, AXMTeamMemberRoleDataSeeder, AXPDashboardDataSeeder, AXPIdentifierDB, AXPMessageDataSeeder, AXPMockChecksumProvider, AXPMockClockProvider, AXPMockIdentifierService, AXPMockLookupProvider, AXPMockPolicyProvider, AXPMockSequenceProvider, AXPRoomDataSeeder, AXPSecurityManagementRoleDataSeeder, AXPSecurityManagementUserDataSeeder, AXPTaskBoardPlatformManagementTaskProvider, AXPTaskBoardProjectManagementTaskProvider, AXVChangeType, BUSINESS_UNITS_MOCK, COSTMANAGER_ENTERPRISE, COSTMANAGER_PROFESSIONAL, COSTMANAGER_STANDARD, CRM_ENTERPRISE, DASHBOARDS, EDITIONS, EMPLOYEES_MOCK, EMPLOYMENT_TYPES_MOCK, EQUIPMENT_CATEGORY_ID, FINANCE_BASIC, FINANCE_ENTERPRISE, FINANCE_PRO, HR_ENTERPRISE, JOB_DEFINITIONS_CATEGORY_MOCK, JOB_DEFINITIONS_MOCK, JOB_LEVELS_MOCK, LASER_PLUMBING_TENANT_ID, LEAVE_REQUESTS_MOCK, METADATA_ELECTRICITY_MOCK, ORDERING_BASIC, ORDERING_ENTERPRISE, ORDERING_STANDARD, OWNERSHIP_FILTER_BYPASS, PLATFORM_CONSOLE, PLATFORM_TENANT_ID, POSITIONS_CATEGORY_MOCK, POSITIONS_MOCK, POSITION_ASSIGNMENTS_MOCK, QUESTIONNAIRE_CATEGORY_MOCK, QUESTION_BANK_ITEM_CATEGORY_MOCK, RESPONSIBILITIES_CATEGORY_MOCK, RESPONSIBILITIES_MOCK, SAFETYMINDER_BASIC, SAFETYMINDER_ENTERPRISE, SAFETYMINDER_PROFESSIONAL, SHOP_BASIC, SHOP_ENTERPRISE, SHOP_PRO, TAGS_MOCK, TASKS, TASK_STATUSES, TASK_TEMPLATES, TASK_TYPES, TEAMS_MOCK, TEAM_MEMBERS_MOCK, TEAM_MEMBER_ROLES_MOCK, TIMEPLICITY_TENANT_ID, TOKENS, VISIBILITY_FILTER_BYPASS, WORKFLOW_CATEGORIES, activityCategoryMocks, assessmentCaseMock, assessmentSessionMock, auditLoggerMiddleware, avatarInterface, axVersionDB, axWorkflowExecutionDB, bypassAllFilters, bypassOwnershipFilter, bypassVisibilityFilter, calendarEventMock, calendarEventTypeMockData, calendarMock, categoryResolverMiddleware, checkboxInterface, childCountMiddleware, colorInterface, computeDiff, contactInterface, createAndSaveDashboardForUser, createDashboardForUser, createFileCastMiddleware, dateInterface, dateTimeInterface, descriptionInterface, emailInterface, equipmentCategoryMocks, equipmentMocks, fileUploaderInterface, findEmployeeById, findPersonById, generateUserDashboard, groupOrderItemCalculatorMiddleware, historyLoggerMiddleware, identifierCommitMiddleware, imageInterface, lockGuardMiddleware, longTextAnswerInterface, lookupInterface, lookupResolverMiddleware, mapInterface, meetingFilesMock, meetingIds, meetingMock, meetingParticipantMock, meetingRoleTypeMock, meetingSessionMock, meetingTimeSlotMock, meetingTypeFileTemplateMock, meetingTypeMock, mergeDetailRelationMiddleware, metadataCategoryMocks, metadataElectricityCategoryMocks, mockRoleDefinitions, mockUsers, multipleChoiceInterface, multipleSelectInterface, normalizeAnyFileArrayForView, normalizeSnapshotFileFieldsForView, numberInterface, participantIds, passwordInterface, phoneInterface, primaryMiddleware, qrcodeInterface, questionBankItemMock, questionnaireMock, ratingInterface, richTextInterface, scaleInterface, selectInterface, selectionListInterface, signatureInterface, signatureLoaderMiddleware, tagInterface, tenantMocks, textAreaInterface, textInterface, timeDurationInterface, titleInterface, toUiRows, toggleInterface, urlInterface, versionInterface, visibilityFilterMiddleware, workflowDefinitionEntityMock, workflowDefinitionIds, workflowDefinitionMock, yesNoInterface };
|
|
67094
67352
|
//# sourceMappingURL=acorex-connectivity-mock.mjs.map
|