@acorex/platform-generator 21.0.0-next.24 → 21.0.0-next.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +67 -6
  2. package/package.json +9 -3
  3. package/src/bin/create-acorex-app.js +116 -0
  4. package/src/bin/standalone-scaffold.js +533 -0
  5. package/src/generators/app-module/files/project.json.template +194 -48
  6. package/src/generators/app-module/files/src/app/app.config.api.ts.template +145 -0
  7. package/src/generators/app-module/files/src/app/app.config.full.ts.template +216 -0
  8. package/src/generators/app-module/files/src/app/app.config.minimal.ts.template +162 -0
  9. package/src/generators/app-module/files/src/app/app.routes.ts.template +1 -1
  10. package/src/generators/app-module/files/src/app/modules/common/default-settings.providers.ts.template +16 -8
  11. package/src/generators/app-module/files/src/app/modules/layout/layout-root.module.ts.template +2 -5
  12. package/src/generators/app-module/files/src/app/modules/root/root.module.ts.template +1 -1
  13. package/src/generators/app-module/files/src/assets/i18n/en-US/activity-log.json +10 -1
  14. package/src/generators/app-module/files/src/assets/i18n/en-US/data-management.json +4 -0
  15. package/src/generators/app-module/files/src/assets/i18n/en-US/general.json +5 -0
  16. package/src/generators/app-module/files/src/assets/i18n/en-US/questionnaire.json +77 -0
  17. package/src/generators/app-module/files/src/assets/i18n/fa-IR/activity-log.json +10 -1
  18. package/src/generators/app-module/files/src/assets/i18n/fa-IR/data-management.json +5 -1
  19. package/src/generators/app-module/files/src/assets/i18n/fa-IR/general.json +7 -3
  20. package/src/generators/app-module/files/src/assets/i18n/fa-IR/human-capital-management.json +4 -7
  21. package/src/generators/app-module/files/src/assets/i18n/fa-IR/questionnaire.json +77 -0
  22. package/src/generators/app-module/files/src/environments/environment.dev.ts.template +45 -16
  23. package/src/generators/app-module/files/src/environments/environment.prod.ts.template +33 -0
  24. package/src/generators/app-module/files/src/environments/environment.ts.template +23 -7
  25. package/src/generators/app-module/files/src/main.ts.template +42 -2
  26. package/src/generators/app-module/generator.d.ts +10 -1
  27. package/src/generators/app-module/generator.js +100 -12
  28. package/src/generators/app-module/generator.js.map +1 -1
  29. package/src/generators/app-module/schema.d.ts +28 -0
  30. package/src/generators/app-module/schema.json +74 -5
  31. package/src/generators/standalone-workspace/versions.json +53 -0
  32. package/src/generators/app-module/files/src/app/app.config.ts.template +0 -156
@@ -0,0 +1,216 @@
1
+ import { AXDialogModule } from '@acorex/components/dialog';
2
+ import { AXLoadingDialogModule } from '@acorex/components/loading-dialog';
3
+ import {
4
+ AXC_ENTITY_STORAGE_BACKEND_TYPE,
5
+ AXC_FIRESTORE_CONFIG,
6
+ AXCMockModule,
7
+ AXCUserPassStrategyMock,
8
+ } from '@acorex/connectivity/mock';
9
+ import { AXFormatModule } from '@acorex/core/format';
10
+ import { AXValidationModule } from '@acorex/core/validation';
11
+ import { AXMApplicationManagementModule } from '@acorex/modules/application-management';
12
+ import { AXMAssessmentManagementModule } from '@acorex/modules/assessment-management';
13
+ import { AXMAssetManagementModule } from '@acorex/modules/asset-management';
14
+ import { AXMBusinessCoreModule } from '@acorex/modules/business-core';
15
+ import { AXMCalendarManagementModule } from '@acorex/modules/calendar-management';
16
+ import { AXMCommonModule } from '@acorex/modules/common';
17
+ import { AXMContentManagementModule } from '@acorex/modules/content-management';
18
+ import { AXMAiManagementModule } from '@acorex/modules/ai-management';
19
+ import { AXMConversationModule } from '@acorex/modules/conversation';
20
+ import { AXMCustomerManagementModule } from '@acorex/modules/customer-management';
21
+ import { AXMDashboardManagementModule } from '@acorex/modules/dashboard-management';
22
+ import { AXMDataManagementModule } from '@acorex/modules/data-management';
23
+ import { AXMDocumentManagementModule, AXMFileTypeModule } from '@acorex/modules/document-management';
24
+ import { AXMFinancialCoreModule } from '@acorex/modules/financial-core';
25
+ import { AXMFormTemplateManagementModule } from '@acorex/modules/form-template-management';
26
+ import { AXMHealthCoreModule } from '@acorex/modules/health-core';
27
+ import { AXMHelpDeskModule } from '@acorex/modules/help-desk';
28
+ import { AXMHumanCapitalManagementModule } from '@acorex/modules/human-capital-management';
29
+ import { AXMIdentifierManagementModule } from '@acorex/modules/identifier-management';
30
+ import { AXMLearningManagementModule } from '@acorex/modules/learning-management';
31
+ import { AXMLocaleManagementModule } from '@acorex/modules/locale-management';
32
+ import { AXMLocationManagementModule } from '@acorex/modules/location-management';
33
+ import { AXMMaintenanceManagementModule } from '@acorex/modules/maintenance-management';
34
+ import { AXMMeasurementCoreModule } from '@acorex/modules/measurement-core';
35
+ import { AXMMeetingManagementModule } from '@acorex/modules/meeting-management';
36
+ import { AXMNotificationManagementModule } from '@acorex/modules/notification-management';
37
+ import { AXMOrderManagementModule } from '@acorex/modules/order-management';
38
+ import { AXMOrganizationManagementModule } from '@acorex/modules/organization-management';
39
+ import { AXMPersonCoreModule } from '@acorex/modules/person-core';
40
+ import { AXMPlatformDevToolsModule } from '@acorex/modules/platform-dev-tools';
41
+ import { AXMPlatformManagementModule } from '@acorex/modules/platform-management';
42
+ import { AXMProcurementManagementModule } from '@acorex/modules/procurement-management';
43
+ import { AXMProductCatalogModule } from '@acorex/modules/product-catalog';
44
+ import { AXMProjectManagementModule } from '@acorex/modules/project-management';
45
+ import { AXMReportManagementModule } from '@acorex/modules/report-management';
46
+ import { AXMReservationManagementModule } from '@acorex/modules/reservation-management';
47
+ import { AXMSecurityManagementModule } from '@acorex/modules/security-management';
48
+ import { AXMSettingsManagementModule } from '@acorex/modules/settings-management';
49
+ import { AXMSubscriptionManagementModule } from '@acorex/modules/subscription-management';
50
+ import { AXMSupplierManagementModule } from '@acorex/modules/supplier-management';
51
+ import { AXMSystemInsightModule } from '@acorex/modules/system-insight';
52
+ import { AXMTaskManagementModule } from '@acorex/modules/task-management';
53
+ import { AXMTenantManagementModule } from '@acorex/modules/tenant-management';
54
+ import { AXMWorkflowManagementModule } from '@acorex/modules/workflow-management';
55
+ import { AXPAuthModule } from '@acorex/platform/auth';
56
+ import {
57
+ AXPHomePageModule,
58
+ AXP_APP_VERSION_PROVIDER,
59
+ AXP_PLATFORM_CONFIG_TOKEN,
60
+ AXP_ROOT_CONFIG_TOKEN,
61
+ ENVIRONMENT,
62
+ configPlatform,
63
+ provideDynamicHomePage,
64
+ } from '@acorex/platform/common';
65
+ import {
66
+ AXPDefaultColorPalettesProvider,
67
+ AXPImageUrlLogoConfig,
68
+ AXP_COLOR_PALETTE_PROVIDER,
69
+ } from '@acorex/platform/core';
70
+ import { AXPWorkflowModule } from '@acorex/platform/workflow';
71
+ import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
72
+ import { ApplicationConfig, importProvidersFrom } from '@angular/core';
73
+ import { BrowserModule } from '@angular/platform-browser';
74
+ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
75
+ import { provideRouter, withComponentInputBinding, withEnabledBlockingInitialNavigation } from '@angular/router';
76
+ import { environment } from '../environments/environment';
77
+ import { appRoutes } from './app.routes';
78
+ import { BasicInterceptor } from './basic-interceptor.interceptor';
79
+ import { <%= className %>AuthRootModule } from './modules/auth/auth-root.module';
80
+ import { <%= className %>AppVersionProvider } from './modules/common/app-version.provider';
81
+ import { <%= constPrefix %>_DEFAULT_SETTINGS_PROVIDERS } from './modules/common/default-settings.providers';
82
+ import { AXPTranslationRootModule } from './modules/common/translation-root.module';
83
+ import { <%= className %>RootModule } from './modules/<%= name %>/<%= name %>-root.module';
84
+ import { AXPLayoutRootModule } from './modules/layout/layout-root.module';
85
+
86
+ export const appConfig: ApplicationConfig = {
87
+ providers: [
88
+ <%= constPrefix %>_DEFAULT_SETTINGS_PROVIDERS,
89
+ provideHttpClient(withInterceptorsFromDi()),
90
+ provideRouter(appRoutes, withEnabledBlockingInitialNavigation(), withComponentInputBinding()),
91
+ //
92
+ { provide: ENVIRONMENT, useValue: environment },
93
+
94
+ // Entity storage backend: from environment.entityStorage (dexie = IndexedDB, firestore = Firebase).
95
+ // To use Firestore: set entityStorage.backend to 'firestore' and entityStorage.firebase with apiKey, projectId from Firebase Console.
96
+ {
97
+ provide: AXC_ENTITY_STORAGE_BACKEND_TYPE,
98
+ useValue: environment.entityStorage?.backend ?? 'dexie',
99
+ },
100
+ ...(environment.entityStorage?.backend === 'firestore' && environment.entityStorage?.firebase
101
+ ? [{ provide: AXC_FIRESTORE_CONFIG, useValue: environment.entityStorage.firebase }]
102
+ : []),
103
+
104
+ { provide: HTTP_INTERCEPTORS, useClass: BasicInterceptor, multi: true },
105
+ { provide: AXP_COLOR_PALETTE_PROVIDER, useClass: AXPDefaultColorPalettesProvider, multi: true },
106
+ {
107
+ provide: AXP_ROOT_CONFIG_TOKEN,
108
+ useValue: {
109
+ baseUrl: environment.baseUrl,
110
+ },
111
+ },
112
+ {
113
+ provide: AXP_PLATFORM_CONFIG_TOKEN,
114
+ useValue: configPlatform({
115
+ logo: {
116
+ icon: {
117
+ dark: new AXPImageUrlLogoConfig('assets/images/logos/icon-dark.svg', 160),
118
+ light: new AXPImageUrlLogoConfig('assets/images/logos/icon-light.svg', 160),
119
+ },
120
+ text: {
121
+ dark: new AXPImageUrlLogoConfig('assets/images/logos/text-dark.svg', 80),
122
+ light: new AXPImageUrlLogoConfig('assets/images/logos/text-light.svg', 80),
123
+ },
124
+ full: {
125
+ dark: new AXPImageUrlLogoConfig('assets/images/logos/full-dark.svg', 160),
126
+ light: new AXPImageUrlLogoConfig('assets/images/logos/full-light.svg', 160),
127
+ },
128
+ },
129
+ title: '<%= title %>',
130
+ copyright: '<%= copyright %>',
131
+ }),
132
+ },
133
+ {
134
+ provide: AXP_APP_VERSION_PROVIDER,
135
+ useClass: <%= className %>AppVersionProvider,
136
+ },
137
+ provideDynamicHomePage(),
138
+ importProvidersFrom(
139
+ BrowserModule,
140
+ BrowserAnimationsModule,
141
+ //
142
+ AXDialogModule,
143
+ AXLoadingDialogModule,
144
+ AXFormatModule.forRoot(),
145
+ AXValidationModule.forRoot(),
146
+ //
147
+ //
148
+ AXPHomePageModule,
149
+ AXMCommonModule,
150
+ AXMSettingsManagementModule,
151
+ AXMHelpDeskModule,
152
+ AXMDashboardManagementModule,
153
+ AXMNotificationManagementModule,
154
+ AXMFormTemplateManagementModule,
155
+ AXMSecurityManagementModule,
156
+ AXMOrganizationManagementModule,
157
+ AXMHumanCapitalManagementModule,
158
+ AXMSystemInsightModule,
159
+ AXMPlatformDevToolsModule,
160
+
161
+ // Document Management Module
162
+ AXMDocumentManagementModule,
163
+ // File Type Module if needed add here
164
+ AXMFileTypeModule,
165
+
166
+ //
167
+ AXMProjectManagementModule,
168
+ AXMLearningManagementModule,
169
+ AXMWorkflowManagementModule,
170
+ AXMContentManagementModule,
171
+ AXMAiManagementModule,
172
+ AXMConversationModule,
173
+ AXMDataManagementModule,
174
+ AXMPlatformManagementModule,
175
+ AXMAssetManagementModule,
176
+ AXMMaintenanceManagementModule,
177
+ AXMReservationManagementModule,
178
+ AXMReportManagementModule,
179
+ AXMCalendarManagementModule,
180
+ AXMLocaleManagementModule,
181
+ AXMMeetingManagementModule,
182
+ AXMTaskManagementModule,
183
+ AXMApplicationManagementModule,
184
+ AXMTenantManagementModule,
185
+ AXMAssessmentManagementModule,
186
+ AXMFinancialCoreModule,
187
+ AXMBusinessCoreModule,
188
+ AXMLocationManagementModule,
189
+ AXMPersonCoreModule,
190
+ AXMHealthCoreModule,
191
+ AXMMeasurementCoreModule,
192
+ AXMProductCatalogModule,
193
+ //
194
+ AXMIdentifierManagementModule,
195
+ //
196
+ AXPTranslationRootModule,
197
+ AXPLayoutRootModule,
198
+ AXMCustomerManagementModule,
199
+ AXMSupplierManagementModule,
200
+ AXMProcurementManagementModule,
201
+ AXMOrderManagementModule,
202
+ AXMSubscriptionManagementModule,
203
+ //
204
+ AXCMockModule,
205
+ AXPAuthModule.forRoot({
206
+ strategies: [AXCUserPassStrategyMock],
207
+ }),
208
+ //
209
+ // Workflow Engine Module (MUST be here to register activity providers)
210
+ AXPWorkflowModule.forRoot(),
211
+ //
212
+ <%= className %>RootModule,
213
+ <%= className %>AuthRootModule,
214
+ ),
215
+ ],
216
+ };
@@ -0,0 +1,162 @@
1
+ import { AXDialogModule } from '@acorex/components/dialog';
2
+ import { AXLoadingDialogModule } from '@acorex/components/loading-dialog';
3
+ import {
4
+ AXC_ENTITY_STORAGE_BACKEND_TYPE,
5
+ AXC_FIRESTORE_CONFIG,
6
+ AXCMockModule,
7
+ AXCUserPassStrategyMock,
8
+ } from '@acorex/connectivity/mock';
9
+ import { AXFormatModule } from '@acorex/core/format';
10
+ import { AXValidationModule } from '@acorex/core/validation';
11
+ import { AXMApplicationManagementModule } from '@acorex/modules/application-management';
12
+ import { AXMCalendarManagementModule } from '@acorex/modules/calendar-management';
13
+ import { AXMCommonModule } from '@acorex/modules/common';
14
+ import { AXMContentManagementModule } from '@acorex/modules/content-management';
15
+ import { AXMConversationModule } from '@acorex/modules/conversation';
16
+ import { AXMDashboardManagementModule } from '@acorex/modules/dashboard-management';
17
+ import { AXMDataManagementModule } from '@acorex/modules/data-management';
18
+ import { AXMDocumentManagementModule, AXMFileTypeModule } from '@acorex/modules/document-management';
19
+ import { AXMFormTemplateManagementModule } from '@acorex/modules/form-template-management';
20
+ import { AXMHelpDeskModule } from '@acorex/modules/help-desk';
21
+ import { AXMIdentifierManagementModule } from '@acorex/modules/identifier-management';
22
+ import { AXMLearningManagementModule } from '@acorex/modules/learning-management';
23
+ import { AXMLocaleManagementModule } from '@acorex/modules/locale-management';
24
+ import { AXMLocationManagementModule } from '@acorex/modules/location-management';
25
+ import { AXMMeetingManagementModule } from '@acorex/modules/meeting-management';
26
+ import { AXMNotificationManagementModule } from '@acorex/modules/notification-management';
27
+ import { AXMOrganizationManagementModule } from '@acorex/modules/organization-management';
28
+ import { AXMPlatformManagementModule } from '@acorex/modules/platform-management';
29
+ import { AXMProjectManagementModule } from '@acorex/modules/project-management';
30
+ import { AXMReportManagementModule } from '@acorex/modules/report-management';
31
+ import { AXMSecurityManagementModule } from '@acorex/modules/security-management';
32
+ import { AXMSettingsManagementModule } from '@acorex/modules/settings-management';
33
+ import { AXMSystemInsightModule } from '@acorex/modules/system-insight';
34
+ import { AXMTaskManagementModule } from '@acorex/modules/task-management';
35
+ import { AXMWorkflowManagementModule } from '@acorex/modules/workflow-management';
36
+ import { AXPAuthModule } from '@acorex/platform/auth';
37
+ import {
38
+ AXPHomePageModule,
39
+ AXP_APP_VERSION_PROVIDER,
40
+ AXP_PLATFORM_CONFIG_TOKEN,
41
+ AXP_ROOT_CONFIG_TOKEN,
42
+ ENVIRONMENT,
43
+ configPlatform,
44
+ provideDynamicHomePage,
45
+ } from '@acorex/platform/common';
46
+ import {
47
+ AXPDefaultColorPalettesProvider,
48
+ AXPImageUrlLogoConfig,
49
+ AXP_COLOR_PALETTE_PROVIDER,
50
+ } from '@acorex/platform/core';
51
+ import { AXPWorkflowModule } from '@acorex/platform/workflow';
52
+ import { HTTP_INTERCEPTORS, provideHttpClient, withInterceptorsFromDi } from '@angular/common/http';
53
+ import { ApplicationConfig, importProvidersFrom } from '@angular/core';
54
+ import { BrowserModule } from '@angular/platform-browser';
55
+ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
56
+ import { provideRouter, withComponentInputBinding, withEnabledBlockingInitialNavigation } from '@angular/router';
57
+ import { environment } from '../environments/environment';
58
+ import { appRoutes } from './app.routes';
59
+ import { BasicInterceptor } from './basic-interceptor.interceptor';
60
+ import { <%= className %>AuthRootModule } from './modules/auth/auth-root.module';
61
+ import { <%= className %>AppVersionProvider } from './modules/common/app-version.provider';
62
+ import { <%= constPrefix %>_DEFAULT_SETTINGS_PROVIDERS } from './modules/common/default-settings.providers';
63
+ import { AXPTranslationRootModule } from './modules/common/translation-root.module';
64
+ import { <%= className %>RootModule } from './modules/<%= name %>/<%= name %>-root.module';
65
+ import { AXPLayoutRootModule } from './modules/layout/layout-root.module';
66
+
67
+ export const appConfig: ApplicationConfig = {
68
+ providers: [
69
+ <%= constPrefix %>_DEFAULT_SETTINGS_PROVIDERS,
70
+ provideHttpClient(withInterceptorsFromDi()),
71
+ provideRouter(appRoutes, withEnabledBlockingInitialNavigation(), withComponentInputBinding()),
72
+ //
73
+ { provide: ENVIRONMENT, useValue: environment },
74
+
75
+ {
76
+ provide: AXC_ENTITY_STORAGE_BACKEND_TYPE,
77
+ useValue: environment.entityStorage?.backend ?? 'dexie',
78
+ },
79
+ ...(environment.entityStorage?.backend === 'firestore' && environment.entityStorage?.firebase
80
+ ? [{ provide: AXC_FIRESTORE_CONFIG, useValue: environment.entityStorage.firebase }]
81
+ : []),
82
+
83
+ { provide: HTTP_INTERCEPTORS, useClass: BasicInterceptor, multi: true },
84
+ { provide: AXP_COLOR_PALETTE_PROVIDER, useClass: AXPDefaultColorPalettesProvider, multi: true },
85
+ {
86
+ provide: AXP_ROOT_CONFIG_TOKEN,
87
+ useValue: {
88
+ baseUrl: environment.baseUrl,
89
+ },
90
+ },
91
+ {
92
+ provide: AXP_PLATFORM_CONFIG_TOKEN,
93
+ useValue: configPlatform({
94
+ logo: {
95
+ icon: {
96
+ dark: new AXPImageUrlLogoConfig('assets/images/logos/icon-dark.svg', 160),
97
+ light: new AXPImageUrlLogoConfig('assets/images/logos/icon-light.svg', 160),
98
+ },
99
+ text: {
100
+ dark: new AXPImageUrlLogoConfig('assets/images/logos/text-dark.svg', 80),
101
+ light: new AXPImageUrlLogoConfig('assets/images/logos/text-light.svg', 80),
102
+ },
103
+ full: {
104
+ dark: new AXPImageUrlLogoConfig('assets/images/logos/full-dark.svg', 160),
105
+ light: new AXPImageUrlLogoConfig('assets/images/logos/full-light.svg', 160),
106
+ },
107
+ },
108
+ title: '<%= title %>',
109
+ copyright: '<%= copyright %>',
110
+ }),
111
+ },
112
+ {
113
+ provide: AXP_APP_VERSION_PROVIDER,
114
+ useClass: <%= className %>AppVersionProvider,
115
+ },
116
+ provideDynamicHomePage(),
117
+ importProvidersFrom(
118
+ BrowserModule,
119
+ BrowserAnimationsModule,
120
+ AXDialogModule,
121
+ AXLoadingDialogModule,
122
+ AXFormatModule.forRoot(),
123
+ AXValidationModule.forRoot(),
124
+ AXPHomePageModule,
125
+ AXMCommonModule,
126
+ AXMSettingsManagementModule,
127
+ AXMHelpDeskModule,
128
+ AXMDashboardManagementModule,
129
+ AXMNotificationManagementModule,
130
+ AXMFormTemplateManagementModule,
131
+ AXMSecurityManagementModule,
132
+ AXMOrganizationManagementModule,
133
+ AXMSystemInsightModule,
134
+ AXMDocumentManagementModule,
135
+ AXMFileTypeModule,
136
+ AXMProjectManagementModule,
137
+ AXMLearningManagementModule,
138
+ AXMWorkflowManagementModule,
139
+ AXMContentManagementModule,
140
+ AXMConversationModule,
141
+ AXMPlatformManagementModule,
142
+ AXMDataManagementModule,
143
+ AXMReportManagementModule,
144
+ AXMCalendarManagementModule,
145
+ AXMLocaleManagementModule,
146
+ AXMMeetingManagementModule,
147
+ AXMTaskManagementModule,
148
+ AXMApplicationManagementModule,
149
+ AXMIdentifierManagementModule,
150
+ AXMLocationManagementModule,
151
+ AXPTranslationRootModule,
152
+ AXPLayoutRootModule,
153
+ AXCMockModule,
154
+ AXPAuthModule.forRoot({
155
+ strategies: [AXCUserPassStrategyMock],
156
+ }),
157
+ AXPWorkflowModule.forRoot(),
158
+ <%= className %>RootModule,
159
+ <%= className %>AuthRootModule,
160
+ ),
161
+ ],
162
+ };
@@ -3,7 +3,7 @@ import { Route } from '@angular/router';
3
3
  export const appRoutes: Route[] = [
4
4
  {
5
5
  path: '<%= name %>',
6
- loadChildren: () => import('./modules/<%= name %>/<%= name %>-root.module').then((c) => c.<%= upperCase(name) %>RootModule),
6
+ loadChildren: () => import('./modules/<%= name %>/<%= name %>-root.module').then((c) => c.<%= className %>RootModule),
7
7
  },
8
8
  {
9
9
  path: '',
@@ -10,29 +10,37 @@ import { AXPThemeLayoutSetting } from '@acorex/platform/themes/shared';
10
10
 
11
11
  //#endregion
12
12
 
13
- //#region ---- App Default Settings Providers ----
13
+ //#region ---- App default settings ----
14
14
 
15
- export const APP_DEFAULT_SETTINGS_PROVIDER: AXPSettingDefaultValuesProvider = {
15
+ /**
16
+ * App-level defaults overriding settings definition defaults where needed.
17
+ * Lower priority runs first; higher values override on conflicts.
18
+ */
19
+ export const <%= constPrefix %>_DEFAULT_SETTINGS_PROVIDER: AXPSettingDefaultValuesProvider = {
16
20
  priority: 50,
17
21
  async provide() {
18
22
  return {
19
23
  [AXPRegionalSetting.LocaleProfile]: 'en-US',
20
24
  [AXPRegionalSetting.Language]: 'en-US',
21
25
  [AXPRegionalSetting.TimeZone]: 'UTC',
22
- [AXPRegionalSetting.FirstDayOfWeek]: 1,
23
- [AXPThemeLayoutSetting.Palette]: 'golden-dusk',
26
+ [AXPRegionalSetting.ShortDate]: 'MM/DD/YYYY',
27
+ [AXPRegionalSetting.LongDate]: 'MMMM D, YYYY',
28
+ [AXPRegionalSetting.ShortTime]: 'HH:mm',
29
+ [AXPRegionalSetting.LongTime]: 'HH:mm:ss',
30
+ [AXPRegionalSetting.FirstDayOfWeek]: 0,
31
+ [AXPThemeLayoutSetting.Palette]: 'nebula-dream',
24
32
  [AXPThemeLayoutSetting.MenuBadgeVisible]: true,
25
33
  [AXPCommonSettings.EnableOperationToasts]: true,
34
+ [AXPCommonSettings.RedirectToDetailsAfterCreate]: true,
35
+ [AXPCommonSettings.ShowPageBadge]: true,
26
36
  } as Record<string, unknown>;
27
37
  },
28
38
  };
29
39
 
30
- export const APP_DEFAULT_SETTINGS_PROVIDERS = {
40
+ export const <%= constPrefix %>_DEFAULT_SETTINGS_PROVIDERS = {
31
41
  provide: AXP_SETTING_DEFAULT_VALUES_PROVIDERS,
32
- useValue: APP_DEFAULT_SETTINGS_PROVIDER,
42
+ useValue: <%= constPrefix %>_DEFAULT_SETTINGS_PROVIDER,
33
43
  multi: true,
34
44
  };
35
45
 
36
46
  //#endregion
37
-
38
-
@@ -7,7 +7,7 @@ import {
7
7
  AXP_MENU_PROVIDER,
8
8
  AXP_PLATFORM_CONFIG_TOKEN,
9
9
  } from '@acorex/platform/common';
10
- import { AXPWidgetCoreModule, AXPWidgetGroupEnum, AXPWidgetsCatalog, AXP_WIDGETS_EDITOR_CATEGORY } from '@acorex/platform/layout/widget-core';
10
+ import { AXPWidgetCoreModule } from '@acorex/platform/layout/widget-core';
11
11
  import { AXPEntityModule, AXP_ENTITY_DEFINITION_LOADER } from '@acorex/platform/layout/entity';
12
12
  import { AXPDefaultThemeModule } from '@acorex/platform/themes/default';
13
13
  import { AXP_THEME_PALETTE_PROVIDER } from '@acorex/platform/themes/shared';
@@ -21,10 +21,7 @@ import { AXPPlatformScope } from '@acorex/platform/core';
21
21
  AXPDefaultThemeModule,
22
22
  AXPCommonModule,
23
23
  AXPEntityModule,
24
- AXPWidgetCoreModule.forChild({
25
- widgets: [],
26
- extendedWidgets: [],
27
- }),
24
+ AXPWidgetCoreModule,
28
25
  ],
29
26
  exports: [AXPDefaultThemeModule],
30
27
  providers: [
@@ -60,7 +60,7 @@ const routes: Routes = [
60
60
  ],
61
61
  declarations: [],
62
62
  })
63
- export class <%= upperCase(name) %>RootModule {
63
+ export class <%= className %>RootModule {
64
64
  registry = inject(AXPWidgetRegistryService);
65
65
  extendedWidgets = [];
66
66
  }
@@ -16,7 +16,7 @@
16
16
  "updated-by-title": "Modified by {{user}} on {{date}}",
17
17
  "deleted-by-title": "Deleted by {{user}} on {{date}}",
18
18
  "actions": {
19
- "view-history": "View History",
19
+ "view-history": "Change History",
20
20
  "rename": "Rename",
21
21
  "restore": "Restore",
22
22
  "make-copy": "Make a Copy",
@@ -27,5 +27,14 @@
27
27
  "show-only-differences": "Show Only Differences",
28
28
  "differences-found": "Differences Found",
29
29
  "values-match": "Values Match"
30
+ },
31
+ "changes": {
32
+ "added": "added",
33
+ "removed": "removed",
34
+ "replaced": "replaced",
35
+ "renamed": "renamed",
36
+ "metadata-updated": "metadata updated",
37
+ "updated": "updated",
38
+ "unknown-field": "{{name}}"
30
39
  }
31
40
  }
@@ -29,6 +29,10 @@
29
29
  "parent": "Parent",
30
30
  "interface": "Interface",
31
31
  "widgets": {
32
+ "meta-data-builder": {
33
+ "title": "Meta Data Builder",
34
+ "description": "Configure metadata groups and fields for dynamic forms"
35
+ },
32
36
  "meta-data-selector": {
33
37
  "title": "Meta Data Selector",
34
38
  "description": "Select and configure metadata items from available categories"
@@ -18,6 +18,9 @@
18
18
  "unknown": "Unknown"
19
19
  },
20
20
  "multi-language": "Multi-Language",
21
+ "multi-language-select": {
22
+ "show-other-languages": "Show languages without a locale profile"
23
+ },
21
24
  "selectbox": {
22
25
  "popover": {
23
26
  "title": "Select Option"
@@ -549,6 +552,7 @@
549
552
  },
550
553
  "configure": {
551
554
  "title": "Configure",
555
+ "named-title": "Configure {{name}}",
552
556
  "description": "Adjust settings and options"
553
557
  },
554
558
  "setup": {
@@ -765,6 +769,7 @@
765
769
  "type": "Type",
766
770
  "types": "Types",
767
771
  "icon": "Icon",
772
+ "interface": "Interface",
768
773
  "color": "Color",
769
774
  "avatar": "Avatar",
770
775
  "size": "Size",
@@ -113,6 +113,83 @@
113
113
  "high": "High",
114
114
  "critical": "Critical"
115
115
  }
116
+ },
117
+ "yes-no-maybe-options": {
118
+ "title": "Yes / No / Maybe",
119
+ "columns": {
120
+ "value": { "title": "Value" },
121
+ "title": { "title": "Title" }
122
+ },
123
+ "samples": {
124
+ "yes": "Yes",
125
+ "no": "No",
126
+ "maybe": "Maybe"
127
+ }
128
+ },
129
+ "yes-no-na-options": {
130
+ "title": "Yes / No / N/A",
131
+ "columns": {
132
+ "value": { "title": "Value" },
133
+ "title": { "title": "Title" }
134
+ },
135
+ "samples": {
136
+ "yes": "Yes",
137
+ "no": "No",
138
+ "not-applicable": "Not applicable"
139
+ }
140
+ },
141
+ "gender-options": {
142
+ "title": "Gender",
143
+ "columns": {
144
+ "value": { "title": "Value" },
145
+ "title": { "title": "Title" }
146
+ },
147
+ "samples": {
148
+ "female": "Female",
149
+ "male": "Male",
150
+ "non-binary": "Non-binary",
151
+ "prefer-not-to-say": "Prefer not to say",
152
+ "other": "Other"
153
+ }
154
+ },
155
+ "rating-1-10-options": {
156
+ "title": "Rating (1–10)",
157
+ "columns": {
158
+ "value": { "title": "Value" },
159
+ "title": { "title": "Title" }
160
+ },
161
+ "samples": {
162
+ "1": "1",
163
+ "2": "2",
164
+ "3": "3",
165
+ "4": "4",
166
+ "5": "5",
167
+ "6": "6",
168
+ "7": "7",
169
+ "8": "8",
170
+ "9": "9",
171
+ "10": "10"
172
+ }
173
+ },
174
+ "nps-scale-options": {
175
+ "title": "Net Promoter Score (0–10)",
176
+ "columns": {
177
+ "value": { "title": "Value" },
178
+ "title": { "title": "Title" }
179
+ },
180
+ "samples": {
181
+ "0": "0",
182
+ "1": "1",
183
+ "2": "2",
184
+ "3": "3",
185
+ "4": "4",
186
+ "5": "5",
187
+ "6": "6",
188
+ "7": "7",
189
+ "8": "8",
190
+ "9": "9",
191
+ "10": "10"
192
+ }
116
193
  }
117
194
  }
118
195
  }
@@ -16,7 +16,7 @@
16
16
  "updated-by-title": "تغییر یافته توسط {{user}} در {{date}}",
17
17
  "deleted-by-title": "حذف شده توسط {{user}} در {{date}}",
18
18
  "actions": {
19
- "view-history": "مشاهده تاریخچه",
19
+ "view-history": "تاریخچه تغییرات",
20
20
  "rename": "تغییر نام",
21
21
  "restore": "بازیابی",
22
22
  "make-copy": "ایجاد کپی",
@@ -27,5 +27,14 @@
27
27
  "show-only-differences": "نمایش فقط تفاوت‌ها",
28
28
  "differences-found": "تفاوت‌ها یافت شد",
29
29
  "values-match": "مقادیر مطابقت دارند"
30
+ },
31
+ "changes": {
32
+ "added": "اضافه شد",
33
+ "removed": "حذف شد",
34
+ "replaced": "جایگزین شد",
35
+ "renamed": "تغییر نام یافت",
36
+ "metadata-updated": "متادیتا به‌روزرسانی شد",
37
+ "updated": "به‌روزرسانی شد",
38
+ "unknown-field": "{{name}}"
30
39
  }
31
40
  }
@@ -29,6 +29,10 @@
29
29
  "parent": "والد",
30
30
  "interface": "رابط",
31
31
  "widgets": {
32
+ "meta-data-builder": {
33
+ "title": "سازنده فراداده",
34
+ "description": "پیکربندی گروه‌ها و فیلدهای فراداده برای فرم‌های پویا"
35
+ },
32
36
  "meta-data-selector": {
33
37
  "title": "انتخاب‌گر فراداده",
34
38
  "description": "انتخاب و پیکربندی موارد فراداده از دسته‌های موجود"
@@ -84,7 +88,7 @@
84
88
  "select": "انتخاب",
85
89
  "add-selected": "افزودن انتخاب‌شده‌ها",
86
90
  "cancel": "انصراف",
87
- "configure-meta-data": "پیکربندی فراداده"
91
+ "configure-meta-data": "تعریف مقادیر ویژگی ها"
88
92
  },
89
93
  "metadata-definitions-empty-state": {
90
94
  "title": "هیچ تعریف فراداده‌ای وجود ندارد",