@openfin/workspace 7.4.0 → 8.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.
- package/client-api/src/shapes/home.d.ts +24 -2
- package/client-api-platform/src/api/protocol.d.ts +10 -1
- package/client-api-platform/src/api/storage.d.ts +1 -1
- package/client-api-platform/src/init/index.d.ts +2 -2
- package/client-api-platform/src/init/override-callback.d.ts +2 -2
- package/client-api-platform/src/init/utils.d.ts +3 -2
- package/client-api-platform/src/shapes.d.ts +72 -23
- package/common/src/api/pages/shapes.d.ts +5 -1
- package/common/src/api/search.d.ts +4 -2
- package/common/src/utils/context-menu.d.ts +4 -0
- package/common/src/utils/landing-page.d.ts +1 -1
- package/common/src/utils/layout.d.ts +28 -0
- package/common/src/utils/page-tab-context-menu.d.ts +2 -1
- package/common/src/utils/route.d.ts +9 -3
- package/common/src/utils/unique-toolbar-options.d.ts +1 -0
- package/common/src/utils/window.d.ts +1 -0
- package/common/src/utils/workspace-modals.d.ts +1 -0
- package/home.js +1 -1
- package/home.js.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/notifications.js +1 -1
- package/notifications.js.map +1 -1
- package/package.json +1 -1
- package/search-api/src/client/internal.d.ts +2 -2
- package/search-api/src/common.d.ts +2 -2
- package/search-api/src/index.d.ts +1 -1
- package/search-api/src/provider/internal.d.ts +2 -2
- package/search-api/src/shapes.d.ts +28 -1
- package/store.js +1 -1
- package/store.js.map +1 -1
|
@@ -122,7 +122,15 @@ export declare enum CLITemplate {
|
|
|
122
122
|
/**
|
|
123
123
|
* Simple Text Template
|
|
124
124
|
*/
|
|
125
|
-
SimpleText = "SimpleText"
|
|
125
|
+
SimpleText = "SimpleText",
|
|
126
|
+
/**
|
|
127
|
+
* A Template that indicates that the search result details are being loaded
|
|
128
|
+
*/
|
|
129
|
+
Loading = "Loading",
|
|
130
|
+
/**
|
|
131
|
+
* A Template that indicates that a problem occured with the search result details.
|
|
132
|
+
*/
|
|
133
|
+
Error = "Error"
|
|
126
134
|
}
|
|
127
135
|
/**
|
|
128
136
|
* {@link SearchResult | Search result} template definition
|
|
@@ -181,10 +189,20 @@ export interface CLISearchResultPlain<A extends Action = Action> extends CLISear
|
|
|
181
189
|
*/
|
|
182
190
|
export interface CLISearchResultSimpleText<A extends Action = Action> extends CLISearchResultWithTemplate<CLITemplate.SimpleText, string, A> {
|
|
183
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Loading Search Result
|
|
194
|
+
*/
|
|
195
|
+
export interface CLISearchResultLoading<A extends Action = Action> extends CLISearchResultWithTemplate<CLITemplate.Loading, string, A> {
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Error Search Result
|
|
199
|
+
*/
|
|
200
|
+
export interface CLISearchResultError<A extends Action = Action> extends CLISearchResultWithTemplate<CLITemplate.Error, string, A> {
|
|
201
|
+
}
|
|
184
202
|
/**
|
|
185
203
|
* A search result that can be rendered by Home UI.
|
|
186
204
|
*/
|
|
187
|
-
export declare type HomeSearchResult = CLISearchResultContact<HomeAction> | CLISearchResultSimpleText<HomeAction> | CLISearchResultList<HomeAction> | CLISearchResultPlain<HomeAction> | CLISearchResultCustom<HomeAction>;
|
|
205
|
+
export declare type HomeSearchResult = CLISearchResultContact<HomeAction> | CLISearchResultSimpleText<HomeAction> | CLISearchResultList<HomeAction> | CLISearchResultPlain<HomeAction> | CLISearchResultCustom<HomeAction> | CLISearchResultLoading<HomeAction> | CLISearchResultError<HomeAction>;
|
|
188
206
|
export declare enum CLIFilterOptionType {
|
|
189
207
|
/**
|
|
190
208
|
* Display a multi-select drop down for the options
|
|
@@ -300,6 +318,10 @@ export interface CLIProvider extends SearchProvider {
|
|
|
300
318
|
export interface HomeProvider extends CLIProvider {
|
|
301
319
|
onUserInput(req: HomeSearchListenerRequest, res: HomeSearchListenerResponse): Promise<HomeSearchResponse>;
|
|
302
320
|
}
|
|
321
|
+
/**
|
|
322
|
+
* A rendered Home search result that has been actioned by a user.
|
|
323
|
+
*/
|
|
324
|
+
export declare type HomeDispatchedSearchResult = HomeSearchResult & DispatchedSearchResult;
|
|
303
325
|
/**
|
|
304
326
|
* Interface that contains functions for integrating with Home.
|
|
305
327
|
*/
|
|
@@ -45,7 +45,8 @@ export declare enum ChannelAction {
|
|
|
45
45
|
SaveWorkspace = "saveWorkspace",
|
|
46
46
|
GetCurrentWorkspace = "getCurrentWorkspace",
|
|
47
47
|
ApplyWorkspace = "applyWorkspace",
|
|
48
|
-
SetActiveWorkspace = "setActiveWorkspace"
|
|
48
|
+
SetActiveWorkspace = "setActiveWorkspace",
|
|
49
|
+
IsBrowserInitialized = "isBrowserInitialized"
|
|
49
50
|
}
|
|
50
51
|
/**
|
|
51
52
|
* Get a channel client for a specific Workspace platform.
|
|
@@ -58,3 +59,11 @@ export declare enum ChannelAction {
|
|
|
58
59
|
* @returns the channel client for the Workspace platform.
|
|
59
60
|
*/
|
|
60
61
|
export declare const getChannelClient: (identity: OpenFin.ApplicationIdentity) => Promise<import("openfin-adapter").ChannelClient>;
|
|
62
|
+
/**
|
|
63
|
+
* Get a channel client for a specific Workspace platform.
|
|
64
|
+
*
|
|
65
|
+
* Ensure that the channel is used within a platform with the browser
|
|
66
|
+
*
|
|
67
|
+
* @returns the channel client for the Workspace platform.
|
|
68
|
+
*/
|
|
69
|
+
export declare const getBrowserChannelClient: (identity: OpenFin.ApplicationIdentity) => Promise<import("openfin-adapter").ChannelClient>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Page } from '../../../common/src/api/pages/shapes';
|
|
2
2
|
import type { CreateSavedPageRequest, CreateSavedWorkspaceRequest, UpdateSavedPageRequest, UpdateSavedWorkspaceRequest, Workspace } from '../shapes';
|
|
3
|
-
export declare const getStorageApi: (identity:
|
|
3
|
+
export declare const getStorageApi: (identity: OpenFin.ApplicationIdentity) => {
|
|
4
4
|
createPage: (req: CreateSavedPageRequest) => Promise<any>;
|
|
5
5
|
deletePage: (id: string) => Promise<any>;
|
|
6
6
|
updatePage: (req: UpdateSavedPageRequest) => Promise<any>;
|
|
@@ -15,7 +15,7 @@ import type { WorkspacePlatformInitConfig } from '../shapes';
|
|
|
15
15
|
* }
|
|
16
16
|
* }
|
|
17
17
|
*
|
|
18
|
-
* const overrideCallback: WorkspacePlatform.
|
|
18
|
+
* const overrideCallback: WorkspacePlatform.WorkspacePlatformOverrideCallback = async (
|
|
19
19
|
* WorkspacePlatformProvider
|
|
20
20
|
* ) => {
|
|
21
21
|
* class Override extends WorkspacePlatformProvider {
|
|
@@ -34,4 +34,4 @@ import type { WorkspacePlatformInitConfig } from '../shapes';
|
|
|
34
34
|
* ```
|
|
35
35
|
* @param options options for configuring the platform.
|
|
36
36
|
*/
|
|
37
|
-
export declare const init: (
|
|
37
|
+
export declare const init: ({ theme, customActions, ...rest }: WorkspacePlatformInitConfig) => Promise<void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="openfin-adapter/fin" />
|
|
2
2
|
import type { BrowserInitConfig } from '../../../client-api-platform/src/shapes';
|
|
3
|
-
import { WorkspacePlatformProvider } from '..';
|
|
4
|
-
export declare const getOverrideCallback: (
|
|
3
|
+
import { WorkspacePlatformOverrideCallback, WorkspacePlatformProvider } from '..';
|
|
4
|
+
export declare const getOverrideCallback: (browserInitOptions: BrowserInitConfig, overrideCallback?: WorkspacePlatformOverrideCallback) => OpenFin.OverrideCallback<WorkspacePlatformProvider>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="openfin-adapter/fin" />
|
|
2
2
|
import { Identity } from 'openfin-adapter';
|
|
3
3
|
import type { CustomThemeOptions } from '../../../common/src/api/theming';
|
|
4
|
-
import type { BrowserInitConfig } from '..';
|
|
4
|
+
import type { BrowserInitConfig, BrowserSnapshot } from '..';
|
|
5
5
|
export declare function overrideViewOptions(options: Partial<OpenFin.ViewOptions>, initOptions: OpenFin.ViewOptions): any;
|
|
6
6
|
export declare function preserveInteropIfManifestConflict(opts: Partial<OpenFin.ViewOptions>, fetchManifest: ({ manifestUrl: string }: {
|
|
7
7
|
manifestUrl: any;
|
|
@@ -30,11 +30,11 @@ declare type LegacyWindowOptions = Omit<OpenFin.PlatformWindowCreationOptions, '
|
|
|
30
30
|
export declare const initWorkspacePlatformOptions: (options: LegacyWindowOptions | OpenFin.PlatformWindowCreationOptions) => OpenFin.PlatformWindowCreationOptions;
|
|
31
31
|
export declare const applyPageDefaults: (pages: OpenFin.Page[], defaultPageOptions?: BrowserInitConfig['defaultPageOptions']) => Promise<{
|
|
32
32
|
title: string;
|
|
33
|
+
layout: any;
|
|
33
34
|
pageId: string;
|
|
34
35
|
description?: string;
|
|
35
36
|
tooltip?: string;
|
|
36
37
|
isReadOnly?: boolean;
|
|
37
|
-
layout: OpenFin.PageLayout;
|
|
38
38
|
unsavedIconUrl?: string;
|
|
39
39
|
iconUrl?: string;
|
|
40
40
|
closeButton?: {
|
|
@@ -43,4 +43,5 @@ export declare const applyPageDefaults: (pages: OpenFin.Page[], defaultPageOptio
|
|
|
43
43
|
};
|
|
44
44
|
}[]>;
|
|
45
45
|
export declare const applyBrowserDefaults: (options: OpenFin.PlatformWindowCreationOptions, initOptions: Pick<BrowserInitConfig, 'title' | 'defaultWindowOptions' | 'defaultPageOptions'>, theme: CustomThemeOptions) => Promise<OpenFin.PlatformWindowCreationOptions>;
|
|
46
|
+
export declare function checkSnapshotForPages(snapshot: BrowserSnapshot): boolean;
|
|
46
47
|
export {};
|
|
@@ -213,6 +213,7 @@ export declare enum BrowserButtonType {
|
|
|
213
213
|
ShowHideTabs = "ShowHideTabs",
|
|
214
214
|
ColorLinking = "ColorLinking",
|
|
215
215
|
PresetLayouts = "PresetLayouts",
|
|
216
|
+
LockUnlockPage = "LockUnlockPage",
|
|
216
217
|
SaveMenu = "SaveMenu",
|
|
217
218
|
SavePage = "SavePage",
|
|
218
219
|
Minimise = "Minimise",
|
|
@@ -267,10 +268,14 @@ declare type ShowHideTabsConfig = {
|
|
|
267
268
|
type: BrowserButtonType.ShowHideTabs;
|
|
268
269
|
disabled?: boolean;
|
|
269
270
|
};
|
|
271
|
+
declare type LockUnlockPageConfig = {
|
|
272
|
+
type: BrowserButtonType.LockUnlockPage;
|
|
273
|
+
disabled?: boolean;
|
|
274
|
+
};
|
|
270
275
|
/**
|
|
271
276
|
* Buttons on the left of WindowStateButtonOptions
|
|
272
277
|
*/
|
|
273
|
-
export declare type ToolbarButton = ShowHideTabsConfig | CustomBrowserButtonConfig | PreDefinedButtonConfig;
|
|
278
|
+
export declare type ToolbarButton = ShowHideTabsConfig | LockUnlockPageConfig | CustomBrowserButtonConfig | PreDefinedButtonConfig;
|
|
274
279
|
export interface ToolbarOptions {
|
|
275
280
|
buttons: ToolbarButton[];
|
|
276
281
|
}
|
|
@@ -366,6 +371,29 @@ export interface BrowserCreateWindowRequest extends Omit<OpenFin.PlatformWindowC
|
|
|
366
371
|
* then an empty `pages` option will be populated with a single page.
|
|
367
372
|
*/
|
|
368
373
|
disableMultiplePages?: boolean;
|
|
374
|
+
/**
|
|
375
|
+
* When true, disables the ability to drag pages into the window. False by default.
|
|
376
|
+
*/
|
|
377
|
+
preventPageDragIn?: boolean;
|
|
378
|
+
/**
|
|
379
|
+
* When true, disables the ability to close pages, drag pages within the window,
|
|
380
|
+
* and drag pages into/out of the window. False by default.
|
|
381
|
+
*/
|
|
382
|
+
isLocked?: boolean;
|
|
383
|
+
/**
|
|
384
|
+
* When true, disables the ability to drag pages out of a window. False by default.
|
|
385
|
+
*/
|
|
386
|
+
preventPageDragOut?: boolean;
|
|
387
|
+
/**
|
|
388
|
+
* When true, page tabs in the window will not be draggable.
|
|
389
|
+
* This includes reordering pages and dragging them out of the window.
|
|
390
|
+
* False by default.
|
|
391
|
+
*/
|
|
392
|
+
preventPageDrag?: boolean;
|
|
393
|
+
/**
|
|
394
|
+
* When true, disables the ability to close pages in the window. False by default.
|
|
395
|
+
*/
|
|
396
|
+
preventPageClose?: boolean;
|
|
369
397
|
};
|
|
370
398
|
}
|
|
371
399
|
/**
|
|
@@ -1147,28 +1175,28 @@ export interface WorkspacePlatformProvider extends OpenFin.PlatformProvider {
|
|
|
1147
1175
|
deleteSavedWorkspace(id: string): Promise<void>;
|
|
1148
1176
|
/**
|
|
1149
1177
|
* Implementation for showing a global context menu given a menu template,
|
|
1150
|
-
* handler callback, and screen coordinates. For an example of overriding, see {@link
|
|
1178
|
+
* handler callback, and screen coordinates. For an example of overriding, see {@link WorkspacePlatformOverrideCallback}.
|
|
1151
1179
|
* @param req the payload received by the provider call
|
|
1152
1180
|
* @param callerIdentity OF identity of the entity from which the request originated
|
|
1153
1181
|
*/
|
|
1154
1182
|
openGlobalContextMenu(req: OpenGlobalContextMenuPayload, callerIdentity: OpenFin.Identity): any;
|
|
1155
1183
|
/**
|
|
1156
1184
|
* Implementation for showing a view tab context menu given a menu template,
|
|
1157
|
-
* handler callback, and screen coordinates. For an example of overriding, see {@link
|
|
1185
|
+
* handler callback, and screen coordinates. For an example of overriding, see {@link WorkspacePlatformOverrideCallback}.
|
|
1158
1186
|
* @param req the payload received by the provider call
|
|
1159
1187
|
* @param callerIdentity OF identity of the entity from which the request originated
|
|
1160
1188
|
*/
|
|
1161
1189
|
openViewTabContextMenu(req: OpenViewTabContextMenuPayload, callerIdentity: OpenFin.Identity): any;
|
|
1162
1190
|
/**
|
|
1163
1191
|
* Implementation for showing a page tab context menu given a menu template,
|
|
1164
|
-
* handler callback, and screen coordinates. For an example of overriding, see {@link
|
|
1192
|
+
* handler callback, and screen coordinates. For an example of overriding, see {@link WorkspacePlatformOverrideCallback}.
|
|
1165
1193
|
* @param req the payload received by the provider call
|
|
1166
1194
|
* @param callerIdentity OF identity of the entity from which the request originated
|
|
1167
1195
|
*/
|
|
1168
1196
|
openPageTabContextMenu(req: OpenPageTabContextMenuPayload, callerIdentity: OpenFin.Identity): any;
|
|
1169
1197
|
/**
|
|
1170
1198
|
* Implementation for showing a context menu for save button given a menu template,
|
|
1171
|
-
* handler callback, and screen coordinates. For an example of overriding, see {@link
|
|
1199
|
+
* handler callback, and screen coordinates. For an example of overriding, see {@link WorkspacePlatformOverrideCallback}.
|
|
1172
1200
|
* @param req the payload received by the provider call
|
|
1173
1201
|
* @param callerIdentity OF identity of the entity from which the request originated
|
|
1174
1202
|
*/
|
|
@@ -1219,7 +1247,9 @@ export interface CustomActionsMap {
|
|
|
1219
1247
|
*/
|
|
1220
1248
|
export interface WorkspacePlatformInitConfig {
|
|
1221
1249
|
customActions?: CustomActionsMap;
|
|
1222
|
-
/** Config for overriding browser options and behavior.
|
|
1250
|
+
/** Config for overriding browser options and behavior.
|
|
1251
|
+
* Set to null to initalize the platform without the browser
|
|
1252
|
+
*/
|
|
1223
1253
|
browser?: BrowserInitConfig;
|
|
1224
1254
|
/** Custom Themes object
|
|
1225
1255
|
*
|
|
@@ -1257,11 +1287,23 @@ export interface WorkspacePlatformInitConfig {
|
|
|
1257
1287
|
* }];
|
|
1258
1288
|
*
|
|
1259
1289
|
* await WorkspacePlatform.init({
|
|
1260
|
-
* browser: {
|
|
1261
|
-
*
|
|
1290
|
+
* browser: {
|
|
1291
|
+
* title: "My Browser"
|
|
1292
|
+
* },
|
|
1293
|
+
* theme: customThemes,
|
|
1294
|
+
* overrideCallback
|
|
1262
1295
|
* });
|
|
1263
1296
|
*/
|
|
1264
1297
|
theme?: CustomThemes;
|
|
1298
|
+
/**
|
|
1299
|
+
* Override workspace platform behavior
|
|
1300
|
+
*/
|
|
1301
|
+
overrideCallback?: WorkspacePlatformOverrideCallback;
|
|
1302
|
+
/**
|
|
1303
|
+
* Override workspace platform interop behavior
|
|
1304
|
+
* https://cdn.openfin.co/docs/javascript/stable/InteropBroker.html
|
|
1305
|
+
*/
|
|
1306
|
+
interopOverride?: OpenFin.OverrideCallback<InteropBroker, InteropBroker>;
|
|
1265
1307
|
}
|
|
1266
1308
|
/**
|
|
1267
1309
|
* Extend or replace default functionality in order to customize behavior of a Workspace Platform Provider.
|
|
@@ -1272,7 +1314,7 @@ export interface WorkspacePlatformInitConfig {
|
|
|
1272
1314
|
* import * as WorkspacePlatform from '@openfin/workspace-platform';
|
|
1273
1315
|
* import { UpdateSavedPageRequest } from '../../client-api-platform/src/shapes';
|
|
1274
1316
|
*
|
|
1275
|
-
* const overrideCallback: WorkspacePlatform.
|
|
1317
|
+
* const overrideCallback: WorkspacePlatform.WorkspacePlatformOverrideCallback = async (
|
|
1276
1318
|
* WorkspacePlatformProvider
|
|
1277
1319
|
* ) => {
|
|
1278
1320
|
* class Override extends WorkspacePlatformProvider {
|
|
@@ -1356,23 +1398,28 @@ export interface WorkspacePlatformInitConfig {
|
|
|
1356
1398
|
* };
|
|
1357
1399
|
*
|
|
1358
1400
|
* await WorkspacePlatform.init({
|
|
1359
|
-
* browser: {
|
|
1360
|
-
*
|
|
1361
|
-
*
|
|
1362
|
-
*
|
|
1363
|
-
*
|
|
1364
|
-
*
|
|
1365
|
-
*
|
|
1366
|
-
*
|
|
1367
|
-
*
|
|
1368
|
-
*
|
|
1369
|
-
*
|
|
1370
|
-
*
|
|
1371
|
-
*
|
|
1401
|
+
* browser: {
|
|
1402
|
+
* title: "My Workpace Platform"
|
|
1403
|
+
* }
|
|
1404
|
+
* overrideCallback,
|
|
1405
|
+
* customActions: {
|
|
1406
|
+
* 'sample-custom-global-menu-action': (payload: CustomActionPayload) => {
|
|
1407
|
+
* alert('This custom action works ' + JSON.stringify(payload));
|
|
1408
|
+
* return 'someresponse';
|
|
1409
|
+
* },
|
|
1410
|
+
* 'sample-viewtab-action': (payload: ViewTabCustomActionPayload) => {
|
|
1411
|
+
* alert('This custom action works ' + JSON.stringify(payload));
|
|
1412
|
+
* return 'someresponse';
|
|
1413
|
+
* }
|
|
1414
|
+
* }
|
|
1372
1415
|
* });
|
|
1373
1416
|
*/
|
|
1374
|
-
export declare type
|
|
1417
|
+
export declare type WorkspacePlatformOverrideCallback = OpenFin.OverrideCallback<WorkspacePlatformProvider>;
|
|
1375
1418
|
/**
|
|
1419
|
+
* @deprecated
|
|
1420
|
+
*/
|
|
1421
|
+
export declare type BrowserOverrideCallback = WorkspacePlatformOverrideCallback;
|
|
1422
|
+
/**`
|
|
1376
1423
|
* Configuration for initializing a Browser.
|
|
1377
1424
|
*/
|
|
1378
1425
|
export interface BrowserInitConfig {
|
|
@@ -1391,10 +1438,12 @@ export interface BrowserInitConfig {
|
|
|
1391
1438
|
*/
|
|
1392
1439
|
title?: string;
|
|
1393
1440
|
/**
|
|
1441
|
+
* @deprecated
|
|
1394
1442
|
* Override workspace platform behavior
|
|
1395
1443
|
*/
|
|
1396
1444
|
overrideCallback?: BrowserOverrideCallback;
|
|
1397
1445
|
/**
|
|
1446
|
+
* @deprecated
|
|
1398
1447
|
* Override workspace platform interop behavior
|
|
1399
1448
|
* https://cdn.openfin.co/docs/javascript/stable/InteropBroker.html
|
|
1400
1449
|
*/
|
|
@@ -26,7 +26,11 @@ export interface Page {
|
|
|
26
26
|
iconUrl?: string;
|
|
27
27
|
/** The layout of the page. */
|
|
28
28
|
layout: PageLayout;
|
|
29
|
-
/**
|
|
29
|
+
/** True if the page is locked. */
|
|
30
|
+
isLocked?: boolean;
|
|
31
|
+
/** Used to manipulate behaviour of a close button on a page tab. If `undefined`, then close button is visible and actionable.
|
|
32
|
+
* If either property true, this page tab's context menu will disable its 'Close Page' option.
|
|
33
|
+
*/
|
|
30
34
|
closeButton?: {
|
|
31
35
|
hidden?: boolean;
|
|
32
36
|
disabled?: boolean;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { searchTopic as homeSearchTopic } from '../../../common/src/api/home';
|
|
2
2
|
import { CLISearchResultWithTemplate } from '../../../client-api/src/shapes';
|
|
3
|
-
import
|
|
3
|
+
import { DispatchedAction, SearchProviderInfo, SearchProviderResponse, SearchTopicClient } from '../../../search-api/src/shapes';
|
|
4
4
|
export declare type TemplateActionMap = Record<string, Action>;
|
|
5
|
-
export interface Action extends
|
|
5
|
+
export interface Action extends DispatchedAction {
|
|
6
6
|
isHidden: boolean;
|
|
7
7
|
dispatch: () => any;
|
|
8
8
|
}
|
|
@@ -12,6 +12,8 @@ export interface SearchItem {
|
|
|
12
12
|
actions: Action[];
|
|
13
13
|
templateActionMap: TemplateActionMap;
|
|
14
14
|
key: string;
|
|
15
|
+
onFocus?: () => any;
|
|
16
|
+
requestReload?: () => any;
|
|
15
17
|
}
|
|
16
18
|
export declare type Topic = typeof homeSearchTopic;
|
|
17
19
|
export declare function waitForSearchRegistration(): Promise<void>;
|
|
@@ -10,6 +10,10 @@ export declare type ShowContextMenuResponse = OpenFin.MenuResult & {
|
|
|
10
10
|
data: string;
|
|
11
11
|
};
|
|
12
12
|
export default function showContextMenu(opts: OpenFin.ShowPopupMenuOptions, win?: _Window): Promise<ShowContextMenuResponse>;
|
|
13
|
+
export declare const Separator: {
|
|
14
|
+
type: MenuItemType;
|
|
15
|
+
data: any;
|
|
16
|
+
};
|
|
13
17
|
export declare const DefaultSaveMenuBounds: {
|
|
14
18
|
width: number;
|
|
15
19
|
height: number;
|
|
@@ -7,5 +7,5 @@ interface LandingPageUrls {
|
|
|
7
7
|
export declare const getLandingPageUrls: (winIdentity?: NamedIdentity) => Promise<LandingPageUrls>;
|
|
8
8
|
export declare const checkHasNewTabUrl: () => Promise<boolean>;
|
|
9
9
|
export declare const getNewLandingTabViewOptions: (target: OpenFin.Identity) => Promise<OpenFin.PlatformViewCreationOptions>;
|
|
10
|
-
export declare const makeNewLandingPage: (winIdentity?: NamedIdentity) => Promise<import("@client-platform/
|
|
10
|
+
export declare const makeNewLandingPage: (winIdentity?: NamedIdentity) => Promise<import("@client-platform/").PageWithUpdatableRuntimeAttribs>;
|
|
11
11
|
export {};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="openfin-adapter/fin" />
|
|
2
2
|
import { NamedIdentity } from 'openfin-adapter/src/identity';
|
|
3
|
+
import { AttachedPage, PageLayout } from '../../../client-api-platform/src/shapes';
|
|
3
4
|
export declare type LayoutComponentStateExtended = OpenFin.LayoutComponent['componentState'] & {
|
|
4
5
|
name: string;
|
|
5
6
|
uuid: string;
|
|
@@ -34,6 +35,12 @@ export interface LayoutDOMEvent {
|
|
|
34
35
|
isInitialized: boolean;
|
|
35
36
|
}
|
|
36
37
|
export declare type LayoutDOMEventListener = (ev: LayoutDOMEvent) => void;
|
|
38
|
+
/**
|
|
39
|
+
* Deep clones a layout and adds view names if they don't exist.
|
|
40
|
+
* @param layout The Layout to be cloned
|
|
41
|
+
* @returns A copy of the layout with names added where necessary
|
|
42
|
+
*/
|
|
43
|
+
export declare const cloneLayoutAndFillInViewNames: (layout: any) => any;
|
|
37
44
|
/**
|
|
38
45
|
* Deep clones a layout and removes view names.
|
|
39
46
|
* @param layout The Layout to be cloned
|
|
@@ -51,3 +58,24 @@ export declare const addLayoutEventListener: (event: LayoutDOMEventType, listene
|
|
|
51
58
|
* Initialize the layout for the current OF window.
|
|
52
59
|
*/
|
|
53
60
|
export declare const initLayout: () => Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Deep clones a layout and changes its settings to make it "locked".
|
|
63
|
+
* @param layout The Layout to be locked
|
|
64
|
+
* @returns A restricted copy of the layout
|
|
65
|
+
*/
|
|
66
|
+
export declare const getLockedPageLayout: (layout: any) => any;
|
|
67
|
+
/**
|
|
68
|
+
* Accepts a locked layout and an unlocked layout as a reference.
|
|
69
|
+
* Takes the layout settings of the reference layout and merges them into the locked layout, thereby unlocking it.
|
|
70
|
+
* @param lockedLayout The Layout to unlocke
|
|
71
|
+
* @param referenceUnlockedLayout The Layout to serve as a reference of an unlocked layout
|
|
72
|
+
* @returns An unlocked version of the target layout
|
|
73
|
+
*/
|
|
74
|
+
export declare const getUnlockedLayout: (lockedLayout: any, referenceUnlockedLayout: any) => any;
|
|
75
|
+
/**
|
|
76
|
+
* Replaces the layout of the window with the provided layout and adjusts it based on provided page's options
|
|
77
|
+
* @param layout Layout with which to replace current window's layout
|
|
78
|
+
* @param page Page object
|
|
79
|
+
* @returns
|
|
80
|
+
*/
|
|
81
|
+
export declare const replaceLayout: (layout: PageLayout, page: AttachedPage) => Promise<void>;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
+
import { NamedIdentity } from 'openfin-adapter/src/identity';
|
|
1
2
|
import { PageTabContextMenuItemTemplate } from '../../../client-api-platform/src/shapes';
|
|
2
|
-
export declare const getPageTabMenuTemplate: (
|
|
3
|
+
export declare const getPageTabMenuTemplate: (pageId: string, winIdentity: NamedIdentity) => Promise<PageTabContextMenuItemTemplate[]>;
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Make sure to include trailing slash, as it is essential for deployed version to route correctly.
|
|
5
5
|
*/
|
|
6
6
|
export declare enum PageRoute {
|
|
7
|
-
|
|
8
|
-
HomeSearch = "/home
|
|
7
|
+
Home = "/home/",
|
|
8
|
+
HomeSearch = "/home/?deeplink=search",
|
|
9
9
|
HomePagesRename = "/home/pages/rename/",
|
|
10
10
|
Dock = "/home/dock/",
|
|
11
11
|
BrowserPagesLanding = "/browser/pages/landing/",
|
|
@@ -30,8 +30,14 @@ export declare enum AssetRoute {
|
|
|
30
30
|
IconOpenFinLogo = "/icons/openfinlogo.svg",
|
|
31
31
|
IconFilter = "/icons/filter.svg"
|
|
32
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Home DeepLink Options
|
|
35
|
+
*/
|
|
36
|
+
export declare enum HomeDeepLink {
|
|
37
|
+
Search = "search"
|
|
38
|
+
}
|
|
33
39
|
declare const _default: {
|
|
34
|
-
|
|
40
|
+
Home: PageRoute.Home;
|
|
35
41
|
HomeSearch: PageRoute.HomeSearch;
|
|
36
42
|
HomePagesRename: PageRoute.HomePagesRename;
|
|
37
43
|
Dock: PageRoute.Dock;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const checkUniqueToolbarOptions: (toolbarOptions: any) => void;
|
|
@@ -149,5 +149,6 @@ export declare const isHomeWindowRunning: () => Promise<boolean>;
|
|
|
149
149
|
export declare const showAndFocusStorefront: () => Promise<void>;
|
|
150
150
|
export declare const centerWindowIfOffScreen: (windowIdentity?: WindowIdentity) => Promise<void>;
|
|
151
151
|
export declare const getDisableMultiplePagesOption: (identity: WindowIdentity) => Promise<any>;
|
|
152
|
+
export declare const getIsLockedOption: (identity: WindowIdentity) => Promise<any>;
|
|
152
153
|
export declare const getPlatformWindowTitle: (identity: WindowIdentity) => Promise<any>;
|
|
153
154
|
export {};
|
|
@@ -11,3 +11,4 @@ export declare const showDeleteWorkspaceModal: (windowIdentity: OpenFin.Identity
|
|
|
11
11
|
*/
|
|
12
12
|
export declare const showPlatformQuitModal: (windowIdentity: OpenFin.Identity, workspaceTitle: string) => Promise<boolean>;
|
|
13
13
|
export declare const showRestoreChangesModal: (windowIdentity: any) => Promise<boolean>;
|
|
14
|
+
export declare const getOverwriteWorkspaceMenu: (workspaceTitle: string) => Promise<ResponseModalConfig>;
|
package/home.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{"use strict";var e={3298:(e,t,n)=>{n(5316)},3758:(e,t,n)=>{var o,r,i;n.d(t,{Pt:()=>o,yW:()=>r,el:()=>i}),function(e){e.Suggestion="suggestion"}(o||(o={})),function(e){e.Contact="Contact",e.Custom="Custom",e.List="List",e.Plain="Plain",e.SimpleText="SimpleText"}(r||(r={})),function(e){e.MultiSelect="MultiSelect"}(i||(i={}))},7564:(e,t,n)=>{n(3298),n(3758),n(6114),n(2109)},6114:(e,t,n)=>{var o,r;!function(e){e.Snapshot="snapshot",e.Manifest="manifest",e.View="view",e.External="external"}(o||(o={})),function(e){e.LandingPage="landingPage",e.AppGrid="appGrid"}(r||(r={}))},2109:(e,t,n)=>{var o;!function(e){e.Primary="primary",e.Secondary="secondary",e.TextOnly="textOnly"}(o||(o={}))},7405:(e,t,n)=>{n.d(t,{Ml:()=>s,Xl:()=>f,aB:()=>u});var o=n(6678);const r=o.Ax&&"complete"!==document.readyState&&new Promise((e=>document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))));var i=n(121);var s;!function(e){e.RegisterStorefrontProvider="register-storefront-provider",e.DeregisterStorefrontProvider="deregister-storefront-provider",e.GetStorefrontProviders="get-storefront-providers",e.HideStorefront="hide-storefront",e.GetStorefrontProviderApps="get-storefront-provider-apps",e.GetStorefrontProviderLandingPage="get-storefront-provider-landing-page",e.GetStorefrontProviderFooter="get-storefront-provider-footer",e.GetStorefrontProviderNavigation="get-storefront-provider-navigation",e.LaunchStorefrontProviderApp="launch-storefront-provider-app",e.ShowStorefront="show-storefront",e.CreateStorefrontWindow="create-storefront-window",e.ShowHome="show-home",e.HideHome="hide-home",e.AssignHomeSearchContext="assign-home-search-context",e.GetLegacyPages="get-legacy-pages",e.GetLegacyWorkspaces="get-legacy-workspaces",e.GetComputedPlatformTheme="get-computed-platform-theme"}(s||(s={}));const c=function(e){let t;return()=>{if(!o.sS)throw new Error("getChannelClient cannot be used outside an OpenFin env. Avoid using this method during pre-rendering.");return t||(t=(async()=>{await r;const n=await fin.InterApplicationBus.Channel.connect(e);return n.onDisconnection((async()=>{t=void 0})),n})().then((e=>e)).catch((n=>{throw t=void 0,new Error(`failed to connect to channel provider ${e}: ${n}`)}))),t}}("__of_workspace_protocol__"),a="isLaunchedViaLib",d=e=>{const t=new URL(e);return t.searchParams.append(a,"true"),t.toString()},u=async()=>{if(!await(0,i.JV)(i.iW))return(o.ZK||-1===navigator.userAgent.indexOf("Win"))&&await fin.Application.startFromManifest(d(o.aW)),fin.System.openUrlWithBrowser(d(o.GX))},f=async()=>(await u(),c())},5806:(e,t,n)=>{n.d(t,{q9:()=>o});var o,r,i,s=n(6678);!function(e){e.Workspace="openfin-browser"}(o||(o={})),function(e){e.RunRequested="run-requested",e.WindowOptionsChanged="window-options-changed",e.WindowClosed="window-closed",e.WindowCreated="window-created"}(r||(r={})),function(e){e.FinProtocol="fin-protocol"}(i||(i={}));s.AB,s.AB,o.Workspace,o.Workspace},6678:(e,t,n)=>{var o;n.d(t,{sS:()=>r,Ax:()=>i,AB:()=>c,oC:()=>a,ZK:()=>d,GX:()=>u,aW:()=>f,u0:()=>p}),function(e){e.Local="local",e.Dev="dev",e.Staging="staging",e.Prod="prod"}(o||(o={}));const r="undefined"!=typeof window&&"undefined"!=typeof fin,i=("undefined"==typeof process||process.env?.JEST_WORKER_ID,"undefined"!=typeof window),s=i?window.origin:o.Local,c=r&&fin.me.uuid,a=r&&fin.me.name,d=(r&&fin.me.entityType,"prod"===o.Local),u=(o.Dev,o.Staging,o.Prod,"fins://system-apps/workspace"),f="https://cdn.openfin.co/workspace/7.4.0/app.json",l=e=>e.startsWith("http://")||e.startsWith("https://")?e:s+e,p=(l("https://cdn.openfin.co/workspace/7.4.0"),l("https://cdn.openfin.co/workspace/7.4.0"),"undefined"!=typeof WORKSPACE_DOCS_PLATFORM_URL&&l(WORKSPACE_DOCS_PLATFORM_URL),"undefined"!=typeof WORKSPACE_DOCS_CLIENT_URL&&l(WORKSPACE_DOCS_CLIENT_URL),"7.4.0")},6532:(e,t,n)=>{n.d(t,{ck:()=>c});var o,r=n(6678),i=n(121);!function(e){e.Browser="Browser",e.Home="Home",e.Notification="Notification",e.Storefront="Storefront",e.Platform="Platform",e.Theming="Theming"}(o||(o={}));const s=async(e,t)=>{const n={apiVersion:t.apiVersion||r.u0,componentName:e,componentVersion:r.u0,...t};fin.System.registerUsage({type:"workspace-licensing",data:n})},c=async e=>{i.OI.uuid===i.Gi.uuid&&i.OI.name===i.Gi.name||s(o.Home,e)}},121:(e,t,n)=>{n.d(t,{Gi:()=>a,OI:()=>d,iW:()=>u,JV:()=>f});var o,r,i=n(5806),s=n(6678);!function(e){e.Home="openfin-home",e.Dock="openfin-dock",e.Storefront="openfin-storefront",e.HomeInternal="openfin-home-internal",e.BrowserMenu="openfin-browser-menu",e.BrowserIndicator="openfin-browser-indicator",e.BrowserWindow="internal-generated-window"}(o||(o={})),function(e){e.Shown="shown",e.BoundsChanged="bounds-changed",e.LayoutReady="layout-ready",e.EndUserBoundsChanging="end-user-bounds-changing",e.Blurred="blurred",e.CloseRequested="close-requested",e.Focused="focused",e.ShowRequested="show-requested",e.ViewCrashed="view-crashed",e.ViewAttached="view-attached",e.ViewDetached="view-detached",e.ViewPageTitleUpdated="view-page-title-updated",e.ViewDestroyed="view-destroyed",e.OptionsChanged="options-changed"}(r||(r={}));function c(e){if(!s.sS)throw new Error("getOFWindow can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");return fin.Window.wrapSync(e)}const a={name:s.oC,uuid:s.AB};const d={name:o.Home,uuid:i.q9.Workspace},u=(o.Dock,i.q9.Workspace,o.Storefront,i.q9.Workspace,{name:i.q9.Workspace,uuid:i.q9.Workspace});const f=e=>c(e).getOptions().then((()=>!0)).catch((()=>!1))},5316:(e,t,n)=>{var o,r;n.d(t,{D:()=>o}),function(e){e.Fetching="fetching",e.Fetched="fetched",e.Complete="complete"}(o||(o={})),function(e){e.Active="active",e.Default="default"}(r||(r={}))}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};(()=>{n.r(o),n.d(o,{CLIAction:()=>Ze.Pt,CLIFilterOptionType:()=>Ze.el,CLITemplate:()=>Ze.yW,deregister:()=>Qe,hide:()=>et,register:()=>ze,show:()=>Ye});var e={};n.r(e),n.d(e,{subscribe:()=>oe});var t={};n.r(t),n.d(t,{create:()=>Fe});var r=n(6532),i=n(7405);const s="home";var c;!function(e){e.Commands="home-commands"}(c||(c={}));var a,d=n(5806);n(7564);!function(e){e[e.Initial=0]="Initial",e[e.Open=1]="Open",e[e.Close=2]="Close"}(a||(a={}));const u="all",f="0",l="5",p="6",g=()=>{};function w(e,t){return e?`${e}-${t}`:t}function h(e){return`__search-${e}-topic__`}const y=new Map;function v(e,t){y.has(e)||y.set(e,new Set),y.get(e).add(t)}function m(e,t){const n=y.get(e);n&&n.delete(t)}const S=new Map;function C(e,t){S.has(e)||S.set(e,new Set),S.get(e).add(t)}function R(e,t){const n=S.get(e);n&&n.delete(t)}const b=new Map;async function P(e,t){b.has(e)||b.set(e,new Map),b.get(e).set(t.id,t);const n=y.get(e);if(!n)return;const o=[...n].map((e=>e()));await Promise.all(o)}async function I(e,t){const n=b.get(e);if(!n)return;n.delete(t);const o=S.get(e);if(!o)return;const r=[...o].map((e=>e()));await Promise.all(r)}function k(e){return b.get(e)?[...b.get(e).values()]:[]}function O(e){const t=b.get(e);t&&t.clear()}function B(e,t){const n=b.get(e);return n?n.get(t):null}function x(e,t,n){return{...e,action:n||e.actions[0],dispatcherIdentity:t}}function L(e,t,n="ascending"){const o=e||[];if(!t?.length)return o;const r=[],i=new Map;t.forEach((e=>{if(e.key)return i.set(e.key,e);r.push(e)}));let s=o.map((e=>{const{key:t}=e;if(t&&i.has(t)){const e=i.get(t);return i.delete(t),e}return e}));return s.push(...i.values(),...r),s="ascending"===n?s.sort(((e,t)=>(null!==e.score&&void 0!==e.score?e.score:1/0)-(null!==t.score&&void 0!==t.score?t.score:1/0))):s.sort(((e,t)=>(null!==t.score&&void 0!==t.score?t.score:1/0)-(null!==e.score&&void 0!==e.score?e.score:1/0))),s}function T(e){const t={};let n=[];let o=[];let r=a.Initial;t.getStatus=()=>r,t.getResultBuffer=()=>n,t.setResultBuffer=e=>{n=e,n?.length&&t.onChange()},t.getRevokedBuffer=()=>o,t.setRevokedBuffer=e=>{o=e,o?.length&&t.onChange()},t.onChange=g;const i={};return t.res=i,i.close=()=>{r!==a.Close&&(r=a.Close,t.onChange())},i.open=()=>{r!==a.Open&&(r=a.Open,t.onChange())},i.respond=n=>{const o=L(t.getResultBuffer(),n,e);t.setResultBuffer(o)},i.revoke=(...e)=>{const n=new Set(e),o=t.getResultBuffer().filter((({key:e})=>{const t=n.has(e);return t&&n.delete(e),!t}));t.setResultBuffer(o),n.size&&(t.getRevokedBuffer().forEach((e=>n.add(e))),t.setRevokedBuffer([...n]))},t}function D(e,t,n){const o=new Set;let r=!1;return{close:()=>{r=!0;for(const e of o)e()},req:{id:t,topic:e,...n,context:n?.context||{},onClose:e=>{o.add(e),r&&e()},removeListener:e=>{o.delete(e)}}}}function W(){return{name:fin.me.name,uuid:fin.me.uuid}}function E(){let e;try{const t=fin.Platform.getCurrentSync();if(!t?.identity)return;e=t.identity.uuid}catch(e){}return e}const M="deregistered or does not exist",A=new Error(`provider ${M}`),_=new Error("provider with name already exists"),q=new Error("bad payload"),$=new Error("subscription rejected"),F=new Error(`channel ${M}`),G=new Map;function H(e){const t=U(e);if(t)return t;throw F}function U(e){const t=G.get(e);if(t)return t}function V(e,t){G.set(e,t)}const j=new Map;function K(e){j.has(e)||j.set(e,new Map);const t=j.get(e);return{getRequestsForIdentity:e=>{const n=function(e){return`${e.uuid}:${e.name}`}(e);return t.has(n)||t.set(n,new Map),t.get(n)}}}async function N(e,t){return(await H(e)).dispatch(f,t)}function X({namespacedTopic:e,topic:t}){const n=B.bind(null,e),o=K(e),r=N.bind(null,e);return async(e,i)=>{if(!e||!e.id||!e.providerId){const e=q;return{error:e.message}}const{id:s,providerId:c}=e,a=n(c);if(!a){const e=A;return{error:e.message}}const d=o.getRequestsForIdentity(i);let u=d.get(e.id);u||(u=D(t,s,e),d.set(e.id,u));const f=T(),l=()=>{const e=f.getResultBuffer();f.setResultBuffer([]);const t=f.getRevokedBuffer();f.setRevokedBuffer([]);const n=f.getStatus();r({id:s,providerId:c,results:e,revoked:t,status:n})};let p=!0,g=!1;f.onChange=()=>{if(p)return p=!1,void l();g||(g=!0,setTimeout((()=>{g=!1,l()}),100))};try{const{results:e,context:t}=await a.onUserInput(u.req,f.res),n=f.getStatus();return{id:s,providerId:c,status:n,results:e,context:t}}catch(e){return{id:s,providerId:c,error:e.message}}}}async function J(e,t,n){const o=n||await H(e),r=W(),i={identity:r,...t,onUserInput:void 0,onResultDispatch:void 0};await o.dispatch("2",i),await P(e,{identity:r,...t})}async function Z(e,t){const n=await H(e);return await n.dispatch("3",t),I(e,t)}async function z(e,t,n,o){const r=x(n,W(),o),i=B(e,t);if(i){const{onResultDispatch:e}=i;if(!e)return;return e(r)}const s={providerId:t,result:r};return(await H(e)).dispatch(l,s)}async function Q(e,t){const n={...t,context:t?.context||{}},o={},r=async function*(e,t,{setState:n}){const o=await H(e);for(;;){const e=await o.dispatch("1",t),r=e.error;if(r)throw new Error(r);const i=e;if(t.id=i.id,n(i.state),i.done)return i.value;yield i.value}}(e,n,{setState:e=>{o.state=e}});let i=await r.next();return o.id=n.id,o.close=()=>{!async function(e,t){(await H(e)).dispatch(p,{id:t})}(e,o.id)},o.next=()=>{if(i){const e=i;return i=void 0,e}return r.next()},o}async function Y(e){return(await H(e)).dispatch("4",null)}async function ee(e){const t=await H(e);var n;n=e,G.delete(n),O(e),await t.disconnect()}function te(e){const{namespacedTopic:t}=e,n=K(t);return async o=>{if(!U(t))return;const r=n.getRequestsForIdentity(o);for(const{req:e,close:t}of r.values())t(),r.delete(e.id);V(t,(async e=>{const{namespacedTopic:t}=e,n=await ne(e);for(const e of k(t))await J(t,e,n);return n})(e))}}async function ne(e){const{namespacedTopic:t}=e,n=h(t),o=await async function(e){for(let t=0;t<50;t++)try{return await fin.InterApplicationBus.Channel.connect(e,{wait:!1})}catch(e){if(49===t)throw e;await new Promise((e=>setTimeout(e,1e3)))}}(n);return o.register(f,X(e)),o.register(p,function(e){const t=K(e);return(e,n)=>{const o=t.getRequestsForIdentity(n),r=o.get(e.id);r&&(r.close(),o.delete(e.id))}}(t)),o.register(l,function(e){return async(t,n)=>{if(!t||!t.providerId||!t.result)return;const o=B(e,t.providerId);if(!o)return;const{onResultDispatch:r}=o;return r?(t.result.dispatcherIdentity=n,r(t.result)):void 0}}(t)),o.onDisconnection(te(e)),o}async function oe(e){const t=("string"==typeof e?e:e?.topic)||u,n=("string"==typeof e?null:e?.uuid)||E(),o=w(n,t),r={topic:t,namespace:n,namespacedTopic:o};let i=U(o);return i||(i=ne(r),V(o,i),await i),{getAllProviders:Y.bind(null,o),register:J.bind(null,o),search:Q.bind(null,o),deregister:Z.bind(null,o),dispatch:z.bind(null,o),disconnect:ee.bind(null,o)}}const re=new Map;function ie(e){const t=se(e);if(t)return t;throw F}function se(e){const t=re.get(e);if(t)return t}const ce=new Map;function ae(e,t){ce.has(e)||ce.set(e,new Set),ce.get(e).add(t)}function de(e,t){const n=ce.get(e);n&&n.delete(t)}var ue=n(5316);function fe(e){return[...k(e)].map((e=>({...e,onUserInput:void 0,onResultDispatch:void 0})))}async function le(e,t){if(B(e,t.id))throw new Error("provider with name already exists");const n=W();await P(e,{identity:n,...t})}function pe(e,t){I(e,t)}async function ge(e,t,n,o){const r=B(e,t);if(!r)throw A;const{onResultDispatch:i}=r;if(!i)return;return i(x(n,W(),o))}async function*we(e,t,n){const o=function(e,t){const n=[],o=[],r=[],i=[];for(const s of e){const e=T(s.scoreOrder),c={results:[],provider:{id:s.id,identity:s.identity,title:s.title,scoreOrder:s.scoreOrder,icon:s.icon}};n.push(c),o.push(e);const a=(async()=>{try{const{results:n,context:o}=await s.onUserInput(t,e.res);c.results=L(c.results,n),c.context={...c.context,...o}}catch(e){c.error=e}})();a.finally((()=>{a.done=!0})),i.push(a),r.push(r.length)}return{providerResponses:n,listenerResponses:o,openListenerResponses:r,initialResponsePromises:i}}(t.targets?t.targets.map((t=>B(e,t))).filter((e=>!!e)):[...k(e).filter((e=>!e.hidden))],t),{providerResponses:r,listenerResponses:i}=o;let{openListenerResponses:s,initialResponsePromises:c}=o,d=ue.D.Fetching;const u=e=>{d=e,n.setState(d)};let f,l=!1;t.onClose((()=>{l=!0,f&&f()}));do{let e=!1;if(c.length){const t=[];for(const n of c)n.done?e=!0:t.push(n);c=t,c.length||(u(ue.D.Fetched),e=!0)}let t,n=!1;const o=()=>{n=!0,t&&t()},p=[];for(const t of s){const n=i[t],s=r[t],c=n.getStatus();(c===a.Open||d===ue.D.Fetching&&c===a.Initial)&&(p.push(t),n.onChange=o);const u=n.getResultBuffer();u.length&&(n.setResultBuffer([]),s.results=L(s.results,u),e=!0);const f=n.getRevokedBuffer();if(f.length){n.setRevokedBuffer([]);const t=new Set(f);s.results=s.results.filter((({key:e})=>!t.has(e))),e=!0}}if(s=p,e&&(yield r),l)break;n||(s.length||c.length)&&await Promise.race([...c,new Promise((e=>{t=e})),new Promise((e=>{f=e}))])}while(s.length||c.length);return u(ue.D.Complete),r}let he=0;function ye({namespacedTopic:e,topic:t},n){he+=1;const o=D(t,he.toString(),n),r=we(e,o.req,{setState:e=>{r.state=e}});return r.id=he.toString(),r.close=o.close,r.state=ue.D.Fetching,r}const ve=new Map;function me(e,t){return`${e}:${t}`}function Se(e){return async(t,...n)=>{if(!t)return{error:q.message};let o;if(t.id)o=me(e.namespacedTopic,t.id);else{const n=ye(e,t);o=me(e.namespacedTopic,n.id),t.id=n.id,ve.set(o,{generator:n})}const r=ve.get(o);clearTimeout(r.timeout);const i=await r.generator.next();return r.timeout=function(e){return window.setTimeout((()=>{ve.delete(e)}),1e4)}(o),{...i,id:t.id,state:r.generator.state}}}function Ce(e,t,n){return ie(e).dispatch(t,p,{id:n})}function Re(e){return t=>function(e,t){const n=me(e,t),o=ve.get(n);o&&o.generator.close()}(e,t.id)}async function be(e,t,{id:n,query:o,context:r,targets:i}){const s=ie(e),c={id:n,query:o,context:r,targets:i,providerId:t.id},a=await s.dispatch(t.identity,f,c),d=a.error;if(d)throw new Error(d);return a}const Pe=new Map;function Ie(e,t,n){return`${e}:${t.name}:${t.uuid}:${n}`}const ke=new Map;function Oe(e,t,n){return`${e}:${t}:${n}`}function Be(e,t){const n=Ie.bind(null,e,t.identity),o=Ce.bind(null,e,t.identity),r=be.bind(null,e,t);return async(i,s)=>{const c=n(i.id);if(!Pe.has(c)){const e=()=>{o(i.id),Pe.delete(c)};Pe.set(c,e),i.onClose(e)}const d=Oe(e,t.id,i.id),u=()=>{ke.delete(d),s.close()};i.onClose(u),ke.set(d,(e=>{e.results?.length&&s.respond(e.results),e.revoked?.length&&s.revoke(...e.revoked),e.status===a.Open&&s.open(),e.status===a.Close&&u()}));const f=await r(i);return f.status===a.Open&&s.open(),f.status!==a.Close&&f.status!==a.Initial||u(),f}}function xe(e,t){return async n=>{const o=ie(e),r={providerId:t.id,result:n};return o.dispatch(t.identity,l,r)}}const Le=new Map;function Te(e,t){return`${e}-${t.name}-${t.uuid}`}function De(e){return async(t,n)=>{if(!t||!t.id)return void new Error(JSON.stringify(t));if(B(e,t.id))throw _;t.identity=n,await async function(e,t){const n=Te(e,t.identity);Le.has(n)||Le.set(n,[]),Le.get(n).push(t.id),await P(e,{...t,onUserInput:Be(e,t),onResultDispatch:xe(e,t)})}(e,t)}}function We(e){return t=>{t&&function(e,t){const n=B(e,t);if(!n)return;const o=Te(e,n.identity),r=Le.get(o);if(r){const n=r.findIndex((e=>e===t));-1!==n&&(r.splice(n,1),I(e,t))}}(e,t)}}const Ee=new Map;function Me(e,t){Ee.has(e)||Ee.set(e,new Set),Ee.get(e).add(t)}function Ae(e,t){const n=Ee.get(e);n&&n.delete(t)}function _e(e){return async t=>{!function(e,t){const n=Te(e,t),o=Le.get(n);if(o){for(const t of o)I(e,t);Le.delete(n)}}(e,t);const n=Ee.get(e);n&&n.forEach((e=>e(t)))}}async function qe(e){const{namespacedTopic:t}=e,n=h(e.namespacedTopic),o=await(r=n,fin.InterApplicationBus.Channel.create(r));var r;return o.onConnection(function({namespacedTopic:e}){return async t=>{const n=ce.get(e);if(n)for(const e of n)if(!await e(t))throw $}}(e)),o.onDisconnection(_e(t)),o.register(p,Re(t)),o.register(f,function(e){return t=>{const n=Oe(e,t.providerId,t.id),o=ke.get(n);o&&o(t)}}(t)),o.register("2",De(t)),o.register("3",We(t)),o.register("4",function(e){return async()=>fe(e)}(t)),o.register("1",Se(e)),o.register(l,function(e){return async(t,n)=>{if(!t||!t.providerId||!t.result)return;const o=B(e,t.providerId);if(!o)throw A;const{onResultDispatch:r}=o;return r?(t.result.dispatcherIdentity=n,r(t.result)):void 0}}(t)),o}async function $e(e){const t=ie(e);var n;n=e,re.delete(n),await t.destroy(),O(e)}async function Fe(e){const t=("string"==typeof e?e:e?.topic)||u,n=E(),o=w(n,t),r={topic:t,namespace:n,namespacedTopic:o};let i=se(o);i||(i=await qe(r),function(e,t){re.set(e,t)}(o,i));const s=de.bind(null,o),c=Ae.bind(null,o),a=m.bind(null,o),d=R.bind(null,o);return{getAllProviders:fe.bind(null,o),search:ye.bind(null,r),register:le.bind(null,o),deregister:pe.bind(null,o),onSubscription:ae.bind(null,o),onDisconnect:Me.bind(null,o),onRegister:v.bind(null,o),onDeregister:C.bind(null,o),dispatch:ge.bind(null,r),disconnect:$e.bind(null,o),removeListener:e=>{s(e),c(e),a(e),d(e)}}}const{create:Ge}=t,{subscribe:He}=e,Ue={create:Ge,subscribe:He,defaultTopic:"all"},Ve=()=>{const e=window;e.search=Ue,e.fin&&(e.fin.Search=Ue)},je=e=>{const t=()=>{Ve(),window.removeEventListener(e,t)};return t};if("undefined"!=typeof window){Ve();const e="load",t=je(e);window.addEventListener(e,t);const n="DOMContentLoaded",o=je(n);window.addEventListener(n,o)}const Ke=new Map;async function Ne(){await async function(e){Ke.set(e,await He({topic:e,uuid:d.q9.Workspace}))}(s)}let Xe;async function Je(e){return await async function(){return Xe||(Xe=Ne()),Xe}(),Ke.get(e)}var Ze=n(3758);const ze=async e=>{if(!e.icon)throw new Error(`${e.id} provider needs to have icon property defined.`);await(0,i.aB)();const t=await Je(s);try{const n=await t.register(e);return(0,r.ck)({allowed:!0}),n}catch(e){throw(0,r.ck)({allowed:!1,rejectionCode:e.message}),e}},Qe=async e=>{await(0,i.aB)();return(await Je(s)).deregister(e)};async function Ye(){return(await(0,i.Xl)()).dispatch(i.Ml.ShowHome,void 0)}async function et(){return(await(0,i.Xl)()).dispatch(i.Ml.HideHome,void 0)}})(),module.exports=o})();
|
|
1
|
+
(()=>{"use strict";var e={3298:(e,t,n)=>{n(5316)},3758:(e,t,n)=>{var o,r,i;n.d(t,{Pt:()=>o,yW:()=>r,el:()=>i}),function(e){e.Suggestion="suggestion"}(o||(o={})),function(e){e.Contact="Contact",e.Custom="Custom",e.List="List",e.Plain="Plain",e.SimpleText="SimpleText",e.Loading="Loading",e.Error="Error"}(r||(r={})),function(e){e.MultiSelect="MultiSelect"}(i||(i={}))},7564:(e,t,n)=>{n(3298),n(3758),n(6114),n(2109)},6114:(e,t,n)=>{var o,r;!function(e){e.Snapshot="snapshot",e.Manifest="manifest",e.View="view",e.External="external"}(o||(o={})),function(e){e.LandingPage="landingPage",e.AppGrid="appGrid"}(r||(r={}))},2109:(e,t,n)=>{var o;!function(e){e.Primary="primary",e.Secondary="secondary",e.TextOnly="textOnly"}(o||(o={}))},7405:(e,t,n)=>{n.d(t,{Ml:()=>s,Xl:()=>f,aB:()=>u});var o=n(6678);const r=o.Ax&&"complete"!==document.readyState&&new Promise((e=>document.addEventListener("readystatechange",(()=>{"complete"===document.readyState&&e()}))));var i=n(121);var s;!function(e){e.RegisterStorefrontProvider="register-storefront-provider",e.DeregisterStorefrontProvider="deregister-storefront-provider",e.GetStorefrontProviders="get-storefront-providers",e.HideStorefront="hide-storefront",e.GetStorefrontProviderApps="get-storefront-provider-apps",e.GetStorefrontProviderLandingPage="get-storefront-provider-landing-page",e.GetStorefrontProviderFooter="get-storefront-provider-footer",e.GetStorefrontProviderNavigation="get-storefront-provider-navigation",e.LaunchStorefrontProviderApp="launch-storefront-provider-app",e.ShowStorefront="show-storefront",e.CreateStorefrontWindow="create-storefront-window",e.ShowHome="show-home",e.HideHome="hide-home",e.AssignHomeSearchContext="assign-home-search-context",e.GetLegacyPages="get-legacy-pages",e.GetLegacyWorkspaces="get-legacy-workspaces",e.GetComputedPlatformTheme="get-computed-platform-theme"}(s||(s={}));const c=function(e){let t;return()=>{if(!o.sS)throw new Error("getChannelClient cannot be used outside an OpenFin env. Avoid using this method during pre-rendering.");return t||(t=(async()=>{await r;const n=await fin.InterApplicationBus.Channel.connect(e);return n.onDisconnection((async()=>{t=void 0})),n})().then((e=>e)).catch((n=>{throw t=void 0,new Error(`failed to connect to channel provider ${e}: ${n}`)}))),t}}("__of_workspace_protocol__"),a="isLaunchedViaLib",d=e=>{const t=new URL(e);return t.searchParams.append(a,"true"),t.toString()},u=async()=>{if(!await(0,i.JV)(i.iW))return(o.ZK||-1===navigator.userAgent.indexOf("Win"))&&await fin.Application.startFromManifest(d(o.aW)),fin.System.openUrlWithBrowser(d(o.GX))},f=async()=>(await u(),c())},5806:(e,t,n)=>{n.d(t,{q9:()=>o});var o,r,i,s=n(6678);!function(e){e.Workspace="openfin-browser"}(o||(o={})),function(e){e.RunRequested="run-requested",e.WindowOptionsChanged="window-options-changed",e.WindowClosed="window-closed",e.WindowCreated="window-created"}(r||(r={})),function(e){e.FinProtocol="fin-protocol"}(i||(i={}));s.AB,s.AB,o.Workspace,o.Workspace},6678:(e,t,n)=>{var o;n.d(t,{sS:()=>r,Ax:()=>i,AB:()=>c,oC:()=>a,ZK:()=>d,GX:()=>u,aW:()=>f,u0:()=>p}),function(e){e.Local="local",e.Dev="dev",e.Staging="staging",e.Prod="prod"}(o||(o={}));const r="undefined"!=typeof window&&"undefined"!=typeof fin,i=("undefined"==typeof process||process.env?.JEST_WORKER_ID,"undefined"!=typeof window),s=i?window.origin:o.Local,c=r&&fin.me.uuid,a=r&&fin.me.name,d=(r&&fin.me.entityType,"prod"===o.Local),u=(o.Dev,o.Staging,o.Prod,"fins://system-apps/workspace"),f="https://cdn.openfin.co/workspace/8.1.0/app.json",l=e=>e.startsWith("http://")||e.startsWith("https://")?e:s+e,p=(l("https://cdn.openfin.co/workspace/8.1.0"),l("https://cdn.openfin.co/workspace/8.1.0"),"undefined"!=typeof WORKSPACE_DOCS_PLATFORM_URL&&l(WORKSPACE_DOCS_PLATFORM_URL),"undefined"!=typeof WORKSPACE_DOCS_CLIENT_URL&&l(WORKSPACE_DOCS_CLIENT_URL),"8.1.0")},6532:(e,t,n)=>{n.d(t,{ck:()=>c});var o,r=n(6678),i=n(121);!function(e){e.Browser="Browser",e.Home="Home",e.Notification="Notification",e.Storefront="Storefront",e.Platform="Platform",e.Theming="Theming"}(o||(o={}));const s=async(e,t)=>{const n={apiVersion:t.apiVersion||r.u0,componentName:e,componentVersion:r.u0,...t};fin.System.registerUsage({type:"workspace-licensing",data:n})},c=async e=>{i.OI.uuid===i.Gi.uuid&&i.OI.name===i.Gi.name||s(o.Home,e)}},121:(e,t,n)=>{n.d(t,{Gi:()=>a,OI:()=>d,iW:()=>u,JV:()=>f});var o,r,i=n(5806),s=n(6678);!function(e){e.Home="openfin-home",e.Dock="openfin-dock",e.Storefront="openfin-storefront",e.HomeInternal="openfin-home-internal",e.BrowserMenu="openfin-browser-menu",e.BrowserIndicator="openfin-browser-indicator",e.BrowserWindow="internal-generated-window"}(o||(o={})),function(e){e.Shown="shown",e.BoundsChanged="bounds-changed",e.LayoutReady="layout-ready",e.EndUserBoundsChanging="end-user-bounds-changing",e.Blurred="blurred",e.CloseRequested="close-requested",e.Focused="focused",e.ShowRequested="show-requested",e.ViewCrashed="view-crashed",e.ViewAttached="view-attached",e.ViewDetached="view-detached",e.ViewPageTitleUpdated="view-page-title-updated",e.ViewDestroyed="view-destroyed",e.OptionsChanged="options-changed"}(r||(r={}));function c(e){if(!s.sS)throw new Error("getOFWindow can only be used in an OpenFin env. Avoid calling this method during pre-rendering.");return fin.Window.wrapSync(e)}const a={name:s.oC,uuid:s.AB};const d={name:o.Home,uuid:i.q9.Workspace},u=(o.Dock,i.q9.Workspace,o.Storefront,i.q9.Workspace,{name:i.q9.Workspace,uuid:i.q9.Workspace});const f=e=>c(e).getOptions().then((()=>!0)).catch((()=>!1))},5316:(e,t,n)=>{var o,r,i;n.d(t,{De:()=>o,px:()=>r}),function(e){e.Fetching="fetching",e.Fetched="fetched",e.Complete="complete"}(o||(o={})),function(e){e.UserAction="user-action",e.FocusChange="focus-change",e.Reload="reload"}(r||(r={})),function(e){e.Active="active",e.Default="default"}(i||(i={}))}},t={};function n(o){var r=t[o];if(void 0!==r)return r.exports;var i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}n.d=(e,t)=>{for(var o in t)n.o(t,o)&&!n.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var o={};(()=>{n.r(o),n.d(o,{CLIAction:()=>Ze.Pt,CLIFilterOptionType:()=>Ze.el,CLITemplate:()=>Ze.yW,deregister:()=>Qe,hide:()=>et,register:()=>ze,show:()=>Ye});var e={};n.r(e),n.d(e,{subscribe:()=>re});var t={};n.r(t),n.d(t,{create:()=>$e});var r=n(6532),i=n(7405);const s="home";var c;!function(e){e.Commands="home-commands"}(c||(c={}));var a,d=n(5806);n(7564);!function(e){e[e.Initial=0]="Initial",e[e.Open=1]="Open",e[e.Close=2]="Close"}(a||(a={}));var u=n(5316);const f="all",l="0",p="5",g="6",w=()=>{};function h(e,t){return e?`${e}-${t}`:t}function y(e){return`__search-${e}-topic__`}const v=new Map;function m(e,t){v.has(e)||v.set(e,new Set),v.get(e).add(t)}function S(e,t){const n=v.get(e);n&&n.delete(t)}const C=new Map;function R(e,t){C.has(e)||C.set(e,new Set),C.get(e).add(t)}function b(e,t){const n=C.get(e);n&&n.delete(t)}const P=new Map;async function I(e,t){P.has(e)||P.set(e,new Map),P.get(e).set(t.id,t);const n=v.get(e);if(!n)return;const o=[...n].map((e=>e()));await Promise.all(o)}async function k(e,t){const n=P.get(e);if(!n)return;n.delete(t);const o=C.get(e);if(!o)return;const r=[...o].map((e=>e()));await Promise.all(r)}function O(e){return P.get(e)?[...P.get(e).values()]:[]}function x(e){const t=P.get(e);t&&t.clear()}function B(e,t){const n=P.get(e);return n?n.get(t):null}function L(e,t,n){return{...e,action:n||{...e.actions[0],trigger:u.px.UserAction},dispatcherIdentity:t}}function E(e,t,n="ascending"){const o=e||[];if(!t?.length)return o;const r=[],i=new Map;t.forEach((e=>{if(e.key)return i.set(e.key,e);r.push(e)}));let s=o.map((e=>{const{key:t}=e;if(t&&i.has(t)){const e=i.get(t);return i.delete(t),e}return e}));return s.push(...i.values(),...r),s="ascending"===n?s.sort(((e,t)=>(null!==e.score&&void 0!==e.score?e.score:1/0)-(null!==t.score&&void 0!==t.score?t.score:1/0))):s.sort(((e,t)=>(null!==t.score&&void 0!==t.score?t.score:1/0)-(null!==e.score&&void 0!==e.score?e.score:1/0))),s}function T(e){const t={};let n=[];let o=[];let r=a.Initial;t.getStatus=()=>r,t.getResultBuffer=()=>n,t.setResultBuffer=e=>{n=e,n?.length&&t.onChange()},t.getRevokedBuffer=()=>o,t.setRevokedBuffer=e=>{o=e,o?.length&&t.onChange()},t.onChange=w;const i={};return t.res=i,i.close=()=>{r!==a.Close&&(r=a.Close,t.onChange())},i.open=()=>{r!==a.Open&&(r=a.Open,t.onChange())},i.respond=n=>{const o=E(t.getResultBuffer(),n,e);t.setResultBuffer(o)},i.revoke=(...e)=>{const n=new Set(e),o=t.getResultBuffer().filter((({key:e})=>{const t=n.has(e);return t&&n.delete(e),!t}));t.setResultBuffer(o),n.size&&(t.getRevokedBuffer().forEach((e=>n.add(e))),t.setRevokedBuffer([...n]))},t}function D(e,t,n){const o=new Set;let r=!1;return{close:()=>{r=!0;for(const e of o)e()},req:{id:t,topic:e,...n,context:n?.context||{},onClose:e=>{o.add(e),r&&e()},removeListener:e=>{o.delete(e)}}}}function W(){return{name:fin.me.name,uuid:fin.me.uuid}}function A(){let e;try{const t=fin.Platform.getCurrentSync();if(!t?.identity)return;e=t.identity.uuid}catch(e){}return e}const M="deregistered or does not exist",_=new Error(`provider ${M}`),q=new Error("provider with name already exists"),F=new Error("bad payload"),$=new Error("subscription rejected"),U=new Error(`channel ${M}`),G=new Map;function H(e){const t=V(e);if(t)return t;throw U}function V(e){const t=G.get(e);if(t)return t}function j(e,t){G.set(e,t)}const K=new Map;function N(e){K.has(e)||K.set(e,new Map);const t=K.get(e);return{getRequestsForIdentity:e=>{const n=function(e){return`${e.uuid}:${e.name}`}(e);return t.has(n)||t.set(n,new Map),t.get(n)}}}async function X(e,t){return(await H(e)).dispatch(l,t)}function J({namespacedTopic:e,topic:t}){const n=B.bind(null,e),o=N(e),r=X.bind(null,e);return async(e,i)=>{if(!e||!e.id||!e.providerId){const e=F;return{error:e.message}}const{id:s,providerId:c}=e,a=n(c);if(!a){const e=_;return{error:e.message}}const d=o.getRequestsForIdentity(i);let u=d.get(e.id);u||(u=D(t,s,e),d.set(e.id,u));const f=T(),l=()=>{const e=f.getResultBuffer();f.setResultBuffer([]);const t=f.getRevokedBuffer();f.setRevokedBuffer([]);const n=f.getStatus();r({id:s,providerId:c,results:e,revoked:t,status:n})};let p=!0,g=!1;f.onChange=()=>{if(p)return p=!1,void l();g||(g=!0,setTimeout((()=>{g=!1,l()}),100))};try{const{results:e,context:t}=await a.onUserInput(u.req,f.res),n=f.getStatus();return{id:s,providerId:c,status:n,results:e,context:t}}catch(e){return{id:s,providerId:c,error:e.message}}}}async function Z(e,t,n){const o=n||await H(e),r=W(),i={identity:r,...t,onUserInput:void 0,onResultDispatch:void 0};await o.dispatch("2",i),await I(e,{identity:r,...t})}async function z(e,t){const n=await H(e);return await n.dispatch("3",t),k(e,t)}async function Q(e,t,n,o){const r=L(n,W(),o),i=B(e,t);if(i){const{onResultDispatch:e}=i;if(!e)return;return e(r)}const s={providerId:t,result:r};return(await H(e)).dispatch(p,s)}async function Y(e,t){const n={...t,context:t?.context||{}},o={},r=async function*(e,t,{setState:n}){const o=await H(e);for(;;){const e=await o.dispatch("1",t),r=e.error;if(r)throw new Error(r);const i=e;if(t.id=i.id,n(i.state),i.done)return i.value;yield i.value}}(e,n,{setState:e=>{o.state=e}});let i=await r.next();return o.id=n.id,o.close=()=>{!async function(e,t){(await H(e)).dispatch(g,{id:t})}(e,o.id)},o.next=()=>{if(i){const e=i;return i=void 0,e}return r.next()},o}async function ee(e){return(await H(e)).dispatch("4",null)}async function te(e){const t=await H(e);var n;n=e,G.delete(n),x(e),await t.disconnect()}function ne(e){const{namespacedTopic:t}=e,n=N(t);return async o=>{if(!V(t))return;const r=n.getRequestsForIdentity(o);for(const{req:e,close:t}of r.values())t(),r.delete(e.id);j(t,(async e=>{const{namespacedTopic:t}=e,n=await oe(e);for(const e of O(t))await Z(t,e,n);return n})(e))}}async function oe(e){const{namespacedTopic:t}=e,n=y(t),o=await async function(e){for(let t=0;t<50;t++)try{return await fin.InterApplicationBus.Channel.connect(e,{wait:!1})}catch(e){if(49===t)throw e;await new Promise((e=>setTimeout(e,1e3)))}}(n);return o.register(l,J(e)),o.register(g,function(e){const t=N(e);return(e,n)=>{const o=t.getRequestsForIdentity(n),r=o.get(e.id);r&&(r.close(),o.delete(e.id))}}(t)),o.register(p,function(e){return async(t,n)=>{if(!t||!t.providerId||!t.result)return;const o=B(e,t.providerId);if(!o)return;const{onResultDispatch:r}=o;return r?(t.result.dispatcherIdentity=n,r(t.result)):void 0}}(t)),o.onDisconnection(ne(e)),o}async function re(e){const t=("string"==typeof e?e:e?.topic)||f,n=("string"==typeof e?null:e?.uuid)||A(),o=h(n,t),r={topic:t,namespace:n,namespacedTopic:o};let i=V(o);return i||(i=oe(r),j(o,i),await i),{getAllProviders:ee.bind(null,o),register:Z.bind(null,o),search:Y.bind(null,o),deregister:z.bind(null,o),dispatch:Q.bind(null,o),disconnect:te.bind(null,o)}}const ie=new Map;function se(e){const t=ce(e);if(t)return t;throw U}function ce(e){const t=ie.get(e);if(t)return t}const ae=new Map;function de(e,t){ae.has(e)||ae.set(e,new Set),ae.get(e).add(t)}function ue(e,t){const n=ae.get(e);n&&n.delete(t)}function fe(e){return[...O(e)].map((e=>({...e,onUserInput:void 0,onResultDispatch:void 0})))}async function le(e,t){if(B(e,t.id))throw new Error("provider with name already exists");const n=W();await I(e,{identity:n,...t})}function pe(e,t){k(e,t)}async function ge(e,t,n,o){const r=B(e,t);if(!r)throw _;const{onResultDispatch:i}=r;if(!i)return;return i(L(n,W(),o))}async function*we(e,t,n){const o=function(e,t){const n=[],o=[],r=[],i=[];for(const s of e){const e=T(s.scoreOrder),c={results:[],provider:{id:s.id,identity:s.identity,title:s.title,scoreOrder:s.scoreOrder,icon:s.icon,dispatchFocusEvents:s.dispatchFocusEvents}};n.push(c),o.push(e);const a=(async()=>{try{const{results:n,context:o}=await s.onUserInput(t,e.res);c.results=E(c.results,n),c.context={...c.context,...o}}catch(e){c.error=e}})();a.finally((()=>{a.done=!0})),i.push(a),r.push(r.length)}return{providerResponses:n,listenerResponses:o,openListenerResponses:r,initialResponsePromises:i}}(t.targets?t.targets.map((t=>B(e,t))).filter((e=>!!e)):[...O(e).filter((e=>!e.hidden))],t),{providerResponses:r,listenerResponses:i}=o;let{openListenerResponses:s,initialResponsePromises:c}=o,d=u.De.Fetching;const f=e=>{d=e,n.setState(d)};let l,p=!1;t.onClose((()=>{p=!0,l&&l()}));do{let e=!1;if(c.length){const t=[];for(const n of c)n.done?e=!0:t.push(n);c=t,c.length||(f(u.De.Fetched),e=!0)}let t,n=!1;const o=()=>{n=!0,t&&t()},g=[];for(const t of s){const n=i[t],s=r[t],c=n.getStatus();(c===a.Open||d===u.De.Fetching&&c===a.Initial)&&(g.push(t),n.onChange=o);const f=n.getResultBuffer();f.length&&(n.setResultBuffer([]),s.results=E(s.results,f),e=!0);const l=n.getRevokedBuffer();if(l.length){n.setRevokedBuffer([]);const t=new Set(l);s.results=s.results.filter((({key:e})=>!t.has(e))),e=!0}}if(s=g,e&&(yield r),p)break;n||(s.length||c.length)&&await Promise.race([...c,new Promise((e=>{t=e})),new Promise((e=>{l=e}))])}while(s.length||c.length);return f(u.De.Complete),r}let he=0;function ye({namespacedTopic:e,topic:t},n){he+=1;const o=D(t,he.toString(),n),r=we(e,o.req,{setState:e=>{r.state=e}});return r.id=he.toString(),r.close=o.close,r.state=u.De.Fetching,r}const ve=new Map;function me(e,t){return`${e}:${t}`}function Se(e){return async(t,...n)=>{if(!t)return{error:F.message};let o;if(t.id)o=me(e.namespacedTopic,t.id);else{const n=ye(e,t);o=me(e.namespacedTopic,n.id),t.id=n.id,ve.set(o,{generator:n})}const r=ve.get(o);clearTimeout(r.timeout);const i=await r.generator.next();return r.timeout=function(e){return window.setTimeout((()=>{ve.delete(e)}),1e4)}(o),{...i,id:t.id,state:r.generator.state}}}function Ce(e,t,n){return se(e).dispatch(t,g,{id:n})}function Re(e){return t=>function(e,t){const n=me(e,t),o=ve.get(n);o&&o.generator.close()}(e,t.id)}async function be(e,t,{id:n,query:o,context:r,targets:i}){const s=se(e),c={id:n,query:o,context:r,targets:i,providerId:t.id},a=await s.dispatch(t.identity,l,c),d=a.error;if(d)throw new Error(d);return a}const Pe=new Map;function Ie(e,t,n){return`${e}:${t.name}:${t.uuid}:${n}`}const ke=new Map;function Oe(e,t,n){return`${e}:${t}:${n}`}function xe(e,t){const n=Ie.bind(null,e,t.identity),o=Ce.bind(null,e,t.identity),r=be.bind(null,e,t);return async(i,s)=>{const c=n(i.id);if(!Pe.has(c)){const e=()=>{o(i.id),Pe.delete(c)};Pe.set(c,e),i.onClose(e)}const d=Oe(e,t.id,i.id),u=()=>{ke.delete(d),s.close()};i.onClose(u),ke.set(d,(e=>{e.results?.length&&s.respond(e.results),e.revoked?.length&&s.revoke(...e.revoked),e.status===a.Open&&s.open(),e.status===a.Close&&u()}));const f=await r(i);return f.status===a.Open&&s.open(),f.status!==a.Close&&f.status!==a.Initial||u(),f}}function Be(e,t){return async n=>{const o=se(e),r={providerId:t.id,result:n};return o.dispatch(t.identity,p,r)}}const Le=new Map;function Ee(e,t){return`${e}-${t.name}-${t.uuid}`}function Te(e){return async(t,n)=>{if(!t||!t.id)return void new Error(JSON.stringify(t));if(B(e,t.id))throw q;t.identity=n,await async function(e,t){const n=Ee(e,t.identity);Le.has(n)||Le.set(n,[]),Le.get(n).push(t.id),await I(e,{...t,onUserInput:xe(e,t),onResultDispatch:Be(e,t)})}(e,t)}}function De(e){return t=>{t&&function(e,t){const n=B(e,t);if(!n)return;const o=Ee(e,n.identity),r=Le.get(o);if(r){const n=r.findIndex((e=>e===t));-1!==n&&(r.splice(n,1),k(e,t))}}(e,t)}}const We=new Map;function Ae(e,t){We.has(e)||We.set(e,new Set),We.get(e).add(t)}function Me(e,t){const n=We.get(e);n&&n.delete(t)}function _e(e){return async t=>{!function(e,t){const n=Ee(e,t),o=Le.get(n);if(o){for(const t of o)k(e,t);Le.delete(n)}}(e,t);const n=We.get(e);n&&n.forEach((e=>e(t)))}}async function qe(e){const{namespacedTopic:t}=e,n=y(e.namespacedTopic),o=await(r=n,fin.InterApplicationBus.Channel.create(r));var r;return o.onConnection(function({namespacedTopic:e}){return async t=>{const n=ae.get(e);if(n)for(const e of n)if(!await e(t))throw $}}(e)),o.onDisconnection(_e(t)),o.register(g,Re(t)),o.register(l,function(e){return t=>{const n=Oe(e,t.providerId,t.id),o=ke.get(n);o&&o(t)}}(t)),o.register("2",Te(t)),o.register("3",De(t)),o.register("4",function(e){return async()=>fe(e)}(t)),o.register("1",Se(e)),o.register(p,function(e){return async(t,n)=>{if(!t||!t.providerId||!t.result)return;const o=B(e,t.providerId);if(!o)throw _;const{onResultDispatch:r}=o;return r?(t.result.dispatcherIdentity=n,r(t.result)):void 0}}(t)),o}async function Fe(e){const t=se(e);var n;n=e,ie.delete(n),await t.destroy(),x(e)}async function $e(e){const t=("string"==typeof e?e:e?.topic)||f,n=A(),o=h(n,t),r={topic:t,namespace:n,namespacedTopic:o};let i=ce(o);i||(i=await qe(r),function(e,t){ie.set(e,t)}(o,i));const s=ue.bind(null,o),c=Me.bind(null,o),a=S.bind(null,o),d=b.bind(null,o);return{getAllProviders:fe.bind(null,o),search:ye.bind(null,r),register:le.bind(null,o),deregister:pe.bind(null,o),onSubscription:de.bind(null,o),onDisconnect:Ae.bind(null,o),onRegister:m.bind(null,o),onDeregister:R.bind(null,o),dispatch:ge.bind(null,r),disconnect:Fe.bind(null,o),removeListener:e=>{s(e),c(e),a(e),d(e)}}}const{create:Ue}=t,{subscribe:Ge}=e,He={create:Ue,subscribe:Ge,defaultTopic:"all"},Ve=()=>{const e=window;e.search=He,e.fin&&(e.fin.Search=He)},je=e=>{const t=()=>{Ve(),window.removeEventListener(e,t)};return t};if("undefined"!=typeof window){Ve();const e="load",t=je(e);window.addEventListener(e,t);const n="DOMContentLoaded",o=je(n);window.addEventListener(n,o)}const Ke=new Map;async function Ne(){await async function(e){Ke.set(e,await Ge({topic:e,uuid:d.q9.Workspace}))}(s)}let Xe;async function Je(e){return await async function(){return Xe||(Xe=Ne()),Xe}(),Ke.get(e)}var Ze=n(3758);const ze=async e=>{if(!e.icon)throw new Error(`${e.id} provider needs to have icon property defined.`);await(0,i.aB)();const t=await Je(s);try{const n=await t.register(e);return(0,r.ck)({allowed:!0}),n}catch(e){throw(0,r.ck)({allowed:!1,rejectionCode:e.message}),e}},Qe=async e=>{await(0,i.aB)();return(await Je(s)).deregister(e)};async function Ye(){return(await(0,i.Xl)()).dispatch(i.Ml.ShowHome,void 0)}async function et(){return(await(0,i.Xl)()).dispatch(i.Ml.HideHome,void 0)}})(),module.exports=o})();
|
|
2
2
|
//# sourceMappingURL=home.js.map
|