@openfin/workspace 14.0.18 → 14.1.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.
@@ -1,6 +1,8 @@
1
1
  export interface ProviderInfo {
2
2
  /**
3
3
  * Unique identifier for the provider.
4
+ *
5
+ * @remarks A non-zero length string.
4
6
  */
5
7
  id: string;
6
8
  /**
@@ -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, BrowserWindowModule } from '../../shapes';
3
+ import { type BrowserCreateWindowRequest, type 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,6 +14,7 @@ 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>;
17
18
  /**
18
19
  * @param viewIdentities Array of views to execute print on.
19
20
  */
@@ -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 type { BrowserInitConfig } from '..';
3
+ import { BrowserInitConfig } from '../../../client-api-platform/src/shapes';
4
4
  /**
5
5
  * Applies default options to the creation of browser windows.
6
6
  */
@@ -1,4 +1,3 @@
1
1
  import type OpenFin from '@openfin/core';
2
- import type { BrowserInitConfig } from '../../../client-api-platform/src/shapes';
3
- import { WorkspacePlatformOverrideCallback, WorkspacePlatformProvider } from '..';
2
+ import { BrowserInitConfig, WorkspacePlatformOverrideCallback, WorkspacePlatformProvider } from '../../../client-api-platform/src/shapes';
4
3
  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
- * checkSnapshotWindowTypes
33
- * Determines what type of windows are contained within a snapshot.
32
+ * checkHasBrowserWindows
33
+ * Determines whether the snapshot has browser windows.
34
34
  *
35
35
  * @param snapshot - The snapshot to check.
36
36
  *
37
- * @returns - The type of windows contained within the snapshot.
37
+ * @returns - Whether the snapshot has browser windows.
38
38
  */
39
- export declare function checkSnapshotWindowTypes(snapshot: BrowserSnapshot): WindowType | null;
39
+ export declare function checkHasBrowserWindows(snapshot: BrowserSnapshot): boolean;
40
40
  export {};
@@ -72,6 +72,7 @@ export declare enum GlobalContextMenuOptionType {
72
72
  RenameWorkspace = "RenameWorkspace",
73
73
  SwitchWorkspace = "SwitchWorkspace",
74
74
  DeleteWorkspace = "DeleteWorkspace",
75
+ Downloads = "Downloads",
75
76
  OpenStorefront = "OpenStorefront",
76
77
  Appearance = "Appearance",
77
78
  Quit = "Quit",
@@ -449,59 +450,75 @@ export interface OpenSaveContextMenuOptionActionPayload {
449
450
  /** Id of the page on which the context menu is invoked */
450
451
  pageId: string;
451
452
  }
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
+ }
452
511
  /**
453
512
  * Request for creating a browser window.
454
513
  */
455
514
  export interface BrowserCreateWindowRequest extends Omit<OpenFin.PlatformWindowCreationOptions, 'workspacePlatform'> {
456
515
  /** WorkspacePlatform specific window options. These options will not work unless a workspace platform has been initialized. */
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;
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;
505
522
  };
506
523
  }
507
524
  /**
@@ -1470,9 +1487,28 @@ export type ApplyWorkspacePayload = Workspace & {
1470
1487
  export interface CustomActionsMap {
1471
1488
  [actionId: string]: (payload: CustomActionPayload) => any;
1472
1489
  }
1490
+ /**
1491
+ * Configuration object of the Workspace Platform's Analytics Config.
1492
+ */
1473
1493
  export interface AnalyticsConfig {
1474
1494
  /**
1475
1495
  * 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
+ * ```
1476
1512
  */
1477
1513
  sendToOpenFin: boolean;
1478
1514
  }
@@ -1714,7 +1750,8 @@ export type BrowserOverrideCallback = WorkspacePlatformOverrideCallback;
1714
1750
  */
1715
1751
  export interface BrowserInitConfig {
1716
1752
  /**
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.
1753
+ * 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
1754
+ * 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.
1718
1755
  */
1719
1756
  defaultWindowOptions?: Partial<BrowserCreateWindowRequest>;
1720
1757
  /** 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`. */
@@ -1,5 +1,5 @@
1
- import { DispatchedSearchResult, HomeSearchListenerRequest, HomeSearchResult } from '../../../../client-api/src/shapes';
2
1
  import { HomeProviderInternal } from '../../../../common/src/api/provider';
2
+ import { DispatchedSearchResult, HomeSearchListenerRequest, HomeSearchResult } from '../../../../client-api/src/shapes';
3
3
  /**
4
4
  * The ids of home providers that are built into Home.
5
5
  */