@openfin/workspace 14.1.2 → 14.1.3

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/README.md CHANGED
@@ -4,8 +4,8 @@ The Workspace Client APIs enable custom integrations with OpenFin Workspace.
4
4
 
5
5
  ## Prerequisites
6
6
 
7
- - [Node.js](https://nodejs.org/en/) v16.0.0 or higher
8
- - [npm](https://www.npmjs.com/)
7
+ - [Node.js](https://nodejs.org/en/) v16.0.0 or higher
8
+ - [npm](https://www.npmjs.com/)
9
9
 
10
10
  ## Install
11
11
 
@@ -27,8 +27,8 @@ Prior to using Workspace, a Workspace Platform must be initialized.
27
27
 
28
28
  ### Home API
29
29
 
30
- - [Overview](https://developers.openfin.co/of-docs/docs/cli-providers)
31
- - [API Reference](https://developer.openfin.co/workspace/docs/api/latest/modules/home.html)
30
+ - [Overview](https://developers.openfin.co/of-docs/docs/cli-providers)
31
+ - [API Reference](https://developer.openfin.co/workspace/docs/api/latest/modules/home.html)
32
32
 
33
33
  ```ts
34
34
  import Home, CLIProvider from '@openfin/workspace';
@@ -64,8 +64,8 @@ searchButton.addEventListener('click', () => {
64
64
 
65
65
  ### Storefront API
66
66
 
67
- - [Overview](https://developers.openfin.co/of-docs/docs/provide-storefront-content)
68
- - [API Reference](https://developer.openfin.co/workspace/docs/api/latest/modules/store.html)
67
+ - [Overview](https://developers.openfin.co/of-docs/docs/provide-storefront-content)
68
+ - [API Reference](https://developer.openfin.co/workspace/docs/api/latest/modules/store.html)
69
69
 
70
70
  ```ts
71
71
  import { Storefront, StorefrontProvider } from "@openfin/workspace";
@@ -97,8 +97,8 @@ await Storefront.show();
97
97
 
98
98
  ### Dock API
99
99
 
100
- - [Overview](https://developers.openfin.co/of-docs/docs/dock-overview)
101
- - [API Reference](https://developer.openfin.co/workspace/docs/api/latest/modules/dock.html)
100
+ - [Overview](https://developers.openfin.co/of-docs/docs/dock-overview)
101
+ - [API Reference](https://developer.openfin.co/workspace/docs/api/latest/modules/dock.html)
102
102
 
103
103
  ```ts
104
104
  const provider: DockProvider = {
@@ -154,7 +154,7 @@ await Dock.show();
154
154
 
155
155
  ## For more information
156
156
 
157
- - [Developer guide](https://developers.openfin.co/of-docs/docs/overview-of-workspace).
158
- - [API reference](https://developer.openfin.co/workspace/docs/api/latest/index.html).
159
- - See the [workspace-starter](https://github.com/built-on-openfin/workspace-starter) project for example code.
160
- - See the [versions page](https://developer.openfin.co/versions/#/?product=Workspace) for a list of all available versions.
157
+ - [Developer guide](https://developers.openfin.co/of-docs/docs/overview-of-workspace).
158
+ - [API reference](https://developer.openfin.co/workspace/docs/api/latest/index.html).
159
+ - See the [workspace-starter](https://github.com/built-on-openfin/workspace-starter) project for example code.
160
+ - See the [versions page](https://developer.openfin.co/versions/#/?product=Workspace) for a list of all available versions.
@@ -1,5 +1,5 @@
1
1
  import type { DockProvider } from './shapes/dock';
2
- import { type DockProviderRegistration } from './shapes/dock';
2
+ import { DockProviderRegistration } from './shapes/dock';
3
3
  export * from './shapes/dock';
4
4
  /**
5
5
  * API function to register a Dock provider.
@@ -1,12 +1,12 @@
1
- import * as Notifications from 'openfin-notifications/dist/client/without-auto-launch';
2
- import type { NotificationsPlatform, NotificationsRegisterOptions } from './shapes/notifications';
3
- export * from 'openfin-notifications/dist/client/without-auto-launch';
1
+ import type { NotificationsPlatform, NotificationsRegistration } from './shapes/notifications';
2
+ export * from 'openfin-notifications';
4
3
  export * from './shapes/notifications';
5
4
  /**
6
- * @deprecated
5
+ * Registers notifications platform. Throws if workspace platform is not initialized or if you run version of notifications-service which doesn't support platforms.
6
+ *
7
+ * @param platform {@link NotificationsPlatform} object
7
8
  */
8
- export declare function register(platform?: NotificationsPlatform): Promise<Notifications.NotificationsRegistration>;
9
- export declare function register(platform?: NotificationsRegisterOptions): Promise<Notifications.NotificationsRegistration>;
9
+ export declare const register: (platform: NotificationsPlatform) => Promise<NotificationsRegistration>;
10
10
  /**
11
11
  * Deregisters notifications platform. Throws if you run version of notifications-service which doesn't support platforms.
12
12
  * @param platformId id of the platform to deregister
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * This module exports only notifications types that are not defined in 'openfin-notifications' npm package
3
3
  */
4
+ import type { NotificationPlatform as NotificationsPlatformInternal } from 'openfin-notifications';
4
5
  /**
5
6
  * Platform object to pass to `register` function.
6
7
  *
@@ -16,24 +17,11 @@
16
17
  * await register(platform);
17
18
  * ```
18
19
  */
19
- export interface NotificationsPlatform {
20
- /**
21
- * Unique identifier of the platform.
22
- */
23
- id: string;
24
- /**
25
- * Stream title.
26
- *
27
- * Providing a different displayName for an existing stream id will update the
28
- * displayName of the stream stored in Notification Center.
29
- *
30
- */
31
- title: string;
32
- /**
33
- * URL of the icon to be displayed for this platform.
34
- */
35
- icon: string;
36
- }
37
- export interface NotificationsRegisterOptions {
38
- notificationsPlatformOptions?: NotificationsPlatform;
39
- }
20
+ export type NotificationsPlatform = Omit<NotificationsPlatformInternal, 'theme'>;
21
+ /**
22
+ * Registration meta info returned by {@link register}
23
+ */
24
+ export type NotificationsRegistration = {
25
+ clientAPIVersion: string;
26
+ notificationsVersion: string;
27
+ };
@@ -1,8 +1,6 @@
1
1
  export interface ProviderInfo {
2
2
  /**
3
3
  * Unique identifier for the provider.
4
- *
5
- * @remarks A non-zero length string.
6
4
  */
7
5
  id: string;
8
6
  /**
@@ -1,6 +1,6 @@
1
1
  import type OpenFin from '@openfin/core';
2
2
  import type { AttachedPage } from '../../../../common/src/api/pages/shapes';
3
- import { type BrowserCreateWindowRequest, type BrowserWindowModule } from '../../shapes';
3
+ import type { BrowserCreateWindowRequest, BrowserWindowModule } from '../../shapes';
4
4
  export declare const getBrowserApi: (identity: OpenFin.ApplicationIdentity) => {
5
5
  wrapSync: (windowIdentity: OpenFin.Identity) => BrowserWindowModule;
6
6
  createWindow: (options: BrowserCreateWindowRequest) => Promise<BrowserWindowModule>;
@@ -14,7 +14,6 @@ export declare const savePageHandler: (identity: OpenFin.Identity, pageId?: stri
14
14
  export declare const savePageAsHandler: (identity: OpenFin.Identity, pageId?: string) => Promise<void>;
15
15
  export declare const switchWorkspaceHandler: (winIdentity: OpenFin.Identity, workspaceItemData: WorkspaceContextMenuItemData) => Promise<void>;
16
16
  export declare const deleteWorkspaceHandler: (winIdentity: OpenFin.Identity, workspaceItemData: WorkspaceContextMenuItemData) => Promise<void>;
17
- export declare const downloadsHandler: (identity: OpenFin.Identity) => Promise<void>;
18
17
  /**
19
18
  * @param viewIdentities Array of views to execute print on.
20
19
  */
@@ -1,6 +1,6 @@
1
1
  import type OpenFin from '@openfin/core';
2
2
  import type { CustomThemeOptions, CustomThemeOptionsWithScheme } from '../../../common/src/api/theming';
3
- import { BrowserInitConfig } from '../../../client-api-platform/src/shapes';
3
+ import type { BrowserInitConfig } from '..';
4
4
  /**
5
5
  * Applies default options to the creation of browser windows.
6
6
  */
@@ -1,3 +1,4 @@
1
1
  import type OpenFin from '@openfin/core';
2
- import { BrowserInitConfig, WorkspacePlatformOverrideCallback, WorkspacePlatformProvider } from '../../../client-api-platform/src/shapes';
2
+ import type { BrowserInitConfig } from '../../../client-api-platform/src/shapes';
3
+ import { WorkspacePlatformOverrideCallback, WorkspacePlatformProvider } from '..';
3
4
  export declare const getOverrideCallback: (browserInitOptions: BrowserInitConfig | null, overrideCallback?: WorkspacePlatformOverrideCallback) => OpenFin.OverrideCallback<WorkspacePlatformProvider>;
@@ -29,12 +29,12 @@ type LegacyWindowOptions = Omit<OpenFin.PlatformWindowCreationOptions, 'workspac
29
29
  export declare const initWorkspacePlatformOptions: (options: LegacyWindowOptions | OpenFin.PlatformWindowCreationOptions) => OpenFin.PlatformWindowCreationOptions;
30
30
  export type WindowType = 'browser' | 'platform' | 'classic' | 'mixed';
31
31
  /**
32
- * checkHasBrowserWindows
33
- * Determines whether the snapshot has browser windows.
32
+ * checkSnapshotWindowTypes
33
+ * Determines what type of windows are contained within a snapshot.
34
34
  *
35
35
  * @param snapshot - The snapshot to check.
36
36
  *
37
- * @returns - Whether the snapshot has browser windows.
37
+ * @returns - The type of windows contained within the snapshot.
38
38
  */
39
- export declare function checkHasBrowserWindows(snapshot: BrowserSnapshot): boolean;
39
+ export declare function checkSnapshotWindowTypes(snapshot: BrowserSnapshot): WindowType | null;
40
40
  export {};
@@ -72,7 +72,6 @@ export declare enum GlobalContextMenuOptionType {
72
72
  RenameWorkspace = "RenameWorkspace",
73
73
  SwitchWorkspace = "SwitchWorkspace",
74
74
  DeleteWorkspace = "DeleteWorkspace",
75
- Downloads = "Downloads",
76
75
  OpenStorefront = "OpenStorefront",
77
76
  Appearance = "Appearance",
78
77
  Quit = "Quit",
@@ -450,75 +449,59 @@ export interface OpenSaveContextMenuOptionActionPayload {
450
449
  /** Id of the page on which the context menu is invoked */
451
450
  pageId: string;
452
451
  }
453
- export declare enum WindowType {
454
- Browser = "browser",
455
- Platform = "platform"
456
- }
457
- export interface BrowserWorkspacePlatformWindowOptions {
458
- /** For internal usage. Defaults to 'browser' when Browser is enabled when the WorkspacePlatform is initialized. In order to use
459
- * non-Browser layout windows ('platform' windows) in a Browser-enabled workspace platform, set windowType to `platform`. In that instance, the other properties
460
- * in the workspacePlatform object are not relevant.
461
- * */
462
- windowType?: WindowType;
463
- /** The initial set of pages to add to the created browser window. */
464
- pages: Page[];
465
- /** The favicon to display on the top left of the created browser window. */
466
- favicon?: string;
467
- /** A UI friendly title for the created browser window. */
468
- title?: string;
469
- /**
470
- * Landing page that shows up when you add a new tab from the plus button that exists in the tabstrip.
471
- * If you do not provide a newTabUrl, then the plus button in the tabstrip will not be shown and users cannot create a new empty tab.
472
- */
473
- newTabUrl?: string;
474
- /**
475
- * Landing page that shows up when you add a new page from the plus button that exists in the window frame where the page selector is shown.
476
- * If you do not provide a newPageUrl, then the new Page plus button will not be shown and you cannot create a new empty Page or Window.
477
- */
478
- newPageUrl?: string;
479
- toolbarOptions?: ToolbarOptions;
480
- windowStateButtonOptions?: WindowStateButtonOptions;
481
- /**
482
- * Remove the Page UI and only allow a single page in the browser window.
483
- * Must be set to true for this behavior. If this is not set to false,
484
- * then an empty `pages` option will be populated with a single page.
485
- */
486
- disableMultiplePages?: boolean;
487
- /**
488
- * When true, disables the ability to drag pages into the window. False by default.
489
- */
490
- preventPageDragIn?: boolean;
491
- /**
492
- * When true, disables the ability to close pages, drag pages within the window,
493
- * and drag pages into/out of the window. False by default.
494
- */
495
- isLocked?: boolean;
496
- /**
497
- * When true, disables the ability to drag pages out of a window. False by default.
498
- */
499
- preventPageDragOut?: boolean;
500
- /**
501
- * When true, page tabs in the window will not be draggable.
502
- * This includes reordering pages and dragging them out of the window.
503
- * False by default.
504
- */
505
- preventPageDrag?: boolean;
506
- /**
507
- * When true, disables the ability to close pages in the window. False by default.
508
- */
509
- preventPageClose?: boolean;
510
- }
511
452
  /**
512
453
  * Request for creating a browser window.
513
454
  */
514
455
  export interface BrowserCreateWindowRequest extends Omit<OpenFin.PlatformWindowCreationOptions, 'workspacePlatform'> {
515
456
  /** WorkspacePlatform specific window options. These options will not work unless a workspace platform has been initialized. */
516
- workspacePlatform: BrowserWorkspacePlatformWindowOptions | {
517
- /** For internal usage. Defaults to 'browser' when Browser is enabled when the WorkspacePlatform is initialized. In order to use
518
- * non-Browser layout windows ('platform' windows) in a Browser-enabled workspace platform, set windowType to `platform`. In that instance, the other properties
519
- * in the workspacePlatform object are not relevant.
520
- * */
521
- windowType: WindowType.Platform;
457
+ workspacePlatform: {
458
+ /** The initial set of pages to add to the created browser window. */
459
+ pages: Page[];
460
+ /** The favicon to display on the top left of the created browser window. */
461
+ favicon?: string;
462
+ /** A UI friendly title for the created browser window. */
463
+ title?: string;
464
+ /**
465
+ * Landing page that shows up when you add a new tab from the plus button that exists in the tabstrip.
466
+ * If you do not provide a newTabUrl, then the plus button in the tabstrip will not be shown and users cannot create a new empty tab.
467
+ */
468
+ newTabUrl?: string;
469
+ /**
470
+ * Landing page that shows up when you add a new page from the plus button that exists in the window frame where the page selector is shown.
471
+ * If you do not provide a newPageUrl, then the new Page plus button will not be shown and you cannot create a new empty Page or Window.
472
+ */
473
+ newPageUrl?: string;
474
+ toolbarOptions?: ToolbarOptions;
475
+ windowStateButtonOptions?: WindowStateButtonOptions;
476
+ /**
477
+ * Remove the Page UI and only allow a single page in the browser window.
478
+ * Must be set to true for this behavior. If this is not set to false,
479
+ * then an empty `pages` option will be populated with a single page.
480
+ */
481
+ disableMultiplePages?: boolean;
482
+ /**
483
+ * When true, disables the ability to drag pages into the window. False by default.
484
+ */
485
+ preventPageDragIn?: boolean;
486
+ /**
487
+ * When true, disables the ability to close pages, drag pages within the window,
488
+ * and drag pages into/out of the window. False by default.
489
+ */
490
+ isLocked?: boolean;
491
+ /**
492
+ * When true, disables the ability to drag pages out of a window. False by default.
493
+ */
494
+ preventPageDragOut?: boolean;
495
+ /**
496
+ * When true, page tabs in the window will not be draggable.
497
+ * This includes reordering pages and dragging them out of the window.
498
+ * False by default.
499
+ */
500
+ preventPageDrag?: boolean;
501
+ /**
502
+ * When true, disables the ability to close pages in the window. False by default.
503
+ */
504
+ preventPageClose?: boolean;
522
505
  };
523
506
  }
524
507
  /**
@@ -1487,28 +1470,9 @@ export type ApplyWorkspacePayload = Workspace & {
1487
1470
  export interface CustomActionsMap {
1488
1471
  [actionId: string]: (payload: CustomActionPayload) => any;
1489
1472
  }
1490
- /**
1491
- * Configuration object of the Workspace Platform's Analytics Config.
1492
- */
1493
1473
  export interface AnalyticsConfig {
1494
1474
  /**
1495
1475
  * Enable sending of Analytics data to OpenFin
1496
- *
1497
- * @default false
1498
- *
1499
- * @remarks OpenFin workspace utilizes a [HTML iframe](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe) in order to send analytics data to OpenFin. In order to facilitate this, and allow for the use of `fin` APIs within the iframe, you must enable injection of the OpenFin API into cross-origin iframes. This can be configured within the [manifest](https://developers.openfin.co/of-docs/docs/application-configuration) like so:
1500
- * ```json
1501
- * {
1502
- * "platform": {
1503
- * "api": {
1504
- * "iframe": {
1505
- * "crossOriginInjection": true
1506
- * }
1507
- * },
1508
- * // The rest of the manifest configuration is omitted for brevity
1509
- * }
1510
- * }
1511
- * ```
1512
1476
  */
1513
1477
  sendToOpenFin: boolean;
1514
1478
  }
@@ -1525,8 +1489,6 @@ export interface WorkspacePlatformInitConfig {
1525
1489
  /**
1526
1490
  * Customize the Looks and Feel of the Workspace Platform by providing a custom palette.
1527
1491
  *
1528
- * The `backgroundPrimary` color **must** be either a hex, rgb, rgba, hsl, or hsla value.
1529
- *
1530
1492
  * Two palettes are provided by default: `light` and `dark`.
1531
1493
  * The `dark` palette is used by default.
1532
1494
  *
@@ -1752,8 +1714,7 @@ export type BrowserOverrideCallback = WorkspacePlatformOverrideCallback;
1752
1714
  */
1753
1715
  export interface BrowserInitConfig {
1754
1716
  /**
1755
- * Default options for creating a new Browser window. These options are not applied on any non-Browser windows that get created. These default options will take precedence over
1756
- * defaultWindowOptions included in the manifest. Any option not included in WorkspacePlatform.getCurrentSync().Browser.createWindow(options) call will default to the value provided in this field.
1717
+ * Default options for creating a new browser window. Any option not included in WorkspacePlatform.getCurrentSync().Browser.createWindow(options) call will default to the value provided in this field.
1757
1718
  */
1758
1719
  defaultWindowOptions?: Partial<BrowserCreateWindowRequest>;
1759
1720
  /** Default options when creating a new page. If `iconUrl`, `unsavedIconUrl`, `panels` or `closeButton` are not defined when creating a page, setting will default to `defaultPageOptions`. */
@@ -14,7 +14,6 @@ export interface Overrides {
14
14
  [key: string]: boolean;
15
15
  };
16
16
  disableRuntimeValidation: boolean;
17
- browserBaseUrl: string;
18
17
  disableOpenFinAnalytics: boolean;
19
18
  analyticsEndpoint: string;
20
19
  }
@@ -1,7 +1,7 @@
1
1
  import type OpenFin from '@openfin/core';
2
2
  export declare const getWindowChannelId: (identity: OpenFin.Identity) => string;
3
3
  export interface ChannelClient extends OpenFin.ChannelClient {
4
- dispatch: (action: (typeof BrowserChannelAction)[keyof BrowserChannelAction], payload?: any) => Promise<any>;
4
+ dispatch: (action: typeof BrowserChannelAction[keyof BrowserChannelAction], payload?: any) => Promise<any>;
5
5
  }
6
6
  export declare const getChannelClient: (identity: OpenFin.Identity) => Promise<ChannelClient>;
7
7
  /**
@@ -29,8 +29,7 @@ declare enum GeneralBrowserChannelActions {
29
29
  RemoveFromChannel = "remove-from-channel",
30
30
  OpenSaveModalInternal = "open-save-modal-internal",
31
31
  DuplicatePage = "duplicate-page",
32
- SetSelectedScheme = "set-selected-scheme",
33
- ShowBrowserIndicator = "show-browser-indicator"
32
+ SetSelectedScheme = "set-selected-scheme"
34
33
  }
35
34
  /**
36
35
  * All of the remote procedures that can be called in the
@@ -69,7 +68,6 @@ export declare const BrowserChannelAction: {
69
68
  OpenSaveModalInternal: GeneralBrowserChannelActions.OpenSaveModalInternal;
70
69
  DuplicatePage: GeneralBrowserChannelActions.DuplicatePage;
71
70
  SetSelectedScheme: GeneralBrowserChannelActions.SetSelectedScheme;
72
- ShowBrowserIndicator: GeneralBrowserChannelActions.ShowBrowserIndicator;
73
71
  };
74
72
  export type BrowserChannelAction = typeof BrowserChannelAction;
75
73
  export {};
@@ -6,7 +6,7 @@ export interface InternalSearchListenerResponse {
6
6
  getRevokedBuffer(): string[];
7
7
  setRevokedBuffer(resultIds: string[]): void;
8
8
  getUpdatedContext(): any;
9
- setUpdatedContext(context: any | null): void;
9
+ setUpdatedContext(context: any): void;
10
10
  onChange(): void;
11
11
  getStatus(): InternalSearchListenerResponseStatus;
12
12
  res: HomeSearchListenerResponse;
@@ -1,5 +1,5 @@
1
- import { HomeProviderInternal } from '../../../../common/src/api/provider';
2
1
  import { DispatchedSearchResult, HomeSearchListenerRequest, HomeSearchResult } from '../../../../client-api/src/shapes';
2
+ import { HomeProviderInternal } from '../../../../common/src/api/provider';
3
3
  /**
4
4
  * The ids of home providers that are built into Home.
5
5
  */
@@ -1,27 +1,16 @@
1
- import { IndicatorType } from '../../../../common/src/components/Indicator/Indicator.constants';
2
1
  export declare enum BrowserIndicatorIcon {
3
2
  Locked = "LockClosedIcon",
4
3
  Unlocked = "LockOpen1Icon"
5
4
  }
6
- export interface ShowBrowserIndicatorPayload {
7
- type: IndicatorType;
8
- message: string;
9
- parentBrowserName?: string;
10
- icon?: BrowserIndicatorIcon;
11
- }
12
- /**
13
- * Creates a window containing a visual indicator
14
- */
15
- export declare function showBrowserIndicator(type: IndicatorType, message: string, parentBrowserName?: string, icon?: BrowserIndicatorIcon): Promise<any>;
16
5
  /**
17
6
  * Creates a window containing an error indicator
18
7
  */
19
- export declare function showBrowserError(message: string, parentBrowserName?: string, icon?: BrowserIndicatorIcon): Promise<any>;
8
+ export declare function showBrowserError(message: string, parentBrowserName?: string, icon?: BrowserIndicatorIcon): Promise<void>;
20
9
  /**
21
10
  * Creates a window containing a success indicator
22
11
  */
23
- export declare function showBrowserSuccess(message: string, parentBrowserName?: string, icon?: BrowserIndicatorIcon): Promise<any>;
12
+ export declare function showBrowserSuccess(message: string, parentBrowserName?: string, icon?: BrowserIndicatorIcon): Promise<void>;
24
13
  /**
25
14
  * Creates a window containing an info indicator
26
15
  */
27
- export declare function showBrowserInfo(message: string, parentBrowserName?: string, icon?: BrowserIndicatorIcon): Promise<any>;
16
+ export declare function showBrowserInfo(message: string, parentBrowserName?: string, icon?: BrowserIndicatorIcon): Promise<void>;