@openfin/workspace 23.2.14 → 24.0.1

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.View | OpenFin.Identity | OpenFin.Platform | OpenFin.Application>;
10
+ export declare function launchApp({ app, target }: LaunchAppRequest): Promise<void | OpenFin.Identity | OpenFin.Platform | OpenFin.View | OpenFin.Application>;
11
11
  export declare const enterpriseAppDirectoryChannelClient: () => Promise<OpenFin.ChannelClient>;
12
12
  export declare function getResults(payload: {
13
13
  req: SearchSitesRequest;
@@ -2,4 +2,5 @@ import type OpenFin from '@openfin/core';
2
2
  import { IntentResolverResponse, ShowIntentsResolverModalRequest, ShowQuitPlatformDialogRequest, ShowUpdateVersionModalRequest } from '../../../../client-api-platform/src/shapes';
3
3
  export declare const showQuitPlatformDialogInternal: (req: ShowQuitPlatformDialogRequest, identity: OpenFin.ProviderIdentity | OpenFin.ClientIdentity) => Promise<void>;
4
4
  export declare const showUpdateVersionModalInternal: (req: ShowUpdateVersionModalRequest, identity: OpenFin.ProviderIdentity | OpenFin.ClientIdentity) => Promise<void>;
5
+ export declare const showApplyAndPublishModalInternal: (_identity: OpenFin.ProviderIdentity | OpenFin.ClientIdentity) => Promise<boolean>;
5
6
  export declare const showIntentsResolverModalInternal: (req: ShowIntentsResolverModalRequest) => Promise<IntentResolverResponse>;
@@ -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 {};
@@ -1891,6 +1891,11 @@ export interface WorkspacePlatformModule extends OpenFin.Platform {
1891
1891
  * @internal
1892
1892
  */
1893
1893
  _showUpdateVersionModal(req: ShowUpdateVersionModalRequest): Promise<void>;
1894
+ /**
1895
+ * Shows the Apply and Publish modal (unsaved Supertab changes).
1896
+ * @internal
1897
+ */
1898
+ _showApplyAndPublishModal(): Promise<boolean>;
1894
1899
  /**
1895
1900
  * Launch an application.
1896
1901
  *
@@ -96,6 +96,7 @@ export declare enum WorkspacePlatformChannelAction {
96
96
  FocusAndExpandSearchInternal = "focusAndExpandSearchInternal",// Enterprise
97
97
  SendUpdateVersionModalResponseInternal = "sendUpdateVersionModalResponseInternal",// Enterprise
98
98
  ShowUpdateVersionModalInternal = "showUpdateVersionModalInternal",// Enterprise
99
+ ShowApplyAndPublishModalInternal = "showApplyAndPublishModalInternal",// Enterprise
99
100
  GetNotificationIndicatorColorsInternal = "getNotificationIndicatorColorsInternal"
100
101
  }
101
102
  export type PlatFormSupportedFeatures = boolean | {
@@ -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: "" | "window" | "view";
14
+ export declare const finEntityType: "" | "view" | "window";
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;
@@ -22,6 +22,7 @@ export declare enum WindowName {
22
22
  EnterpriseBookmarkDialogWindow = "openfin-enterprise-bookmark-dialog",
23
23
  ZoomControlsDialog = "here-zoom-controls-dialog",
24
24
  UpdateVersionModal = "here-update-version-modal",
25
+ ApplyAndPublishModal = "here-apply-and-publish-modal",
25
26
  DesktopSignalsModal = "here-desktop-signals-modal",
26
27
  IntentsResolverModal = "here-intents-resolver-modal"
27
28
  }
@@ -34,6 +34,7 @@ export declare const showUpdateVersionModal: ({ identity, title, description }:
34
34
  title: string;
35
35
  description: string;
36
36
  }) => Promise<ModalResponseEvent["data"]>;
37
+ export declare const showApplyAndPublishModal: (identity: OpenFin.Identity) => Promise<boolean>;
37
38
  /**
38
39
  * Shows the intents resolver modal and returns the user's selection
39
40
  * @param request - The request containing modal configuration
@@ -2,7 +2,7 @@
2
2
  "@openfin/notifications": [
3
3
  {
4
4
  "type": "explicit",
5
- "version": "2.14.0-alpha-4504",
5
+ "version": "2.14.0-alpha-4509",
6
6
  "packageName": "client-api/package.json",
7
7
  "issuer": "client-api/src/notifications.ts"
8
8
  }
@@ -23,7 +23,7 @@
23
23
  "issuer": "client-api/src/internal/providers.ts"
24
24
  },
25
25
  {
26
- "type": "root-implicit",
26
+ "type": "explicit",
27
27
  "version": "3.0.3",
28
28
  "packageName": "common/package.json",
29
29
  "issuer": "common/src/utils/color-linking.ts"
@@ -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,7 +53,7 @@
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"
@@ -61,19 +61,13 @@
61
61
  ],
62
62
  "lodash.clonedeep": [
63
63
  {
64
- "type": "root-implicit",
64
+ "type": "explicit",
65
65
  "version": "4.5.0",
66
66
  "packageName": "common/package.json",
67
67
  "issuer": "common/src/utils/layout.ts"
68
68
  }
69
69
  ],
70
70
  "dexie": [
71
- {
72
- "type": "root-implicit",
73
- "version": "^4.0.11",
74
- "packageName": "common/package.json",
75
- "issuer": "common/src/api/pages/idb.ts"
76
- },
77
71
  {
78
72
  "type": "root-implicit",
79
73
  "version": "^4.0.11",
@@ -87,7 +81,13 @@
87
81
  "issuer": "client-api-platform/src/api/dock/idb.ts"
88
82
  },
89
83
  {
90
- "type": "root-implicit",
84
+ "type": "explicit",
85
+ "version": "^4.0.11",
86
+ "packageName": "common/package.json",
87
+ "issuer": "common/src/api/pages/idb.ts"
88
+ },
89
+ {
90
+ "type": "explicit",
91
91
  "version": "^4.0.11",
92
92
  "packageName": "common/package.json",
93
93
  "issuer": "common/src/utils/create-and-migrate-ibd-store.ts"