@openfin/workspace-platform 14.1.1 → 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 +6 -6
- package/client-api/src/dock.d.ts +1 -1
- package/client-api/src/shapes/provider.d.ts +0 -2
- package/client-api-platform/src/api/browser/index.d.ts +1 -1
- package/client-api-platform/src/api/context-menu/utils.d.ts +0 -1
- package/client-api-platform/src/init/browser-defaults.d.ts +1 -1
- package/client-api-platform/src/init/override-callback.d.ts +2 -1
- package/client-api-platform/src/init/utils.d.ts +4 -4
- package/client-api-platform/src/shapes.d.ts +49 -88
- package/common/src/api/overrides.d.ts +0 -1
- package/common/src/api/protocol/browser.d.ts +2 -4
- package/common/src/api/search/common.d.ts +1 -1
- package/common/src/api/shapes/home.d.ts +1 -1
- package/common/src/utils/indicators/browser.d.ts +3 -14
- package/index.js +47 -132
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/client-api-platform/src/init/browser-base-url.d.ts +0 -6
- package/client-api-platform/src/init/browser-base-url.test.d.ts +0 -1
- package/common/src/utils/performance.d.ts +0 -18
package/README.md
CHANGED
|
@@ -14,7 +14,7 @@ Run `npm i -E @openfin/workspace-platform`.
|
|
|
14
14
|
|
|
15
15
|
## Code examples
|
|
16
16
|
|
|
17
|
-
###
|
|
17
|
+
### Initilaize a Workspace Platform
|
|
18
18
|
|
|
19
19
|
```typescript
|
|
20
20
|
import * as WorkspacePlatform from '@openfin/workspace-platform';
|
|
@@ -23,10 +23,10 @@ const customThemes: WorkspacePlatform.CustomThemes = [
|
|
|
23
23
|
{
|
|
24
24
|
label: "OpenFin's Custom Theme",
|
|
25
25
|
palette: {
|
|
26
|
-
brandPrimary:
|
|
27
|
-
brandSecondary:
|
|
28
|
-
backgroundPrimary:
|
|
29
|
-
background2:
|
|
26
|
+
brandPrimary: ‘#F51F63, // required
|
|
27
|
+
brandSecondary: ‘#1FF58A’, // required
|
|
28
|
+
backgroundPrimary: ‘#F8E71C’, // required - hex, rgb/rgba, hsl/hsla only - no string colors: ‘red’
|
|
29
|
+
background2: ‘#7D808A’ // any of the optional colors
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
];
|
|
@@ -42,7 +42,7 @@ const overrideCallback: WorkspacePlatform.WorkspacePlatformOverrideCallback = as
|
|
|
42
42
|
|
|
43
43
|
await WorkspacePlatform.init({
|
|
44
44
|
browser: {
|
|
45
|
-
title:
|
|
45
|
+
title: "My Browser"
|
|
46
46
|
},
|
|
47
47
|
overrideCallback,
|
|
48
48
|
theme: customThemes
|
package/client-api/src/dock.d.ts
CHANGED
|
@@ -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 {
|
|
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 '
|
|
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
|
|
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
|
-
*
|
|
33
|
-
* Determines
|
|
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 -
|
|
37
|
+
* @returns - The type of windows contained within the snapshot.
|
|
38
38
|
*/
|
|
39
|
-
export declare function
|
|
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:
|
|
517
|
-
/**
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
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
|
/**
|
|
@@ -1417,28 +1400,9 @@ export type ApplyWorkspacePayload = Workspace & {
|
|
|
1417
1400
|
export interface CustomActionsMap {
|
|
1418
1401
|
[actionId: string]: (payload: CustomActionPayload) => any;
|
|
1419
1402
|
}
|
|
1420
|
-
/**
|
|
1421
|
-
* Configuration object of the Workspace Platform's Analytics Config.
|
|
1422
|
-
*/
|
|
1423
1403
|
export interface AnalyticsConfig {
|
|
1424
1404
|
/**
|
|
1425
1405
|
* 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
|
-
* ```
|
|
1442
1406
|
*/
|
|
1443
1407
|
sendToOpenFin: boolean;
|
|
1444
1408
|
}
|
|
@@ -1455,8 +1419,6 @@ export interface WorkspacePlatformInitConfig {
|
|
|
1455
1419
|
/**
|
|
1456
1420
|
* Customize the Looks and Feel of the Workspace Platform by providing a custom palette.
|
|
1457
1421
|
*
|
|
1458
|
-
* The `backgroundPrimary` color **must** be either a hex, rgb, rgba, hsl, or hsla value.
|
|
1459
|
-
*
|
|
1460
1422
|
* Two palettes are provided by default: `light` and `dark`.
|
|
1461
1423
|
* The `dark` palette is used by default.
|
|
1462
1424
|
*
|
|
@@ -1682,8 +1644,7 @@ export type BrowserOverrideCallback = WorkspacePlatformOverrideCallback;
|
|
|
1682
1644
|
*/
|
|
1683
1645
|
export interface BrowserInitConfig {
|
|
1684
1646
|
/**
|
|
1685
|
-
* Default options for creating a new
|
|
1686
|
-
* 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.
|
|
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.
|
|
1687
1648
|
*/
|
|
1688
1649
|
defaultWindowOptions?: Partial<BrowserCreateWindowRequest>;
|
|
1689
1650
|
/** 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,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:
|
|
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
|
|
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<
|
|
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<
|
|
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<
|
|
16
|
+
export declare function showBrowserInfo(message: string, parentBrowserName?: string, icon?: BrowserIndicatorIcon): Promise<void>;
|