ngssm-navigation 20.2.3 → 20.2.5
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.
|
@@ -66,10 +66,10 @@ class NavigationReducer {
|
|
|
66
66
|
}
|
|
67
67
|
return state;
|
|
68
68
|
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
70
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.
|
|
69
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NavigationReducer, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
70
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NavigationReducer }); }
|
|
71
71
|
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
72
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0", ngImport: i0, type: NavigationReducer, decorators: [{
|
|
73
73
|
type: Injectable
|
|
74
74
|
}], ctorParameters: () => [] });
|
|
75
75
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngssm-navigation.mjs","sources":["../../../projects/ngssm-navigation/src/lib/state/navigation.state.ts","../../../projects/ngssm-navigation/src/lib/guards/navigation-guards.ts","../../../projects/ngssm-navigation/src/lib/actions/navigation-action-type.ts","../../../projects/ngssm-navigation/src/lib/model/navigation-locking-config.ts","../../../projects/ngssm-navigation/src/lib/reducers/navigation.reducer.ts","../../../projects/ngssm-navigation/src/lib/routing/routing-effect.ts","../../../projects/ngssm-navigation/src/lib/provide-ngssm-navigation.ts","../../../projects/ngssm-navigation/src/public-api.ts","../../../projects/ngssm-navigation/src/ngssm-navigation.ts"],"sourcesContent":["import update, { Spec } from 'immutability-helper';\n\nimport { NgSsmFeatureState, State } from 'ngssm-store';\n\nexport const selectNavigationState = (state: State): NavigationState =>\n state[NavigationStateSpecification.featureStateKey] as NavigationState;\n\nexport const updateNavigationState = (state: State, command: Spec<NavigationState, never>): State =>\n update(state, {\n [NavigationStateSpecification.featureStateKey]: command\n });\n\nexport interface NavigationState {\n navigationLocked: boolean;\n}\n\n@NgSsmFeatureState({\n featureStateKey: NavigationStateSpecification.featureStateKey,\n initialState: NavigationStateSpecification.initialState\n})\nexport class NavigationStateSpecification {\n public static readonly featureStateKey = 'navigation-state';\n public static readonly initialState: NavigationState = {\n navigationLocked: false\n };\n}\n","import { inject } from '@angular/core';\n\nimport { Store } from 'ngssm-store';\n\nimport { selectNavigationState } from '../state';\n\nexport const isNavigationLocked = (): boolean => {\n const state = inject(Store).state();\n return selectNavigationState(state).navigationLocked;\n};\n\nexport const isNavigationUnLocked = (): boolean => {\n const state = inject(Store).state();\n return !selectNavigationState(state).navigationLocked;\n};\n","export enum NavigationActionType {\n lockNavigation = '[NavigationActionType] lockNavigation',\n unLockNavigation = '[NavigationActionType] unLockNavigation'\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface NavigationLockingConfig {\n actionsLockingNavigation?: string[];\n actionsUnLockingNavigation?: string[];\n}\n\nexport const NGSSM_NAVIGATION_LOCKING_CONFIG = new InjectionToken<NavigationLockingConfig>('NGSSM_NAVIGATION_LOCKING_CONFIG');\n","import { inject, Injectable } from '@angular/core';\n\nimport { Reducer, State, Action } from 'ngssm-store';\n\nimport { NavigationActionType } from '../actions';\nimport { NavigationLockingConfig, NGSSM_NAVIGATION_LOCKING_CONFIG } from '../model';\nimport { updateNavigationState } from '../state';\n\n@Injectable()\nexport class NavigationReducer implements Reducer {\n private readonly configs: NavigationLockingConfig[] | null = inject(NGSSM_NAVIGATION_LOCKING_CONFIG, {\n optional: true\n }) as unknown as NavigationLockingConfig[];\n\n private readonly lockingActions: Set<string>;\n private readonly unlockingActions: Set<string>;\n\n public readonly processedActions: string[] = [];\n\n constructor() {\n this.lockingActions = new Set<string>([NavigationActionType.lockNavigation]);\n this.unlockingActions = new Set<string>([NavigationActionType.unLockNavigation]);\n\n (this.configs ?? []).forEach((config) => {\n (config.actionsLockingNavigation ?? []).forEach((command) => this.lockingActions.add(command));\n (config.actionsUnLockingNavigation ?? []).forEach((command) => this.unlockingActions.add(command));\n });\n\n this.processedActions = [...this.lockingActions, ...this.unlockingActions];\n }\n\n public updateState(state: State, action: Action): State {\n if (this.lockingActions.has(action.type)) {\n return updateNavigationState(state, {\n navigationLocked: { $set: true }\n });\n }\n\n if (this.unlockingActions.has(action.type)) {\n return updateNavigationState(state, {\n navigationLocked: { $set: false }\n });\n }\n\n return state;\n }\n}\n","import { effect, inject, untracked } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { Logger, Store } from 'ngssm-store';\n\nimport { RoutingAction } from './routing-action';\n\nexport const routingEffectInitializer = async () => {\n const store = inject(Store);\n const router = inject(Router);\n const logger = inject(Logger);\n\n effect(() => {\n const action = store.processedAction();\n const routingAction = action as RoutingAction;\n if (routingAction.navigate) {\n logger.information(`[Routing Effect] Processing action ${action.type}`);\n try {\n untracked(() => routingAction.navigate?.(store.state(), router));\n logger.information(`[Routing Effect] Successfully navigated for action ${action.type}`);\n } catch (error) {\n logger.error(`[Routing Effect] Error while processing action ${action.type}: ${error}`);\n }\n }\n });\n\n return true;\n};\n","import { EnvironmentProviders, makeEnvironmentProviders, inject, provideAppInitializer } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { provideReducer } from 'ngssm-store';\n\nimport { isNavigationUnLocked } from './guards';\nimport { NavigationReducer } from './reducers/navigation.reducer';\nimport { routingEffectInitializer } from './routing';\n\nconst initializeNavigation = () => {\n inject(Router).config.forEach((route) => {\n route.canDeactivate = [isNavigationUnLocked, ...(route.canDeactivate ?? [])];\n });\n};\n\nexport const provideNgssmNavigation = (): EnvironmentProviders => {\n return makeEnvironmentProviders([\n provideReducer(NavigationReducer),\n provideAppInitializer(initializeNavigation),\n provideAppInitializer(routingEffectInitializer)\n ]);\n};\n","/*\n * Public API Surface of ngssm-navigation\n */\n\nexport * from './lib/provide-ngssm-navigation';\nexport * from './lib/state';\nexport * from './lib/guards';\nexport * from './lib/actions';\nexport * from './lib/model';\nexport * from './lib/routing';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AAIO,MAAM,qBAAqB,GAAG,CAAC,KAAY,KAChD,KAAK,CAAC,4BAA4B,CAAC,eAAe;AAE7C,MAAM,qBAAqB,GAAG,CAAC,KAAY,EAAE,OAAqC,KACvF,MAAM,CAAC,KAAK,EAAE;AACZ,IAAA,CAAC,4BAA4B,CAAC,eAAe,GAAG;AACjD,CAAA;AAUI,IAAM,4BAA4B,GAAlC,MAAM,4BAA4B,CAAA;aAChB,IAAA,CAAA,eAAe,GAAG,kBAAH,CAAsB;AACrC,IAAA,SAAA,IAAA,CAAA,YAAY,GAAoB;AACrD,QAAA,gBAAgB,EAAE;AACnB,KAFkC,CAEjC;;AAJS,4BAA4B,GAAA,UAAA,CAAA;AAJxC,IAAA,iBAAiB,CAAC;QACjB,eAAe,EAAE,4BAA4B,CAAC,eAAe;QAC7D,YAAY,EAAE,4BAA4B,CAAC;KAC5C;AACY,CAAA,EAAA,4BAA4B,CAKxC;;ACnBM,MAAM,kBAAkB,GAAG,MAAc;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;AACnC,IAAA,OAAO,qBAAqB,CAAC,KAAK,CAAC,CAAC,gBAAgB;AACtD;AAEO,MAAM,oBAAoB,GAAG,MAAc;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE;AACnC,IAAA,OAAO,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,gBAAgB;AACvD;;ICdY;AAAZ,CAAA,UAAY,oBAAoB,EAAA;AAC9B,IAAA,oBAAA,CAAA,gBAAA,CAAA,GAAA,uCAAwD;AACxD,IAAA,oBAAA,CAAA,kBAAA,CAAA,GAAA,yCAA4D;AAC9D,CAAC,EAHW,oBAAoB,KAApB,oBAAoB,GAAA,EAAA,CAAA,CAAA;;MCOnB,+BAA+B,GAAG,IAAI,cAAc,CAA0B,iCAAiC;;MCE/G,iBAAiB,CAAA;AAU5B,IAAA,WAAA,GAAA;AATiB,QAAA,IAAA,CAAA,OAAO,GAAqC,MAAM,CAAC,+BAA+B,EAAE;AACnG,YAAA,QAAQ,EAAE;AACX,SAAA,CAAyC;QAK1B,IAAA,CAAA,gBAAgB,GAAa,EAAE;AAG7C,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,GAAG,CAAS,CAAC,oBAAoB,CAAC,cAAc,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,CAAS,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;AAEhF,QAAA,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,MAAM,KAAI;YACtC,CAAC,MAAM,CAAC,wBAAwB,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC9F,CAAC,MAAM,CAAC,0BAA0B,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACpG,
|
|
1
|
+
{"version":3,"file":"ngssm-navigation.mjs","sources":["../../../projects/ngssm-navigation/src/lib/state/navigation.state.ts","../../../projects/ngssm-navigation/src/lib/guards/navigation-guards.ts","../../../projects/ngssm-navigation/src/lib/actions/navigation-action-type.ts","../../../projects/ngssm-navigation/src/lib/model/navigation-locking-config.ts","../../../projects/ngssm-navigation/src/lib/reducers/navigation.reducer.ts","../../../projects/ngssm-navigation/src/lib/routing/routing-effect.ts","../../../projects/ngssm-navigation/src/lib/provide-ngssm-navigation.ts","../../../projects/ngssm-navigation/src/public-api.ts","../../../projects/ngssm-navigation/src/ngssm-navigation.ts"],"sourcesContent":["import update, { Spec } from 'immutability-helper';\n\nimport { NgSsmFeatureState, State } from 'ngssm-store';\n\nexport const selectNavigationState = (state: State): NavigationState =>\n state[NavigationStateSpecification.featureStateKey] as NavigationState;\n\nexport const updateNavigationState = (state: State, command: Spec<NavigationState, never>): State =>\n update(state, {\n [NavigationStateSpecification.featureStateKey]: command\n });\n\nexport interface NavigationState {\n navigationLocked: boolean;\n}\n\n@NgSsmFeatureState({\n featureStateKey: NavigationStateSpecification.featureStateKey,\n initialState: NavigationStateSpecification.initialState\n})\nexport class NavigationStateSpecification {\n public static readonly featureStateKey = 'navigation-state';\n public static readonly initialState: NavigationState = {\n navigationLocked: false\n };\n}\n","import { inject } from '@angular/core';\n\nimport { Store } from 'ngssm-store';\n\nimport { selectNavigationState } from '../state';\n\nexport const isNavigationLocked = (): boolean => {\n const state = inject(Store).state();\n return selectNavigationState(state).navigationLocked;\n};\n\nexport const isNavigationUnLocked = (): boolean => {\n const state = inject(Store).state();\n return !selectNavigationState(state).navigationLocked;\n};\n","export enum NavigationActionType {\n lockNavigation = '[NavigationActionType] lockNavigation',\n unLockNavigation = '[NavigationActionType] unLockNavigation'\n}\n","import { InjectionToken } from '@angular/core';\n\nexport interface NavigationLockingConfig {\n actionsLockingNavigation?: string[];\n actionsUnLockingNavigation?: string[];\n}\n\nexport const NGSSM_NAVIGATION_LOCKING_CONFIG = new InjectionToken<NavigationLockingConfig>('NGSSM_NAVIGATION_LOCKING_CONFIG');\n","import { inject, Injectable } from '@angular/core';\n\nimport { Reducer, State, Action } from 'ngssm-store';\n\nimport { NavigationActionType } from '../actions';\nimport { NavigationLockingConfig, NGSSM_NAVIGATION_LOCKING_CONFIG } from '../model';\nimport { updateNavigationState } from '../state';\n\n@Injectable()\nexport class NavigationReducer implements Reducer {\n private readonly configs: NavigationLockingConfig[] | null = inject(NGSSM_NAVIGATION_LOCKING_CONFIG, {\n optional: true\n }) as unknown as NavigationLockingConfig[];\n\n private readonly lockingActions: Set<string>;\n private readonly unlockingActions: Set<string>;\n\n public readonly processedActions: string[] = [];\n\n constructor() {\n this.lockingActions = new Set<string>([NavigationActionType.lockNavigation]);\n this.unlockingActions = new Set<string>([NavigationActionType.unLockNavigation]);\n\n (this.configs ?? []).forEach((config) => {\n (config.actionsLockingNavigation ?? []).forEach((command) => this.lockingActions.add(command));\n (config.actionsUnLockingNavigation ?? []).forEach((command) => this.unlockingActions.add(command));\n });\n\n this.processedActions = [...this.lockingActions, ...this.unlockingActions];\n }\n\n public updateState(state: State, action: Action): State {\n if (this.lockingActions.has(action.type)) {\n return updateNavigationState(state, {\n navigationLocked: { $set: true }\n });\n }\n\n if (this.unlockingActions.has(action.type)) {\n return updateNavigationState(state, {\n navigationLocked: { $set: false }\n });\n }\n\n return state;\n }\n}\n","import { effect, inject, untracked } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { Logger, Store } from 'ngssm-store';\n\nimport { RoutingAction } from './routing-action';\n\nexport const routingEffectInitializer = async () => {\n const store = inject(Store);\n const router = inject(Router);\n const logger = inject(Logger);\n\n effect(() => {\n const action = store.processedAction();\n const routingAction = action as RoutingAction;\n if (routingAction.navigate) {\n logger.information(`[Routing Effect] Processing action ${action.type}`);\n try {\n untracked(() => routingAction.navigate?.(store.state(), router));\n logger.information(`[Routing Effect] Successfully navigated for action ${action.type}`);\n } catch (error) {\n logger.error(`[Routing Effect] Error while processing action ${action.type}: ${error}`);\n }\n }\n });\n\n return true;\n};\n","import { EnvironmentProviders, makeEnvironmentProviders, inject, provideAppInitializer } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { provideReducer } from 'ngssm-store';\n\nimport { isNavigationUnLocked } from './guards';\nimport { NavigationReducer } from './reducers/navigation.reducer';\nimport { routingEffectInitializer } from './routing';\n\nconst initializeNavigation = () => {\n inject(Router).config.forEach((route) => {\n route.canDeactivate = [isNavigationUnLocked, ...(route.canDeactivate ?? [])];\n });\n};\n\nexport const provideNgssmNavigation = (): EnvironmentProviders => {\n return makeEnvironmentProviders([\n provideReducer(NavigationReducer),\n provideAppInitializer(initializeNavigation),\n provideAppInitializer(routingEffectInitializer)\n ]);\n};\n","/*\n * Public API Surface of ngssm-navigation\n */\n\nexport * from './lib/provide-ngssm-navigation';\nexport * from './lib/state';\nexport * from './lib/guards';\nexport * from './lib/actions';\nexport * from './lib/model';\nexport * from './lib/routing';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|