@openfin/workspace-platform 14.0.19 → 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
  /**
@@ -1400,9 +1417,28 @@ export type ApplyWorkspacePayload = Workspace & {
1400
1417
  export interface CustomActionsMap {
1401
1418
  [actionId: string]: (payload: CustomActionPayload) => any;
1402
1419
  }
1420
+ /**
1421
+ * Configuration object of the Workspace Platform's Analytics Config.
1422
+ */
1403
1423
  export interface AnalyticsConfig {
1404
1424
  /**
1405
1425
  * Enable sending of Analytics data to OpenFin
1426
+ *
1427
+ * @default false
1428
+ *
1429
+ * @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:
1430
+ * ```json
1431
+ * {
1432
+ * "platform": {
1433
+ * "api": {
1434
+ * "iframe": {
1435
+ * "crossOriginInjection": true
1436
+ * }
1437
+ * },
1438
+ * // The rest of the manifest configuration is omitted for brevity
1439
+ * }
1440
+ * }
1441
+ * ```
1406
1442
  */
1407
1443
  sendToOpenFin: boolean;
1408
1444
  }
@@ -1644,7 +1680,8 @@ export type BrowserOverrideCallback = WorkspacePlatformOverrideCallback;
1644
1680
  */
1645
1681
  export interface BrowserInitConfig {
1646
1682
  /**
1647
- * 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.
1683
+ * 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
1684
+ * 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.
1648
1685
  */
1649
1686
  defaultWindowOptions?: Partial<BrowserCreateWindowRequest>;
1650
1687
  /** 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
  */