@openfin/node-adapter 34.78.43 → 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.
@@ -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
  */
@@ -4375,6 +4392,18 @@ declare type CreatedEvent = BaseViewEvent & {
4375
4392
  type: 'created';
4376
4393
  };
4377
4394
 
4395
+ /**
4396
+ * @interface
4397
+ */
4398
+ declare type CreateLayoutOptions = {
4399
+ /**
4400
+ * @experimental
4401
+ *
4402
+ * @returns
4403
+ */
4404
+ layoutManagerOverride: () => any;
4405
+ };
4406
+
4378
4407
  /**
4379
4408
  * @interface
4380
4409
  */
@@ -4493,6 +4522,13 @@ declare type DestroyedEvent = BaseViewEvent & {
4493
4522
  type: 'destroyed';
4494
4523
  };
4495
4524
 
4525
+ /**
4526
+ * @interface
4527
+ */
4528
+ declare type DestroyLayoutOptions = {
4529
+ layoutName: string;
4530
+ };
4531
+
4496
4532
  /**
4497
4533
  * Generated when a page's theme color changes. This is usually due to encountering a meta tag.
4498
4534
  * @interface
@@ -8560,10 +8596,10 @@ declare type LayoutEntitiesClient = ApiClient<LayoutEntitiesController>;
8560
8596
  * to an instance of layout manager in a structured manner.
8561
8597
  */
8562
8598
  declare class LayoutEntitiesController {
8563
- private layoutManager;
8599
+ private layoutInstance;
8564
8600
  private layoutContentCache;
8565
8601
  private wire;
8566
- constructor(layoutManager: LayoutManager, layoutContentCache: LayoutContentCache);
8602
+ constructor(layoutInstance: OpenFinLayout, layoutContentCache: LayoutContentCache);
8567
8603
  private analytics;
8568
8604
  /**
8569
8605
  * @internal
@@ -8680,6 +8716,17 @@ declare type LayoutEntityDefinition<TLayoutEntityType extends LayoutEntityTypes
8680
8716
 
8681
8717
  declare type LayoutEntityTypes = Exclude<GoldenLayout.ItemType, 'component' | 'root'>;
8682
8718
 
8719
+ /**
8720
+ * @interface
8721
+ */
8722
+ declare type LayoutIdentity = Identity_5 & {
8723
+ /**
8724
+ * The name of the layout an action should be targeted to. When not provided,
8725
+ * OpenFin attempts to resolve the instance via visibility checks.
8726
+ */
8727
+ layoutName?: string;
8728
+ };
8729
+
8683
8730
  /**
8684
8731
  * Generated when a window and all of its layout's views have either finished or failed navigation.
8685
8732
  * @interface
@@ -8691,6 +8738,25 @@ declare type LayoutInitializedEvent = BaseWindowEvent & {
8691
8738
  })[];
8692
8739
  };
8693
8740
 
8741
+ /**
8742
+ * @interface @experimental
8743
+ *
8744
+ * Responsible for handling all layout management and renderering
8745
+ */
8746
+ declare type LayoutInstance = {
8747
+ getFrameSnapshot: () => Promise<LayoutOptions>;
8748
+ addView: (payload: AddViewOptions) => Promise<View_2>;
8749
+ closeView: (viewIdentity: Identity_5) => Promise<void>;
8750
+ removeView: (viewConfig: Identity_5 | ViewState) => Promise<View_2>;
8751
+ replaceView: (payload: ReplaceViewOptions) => Promise<View_2>;
8752
+ getViews: () => LayoutComponent[];
8753
+ getCurrentViews: () => Identity_5[];
8754
+ startReplaceLayout: (payload: ReplaceLayoutOptions) => Promise<void>;
8755
+ applyPreset: (payload: PresetLayoutOptions_3) => void;
8756
+ isVisible: () => boolean;
8757
+ destroy: () => void;
8758
+ };
8759
+
8694
8760
  /**
8695
8761
  * Represents the arrangement of Views within a Platform window's Layout. We do not recommend trying
8696
8762
  * to build Layouts or LayoutItems by hand and instead use calls such as {@link Platform#getSnapshot getSnapshot} or our
@@ -8714,99 +8780,64 @@ declare type LayoutItemConfig = {
8714
8780
  title?: string;
8715
8781
  };
8716
8782
 
8717
- declare class LayoutManager {
8718
- #private;
8719
- private readonly splitterController;
8720
- private readonly tabDragController;
8721
- private readonly layoutContentCache;
8722
- private client;
8723
- private container;
8724
- private containerResizeObserver;
8725
- private viewsResizeObserver;
8726
- private dragProxy;
8727
- private isDragging;
8728
- private resizing;
8729
- layout: GoldenLayout.GoldenLayout;
8730
- private layoutConfigToRestore?;
8731
- readonly ofWindow: OpenFin.Window;
8732
- readonly platform: Platform_2;
8733
- private showBackgroundImages;
8734
- private showFavicons;
8735
- private defaultFaviconUrl;
8736
- private showViewsOnWindowResize?;
8737
- private showViewsOnSplitterDrag?;
8738
- private showViewsOnTabDrag?;
8739
- private dropzonePreview?;
8740
- private lastItemDestroyed?;
8741
- private viewsSubscribedTo;
8742
- constructor(splitterController: SplitterController, tabDragController: TabDragController, layoutContentCache: LayoutContentCache);
8783
+ /**
8784
+ * @interface @experimental
8785
+ */
8786
+ declare interface LayoutManager<T extends LayoutSnapshot = LayoutSnapshot> {
8743
8787
  /**
8744
- * @internal
8745
- * Needed by init-layout util to wire up {@link LayoutEntitiesController}
8788
+ * @experimental
8789
+ *
8790
+ * Must be overridden when working with multiple layouts
8791
+ *
8792
+ * Hook called during fin.Platform.Layout.init() call, to inform derived classes
8793
+ * when a snapshot is being applied to launch a platform window. Use this hook to set the
8794
+ * local state and ensure you call fin.Platform.Layout.create() on every layout in snapshot.layouts
8795
+ *
8796
+ * When using custom data to the app manifest snapshot.windows.layoutSnapshot key, this data will
8797
+ * be included in the snapshot type T and should align with your component state T.
8798
+ *
8799
+ * TODO: detect if layoutManager override was set and this was not overridden somehow to warn?
8800
+ * @param snapshot
8801
+ * @returns
8746
8802
  */
8747
- static getClient: (instance: LayoutManager) => OpenFin.ChannelClient;
8748
- initManager: () => Promise<void>;
8749
- createLayout: (layout: GoldenLayout.Config, container: HTMLElement) => Promise<void>;
8750
- private setContainer;
8751
- private setupDragDropRegions;
8752
- private replaceLayout;
8753
- private onViewDetached;
8754
- private setupLayoutListeners;
8755
- private onLayoutInit;
8756
- private registerViewComponent;
8757
- private setupWindowListeners;
8758
- private setupResizeObservers;
8803
+ applyLayoutSnapshot: (snapshot: T) => Promise<void>;
8759
8804
  /**
8760
- * Shows/hides a view depending on use case (used by browser)
8761
- * @ignore
8805
+ * @experimental
8806
+ *
8807
+ * Must be overridden when working with multiple layouts
8808
+ *
8809
+ * Hook for allowing OpenFin to show a given layout. It's recommended to enumerate your layout containers
8810
+ * and find the one matching layoutIdentity.layoutName and show that container and hide the others.
8811
+ * @param layoutIdentity
8812
+ * @returns
8762
8813
  */
8763
- private updateViewVisibility;
8764
- private onStackCreated;
8765
- private onTabCreated;
8766
- private onTabMouseUp;
8767
- private replaceCloseTabButton;
8768
- onCloseTabButtonClick: (tab: GoldenLayout.Tab) => Promise<void>;
8769
- addFaviconToTab: (tab: GoldenLayout.Tab, eventIcons: string[]) => void;
8770
- onPopoutClick: (stack: GoldenLayout.ContentItem) => void;
8771
- onStackCloseClick: (stack: GoldenLayout.ContentItem) => void;
8772
- private updateButtonDisplay;
8773
- private onItemCreated;
8774
- private observeSplitters;
8775
- handleOutOfWindowDrop: (e: {
8776
- screenY: number;
8777
- screenX: number;
8778
- }, parentTab: GoldenLayout.Tab, dimensions: {
8779
- width: any;
8780
- height: any;
8781
- }) => Promise<void>;
8782
- private onTabDragStart;
8783
- private setBackgroundImage;
8784
- private setBackgroundImages;
8785
- private getFrameSnapshot;
8786
- private getCurrentViews;
8787
- private addView;
8788
- private replaceView;
8789
- private removeView;
8790
- private closeView;
8791
- private createChannelConnections;
8792
- getViewComponent: (identity: {
8793
- uuid?: string;
8794
- name: string;
8795
- }) => ViewComponent | undefined;
8796
- getViewComponents: () => ViewComponent[];
8797
- private hideHighlight;
8798
- getOfViewFromComponentState: (componentState: {
8799
- name: any;
8800
- }) => View_4;
8801
- private hideAllViews;
8802
- private showViews;
8803
- private initializeLayoutViews;
8804
- private createResizableView;
8805
- private attachView;
8806
- private createAndAttachView;
8807
- private setupViewEvents;
8808
- private dispatchLayoutEvent;
8809
- private setComponentState;
8814
+ showLayout: ({ layoutName }: LayoutIdentity) => Promise<void>;
8815
+ /**
8816
+ * @experimental
8817
+ *
8818
+ * @returns T
8819
+ */
8820
+ getLayoutSnapshot: () => Promise<T>;
8821
+ /**
8822
+ * @experimental
8823
+ *
8824
+ * @param param0
8825
+ * @returns
8826
+ */
8827
+ resolveLayout: ({ layoutName }: LayoutIdentity) => LayoutInstance;
8828
+ /**
8829
+ * @experimental
8830
+ *
8831
+ * Returns a LayoutInstance if one exists with the name layoutIdentity.layoutName.
8832
+ * Throws if it does not exist.
8833
+ * @param layoutIdentity
8834
+ * @returns
8835
+ */
8836
+ getLayoutByName: (layoutName: string) => LayoutInstance;
8837
+ /**
8838
+ * @experimental
8839
+ */
8840
+ getLayouts(): Record<string, LayoutInstance>;
8810
8841
  }
8811
8842
 
8812
8843
  /**
@@ -9197,6 +9228,13 @@ declare type LayoutRow = LayoutItemConfig & {
9197
9228
  type: 'row';
9198
9229
  };
9199
9230
 
9231
+ /**
9232
+ * @interface
9233
+ */
9234
+ declare type LayoutSnapshot = {
9235
+ layouts: Record<string, LayoutOptions>;
9236
+ };
9237
+
9200
9238
  /**
9201
9239
  * @interface
9202
9240
  */
@@ -10086,11 +10124,14 @@ declare namespace OpenFin {
10086
10124
  AddViewToStackOptions,
10087
10125
  CreateViewTarget,
10088
10126
  CreateViewPayload,
10127
+ AddViewOptions,
10089
10128
  ReplaceViewPayload,
10129
+ ReplaceViewOptions,
10090
10130
  CloseViewPayload,
10091
10131
  FetchManifestPayload,
10092
10132
  ReplaceLayoutOpts,
10093
10133
  ReplaceLayoutPayload,
10134
+ ReplaceLayoutOptions,
10094
10135
  SetWindowContextPayload,
10095
10136
  LaunchIntoPlatformPayload,
10096
10137
  GetWindowContextPayload,
@@ -10247,8 +10288,15 @@ declare namespace OpenFin {
10247
10288
  ApplicationWindowInfo_2 as ApplicationWindowInfo,
10248
10289
  WindowDetail,
10249
10290
  LayoutPresetType,
10291
+ LayoutIdentity,
10292
+ LayoutSnapshot,
10250
10293
  InitLayoutOptions_3 as InitLayoutOptions,
10251
- PresetLayoutOptions_2 as PresetLayoutOptions,
10294
+ LayoutInstance,
10295
+ LayoutManager,
10296
+ AddLayoutInstanceOptions,
10297
+ CreateLayoutOptions,
10298
+ DestroyLayoutOptions,
10299
+ PresetLayoutOptions_3 as PresetLayoutOptions,
10252
10300
  ResultBehavior,
10253
10301
  PopupBaseBehavior,
10254
10302
  PopupResultBehavior,
@@ -10302,6 +10350,107 @@ declare namespace OpenFin {
10302
10350
  }
10303
10351
  export default OpenFin;
10304
10352
 
10353
+ declare class OpenFinLayout implements OpenFin.LayoutInstance {
10354
+ #private;
10355
+ private readonly splitterController;
10356
+ private readonly tabDragController;
10357
+ private readonly layoutContentCache;
10358
+ private client;
10359
+ private container;
10360
+ private containerResizeObserver;
10361
+ private viewsResizeObserver;
10362
+ private dragProxy;
10363
+ private isDragging;
10364
+ private resizing;
10365
+ layout: GoldenLayout.GoldenLayout;
10366
+ private layoutConfigToRestore?;
10367
+ readonly ofWindow: OpenFin.Window;
10368
+ readonly platform: Platform_2;
10369
+ private showBackgroundImages;
10370
+ private showFavicons;
10371
+ private defaultFaviconUrl;
10372
+ private showViewsOnWindowResize?;
10373
+ private showViewsOnSplitterDrag?;
10374
+ private showViewsOnTabDrag?;
10375
+ private dropzonePreview?;
10376
+ private lastItemDestroyed?;
10377
+ private viewsSubscribedTo;
10378
+ constructor(splitterController: SplitterController, tabDragController: TabDragController, layoutContentCache: LayoutContentCache);
10379
+ getViews: () => OpenFin.LayoutComponent[];
10380
+ startReplaceLayout: ({ layout }: {
10381
+ layout: GoldenLayout.Config;
10382
+ }) => Promise<void>;
10383
+ applyPreset: (payload: PresetLayoutOptions_2) => void;
10384
+ isVisible: () => boolean;
10385
+ destroy: () => void;
10386
+ /**
10387
+ * @internal
10388
+ * Needed by init-layout util to wire up {@link LayoutEntitiesController}
10389
+ */
10390
+ static getClient: (instance: OpenFinLayout) => OpenFin.ChannelClient;
10391
+ initManager: () => Promise<void>;
10392
+ createLayout: (layout: GoldenLayout.Config, container: HTMLElement) => Promise<void>;
10393
+ private setContainer;
10394
+ private setupDragDropRegions;
10395
+ private replaceLayout;
10396
+ private onViewDetached;
10397
+ private setupLayoutListeners;
10398
+ private onLayoutInit;
10399
+ private registerViewComponent;
10400
+ private setupWindowListeners;
10401
+ private setupResizeObservers;
10402
+ /**
10403
+ * Shows/hides a view depending on use case (used by browser)
10404
+ * @ignore
10405
+ */
10406
+ private updateViewVisibility;
10407
+ private onStackCreated;
10408
+ private onTabCreated;
10409
+ private onTabMouseUp;
10410
+ private replaceCloseTabButton;
10411
+ onCloseTabButtonClick: (tab: GoldenLayout.Tab) => Promise<void>;
10412
+ addFaviconToTab: (tab: GoldenLayout.Tab, eventIcons: string[]) => void;
10413
+ onPopoutClick: (stack: GoldenLayout.ContentItem) => void;
10414
+ onStackCloseClick: (stack: GoldenLayout.ContentItem) => void;
10415
+ private updateButtonDisplay;
10416
+ private onItemCreated;
10417
+ private observeSplitters;
10418
+ handleOutOfWindowDrop: (e: {
10419
+ screenY: number;
10420
+ screenX: number;
10421
+ }, parentTab: GoldenLayout.Tab, dimensions: {
10422
+ width: any;
10423
+ height: any;
10424
+ }) => Promise<void>;
10425
+ private onTabDragStart;
10426
+ private setBackgroundImage;
10427
+ private setBackgroundImages;
10428
+ getFrameSnapshot: () => Promise<GoldenLayout.Config>;
10429
+ getCurrentViews: () => OpenFin.Identity[];
10430
+ addView: ({ options: viewConfig, targetView, location }: OpenFin.AddViewOptions) => Promise<View_4>;
10431
+ replaceView: ({ viewToReplace, newView }: OpenFin.ReplaceViewOptions) => Promise<View_4>;
10432
+ removeView: (viewConfig: OpenFin.Identity | OpenFin.ViewState) => Promise<View_4>;
10433
+ closeView: (viewIdentity: OpenFin.Identity) => Promise<void>;
10434
+ private createChannelConnections;
10435
+ getViewComponent: ({ name }: {
10436
+ name: string;
10437
+ }) => ViewComponent | undefined;
10438
+ getViewComponents: () => ViewComponent[];
10439
+ private hideHighlight;
10440
+ getOfViewFromComponentState: ({ name }: {
10441
+ name: string;
10442
+ }) => View_4;
10443
+ private hideAllViews;
10444
+ private showViews;
10445
+ private initializeLayoutViews;
10446
+ private createResizableView;
10447
+ private attachView;
10448
+ private createAndAttachView;
10449
+ private setupViewEvents;
10450
+ private dispatchLayoutEvent;
10451
+ private setComponentState;
10452
+ }
10453
+
10305
10454
  declare type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
10306
10455
 
10307
10456
  declare type OverlapsOnlyIfMatching<T, U> = {
@@ -12099,10 +12248,12 @@ declare type PreloadScriptsStateChangingEvent = PreloadScriptsStateChangeEvent &
12099
12248
 
12100
12249
  declare type PresetLayoutOptions = OpenFin.PresetLayoutOptions;
12101
12250
 
12251
+ declare type PresetLayoutOptions_2 = OpenFin.PresetLayoutOptions;
12252
+
12102
12253
  /**
12103
12254
  * @interface
12104
12255
  */
12105
- declare type PresetLayoutOptions_2 = {
12256
+ declare type PresetLayoutOptions_3 = {
12106
12257
  /**
12107
12258
  * Which preset layout arrangement to use.
12108
12259
  * The preset options are `columns`, `grid`, `rows`, and `tabs`.
@@ -12770,6 +12921,13 @@ declare interface RemoteConfig extends ExistingConnectConfig {
12770
12921
  /**
12771
12922
  * @interface
12772
12923
  */
12924
+ declare type ReplaceLayoutOptions = ReplaceLayoutOpts;
12925
+
12926
+ /**
12927
+ * @interface
12928
+ *
12929
+ * @deprecated use ReplaceLayoutOptions instead
12930
+ */
12773
12931
  declare type ReplaceLayoutOpts = {
12774
12932
  /**
12775
12933
  * Layout config to be applied.
@@ -12784,13 +12942,21 @@ declare type ReplaceLayoutPayload = {
12784
12942
  /**
12785
12943
  * Object containing the layout to be applied.
12786
12944
  */
12787
- opts: ReplaceLayoutOpts;
12945
+ opts: ReplaceLayoutOptions;
12788
12946
  /**
12789
12947
  * Identity of the window whose layout will be replace.
12790
12948
  */
12791
12949
  target: Identity_5;
12792
12950
  };
12793
12951
 
12952
+ /**
12953
+ * @interface
12954
+ */
12955
+ declare type ReplaceViewOptions = {
12956
+ viewToReplace: Identity_5;
12957
+ newView: ViewState;
12958
+ };
12959
+
12794
12960
  /**
12795
12961
  * @interface
12796
12962
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/node-adapter",
3
- "version": "34.78.43",
3
+ "version": "34.78.45",
4
4
  "description": "See README.md",
5
5
  "main": "out/node-adapter.js",
6
6
  "types": "out/node-adapter.d.ts",