@openfin/workspace 23.2.13 → 24.0.0

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.
@@ -7,7 +7,7 @@ import type { LaunchAppRequest, SearchSitesRequest, SearchSitesResponse, Site }
7
7
  * @param app the app directory entry.
8
8
  * @param opts launch options.
9
9
  */
10
- export declare function launchApp({ app, target }: LaunchAppRequest): Promise<void | OpenFin.Identity | OpenFin.Platform | OpenFin.View | OpenFin.Application>;
10
+ export declare function launchApp({ app, target }: LaunchAppRequest): Promise<void | OpenFin.View | OpenFin.Identity | OpenFin.Platform | OpenFin.Application>;
11
11
  export declare const enterpriseAppDirectoryChannelClient: () => Promise<OpenFin.ChannelClient>;
12
12
  export declare function getResults(payload: {
13
13
  req: SearchSitesRequest;
@@ -4,5 +4,5 @@ type DefaultViewOptions = Partial<OpenFin.MutableViewOptions> & {
4
4
  hotkeys?: OpenFin.ViewOptions['hotkeys'];
5
5
  };
6
6
  export declare const DEFAULT_VIEW_OPTIONS: DefaultViewOptions;
7
- export declare function applyViewDefaults(options: Partial<OpenFin.ViewOptions>, initViewOptions?: Partial<OpenFin.ViewOptions>): any;
7
+ export declare function applyViewDefaults(options: Partial<OpenFin.ViewOptions>, initViewOptions?: Partial<OpenFin.ViewOptions>): Promise<any>;
8
8
  export {};
@@ -23,3 +23,10 @@ export type ApplicationInfoExtended = OpenFin.ApplicationInfo & {
23
23
  };
24
24
  export declare const getCurrentOFApplication: () => OpenFin.Application;
25
25
  export declare const getWorkspaceOFApplication: () => OpenFin.Application;
26
+ /**
27
+ * Gets the application manifest, caching the result after the first call.
28
+ * The manifest never changes during the application lifecycle, so this avoids redundant async calls.
29
+ * Uses promise-based caching to prevent race conditions when multiple calls occur before the first completes.
30
+ * @returns A Promise resolving to the application manifest
31
+ */
32
+ export declare const getCachedManifest: () => Promise<OpenFin.Manifest>;
@@ -11,7 +11,7 @@ export declare const isDocumentDefined: boolean;
11
11
  export declare const isWindowDefinedWithIndexDB: boolean;
12
12
  export declare const finUUID: string;
13
13
  export declare const finName: string;
14
- export declare const finEntityType: "" | "view" | "window";
14
+ export declare const finEntityType: "" | "window" | "view";
15
15
  export declare const isEnvLocal: boolean;
16
16
  export declare const isEnvDev: boolean;
17
17
  export declare const isEnvStaging: boolean;
@@ -61,6 +61,13 @@ export declare const getFirstActiveViewFromLayout: (identity: OpenFin.LayoutIden
61
61
  * @returns A mapped copy of the layout
62
62
  */
63
63
  export declare const mapLayoutViewComponents: (node: any, callback: (arg0: any) => any) => any;
64
+ /**
65
+ * Recursively clones a layout object, calling a passed async callback on each `componentState` in the tree.
66
+ * @param node Either the layout object itself, or one of the items in its tree.
67
+ * @param callback Async callback to be called on each component's `componentState`
68
+ * @returns A Promise resolving to a mapped copy of the layout
69
+ */
70
+ export declare const mapLayoutViewComponentsAsync: (node: any, callback: (arg0: any) => Promise<any>) => Promise<any>;
64
71
  /**
65
72
  * Copies the componentState and generates a name if it's not there
66
73
  * @param componentState view's componentState in the layout object, corresponds to View options
@@ -80,9 +87,9 @@ export declare const generateViewNameAndIdentifierNameIfNotExists: <T extends {
80
87
  /**
81
88
  * Deep clones a layout and converts view options (add names if necessary, apply defaults).
82
89
  * @param layout The Layout to be cloned
83
- * @returns A copy of the layout with view options converted
90
+ * @returns A Promise resolving to a copy of the layout with view options converted
84
91
  */
85
- export declare const cloneLayoutAndConvertViewOptions: (layout: PageLayout, initViewOptions?: Partial<OpenFin.ViewOptions>) => any;
92
+ export declare const cloneLayoutAndConvertViewOptions: (layout: PageLayout, initViewOptions?: Partial<OpenFin.ViewOptions>) => Promise<PageLayout>;
86
93
  export declare const cloneViewComponentWithoutName: (componentState: any) => any;
87
94
  /**
88
95
  * Deep clones a layout and removes view names.
@@ -21,7 +21,42 @@ export interface LoggerConfig {
21
21
  includeTimestamp?: boolean;
22
22
  /** Custom prefix for logs */
23
23
  customPrefix?: string;
24
+ /**
25
+ * Stringify log data before passing to console (default: true).
26
+ * When true, objects are serialized as JSON strings for safer logging.
27
+ * When false, raw objects are passed to console, allowing expandable/inspectable
28
+ * objects in browser dev tools.
29
+ *
30
+ * @example
31
+ * To disable safe stringify for local development, you can:
32
+ * 1. Set this option per-logger: createLogger('MyContext', { stringifyData: false })
33
+ * 2. Or call setGlobalStringifyEnabled(false) once at app startup
34
+ */
35
+ stringifyData?: boolean;
24
36
  }
37
+ /**
38
+ * Enable or disable safe stringify globally for all loggers.
39
+ * Useful for local development when you want expandable objects in browser dev tools.
40
+ *
41
+ * This overrides the build-time LOG_STRINGIFY setting at runtime.
42
+ * Individual logger config (stringifyData option) takes precedence over this setting.
43
+ *
44
+ * @param enabled - Whether to stringify log data
45
+ *
46
+ * @example
47
+ * ```typescript
48
+ * // Override build-time setting at runtime:
49
+ * import { setGlobalStringifyEnabled } from 'common/src/utils/logger';
50
+ *
51
+ * // Disable stringify to get expandable objects in console
52
+ * setGlobalStringifyEnabled(false);
53
+ * ```
54
+ */
55
+ export declare const setGlobalStringifyEnabled: (enabled: boolean) => void;
56
+ /**
57
+ * Get the current global stringify setting.
58
+ */
59
+ export declare const getGlobalStringifyEnabled: () => boolean;
25
60
  /**
26
61
  * Create a structured logger for a specific context
27
62
  *
@@ -82,6 +82,7 @@ export type BookmarkDialogChannelMessage = BaseEnterpriseMenuChannelMessage & {
82
82
  export type ZoomControlsDialogPayload = {
83
83
  selectedViewIdentity?: OpenFin.Identity;
84
84
  zoomPercent?: number;
85
+ openedViaMouseClick?: boolean;
85
86
  };
86
87
  export type ZoomControlsDialogChannelMessage = BaseEnterpriseMenuChannelMessage & {
87
88
  type: EnterpriseMenuType.ZoomControls;
@@ -2,19 +2,11 @@
2
2
  "@openfin/notifications": [
3
3
  {
4
4
  "type": "explicit",
5
- "version": "2.14.0",
5
+ "version": "2.14.0-alpha-4509",
6
6
  "packageName": "client-api/package.json",
7
7
  "issuer": "client-api/src/notifications.ts"
8
8
  }
9
9
  ],
10
- "@openfin/microsoft365": [
11
- {
12
- "type": "explicit",
13
- "version": "^1.1.0",
14
- "packageName": "client-api/package.json",
15
- "issuer": "client-api/src/integrations/microsoft.ts"
16
- }
17
- ],
18
10
  "title-case": [
19
11
  {
20
12
  "type": "explicit",
@@ -23,12 +15,20 @@
23
15
  "issuer": "client-api/src/internal/providers.ts"
24
16
  },
25
17
  {
26
- "type": "root-implicit",
18
+ "type": "explicit",
27
19
  "version": "3.0.3",
28
20
  "packageName": "common/package.json",
29
21
  "issuer": "common/src/utils/color-linking.ts"
30
22
  }
31
23
  ],
24
+ "@openfin/microsoft365": [
25
+ {
26
+ "type": "explicit",
27
+ "version": "^1.1.0",
28
+ "packageName": "client-api/package.json",
29
+ "issuer": "client-api/src/integrations/microsoft.ts"
30
+ }
31
+ ],
32
32
  "lodash.debounce": [
33
33
  {
34
34
  "type": "explicit",
@@ -37,7 +37,7 @@
37
37
  "issuer": "client-api-platform/src/init/cleanup.ts"
38
38
  },
39
39
  {
40
- "type": "root-implicit",
40
+ "type": "explicit",
41
41
  "version": "^4.0.8",
42
42
  "packageName": "common/package.json",
43
43
  "issuer": "common/src/utils/layout.ts"
@@ -45,7 +45,7 @@
45
45
  ],
46
46
  "react-i18next": [
47
47
  {
48
- "type": "root-implicit",
48
+ "type": "explicit",
49
49
  "version": "15.4.0",
50
50
  "packageName": "common/package.json",
51
51
  "issuer": "common/src/api/i18next.ts"
@@ -53,20 +53,12 @@
53
53
  ],
54
54
  "i18next": [
55
55
  {
56
- "type": "root-implicit",
56
+ "type": "explicit",
57
57
  "version": "^23.7.16",
58
58
  "packageName": "common/package.json",
59
59
  "issuer": "common/src/api/i18next.ts"
60
60
  }
61
61
  ],
62
- "lodash.clonedeep": [
63
- {
64
- "type": "root-implicit",
65
- "version": "4.5.0",
66
- "packageName": "common/package.json",
67
- "issuer": "common/src/utils/layout.ts"
68
- }
69
- ],
70
62
  "dexie": [
71
63
  {
72
64
  "type": "root-implicit",
@@ -81,16 +73,24 @@
81
73
  "issuer": "client-api-platform/src/api/dock/idb.ts"
82
74
  },
83
75
  {
84
- "type": "root-implicit",
76
+ "type": "explicit",
85
77
  "version": "^4.0.11",
86
78
  "packageName": "common/package.json",
87
79
  "issuer": "common/src/api/pages/idb.ts"
88
80
  },
89
81
  {
90
- "type": "root-implicit",
82
+ "type": "explicit",
91
83
  "version": "^4.0.11",
92
84
  "packageName": "common/package.json",
93
85
  "issuer": "common/src/utils/create-and-migrate-ibd-store.ts"
94
86
  }
87
+ ],
88
+ "lodash.clonedeep": [
89
+ {
90
+ "type": "explicit",
91
+ "version": "4.5.0",
92
+ "packageName": "common/package.json",
93
+ "issuer": "common/src/utils/layout.ts"
94
+ }
95
95
  ]
96
96
  }