@acorex/platform 20.3.0-next.21 → 20.3.0-next.23

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/common/index.d.ts CHANGED
@@ -694,6 +694,10 @@ interface AXPPlatformConfigs {
694
694
  declare const AXPPlatformDefaultConfigs: AXPPlatformConfigs;
695
695
  declare function configPlatform(config?: Partial<AXPPlatformConfigs>): AXPPlatformConfigs;
696
696
 
697
+ declare enum AXPCommonSettings {
698
+ EnableOperationToasts = "general:notifications:enable-operation-toasts"
699
+ }
700
+
697
701
  declare const AXP_ROOT_CONFIG_TOKEN: InjectionToken<AXPRootConfigs>;
698
702
  interface AXPRootConfigs {
699
703
  baseUrl: string;
@@ -1149,20 +1153,262 @@ interface AXPMenuProvider {
1149
1153
  declare const AXP_MENU_PROVIDER: InjectionToken<AXPMenuProvider[]>;
1150
1154
  declare class AXPMenuProviderService {
1151
1155
  private providers;
1156
+ private middlewareRegistry;
1152
1157
  private cache;
1153
1158
  private pendingInserts;
1154
1159
  private pendingRemovals;
1155
1160
  private pendingUpdates;
1156
1161
  private pendingAdditions;
1162
+ /**
1163
+ * Get menu items with middlewares applied (for end-user display)
1164
+ */
1157
1165
  items(): Promise<AXPMenuItem[]>;
1166
+ /**
1167
+ * Get raw menu items WITHOUT middleware applied (for management/editing)
1168
+ * Used by menu management pages to show original items before customization
1169
+ */
1170
+ rawItems(): Promise<AXPMenuItem[]>;
1171
+ /**
1172
+ * Clear the cache to force reload of menu items
1173
+ */
1174
+ clearCache(): void;
1175
+ /**
1176
+ * Apply middlewares in priority order using the enhanced context API
1177
+ */
1178
+ private applyMiddlewares;
1179
+ /**
1180
+ * Create provider context for menu providers
1181
+ */
1158
1182
  private createMenuProviderContext;
1159
1183
  private applyPendingOperations;
1160
1184
  private findItemWithParent;
1161
- clearCache(): void;
1162
1185
  static ɵfac: i0.ɵɵFactoryDeclaration<AXPMenuProviderService, never>;
1163
1186
  static ɵprov: i0.ɵɵInjectableDeclaration<AXPMenuProviderService>;
1164
1187
  }
1165
1188
 
1189
+ /**
1190
+ * Rich context API for manipulating menu items within middleware
1191
+ * Provides helper methods to find, update, remove, and add menu items easily
1192
+ */
1193
+ interface AXPMenuMiddlewareContext {
1194
+ /**
1195
+ * Get all menu items
1196
+ */
1197
+ readonly items: AXPMenuItem[];
1198
+ /**
1199
+ * Find menu item(s) by name or pattern
1200
+ */
1201
+ find(nameOrPattern: string | RegExp): AXPMenuItemFinder;
1202
+ /**
1203
+ * Find menu item by name (exact match)
1204
+ */
1205
+ findByName(name: string): AXPMenuItemFinder;
1206
+ /**
1207
+ * Find menu items by pattern (regex or wildcard)
1208
+ */
1209
+ findByPattern(pattern: string | RegExp): AXPMenuItemFinder[];
1210
+ /**
1211
+ * Add new menu items to root level
1212
+ */
1213
+ add(...items: AXPMenuItem[]): AXPMenuMiddlewareContext;
1214
+ /**
1215
+ * Remove menu items by predicate
1216
+ */
1217
+ remove(predicate: (item: AXPMenuItem) => boolean): AXPMenuMiddlewareContext;
1218
+ /**
1219
+ * Sort all menu items recursively by priority
1220
+ */
1221
+ sort(): AXPMenuMiddlewareContext;
1222
+ /**
1223
+ * Get the final menu items array
1224
+ */
1225
+ toArray(): AXPMenuItem[];
1226
+ }
1227
+ /**
1228
+ * Helper for finding and manipulating a specific menu item
1229
+ */
1230
+ interface AXPMenuItemFinder {
1231
+ /**
1232
+ * Get the found menu item (or undefined)
1233
+ */
1234
+ get(): AXPMenuItem | undefined;
1235
+ /**
1236
+ * Check if menu item exists
1237
+ */
1238
+ exists(): boolean;
1239
+ /**
1240
+ * Update menu item properties
1241
+ */
1242
+ update(updater: Partial<AXPMenuItem> | ((item: AXPMenuItem) => Partial<AXPMenuItem>)): AXPMenuItemFinder;
1243
+ /**
1244
+ * Remove the menu item
1245
+ */
1246
+ remove(): AXPMenuItemFinder;
1247
+ /**
1248
+ * Hide the menu item (removes it from the menu)
1249
+ */
1250
+ hide(): AXPMenuItemFinder;
1251
+ /**
1252
+ * Show the menu item (currently a no-op as items are visible by default)
1253
+ * Note: To truly implement show, we'd need to track removed items
1254
+ */
1255
+ show(): AXPMenuItemFinder;
1256
+ /**
1257
+ * Set priority
1258
+ */
1259
+ setPriority(priority: number): AXPMenuItemFinder;
1260
+ /**
1261
+ * Add children to this menu item
1262
+ */
1263
+ addChildren(...children: AXPMenuItem[]): AXPMenuItemFinder;
1264
+ /**
1265
+ * Remove children by predicate
1266
+ */
1267
+ removeChildren(predicate: (child: AXPMenuItem) => boolean): AXPMenuItemFinder;
1268
+ /**
1269
+ * Move menu item to a different parent
1270
+ */
1271
+ moveTo(parentName: string | null): AXPMenuItemFinder;
1272
+ /**
1273
+ * Insert menu items before this item
1274
+ */
1275
+ insertBefore(...items: AXPMenuItem[]): AXPMenuItemFinder;
1276
+ /**
1277
+ * Insert menu items after this item
1278
+ */
1279
+ insertAfter(...items: AXPMenuItem[]): AXPMenuItemFinder;
1280
+ }
1281
+ /**
1282
+ * Middleware that processes menu items after all providers have executed
1283
+ * Middlewares are executed in order based on their priority (higher priority = earlier execution)
1284
+ */
1285
+ interface AXPMenuMiddleware {
1286
+ /**
1287
+ * Optional priority for execution order (higher = earlier)
1288
+ * Default: 0
1289
+ */
1290
+ readonly priority?: number;
1291
+ /**
1292
+ * Optional name for debugging and identification
1293
+ */
1294
+ readonly name?: string;
1295
+ /**
1296
+ * Process menu items using the rich context API
1297
+ * @param context - The menu middleware context with helper methods
1298
+ * @returns Processed context or void (context is mutable)
1299
+ */
1300
+ process(context: AXPMenuMiddlewareContext): Promise<void | AXPMenuMiddlewareContext>;
1301
+ }
1302
+ /**
1303
+ * Provider definition for registering middleware via multi-provider
1304
+ */
1305
+ interface AXPMenuMiddlewareProvider {
1306
+ /**
1307
+ * The middleware instance
1308
+ */
1309
+ middleware: AXPMenuMiddleware;
1310
+ /**
1311
+ * Optional priority override
1312
+ */
1313
+ priority?: number;
1314
+ }
1315
+ /**
1316
+ * Injection token for menu middlewares (multi-provider)
1317
+ */
1318
+ declare const AXP_MENU_MIDDLEWARE: InjectionToken<AXPMenuMiddleware[]>;
1319
+
1320
+ /**
1321
+ * Creates a rich context for menu manipulation
1322
+ * Similar to entity modifier context pattern
1323
+ */
1324
+ declare function createMenuContext(items: AXPMenuItem[]): AXPMenuMiddlewareContext;
1325
+
1326
+ /**
1327
+ * Central service for managing menu middlewares with priority-based ordering
1328
+ * Similar to token registry pattern used in identifier-management
1329
+ */
1330
+ declare class AXPMenuMiddlewareRegistry {
1331
+ /**
1332
+ * Manually registered middlewares
1333
+ */
1334
+ private readonly manualMiddlewares;
1335
+ /**
1336
+ * Provider-based middlewares (multi-provider injection)
1337
+ */
1338
+ private readonly providerMiddlewares;
1339
+ /**
1340
+ * Manually register a middleware
1341
+ * @param middleware - The middleware to register
1342
+ */
1343
+ register(middleware: AXPMenuMiddleware): void;
1344
+ /**
1345
+ * Unregister a middleware by name
1346
+ * @param name - The name of the middleware to remove
1347
+ */
1348
+ unregister(name: string): void;
1349
+ /**
1350
+ * Get a specific middleware by name
1351
+ * @param name - The middleware name
1352
+ */
1353
+ get(name: string): AXPMenuMiddleware | undefined;
1354
+ /**
1355
+ * Get all middlewares sorted by priority (highest first)
1356
+ * Combines provider-based and manually registered middlewares
1357
+ */
1358
+ list(): AXPMenuMiddleware[];
1359
+ /**
1360
+ * Check if a middleware exists
1361
+ * @param name - The middleware name
1362
+ */
1363
+ exists(name: string): boolean;
1364
+ /**
1365
+ * Clear all manually registered middlewares
1366
+ * Provider-based middlewares are not affected
1367
+ */
1368
+ clear(): void;
1369
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXPMenuMiddlewareRegistry, never>;
1370
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXPMenuMiddlewareRegistry>;
1371
+ }
1372
+
1373
+ /**
1374
+ * Helper function to provide menu middlewares with proper DI setup
1375
+ * Similar to provideCommandMiddleware pattern
1376
+ *
1377
+ * @example
1378
+ * ```typescript
1379
+ * // In app.config.ts or module providers
1380
+ * export const appConfig: ApplicationConfig = {
1381
+ * providers: [
1382
+ * provideMenuMiddleware([
1383
+ * customizationMiddleware,
1384
+ * securityMiddleware,
1385
+ * loggingMiddleware
1386
+ * ])
1387
+ * ]
1388
+ * };
1389
+ * ```
1390
+ */
1391
+ declare function provideMenuMiddleware(middlewares: AXPMenuMiddleware[]): EnvironmentProviders;
1392
+ /**
1393
+ * Helper to create a class-based middleware with priority
1394
+ *
1395
+ * @example
1396
+ * ```typescript
1397
+ * const myMiddleware = createMenuMiddleware({
1398
+ * name: 'my-middleware',
1399
+ * priority: 100,
1400
+ * process: async (context) => {
1401
+ * context.find('dashboard').setPriority(1);
1402
+ * }
1403
+ * });
1404
+ * ```
1405
+ */
1406
+ declare function createMenuMiddleware(config: {
1407
+ name: string;
1408
+ priority?: number;
1409
+ process: (context: AXPMenuMiddlewareContext) => Promise<void>;
1410
+ }): AXPMenuMiddleware;
1411
+
1166
1412
  declare const AXPMenuService: i0.Type<{
1167
1413
  items: i0.Signal<AXPMenuItem[]>;
1168
1414
  selectedMenuItem: _ngrx_signals.DeepSignal<{
@@ -1477,6 +1723,69 @@ interface AXPCurrency {
1477
1723
  format: string;
1478
1724
  }
1479
1725
 
1726
+ interface AXPVersionStream {
1727
+ id: string;
1728
+ entityType: string;
1729
+ entityId: string;
1730
+ createdAt: string;
1731
+ }
1732
+ declare enum AXVChangeType {
1733
+ Create = "Create",
1734
+ Update = "Update",
1735
+ Delete = "Delete"
1736
+ }
1737
+ type CanonicalChangeOp = 'add' | 'remove' | 'replace' | 'rename' | 'metadata';
1738
+ interface CanonicalChange {
1739
+ path: string;
1740
+ op: CanonicalChangeOp;
1741
+ oldValue?: unknown;
1742
+ newValue?: unknown;
1743
+ meta?: Record<string, unknown>;
1744
+ }
1745
+ interface AXPVersionEntry {
1746
+ id: string;
1747
+ streamId: string;
1748
+ versionNumber: number;
1749
+ changeType: AXVChangeType;
1750
+ changedBy: string;
1751
+ changedAt: string;
1752
+ snapshotJson: unknown;
1753
+ patchFromPrevJson: CanonicalChange[];
1754
+ summary?: string;
1755
+ metadataJson?: unknown;
1756
+ }
1757
+ interface AXPVersionChange {
1758
+ id?: number;
1759
+ versionEntryId: string;
1760
+ path: string;
1761
+ op: CanonicalChangeOp;
1762
+ oldValue?: unknown;
1763
+ newValue?: unknown;
1764
+ }
1765
+ interface VersionedFileInfo {
1766
+ id: string;
1767
+ name: string;
1768
+ size: number;
1769
+ mime: string;
1770
+ hash: string;
1771
+ url?: string;
1772
+ thumbUrl?: string;
1773
+ }
1774
+ declare abstract class AXPVersioningService {
1775
+ abstract getStreamIdIfExists(entityType: string, entityId: string): Promise<string | null>;
1776
+ abstract listEntries(streamId: string, options?: {
1777
+ limit?: number;
1778
+ offset?: number;
1779
+ }): Promise<AXPVersionEntry[]>;
1780
+ abstract getUiFriendlyDiff(streamId: string, v1: number, v2: number): Promise<Array<{
1781
+ badge: string;
1782
+ path: string;
1783
+ summary: string;
1784
+ oldValue?: unknown;
1785
+ newValue?: unknown;
1786
+ }>>;
1787
+ }
1788
+
1480
1789
  declare const AXPRedirectEvent: {
1481
1790
  (payload: {
1482
1791
  url: string;
@@ -1534,6 +1843,7 @@ declare class AXPDialogConfirmAction extends AXPWorkflowAction {
1534
1843
  declare class AXPToastAction extends AXPWorkflowAction {
1535
1844
  private toastService;
1536
1845
  private translationService;
1846
+ private settingService;
1537
1847
  color: AXStyleColorType;
1538
1848
  title: string;
1539
1849
  content: string;
@@ -1566,68 +1876,5 @@ declare class AXMWorkflowErrorHandler implements AXPErrorHandler {
1566
1876
  static ɵprov: i0.ɵɵInjectableDeclaration<AXMWorkflowErrorHandler>;
1567
1877
  }
1568
1878
 
1569
- interface AXPVersionStream {
1570
- id: string;
1571
- entityType: string;
1572
- entityId: string;
1573
- createdAt: string;
1574
- }
1575
- declare enum AXVChangeType {
1576
- Create = "Create",
1577
- Update = "Update",
1578
- Delete = "Delete"
1579
- }
1580
- type CanonicalChangeOp = 'add' | 'remove' | 'replace' | 'rename' | 'metadata';
1581
- interface CanonicalChange {
1582
- path: string;
1583
- op: CanonicalChangeOp;
1584
- oldValue?: unknown;
1585
- newValue?: unknown;
1586
- meta?: Record<string, unknown>;
1587
- }
1588
- interface AXPVersionEntry {
1589
- id: string;
1590
- streamId: string;
1591
- versionNumber: number;
1592
- changeType: AXVChangeType;
1593
- changedBy: string;
1594
- changedAt: string;
1595
- snapshotJson: unknown;
1596
- patchFromPrevJson: CanonicalChange[];
1597
- summary?: string;
1598
- metadataJson?: unknown;
1599
- }
1600
- interface AXPVersionChange {
1601
- id?: number;
1602
- versionEntryId: string;
1603
- path: string;
1604
- op: CanonicalChangeOp;
1605
- oldValue?: unknown;
1606
- newValue?: unknown;
1607
- }
1608
- interface VersionedFileInfo {
1609
- id: string;
1610
- name: string;
1611
- size: number;
1612
- mime: string;
1613
- hash: string;
1614
- url?: string;
1615
- thumbUrl?: string;
1616
- }
1617
- declare abstract class AXPVersioningService {
1618
- abstract getStreamIdIfExists(entityType: string, entityId: string): Promise<string | null>;
1619
- abstract listEntries(streamId: string, options?: {
1620
- limit?: number;
1621
- offset?: number;
1622
- }): Promise<AXPVersionEntry[]>;
1623
- abstract getUiFriendlyDiff(streamId: string, v1: number, v2: number): Promise<Array<{
1624
- badge: string;
1625
- path: string;
1626
- summary: string;
1627
- oldValue?: unknown;
1628
- newValue?: unknown;
1629
- }>>;
1630
- }
1631
-
1632
- export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPGlobalVariableDefinitionService, AXPGlobalVariableEvaluatorScopeProvider, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPLogoComponent, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingService, AXPStickyDirective, AXPToastAction, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_MENU_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, configPlatform, createAllQueryView, createQueryView, getEntityInfo, provideDynamicHomePage };
1633
- export type { AXEntityPropertyWidget, AXPAggregate, AXPAppVersion, AXPAppVersionProvider, AXPApplication, AXPCategoryEntity, AXPCommandActionCallback, AXPCommandActionDisplay, AXPCommandActionLook, AXPCommandActionPriority, AXPCommandActionType, AXPCommonModuleConfigs, AXPCurrency, AXPDomToImageOptions, AXPEntity, AXPEntityAction, AXPEntityCommand, AXPEntityDetailListView, AXPEntityMasterCreateLayoutView, AXPEntityMasterLayoutView, AXPEntityMasterListView, AXPEntityMasterSingleLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntityPropertyGroup, AXPEntityPropertyLayoutConfig, AXPEntityPropertyUpdateView, AXPEntityPropertyView, AXPEntityQuery, AXPEntitySectionView, AXPEntityTableColumn, AXPEntityVersionHistory, AXPErrorHandler, AXPFileExtension, AXPFileManyStorageInfo, AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileType, AXPFileTypeInfoProvider, AXPFilterOperator, AXPGeoLocation, AXPGlobalVariableDefinition, AXPGlobalVariableDefinitionProvider, AXPGlobalVariableDefinitionProviderToken, AXPGroupSearchResult, AXPHomePageDefinition, AXPLanguage, AXPLocaleProfile, AXPLockGetInfoRequest, AXPLockInfo, AXPLockRequest, AXPLockType, AXPMenuFinderResult, AXPMenuInsertion, AXPMenuItem, AXPMenuItemCommand, AXPMenuItemWithParent, AXPMenuProvider, AXPMenuProviderContext, AXPMenuType, AXPModule, AXPPlatformConfigs, AXPQueryFilter, AXPQuerySort, AXPQueryView, AXPRelatedEntity, AXPRelationship, AXPRootConfigs, AXPSearchAction, AXPSearchDefinition, AXPSearchDefinitionDisplayFormat, AXPSearchDefinitionProvider, AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchDisplayResultForSave, AXPSearchParentResult, AXPSearchProvider, AXPSearchResult, AXPSettingChangedEvent, AXPSettingDefaultValuesProvider, AXPSettingDefinition, AXPSettingDefinitionGroup, AXPSettingDefinitionProvider, AXPSettingDefinitionSection, AXPSettingServiceInterface, AXPSettingValue, AXPSettingValueProvider, AXPTimeZone, AXPUnLockRequest, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };
1879
+ export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPGlobalVariableDefinitionService, AXPGlobalVariableEvaluatorScopeProvider, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPLogoComponent, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingService, AXPStickyDirective, AXPToastAction, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_GLOBAL_VARIABLE_DEFINITION_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_PLATFORM_CONFIG_TOKEN, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, ENDS_WITH_OPER, ENVIRONMENT, EQ_OPER, GTE_OPER, GT_OPER, IN_OPER, IS_EMPTY_OPER, IS_NOT_EMPTY_OPER, LTE_OPER, LT_OPER, NOT_CONTAINS_OPER, NOT_EQ_OPER, NUMBER_OPERATORS, STARTS_WITH_OPER, STRING_OPERATORS, configPlatform, createAllQueryView, createMenuContext, createMenuMiddleware, createQueryView, getEntityInfo, provideDynamicHomePage, provideMenuMiddleware };
1880
+ export type { AXEntityPropertyWidget, AXPAggregate, AXPAppVersion, AXPAppVersionProvider, AXPApplication, AXPCategoryEntity, AXPCommandActionCallback, AXPCommandActionDisplay, AXPCommandActionLook, AXPCommandActionPriority, AXPCommandActionType, AXPCommonModuleConfigs, AXPCurrency, AXPDomToImageOptions, AXPEntity, AXPEntityAction, AXPEntityCommand, AXPEntityDetailListView, AXPEntityMasterCreateLayoutView, AXPEntityMasterLayoutView, AXPEntityMasterListView, AXPEntityMasterSingleLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntityPropertyGroup, AXPEntityPropertyLayoutConfig, AXPEntityPropertyUpdateView, AXPEntityPropertyView, AXPEntityQuery, AXPEntitySectionView, AXPEntityTableColumn, AXPEntityVersionHistory, AXPErrorHandler, AXPFileExtension, AXPFileManyStorageInfo, AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileType, AXPFileTypeInfoProvider, AXPFilterOperator, AXPGeoLocation, AXPGlobalVariableDefinition, AXPGlobalVariableDefinitionProvider, AXPGlobalVariableDefinitionProviderToken, AXPGroupSearchResult, AXPHomePageDefinition, AXPLanguage, AXPLocaleProfile, AXPLockGetInfoRequest, AXPLockInfo, AXPLockRequest, AXPLockType, AXPMenuFinderResult, AXPMenuInsertion, AXPMenuItem, AXPMenuItemCommand, AXPMenuItemFinder, AXPMenuItemWithParent, AXPMenuMiddleware, AXPMenuMiddlewareContext, AXPMenuMiddlewareProvider, AXPMenuProvider, AXPMenuProviderContext, AXPMenuType, AXPModule, AXPPlatformConfigs, AXPQueryFilter, AXPQuerySort, AXPQueryView, AXPRelatedEntity, AXPRelationship, AXPRootConfigs, AXPSearchAction, AXPSearchDefinition, AXPSearchDefinitionDisplayFormat, AXPSearchDefinitionProvider, AXPSearchDisplayGroupResult, AXPSearchDisplayResult, AXPSearchDisplayResultForSave, AXPSearchParentResult, AXPSearchProvider, AXPSearchResult, AXPSettingChangedEvent, AXPSettingDefaultValuesProvider, AXPSettingDefinition, AXPSettingDefinitionGroup, AXPSettingDefinitionProvider, AXPSettingDefinitionSection, AXPSettingServiceInterface, AXPSettingValue, AXPSettingValueProvider, AXPTimeZone, AXPUnLockRequest, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };
@@ -0,0 +1,47 @@
1
+ import { AXTranslationService } from '@acorex/core/translation';
2
+ import { AXPPlatformScope } from '@acorex/platform/core';
3
+ import { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';
4
+ import * as i0 from '@angular/core';
5
+ import { Injectable } from '@angular/core';
6
+ import { AXPCommonSettings } from './acorex-platform-common.mjs';
7
+
8
+ class AXPCommonSettingProvider {
9
+ constructor(injector) {
10
+ this.injector = injector;
11
+ this.translateService = this.injector.get(AXTranslationService);
12
+ }
13
+ async provide(context) {
14
+ const trans = async (key) => await this.translateService.translateAsync(`@general:settings.${key}`);
15
+ // Define the 'General Settings' group
16
+ context
17
+ .group('general')
18
+ ?.addSection('notifications', await trans('general.notifications.title'), await trans('general.notifications.description'))
19
+ // Add the 'Enable Operation Toasts' setting
20
+ .addSetting({
21
+ key: AXPCommonSettings.EnableOperationToasts,
22
+ title: await trans('general.notifications.enable-operation-toasts.title'),
23
+ scope: AXPPlatformScope.User,
24
+ isInherited: true,
25
+ defaultValue: true,
26
+ widget: {
27
+ type: AXPWidgetsCatalog.toggle,
28
+ options: {
29
+ label: null,
30
+ },
31
+ },
32
+ description: await trans('general.notifications.enable-operation-toasts.description'),
33
+ })
34
+ // End the 'Notifications' section
35
+ .endSection()
36
+ // End the 'General Settings' group
37
+ .endGroup();
38
+ }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCommonSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCommonSettingProvider }); }
41
+ }
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.4", ngImport: i0, type: AXPCommonSettingProvider, decorators: [{
43
+ type: Injectable
44
+ }], ctorParameters: () => [{ type: i0.Injector }] });
45
+
46
+ export { AXPCommonSettingProvider };
47
+ //# sourceMappingURL=acorex-platform-common-common-settings.provider-9OHien_H.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-platform-common-common-settings.provider-9OHien_H.mjs","sources":["../tmp-esm2022/common/lib/configs/common-settings.provider.js"],"sourcesContent":["import { AXTranslationService } from '@acorex/core/translation';\nimport { AXPPlatformScope } from '@acorex/platform/core';\nimport { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';\nimport { Injectable, Injector } from '@angular/core';\nimport { AXPCommonSettings } from './common-settings.key';\nimport * as i0 from \"@angular/core\";\nexport class AXPCommonSettingProvider {\n constructor(injector) {\n this.injector = injector;\n this.translateService = this.injector.get(AXTranslationService);\n }\n async provide(context) {\n const trans = async (key) => await this.translateService.translateAsync(`@general:settings.${key}`);\n // Define the 'General Settings' group\n context\n .group('general')\n ?.addSection('notifications', await trans('general.notifications.title'), await trans('general.notifications.description'))\n // Add the 'Enable Operation Toasts' setting\n .addSetting({\n key: AXPCommonSettings.EnableOperationToasts,\n title: await trans('general.notifications.enable-operation-toasts.title'),\n scope: AXPPlatformScope.User,\n isInherited: true,\n defaultValue: true,\n widget: {\n type: AXPWidgetsCatalog.toggle,\n options: {\n label: null,\n },\n },\n description: await trans('general.notifications.enable-operation-toasts.description'),\n })\n // End the 'Notifications' section\n .endSection()\n // End the 'General Settings' group\n .endGroup();\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCommonSettingProvider, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCommonSettingProvider }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.4\", ngImport: i0, type: AXPCommonSettingProvider, decorators: [{\n type: Injectable\n }], ctorParameters: () => [{ type: i0.Injector }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXNldHRpbmdzLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wbGF0Zm9ybS9jb21tb24vc3JjL2xpYi9jb25maWdzL2NvbW1vbi1zZXR0aW5ncy5wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7QUFHMUQsTUFBTSxPQUFPLHdCQUF3QjtJQUduQyxZQUFvQixRQUFrQjtRQUFsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBRnJCLHFCQUFnQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFFbkMsQ0FBQztJQUUxQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQTRDO1FBQ3hELE1BQU0sS0FBSyxHQUFHLEtBQUssRUFBRSxHQUFXLEVBQUUsRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUU1RyxzQ0FBc0M7UUFDdEMsT0FBTzthQUNKLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDakIsRUFBRSxVQUFVLENBQ1YsZUFBZSxFQUNmLE1BQU0sS0FBSyxDQUFDLDZCQUE2QixDQUFDLEVBQzFDLE1BQU0sS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQ2pEO1lBQ0QsNENBQTRDO2FBQzNDLFVBQVUsQ0FBQztZQUNWLEdBQUcsRUFBRSxpQkFBaUIsQ0FBQyxxQkFBcUI7WUFDNUMsS0FBSyxFQUFFLE1BQU0sS0FBSyxDQUFDLHFEQUFxRCxDQUFDO1lBQ3pFLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJO1lBQzVCLFdBQVcsRUFBRSxJQUFJO1lBQ2pCLFlBQVksRUFBRSxJQUFJO1lBQ2xCLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsaUJBQWlCLENBQUMsTUFBTTtnQkFDOUIsT0FBTyxFQUFFO29CQUNQLEtBQUssRUFBRSxJQUFJO2lCQUNaO2FBQ0Y7WUFFRCxXQUFXLEVBQUUsTUFBTSxLQUFLLENBQUMsMkRBQTJELENBQUM7U0FDdEYsQ0FBQztZQUVGLGtDQUFrQzthQUNqQyxVQUFVLEVBQUU7WUFFYixtQ0FBbUM7YUFDbEMsUUFBUSxFQUFFLENBQUM7SUFDaEIsQ0FBQzs4R0F0Q1Usd0JBQXdCO2tIQUF4Qix3QkFBd0I7OzJGQUF4Qix3QkFBd0I7a0JBRHBDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWFRyYW5zbGF0aW9uU2VydmljZSB9IGZyb20gJ0BhY29yZXgvY29yZS90cmFuc2xhdGlvbic7XG5pbXBvcnQgeyBBWFBQbGF0Zm9ybVNjb3BlIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9jb3JlJztcbmltcG9ydCB7IEFYUFdpZGdldHNDYXRhbG9nIH0gZnJvbSAnQGFjb3JleC9wbGF0Zm9ybS9sYXlvdXQvd2lkZ2V0LWNvcmUnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXIsIEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0IH0gZnJvbSAnLi4vc2V0dGluZ3MnO1xuaW1wb3J0IHsgQVhQQ29tbW9uU2V0dGluZ3MgfSBmcm9tICcuL2NvbW1vbi1zZXR0aW5ncy5rZXknO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgQVhQQ29tbW9uU2V0dGluZ1Byb3ZpZGVyIGltcGxlbWVudHMgQVhQU2V0dGluZ0RlZmluaXRpb25Qcm92aWRlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZSA9IHRoaXMuaW5qZWN0b3IuZ2V0KEFYVHJhbnNsYXRpb25TZXJ2aWNlKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3Rvcikge31cblxuICBhc3luYyBwcm92aWRlKGNvbnRleHQ6IEFYUFNldHRpbmdEZWZpbml0aW9uUHJvdmlkZXJDb250ZXh0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdHJhbnMgPSBhc3luYyAoa2V5OiBzdHJpbmcpID0+IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS50cmFuc2xhdGVBc3luYyhgQGdlbmVyYWw6c2V0dGluZ3MuJHtrZXl9YCk7XG5cbiAgICAvLyBEZWZpbmUgdGhlICdHZW5lcmFsIFNldHRpbmdzJyBncm91cFxuICAgIGNvbnRleHRcbiAgICAgIC5ncm91cCgnZ2VuZXJhbCcpXG4gICAgICA/LmFkZFNlY3Rpb24oXG4gICAgICAgICdub3RpZmljYXRpb25zJyxcbiAgICAgICAgYXdhaXQgdHJhbnMoJ2dlbmVyYWwubm90aWZpY2F0aW9ucy50aXRsZScpLFxuICAgICAgICBhd2FpdCB0cmFucygnZ2VuZXJhbC5ub3RpZmljYXRpb25zLmRlc2NyaXB0aW9uJyksXG4gICAgICApXG4gICAgICAvLyBBZGQgdGhlICdFbmFibGUgT3BlcmF0aW9uIFRvYXN0cycgc2V0dGluZ1xuICAgICAgLmFkZFNldHRpbmcoe1xuICAgICAgICBrZXk6IEFYUENvbW1vblNldHRpbmdzLkVuYWJsZU9wZXJhdGlvblRvYXN0cyxcbiAgICAgICAgdGl0bGU6IGF3YWl0IHRyYW5zKCdnZW5lcmFsLm5vdGlmaWNhdGlvbnMuZW5hYmxlLW9wZXJhdGlvbi10b2FzdHMudGl0bGUnKSxcbiAgICAgICAgc2NvcGU6IEFYUFBsYXRmb3JtU2NvcGUuVXNlcixcbiAgICAgICAgaXNJbmhlcml0ZWQ6IHRydWUsXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogdHJ1ZSxcbiAgICAgICAgd2lkZ2V0OiB7XG4gICAgICAgICAgdHlwZTogQVhQV2lkZ2V0c0NhdGFsb2cudG9nZ2xlLFxuICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGxhYmVsOiBudWxsLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG5cbiAgICAgICAgZGVzY3JpcHRpb246IGF3YWl0IHRyYW5zKCdnZW5lcmFsLm5vdGlmaWNhdGlvbnMuZW5hYmxlLW9wZXJhdGlvbi10b2FzdHMuZGVzY3JpcHRpb24nKSxcbiAgICAgIH0pXG5cbiAgICAgIC8vIEVuZCB0aGUgJ05vdGlmaWNhdGlvbnMnIHNlY3Rpb25cbiAgICAgIC5lbmRTZWN0aW9uKClcblxuICAgICAgLy8gRW5kIHRoZSAnR2VuZXJhbCBTZXR0aW5ncycgZ3JvdXBcbiAgICAgIC5lbmRHcm91cCgpO1xuICB9XG59XG4iXX0="],"names":[],"mappings":";;;;;;;AAMO,MAAM,wBAAwB,CAAC;AACtC,IAAI,WAAW,CAAC,QAAQ,EAAE;AAC1B,QAAQ,IAAI,CAAC,QAAQ,GAAG,QAAQ;AAChC,QAAQ,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,oBAAoB,CAAC;AACvE,IAAI;AACJ,IAAI,MAAM,OAAO,CAAC,OAAO,EAAE;AAC3B,QAAQ,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC;AAC3G;AACA,QAAQ;AACR,aAAa,KAAK,CAAC,SAAS;AAC5B,cAAc,UAAU,CAAC,eAAe,EAAE,MAAM,KAAK,CAAC,6BAA6B,CAAC,EAAE,MAAM,KAAK,CAAC,mCAAmC,CAAC;AACtI;AACA,aAAa,UAAU,CAAC;AACxB,YAAY,GAAG,EAAE,iBAAiB,CAAC,qBAAqB;AACxD,YAAY,KAAK,EAAE,MAAM,KAAK,CAAC,qDAAqD,CAAC;AACrF,YAAY,KAAK,EAAE,gBAAgB,CAAC,IAAI;AACxC,YAAY,WAAW,EAAE,IAAI;AAC7B,YAAY,YAAY,EAAE,IAAI;AAC9B,YAAY,MAAM,EAAE;AACpB,gBAAgB,IAAI,EAAE,iBAAiB,CAAC,MAAM;AAC9C,gBAAgB,OAAO,EAAE;AACzB,oBAAoB,KAAK,EAAE,IAAI;AAC/B,iBAAiB;AACjB,aAAa;AACb,YAAY,WAAW,EAAE,MAAM,KAAK,CAAC,2DAA2D,CAAC;AACjG,SAAS;AACT;AACA,aAAa,UAAU;AACvB;AACA,aAAa,QAAQ,EAAE;AACvB,IAAI;AACJ,IAAI,SAAS,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACjN,IAAI,SAAS,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;AAC9I;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,UAAU,EAAE,CAAC;AAClI,YAAY,IAAI,EAAE;AAClB,SAAS,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;;;;"}