@luigi-project/core-modular 0.0.20-dev.202610200049 → 0.0.20-dev.202610220048

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.
@@ -11,9 +11,9 @@ export declare const UIModule: {
11
11
  drawerContainer: any;
12
12
  init: (luigi: Luigi) => void;
13
13
  update: (scopes?: string[]) => Promise<void>;
14
- updateMainContent: (currentNode: Node, luigi: Luigi, luigiParams?: LuigiParams, withoutSync?: boolean, preventContextUpdate?: boolean) => Promise<void>;
14
+ updateMainContent: (currentNode: Node, luigi: Luigi, luigiParams?: LuigiParams, withoutSync?: boolean, preventContextUpdate?: boolean, preserveView?: boolean) => Promise<void>;
15
15
  openModal: (luigi: Luigi, node: Node, modalSettings: ModalSettings, onCloseCallback?: (goBackValue?: any) => void, luigiParams?: LuigiParams) => Promise<void>;
16
16
  updateModalSettings: (modalSettings: ModalSettings, addHistoryEntry: boolean, luigi: Luigi) => void;
17
- openDrawer: (luigi: Luigi, node: Node, drawerSettings: DrawerSettings, onCloseCallback?: () => void, luigiParams?: LuigiParams) => Promise<void>;
17
+ openDrawer: (luigi: Luigi, node: Node, drawerSettings: DrawerSettings, onCloseCallback?: (goBackValue?: any) => void, luigiParams?: LuigiParams) => Promise<void>;
18
18
  openUserSettings: (userSettingsDialogSettings: UserSettingsDialogSettings, userSettingData: any, previousUserSettings: any, initialUserSettings: any, luigi: Luigi) => Promise<void>;
19
19
  };
package/package.json CHANGED
@@ -18,5 +18,5 @@
18
18
  "micro-frontends",
19
19
  "microfrontends"
20
20
  ],
21
- "version": "0.0.20-dev.202610200049"
21
+ "version": "0.0.20-dev.202610220048"
22
22
  }
@@ -4,12 +4,24 @@ import { ModalService } from './modal.service';
4
4
  import { NodeDataManagementService } from './node-data-management.service';
5
5
  export declare class NavigationService {
6
6
  private luigi;
7
+ _preservedViews: any[];
7
8
  modalService?: ModalService;
8
9
  nodeDataManagementService?: NodeDataManagementService;
10
+ private goBackContext;
9
11
  private previousBreadcrumbs;
10
12
  constructor(luigi: Luigi);
11
13
  private getModalService;
12
14
  private getNodeDataManagementService;
15
+ private handleDialogContainer;
16
+ private prepareGoBackContextForNavigation;
17
+ clearGoBackContext(): void;
18
+ getGoBackContext(): Record<string, any> | null;
19
+ clearPreservedViews(): void;
20
+ removeLastPreservedView(): void;
21
+ getPreservedViewsLength(): number;
22
+ isValidBackRoute(route: string): boolean;
23
+ processGoBackContext(goBackContext: any): void;
24
+ handleGoBackRequest(goBackContext?: any): void;
13
25
  getPathData(path: string): Promise<PathData>;
14
26
  findMatchingNode(urlPathElement: string, nodes: Node[]): Node | undefined;
15
27
  buildNavItems(nodes: Node[], selectedNode: Node | undefined, pathData: PathData): Promise<{
@@ -73,7 +85,7 @@ export declare class NavigationService {
73
85
  * Deal with route changing scenario.
74
86
  * @param {NavigationRequestParams} params - the params to configure navigation request
75
87
  * @param {string} params.path - the path of the view to open
76
- * @param {string} params.preserveView - preserve a view by setting it to specific value (optional)
88
+ * @param {boolean} params.preserveView - preserve a view by setting it to specific value (optional)
77
89
  * @param {any} params.modalSettings - settings to configure the modal's title and size (optional)
78
90
  * @param {boolean} params.newTab - open a view in new tab by setting it to `true` (optional)
79
91
  * @param {boolean} params.withoutSync - disables the navigation handling for a single navigation request (optional)
@@ -38,12 +38,13 @@ export declare class RoutingService {
38
38
  * @param {Object} routeInfo - the information about path and query
39
39
  * @param {boolean} withoutSync - disables the navigation handling for a single navigation request
40
40
  * @param {boolean} preventContextUpdate - make no context update being triggered
41
+ * @param {boolean} preserveView - preserve a view by setting it to true
41
42
  * @returns {Promise<void>} A promise that resolves when route change is complete.
42
43
  */
43
44
  handleRouteChange(routeInfo: {
44
45
  path: string;
45
46
  query: string;
46
- }, withoutSync?: boolean, preventContextUpdate?: boolean): Promise<void>;
47
+ }, withoutSync?: boolean, preventContextUpdate?: boolean, preserveView?: boolean): Promise<void>;
47
48
  getCurrentRoute(): Route | undefined;
48
49
  /**
49
50
  * If `showModalPathInUrl` is provided, bookmarkable modal path will be triggered.
@@ -75,14 +75,19 @@ export interface ProfileLogout {
75
75
  doLogout: () => void;
76
76
  }
77
77
  export interface ProfileItem {
78
+ altText?: string;
78
79
  children?: ProfileItem[];
79
- label?: string;
80
- link?: string;
81
80
  externalLink?: ExternalLink;
82
81
  icon?: string;
83
- testId?: string;
84
- altText?: string;
82
+ label?: string;
83
+ link?: string;
85
84
  openNodeInModal?: boolean | ModalSettings;
85
+ statusBadge?: {
86
+ align: 'left' | 'right';
87
+ label: string;
88
+ type: StatusBadgeType;
89
+ };
90
+ testId?: string;
86
91
  }
87
92
  export interface UserSettingsDialogSettings {
88
93
  dialogHeader?: string;
@@ -298,6 +303,7 @@ export interface NavigationOptions {
298
303
  nodeParams?: Record<string, any>;
299
304
  }
300
305
  export interface NavigationRequestBase {
306
+ preserveView?: boolean;
301
307
  preventContextUpdate?: boolean;
302
308
  preventHistoryEntry?: boolean;
303
309
  withoutSync?: boolean;
@@ -309,27 +315,26 @@ export interface NavigationRequestParams extends NavigationRequestBase {
309
315
  modalSettings?: any;
310
316
  newTab?: boolean;
311
317
  path: string;
312
- preserveView?: string;
313
318
  }
314
319
  export interface NavigationRequestEvent {
315
320
  detail: NavigationRequestBase;
316
321
  }
317
322
  export interface NavigationRequestDetail {
318
323
  drawer: unknown;
319
- link: string;
324
+ fromClosestContext: boolean;
325
+ fromContext: string | null;
326
+ fromParent: boolean;
327
+ fromVirtualTreeRoot: boolean;
320
328
  intent: boolean;
321
- preserveView: string;
329
+ link: string;
322
330
  modal: unknown;
323
331
  newTab: boolean;
324
- withoutSync: boolean;
332
+ nodeParams: Record<string, string>;
333
+ preserveView: boolean;
325
334
  preventContextUpdate: boolean;
326
335
  preventHistoryEntry: boolean;
327
- fromVirtualTreeRoot: boolean;
328
- fromContext: string | null;
329
- fromClosestContext: boolean;
330
- fromParent: boolean;
331
336
  relative: boolean;
332
- nodeParams: Record<string, string>;
337
+ withoutSync: boolean;
333
338
  }
334
339
  export type { CompoundConfig, LayoutConfig, RendererConfig } from './compound-config';
335
340
  export interface TitleResolverCache {