@acorex/modules 19.1.2 → 19.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/auth/lib/account/profile/profile-slot.component.d.ts +1 -0
- package/fesm2022/{acorex-modules-auth-acorex-modules-auth-D8WcF6Jp.mjs → acorex-modules-auth-acorex-modules-auth-BF2gZWhA.mjs} +37 -25
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-BF2gZWhA.mjs.map +1 -0
- package/fesm2022/{acorex-modules-auth-app-chooser.component-0TpgRa-v.mjs → acorex-modules-auth-app-chooser.component-BAGIEa63.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-app-chooser.component-0TpgRa-v.mjs.map → acorex-modules-auth-app-chooser.component-BAGIEa63.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-login.module-CziF_sE7.mjs → acorex-modules-auth-login.module-Cn2-BTEJ.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-login.module-CziF_sE7.mjs.map → acorex-modules-auth-login.module-Cn2-BTEJ.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-master.layout-Ds4LxKSf.mjs → acorex-modules-auth-master.layout-BeEYC1aO.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-master.layout-Ds4LxKSf.mjs.map → acorex-modules-auth-master.layout-BeEYC1aO.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-BVVvl8So.mjs → acorex-modules-auth-password.component-07yk91SI.mjs} +4 -4
- package/fesm2022/{acorex-modules-auth-password.component-BVVvl8So.mjs.map → acorex-modules-auth-password.component-07yk91SI.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-password.component-9TFb-AHn.mjs → acorex-modules-auth-password.component-dIFcmwBw.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-password.component-9TFb-AHn.mjs.map → acorex-modules-auth-password.component-dIFcmwBw.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-routes-TdAn72Pa.mjs → acorex-modules-auth-routes-BqvlenNN.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-routes-TdAn72Pa.mjs.map → acorex-modules-auth-routes-BqvlenNN.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-CorZ4Z7h.mjs → acorex-modules-auth-tenant-chooser.component-CFT3i6iA.mjs} +5 -5
- package/fesm2022/{acorex-modules-auth-tenant-chooser.component-CorZ4Z7h.mjs.map → acorex-modules-auth-tenant-chooser.component-CFT3i6iA.mjs.map} +1 -1
- package/fesm2022/{acorex-modules-auth-two-factor.module-BE2uEne7.mjs → acorex-modules-auth-two-factor.module-B4AMkhOD.mjs} +2 -2
- package/fesm2022/{acorex-modules-auth-two-factor.module-BE2uEne7.mjs.map → acorex-modules-auth-two-factor.module-B4AMkhOD.mjs.map} +1 -1
- package/fesm2022/acorex-modules-auth.mjs +1 -1
- package/fesm2022/acorex-modules-form-template-management.mjs +9 -3
- package/fesm2022/acorex-modules-form-template-management.mjs.map +1 -1
- package/fesm2022/{acorex-modules-platform-management-regional-formats-BSMV12dQ.mjs → acorex-modules-platform-management-regional-formats-BaHofjWg.mjs} +3 -3
- package/fesm2022/{acorex-modules-platform-management-regional-formats-BSMV12dQ.mjs.map → acorex-modules-platform-management-regional-formats-BaHofjWg.mjs.map} +1 -1
- package/fesm2022/acorex-modules-platform-management.mjs +261 -43
- package/fesm2022/acorex-modules-platform-management.mjs.map +1 -1
- package/fesm2022/acorex-modules-text-template-management.mjs +3 -3
- package/fesm2022/acorex-modules-text-template-management.mjs.map +1 -1
- package/package.json +5 -5
- package/platform-management/lib/common/organizarion/setting.keys.d.ts +16 -0
- package/platform-management/lib/common/organizarion/settings.provider.d.ts +4 -0
- package/platform-management/lib/common/regional/language-slot/language-slot.component.d.ts +1 -1
- package/platform-management/lib/common/regional/regional-store.service.d.ts +1 -1
- package/platform-management/lib/common/regional/setting.provider.d.ts +1 -1
- package/platform-management/lib/menu.provider.d.ts +1 -0
- package/fesm2022/acorex-modules-auth-acorex-modules-auth-D8WcF6Jp.mjs.map +0 -1
@@ -3,9 +3,9 @@ import { AXPSettingValueProviderService, AXP_SETTING_DEFINITION_PROVIDER, AXPCom
|
|
3
3
|
import { AXP_ENTITY_DEFINITION_LOADER, AXPEntityService } from '@acorex/platform/layout/entity';
|
4
4
|
import * as i0 from '@angular/core';
|
5
5
|
import { inject, Injector, Injectable, signal, Component, NgModule } from '@angular/core';
|
6
|
-
import { AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
|
6
|
+
import { objectKeyValueTransforms, AXPWidgetsCatalog } from '@acorex/platform/layout/builder';
|
7
7
|
import { AXTranslationService } from '@acorex/core/translation';
|
8
|
-
import { signalStore, withState, withMethods, patchState } from '@ngrx/signals';
|
8
|
+
import { signalStore, withState, withMethods, patchState, withHooks } from '@ngrx/signals';
|
9
9
|
import * as i3 from '@acorex/components/button';
|
10
10
|
import { AXButtonModule } from '@acorex/components/button';
|
11
11
|
import * as i2 from '@acorex/components/decorators';
|
@@ -14,6 +14,7 @@ import * as i1 from '@acorex/components/dropdown';
|
|
14
14
|
import { AXDropdownModule } from '@acorex/components/dropdown';
|
15
15
|
import { AXPopoverModule } from '@acorex/components/popover';
|
16
16
|
import { CommonModule } from '@angular/common';
|
17
|
+
import { AXPSessionService } from '@acorex/platform/auth';
|
17
18
|
|
18
19
|
class AXMCommonModuleEntityProvider {
|
19
20
|
constructor() {
|
@@ -34,7 +35,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
34
35
|
type: Injectable
|
35
36
|
}] });
|
36
37
|
|
37
|
-
const path = 'settings:regional:';
|
38
|
+
const path$1 = 'settings:regional:';
|
38
39
|
var AXPRegionalSetting;
|
39
40
|
(function (AXPRegionalSetting) {
|
40
41
|
AXPRegionalSetting["TimeZone"] = "settings:regional:timezone";
|
@@ -65,16 +66,19 @@ withState((translationService = inject(AXTranslationService)) => {
|
|
65
66
|
// Methods for State Management
|
66
67
|
withMethods((store, settingService = inject(AXPSettingValueProviderService), translationService = inject(AXTranslationService)) => {
|
67
68
|
return {
|
68
|
-
changeLanguage(lang) {
|
69
|
-
|
69
|
+
async changeLanguage(lang) {
|
70
|
+
if (lang != store.language()) {
|
71
|
+
settingService.set(AXPRegionalSetting.Language, lang);
|
72
|
+
patchState(store, { language: lang });
|
73
|
+
}
|
70
74
|
translationService.setActiveLang(lang);
|
71
|
-
|
75
|
+
const reg = await (await this.getRegionalFormats()).find(c => c.locale == lang);
|
76
|
+
const html = document.getElementsByTagName('html')[0];
|
77
|
+
reg?.layout == 'rtl' ? html.setAttribute('dir', 'rtl') : html.removeAttribute('dir');
|
72
78
|
},
|
73
79
|
async loadSetting() {
|
74
80
|
const lang = (await settingService.get(AXPRegionalSetting.Language)) ?? translationService.getDefaultLang();
|
75
|
-
|
76
|
-
translationService.setActiveLang(lang);
|
77
|
-
patchState(store, { language: lang });
|
81
|
+
await this.changeLanguage(lang);
|
78
82
|
},
|
79
83
|
async getCountries() {
|
80
84
|
const { countries } = await import('./acorex-modules-platform-management-countries-CuJVdPLt.mjs');
|
@@ -89,7 +93,7 @@ withMethods((store, settingService = inject(AXPSettingValueProviderService), tra
|
|
89
93
|
return currencies;
|
90
94
|
},
|
91
95
|
async getRegionalFormats() {
|
92
|
-
const { regionalFormats } = await import('./acorex-modules-platform-management-regional-formats-
|
96
|
+
const { regionalFormats } = await import('./acorex-modules-platform-management-regional-formats-BaHofjWg.mjs');
|
93
97
|
return regionalFormats;
|
94
98
|
},
|
95
99
|
async getLanguages() {
|
@@ -100,7 +104,17 @@ withMethods((store, settingService = inject(AXPSettingValueProviderService), tra
|
|
100
104
|
return (await this.getLanguages()).filter(c => ['fa-IR', 'en-US'].some(e => e == c.code));
|
101
105
|
}
|
102
106
|
};
|
103
|
-
}))
|
107
|
+
}), withHooks((store, settingService = inject(AXPSettingValueProviderService)) => ({
|
108
|
+
onInit() {
|
109
|
+
settingService.onChanged.subscribe(async (setting) => {
|
110
|
+
if (setting.keys.includes(AXPRegionalSetting.Language)) {
|
111
|
+
await store.loadSetting();
|
112
|
+
}
|
113
|
+
});
|
114
|
+
},
|
115
|
+
onDestroy() {
|
116
|
+
},
|
117
|
+
})));
|
104
118
|
|
105
119
|
const timeZones = [
|
106
120
|
{ code: 'UTC-5', title: 'UTC-5 (Eastern Time)', offset: '-05:00' },
|
@@ -144,8 +158,10 @@ class AXMRegionalSettingProvider {
|
|
144
158
|
.addSetting({
|
145
159
|
key: AXPRegionalSetting.TimeZone,
|
146
160
|
title: 'Time Zone',
|
147
|
-
scope: '
|
161
|
+
scope: 'T',
|
162
|
+
isInherited: true,
|
148
163
|
defaultValue: await getBrowserTimeZoneCode(),
|
164
|
+
valueTransforms: objectKeyValueTransforms('code'),
|
149
165
|
widget: {
|
150
166
|
type: AXPWidgetsCatalog.select,
|
151
167
|
options: {
|
@@ -156,13 +172,15 @@ class AXMRegionalSettingProvider {
|
|
156
172
|
description: 'Set the default time zone for the application.',
|
157
173
|
})
|
158
174
|
.endSection()
|
159
|
-
//
|
160
|
-
.addSection('
|
175
|
+
// Region Section
|
176
|
+
.addSection('region', 'Region', 'Configure regional format and preferences.')
|
161
177
|
.addSetting({
|
162
178
|
key: AXPRegionalSetting.Language,
|
163
179
|
title: 'Display Language',
|
164
180
|
scope: 'U',
|
181
|
+
isInherited: true,
|
165
182
|
defaultValue: 'en-US',
|
183
|
+
valueTransforms: objectKeyValueTransforms('code'),
|
166
184
|
widget: {
|
167
185
|
type: AXPWidgetsCatalog.select,
|
168
186
|
options: {
|
@@ -171,54 +189,54 @@ class AXMRegionalSettingProvider {
|
|
171
189
|
},
|
172
190
|
},
|
173
191
|
description: 'Set the preferred display language for the user.',
|
174
|
-
})
|
175
|
-
.endSection()
|
176
|
-
// Region Section
|
177
|
-
.addSection('region', 'Region', 'Configure regional format and preferences.')
|
178
|
-
.addSetting({
|
179
|
-
key: AXPRegionalSetting.Country,
|
180
|
-
title: 'Country',
|
181
|
-
scope: 'G',
|
182
|
-
defaultValue: 'US',
|
183
|
-
widget: {
|
184
|
-
type: AXPWidgetsCatalog.select,
|
185
|
-
options: {
|
186
|
-
valueField: 'code',
|
187
|
-
dataSource: await this.store.getCountries(),
|
188
|
-
},
|
189
|
-
},
|
190
|
-
description: 'Set the default country for the application.',
|
191
192
|
})
|
192
193
|
.addSetting({
|
193
194
|
key: AXPRegionalSetting.Regional,
|
194
195
|
title: 'Regional Format',
|
195
196
|
scope: 'U',
|
196
|
-
|
197
|
+
isInherited: true,
|
198
|
+
defaultValue: await this.store.language(),
|
199
|
+
valueTransforms: objectKeyValueTransforms('locale'),
|
197
200
|
widget: {
|
198
201
|
type: AXPWidgetsCatalog.select,
|
199
202
|
options: {
|
200
|
-
|
203
|
+
valueField: 'locale',
|
204
|
+
dataSource: await this.store.getRegionalFormats(),
|
201
205
|
},
|
206
|
+
triggers: [
|
207
|
+
{
|
208
|
+
event: `{{ events.context('${AXPRegionalSetting.Language}') }}`,
|
209
|
+
action: `{{ widget.setValue(context.eval('${AXPRegionalSetting.Language}')) }}`,
|
210
|
+
},
|
211
|
+
],
|
202
212
|
},
|
203
213
|
description: 'Set the regional format for numbers, dates, and times.',
|
204
214
|
})
|
205
215
|
.addSetting({
|
206
216
|
key: AXPRegionalSetting.Calendar,
|
207
217
|
title: 'Calendar',
|
208
|
-
scope: '
|
218
|
+
scope: 'U',
|
219
|
+
isInherited: true,
|
209
220
|
defaultValue: 'Gregorian',
|
210
221
|
widget: {
|
211
222
|
type: AXPWidgetsCatalog.select,
|
212
223
|
options: {
|
213
224
|
dataSource: ['Gregorian', 'Hijri'],
|
214
225
|
},
|
226
|
+
triggers: [
|
227
|
+
{
|
228
|
+
event: `{{ events.context('${AXPRegionalSetting.Regional}') }}`,
|
229
|
+
action: `{{ console.log(widget.find('${AXPRegionalSetting.Regional}').output('selectedItems')[0]) }}`,
|
230
|
+
},
|
231
|
+
],
|
215
232
|
},
|
216
233
|
description: 'Select the calendar type for the application.',
|
217
234
|
})
|
218
235
|
.addSetting({
|
219
236
|
key: AXPRegionalSetting.FirstDayOfWeek,
|
220
237
|
title: 'First Day of Week',
|
221
|
-
scope: '
|
238
|
+
scope: 'T',
|
239
|
+
isInherited: false,
|
222
240
|
defaultValue: 'Monday',
|
223
241
|
widget: {
|
224
242
|
type: AXPWidgetsCatalog.select,
|
@@ -231,7 +249,8 @@ class AXMRegionalSettingProvider {
|
|
231
249
|
.addSetting({
|
232
250
|
key: AXPRegionalSetting.WorkDays,
|
233
251
|
title: 'Work Days',
|
234
|
-
scope: '
|
252
|
+
scope: 'T',
|
253
|
+
isInherited: false,
|
235
254
|
defaultValue: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],
|
236
255
|
widget: {
|
237
256
|
type: AXPWidgetsCatalog.selectionList,
|
@@ -246,6 +265,7 @@ class AXMRegionalSettingProvider {
|
|
246
265
|
key: AXPRegionalSetting.ShortDate,
|
247
266
|
title: 'Short Date Format',
|
248
267
|
scope: 'U',
|
268
|
+
isInherited: true,
|
249
269
|
defaultValue: 'MM/dd/yyyy',
|
250
270
|
widget: {
|
251
271
|
type: AXPWidgetsCatalog.select,
|
@@ -259,6 +279,7 @@ class AXMRegionalSettingProvider {
|
|
259
279
|
key: AXPRegionalSetting.LongDate,
|
260
280
|
title: 'Long Date Format',
|
261
281
|
scope: 'U',
|
282
|
+
isInherited: true,
|
262
283
|
defaultValue: 'MMMM dd, yyyy',
|
263
284
|
widget: {
|
264
285
|
type: AXPWidgetsCatalog.select,
|
@@ -272,6 +293,7 @@ class AXMRegionalSettingProvider {
|
|
272
293
|
key: AXPRegionalSetting.ShortTime,
|
273
294
|
title: 'Short Time Format',
|
274
295
|
scope: 'U',
|
296
|
+
isInherited: true,
|
275
297
|
defaultValue: 'hh:mm a',
|
276
298
|
widget: {
|
277
299
|
type: AXPWidgetsCatalog.select,
|
@@ -289,6 +311,7 @@ class AXMRegionalSettingProvider {
|
|
289
311
|
key: AXPRegionalSetting.LongTime,
|
290
312
|
title: 'Long Time Format',
|
291
313
|
scope: 'U',
|
314
|
+
isInherited: true,
|
292
315
|
defaultValue: 'hh:mm:ss a',
|
293
316
|
widget: {
|
294
317
|
type: AXPWidgetsCatalog.select,
|
@@ -324,6 +347,178 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
324
347
|
args: [{ imports: [AXDropdownModule, AXDecoratorModule, AXPopoverModule, AXButtonModule, CommonModule], template: "<ax-button look=\"blank\">\n <ax-icon class=\"fa-regular fa-globe\"> </ax-icon>\n <ax-dropdown-panel>\n <ax-button-item-list>\n @for(lang of items(); track lang){\n <ax-button-item [text]=\"lang.title\" [selected]=\"store.language()===lang.code\"\n (onClick)=\"store.changeLanguage(lang.code)\">\n <ax-prefix>\n <ax-icon icon=\"fa-solid fa-flag\"> </ax-icon>\n </ax-prefix>\n </ax-button-item>\n }\n </ax-button-item-list>\n </ax-dropdown-panel>\n</ax-button>" }]
|
325
348
|
}] });
|
326
349
|
|
350
|
+
const path = 'settings:organization:';
|
351
|
+
var AXPOrganizationSetting;
|
352
|
+
(function (AXPOrganizationSetting) {
|
353
|
+
AXPOrganizationSetting["OrganizationName"] = "settings:organization:organization-name";
|
354
|
+
AXPOrganizationSetting["OrganizationID"] = "settings:organization:organization-id";
|
355
|
+
AXPOrganizationSetting["ContactEmail"] = "settings:organization:contact-email";
|
356
|
+
AXPOrganizationSetting["ContactPhone"] = "settings:organization:contact-phone";
|
357
|
+
AXPOrganizationSetting["OrganizationAddress"] = "settings:organization:organization-address";
|
358
|
+
AXPOrganizationSetting["OrganizationCity"] = "settings:organization:organization-city";
|
359
|
+
AXPOrganizationSetting["OrganizationCountry"] = "settings:organization:organization-country";
|
360
|
+
AXPOrganizationSetting["BrandingColor"] = "settings:organization:branding-color";
|
361
|
+
AXPOrganizationSetting["BrandingLogo"] = "settings:organization:branding-logo";
|
362
|
+
AXPOrganizationSetting["CopyrightText"] = "settings:organization:copyright-text";
|
363
|
+
AXPOrganizationSetting["ApplicationHeaderTitle"] = "settings:organization:application-header-title";
|
364
|
+
AXPOrganizationSetting["SupportEmail"] = "settings:organization:support-email";
|
365
|
+
AXPOrganizationSetting["InfoEmail"] = "settings:organization:info-email";
|
366
|
+
AXPOrganizationSetting["FaxNumber"] = "settings:organization:fax-number";
|
367
|
+
})(AXPOrganizationSetting || (AXPOrganizationSetting = {}));
|
368
|
+
|
369
|
+
class AXMOrganizationSettingProvider {
|
370
|
+
async provide(context) {
|
371
|
+
context
|
372
|
+
.addGroup('organization-settings', 'Organization Settings', 'Manage organizational preferences.', 'fa-solid fa-building')
|
373
|
+
// Branding Section
|
374
|
+
.addSection('branding', 'Branding', 'Configure company branding.')
|
375
|
+
.addSetting({
|
376
|
+
key: AXPOrganizationSetting.OrganizationName,
|
377
|
+
title: 'Company Name',
|
378
|
+
scope: 'G',
|
379
|
+
defaultValue: '',
|
380
|
+
widget: {
|
381
|
+
type: AXPWidgetsCatalog.text,
|
382
|
+
},
|
383
|
+
description: 'Specify the official name of the company.',
|
384
|
+
})
|
385
|
+
.addSetting({
|
386
|
+
key: 'branding-color',
|
387
|
+
title: 'Primary Color',
|
388
|
+
scope: 'G',
|
389
|
+
defaultValue: '#000000',
|
390
|
+
widget: {
|
391
|
+
type: AXPWidgetsCatalog.color,
|
392
|
+
},
|
393
|
+
description: 'Primary brand color used across the application.',
|
394
|
+
})
|
395
|
+
.addSetting({
|
396
|
+
key: 'branding-logo',
|
397
|
+
title: 'Company Logo',
|
398
|
+
scope: 'G',
|
399
|
+
defaultValue: '',
|
400
|
+
widget: {
|
401
|
+
type: AXPWidgetsCatalog.file,
|
402
|
+
options: {
|
403
|
+
fileTypes: ['image/png', 'image/jpeg'],
|
404
|
+
},
|
405
|
+
},
|
406
|
+
description: 'Upload the company logo.',
|
407
|
+
})
|
408
|
+
.addSetting({
|
409
|
+
key: 'copyright-text',
|
410
|
+
title: 'Copyright Text',
|
411
|
+
scope: 'G',
|
412
|
+
defaultValue: '© 2024 Your Company',
|
413
|
+
widget: {
|
414
|
+
type: AXPWidgetsCatalog.text,
|
415
|
+
},
|
416
|
+
description: 'Text displayed in the footer of the application.',
|
417
|
+
})
|
418
|
+
.addSetting({
|
419
|
+
key: 'application-header-title',
|
420
|
+
title: 'Application Header Title',
|
421
|
+
scope: 'G',
|
422
|
+
defaultValue: 'Your Application',
|
423
|
+
widget: {
|
424
|
+
type: AXPWidgetsCatalog.text,
|
425
|
+
},
|
426
|
+
description: 'Title displayed in the application header.',
|
427
|
+
})
|
428
|
+
.endSection()
|
429
|
+
// Contact Details Section
|
430
|
+
.addSection('contact', 'Contact Details', 'Set company contact information.')
|
431
|
+
.addSetting({
|
432
|
+
key: AXPOrganizationSetting.ContactEmail,
|
433
|
+
title: 'Company Email',
|
434
|
+
scope: 'G',
|
435
|
+
defaultValue: '',
|
436
|
+
widget: {
|
437
|
+
type: AXPWidgetsCatalog.email,
|
438
|
+
},
|
439
|
+
description: 'Primary email address for the company.',
|
440
|
+
})
|
441
|
+
.addSetting({
|
442
|
+
key: 'support-email',
|
443
|
+
title: 'Support Email',
|
444
|
+
scope: 'G',
|
445
|
+
defaultValue: '',
|
446
|
+
widget: {
|
447
|
+
type: AXPWidgetsCatalog.email,
|
448
|
+
},
|
449
|
+
description: 'Support email address for customer inquiries.',
|
450
|
+
})
|
451
|
+
.addSetting({
|
452
|
+
key: 'info-email',
|
453
|
+
title: 'Info Email',
|
454
|
+
scope: 'G',
|
455
|
+
defaultValue: '',
|
456
|
+
widget: {
|
457
|
+
type: AXPWidgetsCatalog.email,
|
458
|
+
},
|
459
|
+
description: 'General information email address.',
|
460
|
+
})
|
461
|
+
.addSetting({
|
462
|
+
key: AXPOrganizationSetting.ContactPhone,
|
463
|
+
title: 'Company Phone',
|
464
|
+
scope: 'G',
|
465
|
+
defaultValue: '',
|
466
|
+
widget: {
|
467
|
+
type: AXPWidgetsCatalog.phone,
|
468
|
+
},
|
469
|
+
description: 'Primary contact phone number.',
|
470
|
+
})
|
471
|
+
.addSetting({
|
472
|
+
key: 'fax-number',
|
473
|
+
title: 'Fax Number',
|
474
|
+
scope: 'G',
|
475
|
+
defaultValue: '',
|
476
|
+
widget: {
|
477
|
+
type: AXPWidgetsCatalog.phone,
|
478
|
+
},
|
479
|
+
description: 'Fax number for the company.',
|
480
|
+
})
|
481
|
+
.endSection()
|
482
|
+
// Address Section
|
483
|
+
.addSection('address', 'Address', 'Manage company address details.')
|
484
|
+
.addSetting({
|
485
|
+
key: AXPOrganizationSetting.OrganizationAddress,
|
486
|
+
title: 'Street Address',
|
487
|
+
scope: 'G',
|
488
|
+
defaultValue: '',
|
489
|
+
widget: {
|
490
|
+
type: AXPWidgetsCatalog.text,
|
491
|
+
},
|
492
|
+
description: 'Street address of the company.',
|
493
|
+
})
|
494
|
+
.addSetting({
|
495
|
+
key: AXPOrganizationSetting.OrganizationCity,
|
496
|
+
title: 'City',
|
497
|
+
scope: 'G',
|
498
|
+
defaultValue: '',
|
499
|
+
widget: {
|
500
|
+
type: AXPWidgetsCatalog.text,
|
501
|
+
},
|
502
|
+
description: 'City where the company is located.',
|
503
|
+
})
|
504
|
+
.addSetting({
|
505
|
+
key: AXPOrganizationSetting.OrganizationCountry,
|
506
|
+
title: 'Country',
|
507
|
+
scope: 'G',
|
508
|
+
defaultValue: '',
|
509
|
+
widget: {
|
510
|
+
type: AXPWidgetsCatalog.select,
|
511
|
+
options: {
|
512
|
+
dataSource: ['United States', 'United Kingdom', 'France', 'Germany', 'Japan', 'China'],
|
513
|
+
},
|
514
|
+
},
|
515
|
+
description: 'Country where the company is based.',
|
516
|
+
})
|
517
|
+
.endSection()
|
518
|
+
.endGroup();
|
519
|
+
}
|
520
|
+
}
|
521
|
+
|
327
522
|
class AXMPlatformManagementCommonModule {
|
328
523
|
constructor(appInitService, injector) {
|
329
524
|
const service = injector.get(AXPRegionalStoreService);
|
@@ -348,6 +543,11 @@ class AXMPlatformManagementCommonModule {
|
|
348
543
|
useClass: AXMRegionalSettingProvider,
|
349
544
|
multi: true
|
350
545
|
},
|
546
|
+
{
|
547
|
+
provide: AXP_SETTING_DEFINITION_PROVIDER,
|
548
|
+
useClass: AXMOrganizationSettingProvider,
|
549
|
+
multi: true
|
550
|
+
},
|
351
551
|
], imports: [AXPComponentSlotModule.forChild({
|
352
552
|
'header-end': [
|
353
553
|
{
|
@@ -383,6 +583,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
383
583
|
useClass: AXMRegionalSettingProvider,
|
384
584
|
multi: true
|
385
585
|
},
|
586
|
+
{
|
587
|
+
provide: AXP_SETTING_DEFINITION_PROVIDER,
|
588
|
+
useClass: AXMOrganizationSettingProvider,
|
589
|
+
multi: true
|
590
|
+
},
|
386
591
|
],
|
387
592
|
}]
|
388
593
|
}], ctorParameters: () => [{ type: i1$1.AXPAppStartUpService }, { type: i0.Injector }] });
|
@@ -464,7 +669,7 @@ async function globalVariableEntityFactory(injector) {
|
|
464
669
|
],
|
465
670
|
},
|
466
671
|
{
|
467
|
-
name: '
|
672
|
+
name: 'value',
|
468
673
|
title: 'Data Value',
|
469
674
|
groupId: 'section',
|
470
675
|
schema: {
|
@@ -510,11 +715,11 @@ async function globalVariableEntityFactory(injector) {
|
|
510
715
|
],
|
511
716
|
},
|
512
717
|
],
|
513
|
-
columns: [{ name: 'title' }, { name: '
|
718
|
+
columns: [{ name: 'title' }, { name: 'value' }, { name: 'dataType' }],
|
514
719
|
commands: {
|
515
720
|
create: {
|
516
721
|
execute: async (data) => {
|
517
|
-
return Promise.resolve(dataService.insertOne(data));
|
722
|
+
return Promise.resolve({ id: await dataService.insertOne(data) });
|
518
723
|
},
|
519
724
|
},
|
520
725
|
delete: {
|
@@ -585,7 +790,7 @@ async function globalVariableEntityFactory(injector) {
|
|
585
790
|
},
|
586
791
|
},
|
587
792
|
{
|
588
|
-
name: '
|
793
|
+
name: 'value',
|
589
794
|
layout: {
|
590
795
|
positions: {
|
591
796
|
lg: {
|
@@ -634,7 +839,7 @@ async function globalVariableEntityFactory(injector) {
|
|
634
839
|
},
|
635
840
|
},
|
636
841
|
{
|
637
|
-
name: '
|
842
|
+
name: 'value',
|
638
843
|
layout: {
|
639
844
|
positions: {
|
640
845
|
lg: {
|
@@ -684,7 +889,7 @@ async function globalVariableEntityFactory(injector) {
|
|
684
889
|
},
|
685
890
|
},
|
686
891
|
{
|
687
|
-
name: '
|
892
|
+
name: 'value',
|
688
893
|
layout: {
|
689
894
|
positions: {
|
690
895
|
lg: {
|
@@ -782,15 +987,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.3", ngImpor
|
|
782
987
|
class AXMPlatformManagmentModuleMenuProvider {
|
783
988
|
constructor() {
|
784
989
|
this.entityService = inject(AXPEntityService);
|
990
|
+
this.sessionService = inject(AXPSessionService);
|
785
991
|
}
|
786
992
|
async provide(context) {
|
787
993
|
const scope = AXMPlatformManagementModuleConst.i18n;
|
994
|
+
const appName = this.sessionService.application?.name;
|
788
995
|
context.addItems([
|
789
996
|
{
|
790
997
|
name: 'administration-group',
|
791
998
|
priority: 2000,
|
792
999
|
text: `t('administration',{scope: "${scope}"})`,
|
793
1000
|
type: 'group',
|
1001
|
+
data: {
|
1002
|
+
// requiredPermission: 'admin',
|
1003
|
+
},
|
1004
|
+
},
|
1005
|
+
{
|
1006
|
+
name: 'tenant-application-settings',
|
1007
|
+
priority: 10000,
|
1008
|
+
text: `t('settings')`,
|
1009
|
+
type: 'menu',
|
1010
|
+
icon: 'fa-solid fa-gear',
|
1011
|
+
path: `/${appName}/settings/tenant`,
|
794
1012
|
data: {
|
795
1013
|
requiredPermission: 'admin',
|
796
1014
|
},
|
@@ -801,7 +1019,7 @@ class AXMPlatformManagmentModuleMenuProvider {
|
|
801
1019
|
type: 'menu',
|
802
1020
|
priority: 9100,
|
803
1021
|
data: {
|
804
|
-
|
1022
|
+
requiredPermission: 'platform',
|
805
1023
|
},
|
806
1024
|
children: [
|
807
1025
|
{
|