@openfin/core 34.78.42 → 34.78.45

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/out/mock.d.ts CHANGED
@@ -43,6 +43,23 @@ declare type Accelerator = {
43
43
  zoom: boolean;
44
44
  };
45
45
 
46
+ /**
47
+ * @interface
48
+ */
49
+ declare type AddLayoutInstanceOptions = {
50
+ container: HTMLDivElement;
51
+ layoutName: string;
52
+ layout: LayoutOptions;
53
+ };
54
+
55
+ /**
56
+ * @interface
57
+ */
58
+ declare type AddViewOptions = CreateViewTarget & {
59
+ options: ViewState;
60
+ targetView?: Identity_5;
61
+ };
62
+
46
63
  /**
47
64
  * @interface
48
65
  */
@@ -4371,6 +4388,18 @@ declare type CreatedEvent = BaseViewEvent & {
4371
4388
  type: 'created';
4372
4389
  };
4373
4390
 
4391
+ /**
4392
+ * @interface
4393
+ */
4394
+ declare type CreateLayoutOptions = {
4395
+ /**
4396
+ * @experimental
4397
+ *
4398
+ * @returns
4399
+ */
4400
+ layoutManagerOverride: () => any;
4401
+ };
4402
+
4374
4403
  /**
4375
4404
  * @interface
4376
4405
  */
@@ -4489,6 +4518,13 @@ declare type DestroyedEvent = BaseViewEvent & {
4489
4518
  type: 'destroyed';
4490
4519
  };
4491
4520
 
4521
+ /**
4522
+ * @interface
4523
+ */
4524
+ declare type DestroyLayoutOptions = {
4525
+ layoutName: string;
4526
+ };
4527
+
4492
4528
  /**
4493
4529
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4494
4530
  * @interface
@@ -8528,10 +8564,10 @@ declare type LayoutEntitiesClient = ApiClient<LayoutEntitiesController>;
8528
8564
  * to an instance of layout manager in a structured manner.
8529
8565
  */
8530
8566
  declare class LayoutEntitiesController {
8531
- private layoutManager;
8567
+ private layoutInstance;
8532
8568
  private layoutContentCache;
8533
8569
  private wire;
8534
- constructor(layoutManager: LayoutManager, layoutContentCache: LayoutContentCache);
8570
+ constructor(layoutInstance: OpenFinLayout, layoutContentCache: LayoutContentCache);
8535
8571
  private analytics;
8536
8572
  /**
8537
8573
  * @internal
@@ -8648,6 +8684,17 @@ declare type LayoutEntityDefinition<TLayoutEntityType extends LayoutEntityTypes
8648
8684
 
8649
8685
  declare type LayoutEntityTypes = Exclude<GoldenLayout.ItemType, 'component' | 'root'>;
8650
8686
 
8687
+ /**
8688
+ * @interface
8689
+ */
8690
+ declare type LayoutIdentity = Identity_5 & {
8691
+ /**
8692
+ * The name of the layout an action should be targeted to. When not provided,
8693
+ * OpenFin attempts to resolve the instance via visibility checks.
8694
+ */
8695
+ layoutName?: string;
8696
+ };
8697
+
8651
8698
  /**
8652
8699
  * Generated when a window and all of its layout's views have either finished or failed navigation.
8653
8700
  * @interface
@@ -8659,6 +8706,25 @@ declare type LayoutInitializedEvent = BaseWindowEvent & {
8659
8706
  })[];
8660
8707
  };
8661
8708
 
8709
+ /**
8710
+ * @interface @experimental
8711
+ *
8712
+ * Responsible for handling all layout management and renderering
8713
+ */
8714
+ declare type LayoutInstance = {
8715
+ getFrameSnapshot: () => Promise<LayoutOptions>;
8716
+ addView: (payload: AddViewOptions) => Promise<View_2>;
8717
+ closeView: (viewIdentity: Identity_5) => Promise<void>;
8718
+ removeView: (viewConfig: Identity_5 | ViewState) => Promise<View_2>;
8719
+ replaceView: (payload: ReplaceViewOptions) => Promise<View_2>;
8720
+ getViews: () => LayoutComponent[];
8721
+ getCurrentViews: () => Identity_5[];
8722
+ startReplaceLayout: (payload: ReplaceLayoutOptions) => Promise<void>;
8723
+ applyPreset: (payload: PresetLayoutOptions_3) => void;
8724
+ isVisible: () => boolean;
8725
+ destroy: () => void;
8726
+ };
8727
+
8662
8728
  /**
8663
8729
  * Represents the arrangement of Views within a Platform window's Layout. We do not recommend trying
8664
8730
  * to build Layouts or LayoutItems by hand and instead use calls such as {@link Platform#getSnapshot getSnapshot} or our
@@ -8682,99 +8748,64 @@ declare type LayoutItemConfig = {
8682
8748
  title?: string;
8683
8749
  };
8684
8750
 
8685
- declare class LayoutManager {
8686
- #private;
8687
- private readonly splitterController;
8688
- private readonly tabDragController;
8689
- private readonly layoutContentCache;
8690
- private client;
8691
- private container;
8692
- private containerResizeObserver;
8693
- private viewsResizeObserver;
8694
- private dragProxy;
8695
- private isDragging;
8696
- private resizing;
8697
- layout: GoldenLayout.GoldenLayout;
8698
- private layoutConfigToRestore?;
8699
- readonly ofWindow: OpenFin_2.Window;
8700
- readonly platform: Platform_2;
8701
- private showBackgroundImages;
8702
- private showFavicons;
8703
- private defaultFaviconUrl;
8704
- private showViewsOnWindowResize?;
8705
- private showViewsOnSplitterDrag?;
8706
- private showViewsOnTabDrag?;
8707
- private dropzonePreview?;
8708
- private lastItemDestroyed?;
8709
- private viewsSubscribedTo;
8710
- constructor(splitterController: SplitterController, tabDragController: TabDragController, layoutContentCache: LayoutContentCache);
8751
+ /**
8752
+ * @interface @experimental
8753
+ */
8754
+ declare interface LayoutManager<T extends LayoutSnapshot = LayoutSnapshot> {
8711
8755
  /**
8712
- * @internal
8713
- * Needed by init-layout util to wire up {@link LayoutEntitiesController}
8756
+ * @experimental
8757
+ *
8758
+ * Must be overridden when working with multiple layouts
8759
+ *
8760
+ * Hook called during fin.Platform.Layout.init() call, to inform derived classes
8761
+ * when a snapshot is being applied to launch a platform window. Use this hook to set the
8762
+ * local state and ensure you call fin.Platform.Layout.create() on every layout in snapshot.layouts
8763
+ *
8764
+ * When using custom data to the app manifest snapshot.windows.layoutSnapshot key, this data will
8765
+ * be included in the snapshot type T and should align with your component state T.
8766
+ *
8767
+ * TODO: detect if layoutManager override was set and this was not overridden somehow to warn?
8768
+ * @param snapshot
8769
+ * @returns
8714
8770
  */
8715
- static getClient: (instance: LayoutManager) => OpenFin_2.ChannelClient;
8716
- initManager: () => Promise<void>;
8717
- createLayout: (layout: GoldenLayout.Config, container: HTMLElement) => Promise<void>;
8718
- private setContainer;
8719
- private setupDragDropRegions;
8720
- private replaceLayout;
8721
- private onViewDetached;
8722
- private setupLayoutListeners;
8723
- private onLayoutInit;
8724
- private registerViewComponent;
8725
- private setupWindowListeners;
8726
- private setupResizeObservers;
8771
+ applyLayoutSnapshot: (snapshot: T) => Promise<void>;
8727
8772
  /**
8728
- * Shows/hides a view depending on use case (used by browser)
8729
- * @ignore
8773
+ * @experimental
8774
+ *
8775
+ * Must be overridden when working with multiple layouts
8776
+ *
8777
+ * Hook for allowing OpenFin to show a given layout. It's recommended to enumerate your layout containers
8778
+ * and find the one matching layoutIdentity.layoutName and show that container and hide the others.
8779
+ * @param layoutIdentity
8780
+ * @returns
8730
8781
  */
8731
- private updateViewVisibility;
8732
- private onStackCreated;
8733
- private onTabCreated;
8734
- private onTabMouseUp;
8735
- private replaceCloseTabButton;
8736
- onCloseTabButtonClick: (tab: GoldenLayout.Tab) => Promise<void>;
8737
- addFaviconToTab: (tab: GoldenLayout.Tab, eventIcons: string[]) => void;
8738
- onPopoutClick: (stack: GoldenLayout.ContentItem) => void;
8739
- onStackCloseClick: (stack: GoldenLayout.ContentItem) => void;
8740
- private updateButtonDisplay;
8741
- private onItemCreated;
8742
- private observeSplitters;
8743
- handleOutOfWindowDrop: (e: {
8744
- screenY: number;
8745
- screenX: number;
8746
- }, parentTab: GoldenLayout.Tab, dimensions: {
8747
- width: any;
8748
- height: any;
8749
- }) => Promise<void>;
8750
- private onTabDragStart;
8751
- private setBackgroundImage;
8752
- private setBackgroundImages;
8753
- private getFrameSnapshot;
8754
- private getCurrentViews;
8755
- private addView;
8756
- private replaceView;
8757
- private removeView;
8758
- private closeView;
8759
- private createChannelConnections;
8760
- getViewComponent: (identity: {
8761
- uuid?: string;
8762
- name: string;
8763
- }) => ViewComponent | undefined;
8764
- getViewComponents: () => ViewComponent[];
8765
- private hideHighlight;
8766
- getOfViewFromComponentState: (componentState: {
8767
- name: any;
8768
- }) => View_4;
8769
- private hideAllViews;
8770
- private showViews;
8771
- private initializeLayoutViews;
8772
- private createResizableView;
8773
- private attachView;
8774
- private createAndAttachView;
8775
- private setupViewEvents;
8776
- private dispatchLayoutEvent;
8777
- private setComponentState;
8782
+ showLayout: ({ layoutName }: LayoutIdentity) => Promise<void>;
8783
+ /**
8784
+ * @experimental
8785
+ *
8786
+ * @returns T
8787
+ */
8788
+ getLayoutSnapshot: () => Promise<T>;
8789
+ /**
8790
+ * @experimental
8791
+ *
8792
+ * @param param0
8793
+ * @returns
8794
+ */
8795
+ resolveLayout: ({ layoutName }: LayoutIdentity) => LayoutInstance;
8796
+ /**
8797
+ * @experimental
8798
+ *
8799
+ * Returns a LayoutInstance if one exists with the name layoutIdentity.layoutName.
8800
+ * Throws if it does not exist.
8801
+ * @param layoutIdentity
8802
+ * @returns
8803
+ */
8804
+ getLayoutByName: (layoutName: string) => LayoutInstance;
8805
+ /**
8806
+ * @experimental
8807
+ */
8808
+ getLayouts(): Record<string, LayoutInstance>;
8778
8809
  }
8779
8810
 
8780
8811
  /**
@@ -9165,6 +9196,13 @@ declare type LayoutRow = LayoutItemConfig & {
9165
9196
  type: 'row';
9166
9197
  };
9167
9198
 
9199
+ /**
9200
+ * @interface
9201
+ */
9202
+ declare type LayoutSnapshot = {
9203
+ layouts: Record<string, LayoutOptions>;
9204
+ };
9205
+
9168
9206
  /**
9169
9207
  * @interface
9170
9208
  */
@@ -10054,11 +10092,14 @@ declare namespace OpenFin_2 {
10054
10092
  AddViewToStackOptions,
10055
10093
  CreateViewTarget,
10056
10094
  CreateViewPayload,
10095
+ AddViewOptions,
10057
10096
  ReplaceViewPayload,
10097
+ ReplaceViewOptions,
10058
10098
  CloseViewPayload,
10059
10099
  FetchManifestPayload,
10060
10100
  ReplaceLayoutOpts,
10061
10101
  ReplaceLayoutPayload,
10102
+ ReplaceLayoutOptions,
10062
10103
  SetWindowContextPayload,
10063
10104
  LaunchIntoPlatformPayload,
10064
10105
  GetWindowContextPayload,
@@ -10215,8 +10256,15 @@ declare namespace OpenFin_2 {
10215
10256
  ApplicationWindowInfo_2 as ApplicationWindowInfo,
10216
10257
  WindowDetail,
10217
10258
  LayoutPresetType,
10259
+ LayoutIdentity,
10260
+ LayoutSnapshot,
10218
10261
  InitLayoutOptions_3 as InitLayoutOptions,
10219
- PresetLayoutOptions_2 as PresetLayoutOptions,
10262
+ LayoutInstance,
10263
+ LayoutManager,
10264
+ AddLayoutInstanceOptions,
10265
+ CreateLayoutOptions,
10266
+ DestroyLayoutOptions,
10267
+ PresetLayoutOptions_3 as PresetLayoutOptions,
10220
10268
  ResultBehavior,
10221
10269
  PopupBaseBehavior,
10222
10270
  PopupResultBehavior,
@@ -10270,6 +10318,107 @@ declare namespace OpenFin_2 {
10270
10318
  }
10271
10319
  export default OpenFin_2;
10272
10320
 
10321
+ declare class OpenFinLayout implements OpenFin_2.LayoutInstance {
10322
+ #private;
10323
+ private readonly splitterController;
10324
+ private readonly tabDragController;
10325
+ private readonly layoutContentCache;
10326
+ private client;
10327
+ private container;
10328
+ private containerResizeObserver;
10329
+ private viewsResizeObserver;
10330
+ private dragProxy;
10331
+ private isDragging;
10332
+ private resizing;
10333
+ layout: GoldenLayout.GoldenLayout;
10334
+ private layoutConfigToRestore?;
10335
+ readonly ofWindow: OpenFin_2.Window;
10336
+ readonly platform: Platform_2;
10337
+ private showBackgroundImages;
10338
+ private showFavicons;
10339
+ private defaultFaviconUrl;
10340
+ private showViewsOnWindowResize?;
10341
+ private showViewsOnSplitterDrag?;
10342
+ private showViewsOnTabDrag?;
10343
+ private dropzonePreview?;
10344
+ private lastItemDestroyed?;
10345
+ private viewsSubscribedTo;
10346
+ constructor(splitterController: SplitterController, tabDragController: TabDragController, layoutContentCache: LayoutContentCache);
10347
+ getViews: () => OpenFin_2.LayoutComponent[];
10348
+ startReplaceLayout: ({ layout }: {
10349
+ layout: GoldenLayout.Config;
10350
+ }) => Promise<void>;
10351
+ applyPreset: (payload: PresetLayoutOptions_2) => void;
10352
+ isVisible: () => boolean;
10353
+ destroy: () => void;
10354
+ /**
10355
+ * @internal
10356
+ * Needed by init-layout util to wire up {@link LayoutEntitiesController}
10357
+ */
10358
+ static getClient: (instance: OpenFinLayout) => OpenFin_2.ChannelClient;
10359
+ initManager: () => Promise<void>;
10360
+ createLayout: (layout: GoldenLayout.Config, container: HTMLElement) => Promise<void>;
10361
+ private setContainer;
10362
+ private setupDragDropRegions;
10363
+ private replaceLayout;
10364
+ private onViewDetached;
10365
+ private setupLayoutListeners;
10366
+ private onLayoutInit;
10367
+ private registerViewComponent;
10368
+ private setupWindowListeners;
10369
+ private setupResizeObservers;
10370
+ /**
10371
+ * Shows/hides a view depending on use case (used by browser)
10372
+ * @ignore
10373
+ */
10374
+ private updateViewVisibility;
10375
+ private onStackCreated;
10376
+ private onTabCreated;
10377
+ private onTabMouseUp;
10378
+ private replaceCloseTabButton;
10379
+ onCloseTabButtonClick: (tab: GoldenLayout.Tab) => Promise<void>;
10380
+ addFaviconToTab: (tab: GoldenLayout.Tab, eventIcons: string[]) => void;
10381
+ onPopoutClick: (stack: GoldenLayout.ContentItem) => void;
10382
+ onStackCloseClick: (stack: GoldenLayout.ContentItem) => void;
10383
+ private updateButtonDisplay;
10384
+ private onItemCreated;
10385
+ private observeSplitters;
10386
+ handleOutOfWindowDrop: (e: {
10387
+ screenY: number;
10388
+ screenX: number;
10389
+ }, parentTab: GoldenLayout.Tab, dimensions: {
10390
+ width: any;
10391
+ height: any;
10392
+ }) => Promise<void>;
10393
+ private onTabDragStart;
10394
+ private setBackgroundImage;
10395
+ private setBackgroundImages;
10396
+ getFrameSnapshot: () => Promise<GoldenLayout.Config>;
10397
+ getCurrentViews: () => OpenFin_2.Identity[];
10398
+ addView: ({ options: viewConfig, targetView, location }: OpenFin_2.AddViewOptions) => Promise<View_4>;
10399
+ replaceView: ({ viewToReplace, newView }: OpenFin_2.ReplaceViewOptions) => Promise<View_4>;
10400
+ removeView: (viewConfig: OpenFin_2.Identity | OpenFin_2.ViewState) => Promise<View_4>;
10401
+ closeView: (viewIdentity: OpenFin_2.Identity) => Promise<void>;
10402
+ private createChannelConnections;
10403
+ getViewComponent: ({ name }: {
10404
+ name: string;
10405
+ }) => ViewComponent | undefined;
10406
+ getViewComponents: () => ViewComponent[];
10407
+ private hideHighlight;
10408
+ getOfViewFromComponentState: ({ name }: {
10409
+ name: string;
10410
+ }) => View_4;
10411
+ private hideAllViews;
10412
+ private showViews;
10413
+ private initializeLayoutViews;
10414
+ private createResizableView;
10415
+ private attachView;
10416
+ private createAndAttachView;
10417
+ private setupViewEvents;
10418
+ private dispatchLayoutEvent;
10419
+ private setComponentState;
10420
+ }
10421
+
10273
10422
  declare type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
10274
10423
 
10275
10424
  declare type OverlapsOnlyIfMatching<T, U> = {
@@ -12067,10 +12216,12 @@ declare type PreloadScriptsStateChangingEvent = PreloadScriptsStateChangeEvent &
12067
12216
 
12068
12217
  declare type PresetLayoutOptions = OpenFin_2.PresetLayoutOptions;
12069
12218
 
12219
+ declare type PresetLayoutOptions_2 = OpenFin_2.PresetLayoutOptions;
12220
+
12070
12221
  /**
12071
12222
  * @interface
12072
12223
  */
12073
- declare type PresetLayoutOptions_2 = {
12224
+ declare type PresetLayoutOptions_3 = {
12074
12225
  /**
12075
12226
  * Which preset layout arrangement to use.
12076
12227
  * The preset options are `columns`, `grid`, `rows`, and `tabs`.
@@ -12738,6 +12889,13 @@ declare interface RemoteConfig extends ExistingConnectConfig {
12738
12889
  /**
12739
12890
  * @interface
12740
12891
  */
12892
+ declare type ReplaceLayoutOptions = ReplaceLayoutOpts;
12893
+
12894
+ /**
12895
+ * @interface
12896
+ *
12897
+ * @deprecated use ReplaceLayoutOptions instead
12898
+ */
12741
12899
  declare type ReplaceLayoutOpts = {
12742
12900
  /**
12743
12901
  * Layout config to be applied.
@@ -12752,13 +12910,21 @@ declare type ReplaceLayoutPayload = {
12752
12910
  /**
12753
12911
  * Object containing the layout to be applied.
12754
12912
  */
12755
- opts: ReplaceLayoutOpts;
12913
+ opts: ReplaceLayoutOptions;
12756
12914
  /**
12757
12915
  * Identity of the window whose layout will be replace.
12758
12916
  */
12759
12917
  target: Identity_5;
12760
12918
  };
12761
12919
 
12920
+ /**
12921
+ * @interface
12922
+ */
12923
+ declare type ReplaceViewOptions = {
12924
+ viewToReplace: Identity_5;
12925
+ newView: ViewState;
12926
+ };
12927
+
12762
12928
  /**
12763
12929
  * @interface
12764
12930
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/core",
3
- "version": "34.78.42",
3
+ "version": "34.78.45",
4
4
  "description": "The core renderer entry point of OpenFin",
5
5
  "license": "SEE LICENSE IN LICENSE.MD",
6
6
  "main": "out/mock.js",