@acorex/platform 20.8.18 → 20.8.21
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 +71 -5
- package/fesm2022/acorex-platform-common.mjs +248 -59
- package/fesm2022/acorex-platform-common.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-components.mjs +28 -18
- package/fesm2022/acorex-platform-layout-components.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-entity.mjs +131 -35
- package/fesm2022/acorex-platform-layout-entity.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-views.mjs +7 -3
- package/fesm2022/acorex-platform-layout-views.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widget-core.mjs +87 -16
- package/fesm2022/acorex-platform-layout-widget-core.mjs.map +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs +1 -1
- package/fesm2022/acorex-platform-layout-widgets.mjs.map +1 -1
- package/fesm2022/{acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs → acorex-platform-themes-default-entity-master-list-view.component-DnFEQS-L.mjs} +48 -15
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-DnFEQS-L.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-CgVwJxdC.mjs +42 -0
- package/fesm2022/acorex-platform-themes-default-error-404.component-CgVwJxdC.mjs.map +1 -0
- package/fesm2022/acorex-platform-themes-default.mjs +17 -7
- package/fesm2022/acorex-platform-themes-default.mjs.map +1 -1
- package/layout/components/index.d.ts +2 -1
- package/layout/entity/index.d.ts +22 -3
- package/layout/views/index.d.ts +2 -1
- package/layout/widget-core/index.d.ts +12 -3
- package/package.json +8 -8
- package/fesm2022/acorex-platform-themes-default-entity-master-list-view.component-D2CtNrSn.mjs.map +0 -1
- package/fesm2022/acorex-platform-themes-default-error-404.component-DVF9soT5.mjs +0 -25
- package/fesm2022/acorex-platform-themes-default-error-404.component-DVF9soT5.mjs.map +0 -1
package/common/index.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ import { AXPValueTransformerFunctions, AXPOptionsData, AXPExpression, AXPFilterD
|
|
|
8
8
|
import { AXPWidgetTypesMap, AXPMetaDataDefinition, AXPWidgetNode } from '@acorex/platform/layout/widget-core';
|
|
9
9
|
import * as i3 from '@acorex/core/date-time';
|
|
10
10
|
import { AXCalendarService } from '@acorex/core/date-time';
|
|
11
|
-
import * as
|
|
12
|
-
import { Route, Routes } from '@angular/router';
|
|
11
|
+
import * as _angular_router from '@angular/router';
|
|
12
|
+
import { Route, Routes, Router, RedirectCommand, ActivatedRouteSnapshot, CanActivateFn } from '@angular/router';
|
|
13
13
|
import * as i1 from '@acorex/platform/workflow';
|
|
14
14
|
import { AXPWorkflowAction, AXPWorkflowContext, AXPWorkflow } from '@acorex/platform/workflow';
|
|
15
15
|
import * as i4 from '@acorex/components/toast';
|
|
@@ -559,6 +559,22 @@ declare class AXPGlobalErrorHandler extends ErrorHandler {
|
|
|
559
559
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPGlobalErrorHandler>;
|
|
560
560
|
}
|
|
561
561
|
|
|
562
|
+
/** Thrown when a requested platform resource cannot be resolved. */
|
|
563
|
+
declare class AXPNotFoundError extends Error {
|
|
564
|
+
constructor(message?: string);
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
/** Canonical route path for the platform 404 page. */
|
|
568
|
+
declare const AXP_NOT_FOUND_ROUTE = "/error/404";
|
|
569
|
+
/**
|
|
570
|
+
* Returns true when an entity byKey query did not resolve a record.
|
|
571
|
+
*/
|
|
572
|
+
declare function axpIsEntityRecordNotFound(data: unknown): boolean;
|
|
573
|
+
/**
|
|
574
|
+
* Creates an Angular redirect command to the platform 404 page.
|
|
575
|
+
*/
|
|
576
|
+
declare function axpRedirectToNotFound(router?: Router): RedirectCommand;
|
|
577
|
+
|
|
562
578
|
interface AXPCommonModuleConfigs {
|
|
563
579
|
errorHandlers: (new () => AXPErrorHandler)[];
|
|
564
580
|
}
|
|
@@ -570,7 +586,7 @@ declare class AXPCommonModule {
|
|
|
570
586
|
*/
|
|
571
587
|
constructor(instances: any[]);
|
|
572
588
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXPCommonModule, never>;
|
|
573
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXPCommonModule, never, [typeof i1.AXPWorkflowModule, typeof i2.AXPopupModule, typeof i3.AXDateTimeModule, typeof i4.AXToastModule, typeof i5.AXPModuleManifestModule], [typeof
|
|
589
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXPCommonModule, never, [typeof i1.AXPWorkflowModule, typeof i2.AXPopupModule, typeof i3.AXDateTimeModule, typeof i4.AXToastModule, typeof i5.AXPModuleManifestModule], [typeof _angular_router.RouterModule]>;
|
|
574
590
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXPCommonModule>;
|
|
575
591
|
}
|
|
576
592
|
|
|
@@ -1573,6 +1589,56 @@ declare class AXPMenuVisibilityService {
|
|
|
1573
1589
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXPMenuVisibilityService>;
|
|
1574
1590
|
}
|
|
1575
1591
|
|
|
1592
|
+
interface AXPMenuRouteMatchResult {
|
|
1593
|
+
item: AXPMenuItem;
|
|
1594
|
+
isPartialMatch: boolean;
|
|
1595
|
+
}
|
|
1596
|
+
/**
|
|
1597
|
+
* Compares a menu item path with the current browser path.
|
|
1598
|
+
* Mirrors the matching rules used when selecting the active menu item.
|
|
1599
|
+
*/
|
|
1600
|
+
declare function axpMenuPathsMatch(itemPath: string, currentPath: string, trailingSegmentsToIgnore?: string[]): {
|
|
1601
|
+
isMatch: boolean;
|
|
1602
|
+
isPartial: boolean;
|
|
1603
|
+
};
|
|
1604
|
+
/**
|
|
1605
|
+
* Finds the most specific menu item that matches the given route path.
|
|
1606
|
+
*/
|
|
1607
|
+
declare function axpFindMenuItemByRoute(items: AXPMenuItem[], currentPath: string, trailingSegmentsToIgnore?: string[]): AXPMenuRouteMatchResult | null;
|
|
1608
|
+
|
|
1609
|
+
/**
|
|
1610
|
+
* Resolves route access using the same permission and feature policies defined on menu items.
|
|
1611
|
+
*/
|
|
1612
|
+
declare class AXPMenuRoutePermissionService {
|
|
1613
|
+
private readonly menuProvider;
|
|
1614
|
+
private readonly menuVisibility;
|
|
1615
|
+
private readonly sessionService;
|
|
1616
|
+
private readonly toastService;
|
|
1617
|
+
private readonly translationService;
|
|
1618
|
+
/**
|
|
1619
|
+
* Checks whether navigation to the target URL is allowed for the current user.
|
|
1620
|
+
*/
|
|
1621
|
+
canAccess(route: ActivatedRouteSnapshot, url: string): Promise<boolean>;
|
|
1622
|
+
private shouldSkip;
|
|
1623
|
+
private hasRouteFlag;
|
|
1624
|
+
private hasExplicitRouteAccess;
|
|
1625
|
+
private getInheritedRouteData;
|
|
1626
|
+
private normalizeKeys;
|
|
1627
|
+
private normalizeUrl;
|
|
1628
|
+
private showAccessDeniedToast;
|
|
1629
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AXPMenuRoutePermissionService, never>;
|
|
1630
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AXPMenuRoutePermissionService>;
|
|
1631
|
+
}
|
|
1632
|
+
|
|
1633
|
+
/**
|
|
1634
|
+
* Blocks navigation when the target route matches a menu item the current user cannot access.
|
|
1635
|
+
* Uses the same permission and feature policies applied to menu visibility.
|
|
1636
|
+
*/
|
|
1637
|
+
declare const AXPMenuPermissionGuard: CanActivateFn;
|
|
1638
|
+
|
|
1639
|
+
/** Standard guards for authenticated routes with menu-based permission enforcement. */
|
|
1640
|
+
declare const AXP_PROTECTED_ROUTE_GUARDS: readonly [_angular_router.CanActivateFn, _angular_router.CanActivateFn];
|
|
1641
|
+
|
|
1576
1642
|
interface AXPSearchDefinitionDisplayFormat {
|
|
1577
1643
|
title?: string;
|
|
1578
1644
|
description?: string;
|
|
@@ -2734,5 +2800,5 @@ declare class AXMWorkflowErrorHandler implements AXPErrorHandler {
|
|
|
2734
2800
|
static ɵprov: i0.ɵɵInjectableDeclaration<AXMWorkflowErrorHandler>;
|
|
2735
2801
|
}
|
|
2736
2802
|
|
|
2737
|
-
export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDebugService, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileActionsService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRegionalSetting, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsService, AXPStatusDefinitionProviderService, AXPStatusProvider, AXPStickyDirective, AXPSystemStatusType, AXPSystemStatuses, AXPToastAction, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_ACTION_PROVIDER, AXP_FILE_TYPE_INFO_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, AXP_STATUS_PROVIDERS, AXP_TOKEN_DEFINITION_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, DEFAULT_DATE_FILTER_PRESETS, 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, UploadFromComputerActionProvider, applyDateFilterPreset, configPlatform, createAllQueryView, createMenuContext, createMenuMiddleware, createQueryView, findManualPresetIdByOperation, getEntityInfo, getStatusInfo, getSystemStatus, provideDynamicHomePage, provideMenuMiddleware, resolveDateFilterPresets, resolveStatusLook, systemStatusToDefinition };
|
|
2738
|
-
export type { AXCFileUploaderAction, AXCFileUploaderActionsPayload, AXCFileUploaderCapabilities, AXEntityPropertyWidget, AXPAggregate, AXPAppVersion, AXPAppVersionProvider, AXPApplication, AXPCategoryEntity, AXPColumnAlign, AXPColumnContentAlign, AXPCommandActionCallback, AXPCommandActionDisplay, AXPCommandActionLook, AXPCommandActionPriority, AXPCommandActionType, AXPCommonModuleConfigs, AXPCurrency, AXPDateTimeFilterPreset, AXPDateTimeFilterPresetKind, AXPDateTimeFilterValue, AXPDomToImageOptions, AXPEntity, AXPEntityAction, AXPEntityCommand, AXPEntityDetailListView, AXPEntityMasterCreateLayoutView, AXPEntityMasterLayoutView, AXPEntityMasterListView, AXPEntityMasterSingleLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntityPropertyGroup, AXPEntityPropertyLayoutConfig, AXPEntityPropertyUpdateView, AXPEntityPropertyView, AXPEntityQuery, AXPEntitySectionView, AXPEntityTableColumn, AXPEntityVersionHistory, AXPErrorHandler, AXPFileActionProvider, AXPFileActionProviderToken, AXPFileExtension, AXPFileManyStorageInfo, AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileType, AXPFileTypeInfoProvider, AXPFilterOperator, AXPGeoLocation, 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, AXPSettingValue, AXPSettingValueProvider, AXPSettingsServiceInterface, AXPStatusDefinition, AXPStatusTransition, AXPTimeZone, AXPTokenDefinition, AXPTokenDefinitionProvider, AXPTokenDefinitionProviderToken, AXPUnLockRequest, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };
|
|
2803
|
+
export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDebugService, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileActionsService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPMenuMiddlewareRegistry, AXPMenuPermissionGuard, AXPMenuProviderService, AXPMenuRoutePermissionService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPNotFoundError, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRegionalSetting, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsService, AXPStatusDefinitionProviderService, AXPStatusProvider, AXPStickyDirective, AXPSystemStatusType, AXPSystemStatuses, AXPToastAction, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_ACTION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_NOT_FOUND_ROUTE, AXP_PLATFORM_CONFIG_TOKEN, AXP_PROTECTED_ROUTE_GUARDS, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXP_STATUS_PROVIDERS, AXP_TOKEN_DEFINITION_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, DEFAULT_DATE_FILTER_PRESETS, 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, UploadFromComputerActionProvider, applyDateFilterPreset, axpFindMenuItemByRoute, axpIsEntityRecordNotFound, axpMenuPathsMatch, axpRedirectToNotFound, configPlatform, createAllQueryView, createMenuContext, createMenuMiddleware, createQueryView, findManualPresetIdByOperation, getEntityInfo, getStatusInfo, getSystemStatus, provideDynamicHomePage, provideMenuMiddleware, resolveDateFilterPresets, resolveStatusLook, systemStatusToDefinition };
|
|
2804
|
+
export type { AXCFileUploaderAction, AXCFileUploaderActionsPayload, AXCFileUploaderCapabilities, AXEntityPropertyWidget, AXPAggregate, AXPAppVersion, AXPAppVersionProvider, AXPApplication, AXPCategoryEntity, AXPColumnAlign, AXPColumnContentAlign, AXPCommandActionCallback, AXPCommandActionDisplay, AXPCommandActionLook, AXPCommandActionPriority, AXPCommandActionType, AXPCommonModuleConfigs, AXPCurrency, AXPDateTimeFilterPreset, AXPDateTimeFilterPresetKind, AXPDateTimeFilterValue, AXPDomToImageOptions, AXPEntity, AXPEntityAction, AXPEntityCommand, AXPEntityDetailListView, AXPEntityMasterCreateLayoutView, AXPEntityMasterLayoutView, AXPEntityMasterListView, AXPEntityMasterSingleLayoutView, AXPEntityMasterUpdateLayoutView, AXPEntityProperty, AXPEntityPropertyCreateView, AXPEntityPropertyGroup, AXPEntityPropertyLayoutConfig, AXPEntityPropertyUpdateView, AXPEntityPropertyView, AXPEntityQuery, AXPEntitySectionView, AXPEntityTableColumn, AXPEntityVersionHistory, AXPErrorHandler, AXPFileActionProvider, AXPFileActionProviderToken, AXPFileExtension, AXPFileManyStorageInfo, AXPFileStorageCreateRequest, AXPFileStorageFindRequest, AXPFileStorageInfo, AXPFileStorageUpdateRequest, AXPFileType, AXPFileTypeInfoProvider, AXPFilterOperator, AXPGeoLocation, AXPGroupSearchResult, AXPHomePageDefinition, AXPLanguage, AXPLocaleProfile, AXPLockGetInfoRequest, AXPLockInfo, AXPLockRequest, AXPLockType, AXPMenuFinderResult, AXPMenuInsertion, AXPMenuItem, AXPMenuItemCommand, AXPMenuItemFinder, AXPMenuItemWithParent, AXPMenuMiddleware, AXPMenuMiddlewareContext, AXPMenuMiddlewareProvider, AXPMenuProvider, AXPMenuProviderContext, AXPMenuRouteMatchResult, 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, AXPSettingValue, AXPSettingValueProvider, AXPSettingsServiceInterface, AXPStatusDefinition, AXPStatusTransition, AXPTimeZone, AXPTokenDefinition, AXPTokenDefinitionProvider, AXPTokenDefinitionProviderToken, AXPUnLockRequest, AXPVersionChange, AXPVersionEntry, AXPVersionStream, CanonicalChange, CanonicalChangeOp, VersionedFileInfo };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { InjectionToken, inject, Injectable, Injector, makeEnvironmentProviders, NgModule, ErrorHandler, EventEmitter, Input, Output, Directive, Component, ViewEncapsulation, Inject, runInInjectionContext, signal, model, linkedSignal, afterNextRender } from '@angular/core';
|
|
3
3
|
import { kebabCase, merge, sortBy, cloneDeep, get, omit } from 'lodash-es';
|
|
4
|
-
import { Router, ROUTES, RouterModule } from '@angular/router';
|
|
5
|
-
import { AXPSessionService, AXPSessionStatus } from '@acorex/platform/auth';
|
|
6
|
-
import { Subject, distinctUntilChanged, merge as merge$1 } from 'rxjs';
|
|
4
|
+
import { Router, ROUTES, RedirectCommand, RouterModule } from '@angular/router';
|
|
5
|
+
import { AXPSessionService, AXPSessionStatus, AXPAuthGuard } from '@acorex/platform/auth';
|
|
6
|
+
import { Subject, distinctUntilChanged, merge as merge$1, first, switchMap, from } from 'rxjs';
|
|
7
7
|
import { AXPPlatformScope, AXPBroadcastEventService, objectKeyValueTransforms, AXPSystemActionType, AXPModuleManifestModule, AXPAppStartUpProvider, AXP_EXPRESSION_EVALUATOR_SCOPE_PROVIDER, AXPHookService, AXPDataGenerator, AXPModuleManifestRegistry } from '@acorex/platform/core';
|
|
8
8
|
import { AXTranslationService } from '@acorex/core/translation';
|
|
9
9
|
import { AXPWidgetsCatalog } from '@acorex/platform/layout/widget-core';
|
|
@@ -1270,6 +1270,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
1270
1270
|
args: [{ providedIn: 'root' }]
|
|
1271
1271
|
}], ctorParameters: () => [{ type: i0.Injector }, { type: AXPErrorHandlerRegistryService }] });
|
|
1272
1272
|
|
|
1273
|
+
/** Thrown when a requested platform resource cannot be resolved. */
|
|
1274
|
+
class AXPNotFoundError extends Error {
|
|
1275
|
+
constructor(message = 'Resource not found') {
|
|
1276
|
+
super(message);
|
|
1277
|
+
this.name = 'AXPNotFoundError';
|
|
1278
|
+
}
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
/** Canonical route path for the platform 404 page. */
|
|
1282
|
+
const AXP_NOT_FOUND_ROUTE = '/error/404';
|
|
1283
|
+
/**
|
|
1284
|
+
* Returns true when an entity byKey query did not resolve a record.
|
|
1285
|
+
*/
|
|
1286
|
+
function axpIsEntityRecordNotFound(data) {
|
|
1287
|
+
return data == null;
|
|
1288
|
+
}
|
|
1289
|
+
/**
|
|
1290
|
+
* Creates an Angular redirect command to the platform 404 page.
|
|
1291
|
+
*/
|
|
1292
|
+
function axpRedirectToNotFound(router = inject(Router)) {
|
|
1293
|
+
return new RedirectCommand(router.parseUrl(AXP_NOT_FOUND_ROUTE));
|
|
1294
|
+
}
|
|
1295
|
+
|
|
1273
1296
|
const AXP_TOKEN_DEFINITION_PROVIDER = new InjectionToken('AXP_TOKEN_DEFINITION_PROVIDER', {
|
|
1274
1297
|
factory: () => [],
|
|
1275
1298
|
});
|
|
@@ -2291,6 +2314,95 @@ function createMenuMiddleware(config) {
|
|
|
2291
2314
|
}
|
|
2292
2315
|
//#endregion
|
|
2293
2316
|
|
|
2317
|
+
const DEFAULT_TRAILING_SEGMENTS = ['list', 'view', 'edit', 'create'];
|
|
2318
|
+
/**
|
|
2319
|
+
* Compares a menu item path with the current browser path.
|
|
2320
|
+
* Mirrors the matching rules used when selecting the active menu item.
|
|
2321
|
+
*/
|
|
2322
|
+
function axpMenuPathsMatch(itemPath, currentPath, trailingSegmentsToIgnore = DEFAULT_TRAILING_SEGMENTS) {
|
|
2323
|
+
const itemNoHash = itemPath.split('#')[0];
|
|
2324
|
+
const currentNoHash = currentPath.split('#')[0];
|
|
2325
|
+
const [itemBase, itemQueryString = ''] = itemNoHash.split('?');
|
|
2326
|
+
const [currentBase, currentQueryString = ''] = currentNoHash.split('?');
|
|
2327
|
+
const itemSegments = itemBase.split('/').filter((segment) => segment.length > 0);
|
|
2328
|
+
const pathSegments = currentBase.split('/').filter((segment) => segment.length > 0);
|
|
2329
|
+
const menuLength = itemSegments.length;
|
|
2330
|
+
const pathLength = pathSegments.length;
|
|
2331
|
+
let effectiveMenuLength = menuLength;
|
|
2332
|
+
if (menuLength > 0 && trailingSegmentsToIgnore.includes(itemSegments[menuLength - 1])) {
|
|
2333
|
+
effectiveMenuLength--;
|
|
2334
|
+
}
|
|
2335
|
+
if (pathLength < effectiveMenuLength) {
|
|
2336
|
+
return { isMatch: false, isPartial: false };
|
|
2337
|
+
}
|
|
2338
|
+
let isPrefix = true;
|
|
2339
|
+
for (let i = 0; i < effectiveMenuLength; i++) {
|
|
2340
|
+
if (itemSegments[i] !== pathSegments[i]) {
|
|
2341
|
+
isPrefix = false;
|
|
2342
|
+
break;
|
|
2343
|
+
}
|
|
2344
|
+
}
|
|
2345
|
+
if (!isPrefix) {
|
|
2346
|
+
return { isMatch: false, isPartial: false };
|
|
2347
|
+
}
|
|
2348
|
+
const isPartialMatch = effectiveMenuLength < pathLength;
|
|
2349
|
+
const isExactMatch = effectiveMenuLength === pathLength;
|
|
2350
|
+
const itemParams = new URLSearchParams(itemQueryString);
|
|
2351
|
+
const currentParams = new URLSearchParams(currentQueryString);
|
|
2352
|
+
let queryMatches = true;
|
|
2353
|
+
const itemParamPairs = [];
|
|
2354
|
+
itemParams.forEach((value, key) => {
|
|
2355
|
+
itemParamPairs.push([key, value]);
|
|
2356
|
+
});
|
|
2357
|
+
if (itemParamPairs.length > 0) {
|
|
2358
|
+
for (const [key, value] of itemParamPairs) {
|
|
2359
|
+
if (currentParams.get(key) !== value) {
|
|
2360
|
+
queryMatches = false;
|
|
2361
|
+
break;
|
|
2362
|
+
}
|
|
2363
|
+
}
|
|
2364
|
+
}
|
|
2365
|
+
return {
|
|
2366
|
+
isMatch: (isExactMatch || isPartialMatch) && queryMatches,
|
|
2367
|
+
isPartial: isPartialMatch && !isExactMatch,
|
|
2368
|
+
};
|
|
2369
|
+
}
|
|
2370
|
+
/**
|
|
2371
|
+
* Finds the most specific menu item that matches the given route path.
|
|
2372
|
+
*/
|
|
2373
|
+
function axpFindMenuItemByRoute(items, currentPath, trailingSegmentsToIgnore = DEFAULT_TRAILING_SEGMENTS) {
|
|
2374
|
+
let bestMatch = null;
|
|
2375
|
+
let bestEffectiveLength = -1;
|
|
2376
|
+
const visit = (menuItems) => {
|
|
2377
|
+
for (const item of menuItems) {
|
|
2378
|
+
if (item.children?.length) {
|
|
2379
|
+
visit(item.children);
|
|
2380
|
+
}
|
|
2381
|
+
if (!item.path) {
|
|
2382
|
+
continue;
|
|
2383
|
+
}
|
|
2384
|
+
const matchResult = axpMenuPathsMatch(item.path, currentPath, trailingSegmentsToIgnore);
|
|
2385
|
+
if (!matchResult.isMatch) {
|
|
2386
|
+
continue;
|
|
2387
|
+
}
|
|
2388
|
+
const itemNoHash = item.path.split('#')[0];
|
|
2389
|
+
const [itemBase] = itemNoHash.split('?');
|
|
2390
|
+
const itemSegments = itemBase.split('/').filter((segment) => segment.length > 0);
|
|
2391
|
+
let effectiveMenuLength = itemSegments.length;
|
|
2392
|
+
if (itemSegments.length > 0 &&
|
|
2393
|
+
trailingSegmentsToIgnore.includes(itemSegments[itemSegments.length - 1])) {
|
|
2394
|
+
effectiveMenuLength--;
|
|
2395
|
+
}
|
|
2396
|
+
if (effectiveMenuLength > bestEffectiveLength) {
|
|
2397
|
+
bestEffectiveLength = effectiveMenuLength;
|
|
2398
|
+
bestMatch = { item, isPartialMatch: matchResult.isPartial };
|
|
2399
|
+
}
|
|
2400
|
+
}
|
|
2401
|
+
};
|
|
2402
|
+
visit(items);
|
|
2403
|
+
return bestMatch;
|
|
2404
|
+
}
|
|
2405
|
+
|
|
2294
2406
|
const AXPMenuService = signalStore({ providedIn: 'root' },
|
|
2295
2407
|
// Initial State
|
|
2296
2408
|
withState((router = inject(Router)) => {
|
|
@@ -2321,7 +2433,7 @@ withMethods((store, router = inject(Router), workflow = inject(AXPWorkflowServic
|
|
|
2321
2433
|
}
|
|
2322
2434
|
if (item.path) {
|
|
2323
2435
|
// Check if the item path matches the current path (including query param subset if provided on item)
|
|
2324
|
-
const matchResult =
|
|
2436
|
+
const matchResult = axpMenuPathsMatch(item.path, currentRawPath, ['list', 'view', 'edit', 'create']);
|
|
2325
2437
|
if (matchResult.isMatch) {
|
|
2326
2438
|
return { item, isPartialMatch: matchResult.isPartial };
|
|
2327
2439
|
}
|
|
@@ -2329,60 +2441,6 @@ withMethods((store, router = inject(Router), workflow = inject(AXPWorkflowServic
|
|
|
2329
2441
|
}
|
|
2330
2442
|
return { item: null, isPartialMatch: false };
|
|
2331
2443
|
};
|
|
2332
|
-
const pathsMatch = (itemPath, currentPath, trailingSegmentsToIgnore = []) => {
|
|
2333
|
-
// Split base and query/hash
|
|
2334
|
-
const itemNoHash = itemPath.split('#')[0];
|
|
2335
|
-
const currentNoHash = currentPath.split('#')[0];
|
|
2336
|
-
const [itemBase, itemQueryString = ''] = itemNoHash.split('?');
|
|
2337
|
-
const [currentBase, currentQueryString = ''] = currentNoHash.split('?');
|
|
2338
|
-
const itemSegments = itemBase.split('/').filter((segment) => segment.length > 0);
|
|
2339
|
-
const pathSegments = currentBase.split('/').filter((segment) => segment.length > 0);
|
|
2340
|
-
const menuLength = itemSegments.length;
|
|
2341
|
-
const pathLength = pathSegments.length;
|
|
2342
|
-
// Identify the effective base length for the menuPath
|
|
2343
|
-
let effectiveMenuLength = menuLength;
|
|
2344
|
-
if (menuLength > 0 && trailingSegmentsToIgnore.includes(itemSegments[menuLength - 1])) {
|
|
2345
|
-
effectiveMenuLength--; // Exclude trailing non-hierarchical segments
|
|
2346
|
-
}
|
|
2347
|
-
// Check if the menuPath (base segments) is a prefix of browserPath
|
|
2348
|
-
let isPrefix = true;
|
|
2349
|
-
if (pathLength < effectiveMenuLength) {
|
|
2350
|
-
return { isMatch: false, isPartial: false };
|
|
2351
|
-
}
|
|
2352
|
-
for (let i = 0; i < effectiveMenuLength; i++) {
|
|
2353
|
-
if (itemSegments[i] !== pathSegments[i]) {
|
|
2354
|
-
isPrefix = false;
|
|
2355
|
-
break;
|
|
2356
|
-
}
|
|
2357
|
-
}
|
|
2358
|
-
if (!isPrefix) {
|
|
2359
|
-
return { isMatch: false, isPartial: false };
|
|
2360
|
-
}
|
|
2361
|
-
// Partial match: menuPath base is a strict prefix of browserPath
|
|
2362
|
-
const isPartialMatch = effectiveMenuLength < pathLength;
|
|
2363
|
-
// Exact match: all segments match completely
|
|
2364
|
-
const isExactMatch = effectiveMenuLength === pathLength;
|
|
2365
|
-
// Query params subset match: if item defines any query params, require them to match
|
|
2366
|
-
const itemParams = new URLSearchParams(itemQueryString);
|
|
2367
|
-
const currentParams = new URLSearchParams(currentQueryString);
|
|
2368
|
-
let queryMatches = true;
|
|
2369
|
-
const itemParamPairs = [];
|
|
2370
|
-
itemParams.forEach((value, key) => {
|
|
2371
|
-
itemParamPairs.push([key, value]);
|
|
2372
|
-
});
|
|
2373
|
-
if (itemParamPairs.length > 0) {
|
|
2374
|
-
for (const [k, v] of itemParamPairs) {
|
|
2375
|
-
if (currentParams.get(k) !== v) {
|
|
2376
|
-
queryMatches = false;
|
|
2377
|
-
break;
|
|
2378
|
-
}
|
|
2379
|
-
}
|
|
2380
|
-
}
|
|
2381
|
-
return {
|
|
2382
|
-
isMatch: (isExactMatch || isPartialMatch) && queryMatches,
|
|
2383
|
-
isPartial: isPartialMatch && !isExactMatch,
|
|
2384
|
-
};
|
|
2385
|
-
};
|
|
2386
2444
|
const items = store.items();
|
|
2387
2445
|
const { item, isPartialMatch } = findItem(items);
|
|
2388
2446
|
patchState(store, { selectedMenuItem: { item, isFullMatch: !isPartialMatch } });
|
|
@@ -2542,6 +2600,137 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
2542
2600
|
args: [{ providedIn: 'root' }]
|
|
2543
2601
|
}] });
|
|
2544
2602
|
|
|
2603
|
+
const SKIP_ROUTE_PREFIXES = ['/auth', '/error'];
|
|
2604
|
+
const SKIP_ROUTE_PATHS = new Set(['/404', '/401']);
|
|
2605
|
+
//#region ---- Menu Route Permission Service ----
|
|
2606
|
+
/**
|
|
2607
|
+
* Resolves route access using the same permission and feature policies defined on menu items.
|
|
2608
|
+
*/
|
|
2609
|
+
class AXPMenuRoutePermissionService {
|
|
2610
|
+
constructor() {
|
|
2611
|
+
//#region ---- Services & Dependencies ----
|
|
2612
|
+
this.menuProvider = inject(AXPMenuProviderService);
|
|
2613
|
+
this.menuVisibility = inject(AXPMenuVisibilityService);
|
|
2614
|
+
this.sessionService = inject(AXPSessionService);
|
|
2615
|
+
this.toastService = inject(AXToastService);
|
|
2616
|
+
this.translationService = inject(AXTranslationService);
|
|
2617
|
+
}
|
|
2618
|
+
//#endregion
|
|
2619
|
+
//#region ---- Public Methods ----
|
|
2620
|
+
/**
|
|
2621
|
+
* Checks whether navigation to the target URL is allowed for the current user.
|
|
2622
|
+
*/
|
|
2623
|
+
async canAccess(route, url) {
|
|
2624
|
+
if (this.shouldSkip(route, url)) {
|
|
2625
|
+
return true;
|
|
2626
|
+
}
|
|
2627
|
+
if (!this.hasExplicitRouteAccess(route)) {
|
|
2628
|
+
await this.showAccessDeniedToast();
|
|
2629
|
+
return false;
|
|
2630
|
+
}
|
|
2631
|
+
const menuItems = await this.menuProvider.items();
|
|
2632
|
+
const menuMatch = axpFindMenuItemByRoute(menuItems, url);
|
|
2633
|
+
if (!menuMatch) {
|
|
2634
|
+
return true;
|
|
2635
|
+
}
|
|
2636
|
+
if (this.menuVisibility.isItemVisible(menuMatch.item)) {
|
|
2637
|
+
return true;
|
|
2638
|
+
}
|
|
2639
|
+
await this.showAccessDeniedToast();
|
|
2640
|
+
return false;
|
|
2641
|
+
}
|
|
2642
|
+
//#endregion
|
|
2643
|
+
//#region ---- Utility Methods ----
|
|
2644
|
+
shouldSkip(route, url) {
|
|
2645
|
+
if (this.hasRouteFlag(route, 'skipMenuPermissionGuard')) {
|
|
2646
|
+
return true;
|
|
2647
|
+
}
|
|
2648
|
+
const normalizedUrl = this.normalizeUrl(url);
|
|
2649
|
+
if (SKIP_ROUTE_PATHS.has(normalizedUrl)) {
|
|
2650
|
+
return true;
|
|
2651
|
+
}
|
|
2652
|
+
return SKIP_ROUTE_PREFIXES.some((prefix) => normalizedUrl.startsWith(prefix));
|
|
2653
|
+
}
|
|
2654
|
+
hasRouteFlag(route, key) {
|
|
2655
|
+
let current = route;
|
|
2656
|
+
while (current) {
|
|
2657
|
+
if (current.data?.[key] === true) {
|
|
2658
|
+
return true;
|
|
2659
|
+
}
|
|
2660
|
+
current = current.parent;
|
|
2661
|
+
}
|
|
2662
|
+
return false;
|
|
2663
|
+
}
|
|
2664
|
+
hasExplicitRouteAccess(route) {
|
|
2665
|
+
const requiredPermission = this.getInheritedRouteData(route, 'requiredPermission');
|
|
2666
|
+
const requiredFeature = this.getInheritedRouteData(route, 'requiredFeature');
|
|
2667
|
+
const permissionKeys = this.normalizeKeys(requiredPermission);
|
|
2668
|
+
if (permissionKeys.length > 0 && !this.sessionService.authorize(...permissionKeys)) {
|
|
2669
|
+
return false;
|
|
2670
|
+
}
|
|
2671
|
+
const featureKeys = this.normalizeKeys(requiredFeature);
|
|
2672
|
+
if (featureKeys.length > 0 && !this.sessionService.isFeatureEnabled(...featureKeys)) {
|
|
2673
|
+
return false;
|
|
2674
|
+
}
|
|
2675
|
+
return true;
|
|
2676
|
+
}
|
|
2677
|
+
getInheritedRouteData(route, key) {
|
|
2678
|
+
let current = route;
|
|
2679
|
+
while (current) {
|
|
2680
|
+
const value = current.data?.[key];
|
|
2681
|
+
if (value != null) {
|
|
2682
|
+
return value;
|
|
2683
|
+
}
|
|
2684
|
+
current = current.parent;
|
|
2685
|
+
}
|
|
2686
|
+
return null;
|
|
2687
|
+
}
|
|
2688
|
+
normalizeKeys(keys) {
|
|
2689
|
+
if (!keys) {
|
|
2690
|
+
return [];
|
|
2691
|
+
}
|
|
2692
|
+
return Array.isArray(keys) ? keys : [keys];
|
|
2693
|
+
}
|
|
2694
|
+
normalizeUrl(url) {
|
|
2695
|
+
const path = url.split('?')[0]?.split('#')[0] ?? url;
|
|
2696
|
+
return path.startsWith('/') ? path : `/${path}`;
|
|
2697
|
+
}
|
|
2698
|
+
async showAccessDeniedToast() {
|
|
2699
|
+
const title = await this.translationService.translateAsync('@general:messages.network.forbidden.title');
|
|
2700
|
+
const description = await this.translationService.translateAsync('@general:messages.network.forbidden.description');
|
|
2701
|
+
this.toastService.show({
|
|
2702
|
+
color: 'danger',
|
|
2703
|
+
title,
|
|
2704
|
+
content: description,
|
|
2705
|
+
timeOut: 5000,
|
|
2706
|
+
});
|
|
2707
|
+
}
|
|
2708
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPMenuRoutePermissionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2709
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPMenuRoutePermissionService, providedIn: 'root' }); }
|
|
2710
|
+
}
|
|
2711
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: AXPMenuRoutePermissionService, decorators: [{
|
|
2712
|
+
type: Injectable,
|
|
2713
|
+
args: [{ providedIn: 'root' }]
|
|
2714
|
+
}] });
|
|
2715
|
+
|
|
2716
|
+
/**
|
|
2717
|
+
* Blocks navigation when the target route matches a menu item the current user cannot access.
|
|
2718
|
+
* Uses the same permission and feature policies applied to menu visibility.
|
|
2719
|
+
*/
|
|
2720
|
+
const AXPMenuPermissionGuard = (route, state) => {
|
|
2721
|
+
const sessionService = inject(AXPSessionService);
|
|
2722
|
+
const menuRoutePermissionService = inject(AXPMenuRoutePermissionService);
|
|
2723
|
+
return sessionService.isAuthorized$.pipe(first(), switchMap((isAuthorized) => {
|
|
2724
|
+
if (!isAuthorized) {
|
|
2725
|
+
return from(Promise.resolve(true));
|
|
2726
|
+
}
|
|
2727
|
+
return from(menuRoutePermissionService.canAccess(route, state.url));
|
|
2728
|
+
}));
|
|
2729
|
+
};
|
|
2730
|
+
|
|
2731
|
+
/** Standard guards for authenticated routes with menu-based permission enforcement. */
|
|
2732
|
+
const AXP_PROTECTED_ROUTE_GUARDS = [AXPAuthGuard, AXPMenuPermissionGuard];
|
|
2733
|
+
|
|
2545
2734
|
class AXPMenuSearchDefinitionProvider {
|
|
2546
2735
|
async provide(context) {
|
|
2547
2736
|
context.addDefinition('menu', 'Menu', 'menu', 'fa-thin fa-bars', 2, {
|
|
@@ -4388,5 +4577,5 @@ class AXPVersioningService {
|
|
|
4388
4577
|
* Generated bundle index. Do not edit.
|
|
4389
4578
|
*/
|
|
4390
4579
|
|
|
4391
|
-
export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDebugService, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileActionsService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPMenuMiddlewareRegistry, AXPMenuProviderService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRegionalSetting, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsService, AXPStatusDefinitionProviderService, AXPStatusProvider, AXPStickyDirective, AXPSystemStatusType, AXPSystemStatuses, AXPToastAction, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_ACTION_PROVIDER, AXP_FILE_TYPE_INFO_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, AXP_STATUS_PROVIDERS, AXP_TOKEN_DEFINITION_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, DEFAULT_DATE_FILTER_PRESETS, 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, UploadFromComputerActionProvider, applyDateFilterPreset, configPlatform, createAllQueryView, createMenuContext, createMenuMiddleware, createQueryView, findManualPresetIdByOperation, getEntityInfo, getStatusInfo, getSystemStatus, provideDynamicHomePage, provideMenuMiddleware, resolveDateFilterPresets, resolveStatusLook, systemStatusToDefinition };
|
|
4580
|
+
export { ALL_DEFAULT_OPERATORS, AXMWorkflowErrorHandler, AXPAppVersionService, AXPCleanNestedFilters, AXPClipBoardService, AXPCommonModule, AXPCommonSettings, AXPCustomOperatorService, AXPCustomOperatorServiceImpl, AXPDataProvider, AXPDebugService, AXPDialogConfirmAction, AXPEntityCommandScope, AXPEntityQueryType, AXPErrorHandlerRegistryService, AXPExportService, AXPFileActionsService, AXPFileStorageService, AXPFileStorageStatus, AXPFileTypeProviderService, AXPFilterOperatorMiddlewareService, AXPFilterOperatorMiddlewareServiceImpl, AXPFooterTextSlotComponent, AXPGlobalErrorHandler, AXPHomePageModule, AXPHomePageService, AXPLockService, AXPMenuMiddlewareRegistry, AXPMenuPermissionGuard, AXPMenuProviderService, AXPMenuRoutePermissionService, AXPMenuSearchDefinitionProvider, AXPMenuSearchProvider, AXPMenuService, AXPMenuVisibilityService, AXPNavBarSlotComponent, AXPNavigateWorkflow, AXPNotFoundError, AXPPlatformDefaultConfigs, AXPRedirectEvent, AXPRefreshEvent, AXPRegionalSetting, AXPRelationshipCardinality, AXPRelationshipKind, AXPReloadAction, AXPReloadEvent, AXPSearchCommandProvider, AXPSearchDefinitionActionBuilder, AXPSearchDefinitionBuilder, AXPSearchDefinitionProviderContext, AXPSearchDefinitionProviderService, AXPSearchService, AXPSettingDefaultValuesAggregatorService, AXPSettingDefinitionGroupBuilder, AXPSettingDefinitionProviderContext, AXPSettingDefinitionProviderService, AXPSettingDefinitionSectionBuilder, AXPSettingsService, AXPStatusDefinitionProviderService, AXPStatusProvider, AXPStickyDirective, AXPSystemStatusType, AXPSystemStatuses, AXPToastAction, AXPTokenDefinitionService, AXPTokenEvaluatorScopeProvider, AXPVersioningService, AXPWorkflowNavigateAction, AXPWorkflowRouterNavigateAction, AXP_APP_VERSION_PROVIDER, AXP_FILE_ACTION_PROVIDER, AXP_FILE_TYPE_INFO_PROVIDER, AXP_HOME_PAGES, AXP_HOME_PAGE_DEFAULT_KEY, AXP_MENU_MIDDLEWARE, AXP_MENU_PROVIDER, AXP_NOT_FOUND_ROUTE, AXP_PLATFORM_CONFIG_TOKEN, AXP_PROTECTED_ROUTE_GUARDS, AXP_ROOT_CONFIG_TOKEN, AXP_SEARCH_DEFINITION_PROVIDER, AXP_SEARCH_PROVIDER, AXP_SETTING_DEFAULT_VALUES_PROVIDERS, AXP_SETTING_DEFINITION_PROVIDER, AXP_SETTING_VALUE_PROVIDER, AXP_STATUS_PROVIDERS, AXP_TOKEN_DEFINITION_PROVIDER, AXVChangeType, BETWEEN_OPER, BOOLEAN_OPERATORS, CONTAINS_OPER, DATE_OPERATORS, DEFAULT_DATE_FILTER_PRESETS, 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, UploadFromComputerActionProvider, applyDateFilterPreset, axpFindMenuItemByRoute, axpIsEntityRecordNotFound, axpMenuPathsMatch, axpRedirectToNotFound, configPlatform, createAllQueryView, createMenuContext, createMenuMiddleware, createQueryView, findManualPresetIdByOperation, getEntityInfo, getStatusInfo, getSystemStatus, provideDynamicHomePage, provideMenuMiddleware, resolveDateFilterPresets, resolveStatusLook, systemStatusToDefinition };
|
|
4392
4581
|
//# sourceMappingURL=acorex-platform-common.mjs.map
|