@openfin/core 39.83.4 → 39.83.7

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
@@ -2996,6 +2996,18 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
2996
2996
  childOptions: OpenFin_2.WindowOptions;
2997
2997
  };
2998
2998
 
2999
+ /**
3000
+ * Control behavior for Chromium policies
3001
+ *
3002
+ * @interface
3003
+ */
3004
+ declare type ChromiumPolicies = {
3005
+ /**
3006
+ * Disable AutofillAddressEnabled policy for a Window or View.
3007
+ */
3008
+ AutofillAddressEnabled?: PolicyOptions;
3009
+ };
3010
+
2999
3011
  declare interface ClassicProtocolOffer extends ProtocolPacketBase {
3000
3012
  type: 'classic';
3001
3013
  }
@@ -3510,6 +3522,10 @@ declare type ConstViewOptions = {
3510
3522
  */
3511
3523
  enabled: boolean;
3512
3524
  };
3525
+ /**
3526
+ * Control which options to ignore when creating a Platform View.
3527
+ */
3528
+ excludeOptions: ExcludeOptions;
3513
3529
  };
3514
3530
 
3515
3531
  /**
@@ -3754,6 +3770,10 @@ declare type ConstWindowOptions = {
3754
3770
  * Controls whether an option is inherited from the parent application. The option is set as part of the window options for the parent application in either the {@link Manifest.startup_app} or {@link Manifest.platform} properties in the manifest or in {@link ApplicationOptions.mainWindowOptions} when calling {@link Application.ApplicationModule.start Application.start}. Use { [option]: false } to disable a specific [option]. All inheritable properties will be inherited by default if omitted.
3755
3771
  */
3756
3772
  inheritance?: Partial<InheritableOptions>;
3773
+ /**
3774
+ * Control which options to ignore when creating a Platform Window.
3775
+ */
3776
+ excludeOptions: ExcludeOptions;
3757
3777
  };
3758
3778
 
3759
3779
  /**
@@ -4793,7 +4813,7 @@ declare type Event_10 = ApplicationEvents.Event | ApiReadyEvent | SnapshotApplie
4793
4813
  * under the {@link OpenFin.SystemEvents} namespace (payloads inherited from propagated events are defined in the namespace
4794
4814
  * from which they propagate).
4795
4815
  */
4796
- declare type Event_11 = ExcludeRequested<WindowEvents.PropagatedEvent<'system'>> | ExcludeRequested<ViewEvents.PropagatedEvent<'system'>> | ExcludeRequested<ApplicationEvents.PropagatedEvent<'system'>> | ApplicationCreatedEvent | DesktopIconClickedEvent | IdleStateChangedEvent | MonitorInfoChangedEvent | SessionChangedEvent | AppVersionEventWithId | SystemShutdownEvent;
4816
+ declare type Event_11 = ExcludeRequested<WindowEvents.PropagatedEvent<'system'>> | ExcludeRequested<ViewEvents.PropagatedEvent<'system'>> | ExcludeRequested<ApplicationEvents.PropagatedEvent<'system'>> | ApplicationCreatedEvent | DesktopIconClickedEvent | IdleStateChangedEvent | MonitorInfoChangedEvent | SessionChangedEvent | AppVersionEventWithId | SystemShutdownEvent | ExtensionsEnabledEvent | ExtensionsDisabledEvent | ExtensionsExcludedEvent | ExtensionsInstalledEvent | ExtensionInstalledEvent | ExtensionsInstallFailedEvent | ExtensionInstallFailedEvent | ExtensionsInitializationFailedEvent;
4797
4817
 
4798
4818
  /**
4799
4819
  * [Union](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) containing every possible event that can be emitted by the HTMLElement Layout container.
@@ -4947,6 +4967,18 @@ declare type EventWithId<Event extends AppVersionEvent> = Event extends infer E
4947
4967
  appVersionId: string;
4948
4968
  } : never;
4949
4969
 
4970
+ /**
4971
+ * @interface
4972
+ */
4973
+ declare type ExcludeOptions = {
4974
+ /**
4975
+ * @defaultValue false
4976
+ *
4977
+ * When true, will not merge default preload scripts from {@link ApplicationOptions.defaultWindowOptions} or {@link ApplicationOptions.defaultViewOptions}.
4978
+ */
4979
+ preloadScripts: boolean;
4980
+ };
4981
+
4950
4982
  /**
4951
4983
  * @internal
4952
4984
  *
@@ -4971,6 +5003,105 @@ declare type ExitCode = {
4971
5003
  exitCode: number;
4972
5004
  };
4973
5005
 
5006
+ declare type ExtensionEvent = SecurityRealmEvent & {
5007
+ /**
5008
+ * Runtime extension whose status has been (possibly) modified
5009
+ */
5010
+ extension: string;
5011
+ };
5012
+
5013
+ /**
5014
+ * @interface
5015
+ */
5016
+ declare type ExtensionInfo = {
5017
+ extensionId: string;
5018
+ name: string;
5019
+ enabled: boolean;
5020
+ };
5021
+
5022
+ /**
5023
+ * An event that fires when an extension is installed in the security realm.
5024
+ *
5025
+ * @interface
5026
+ */
5027
+ declare type ExtensionInstalledEvent = ExtensionEvent & {
5028
+ type: 'extension-installed';
5029
+ };
5030
+
5031
+ /**
5032
+ * An event that fires when an extension fails to install in the security realm.
5033
+ *
5034
+ * @interface
5035
+ */
5036
+ declare type ExtensionInstallFailedEvent = ExtensionEvent & {
5037
+ type: 'extension-install-failed';
5038
+ };
5039
+
5040
+ /**
5041
+ * An event that fires when extensions are disabled in the security realm.
5042
+ *
5043
+ * @interface
5044
+ */
5045
+ declare type ExtensionsDisabledEvent = ExtensionsEvent & {
5046
+ type: 'extensions-disabled';
5047
+ };
5048
+
5049
+ /**
5050
+ * An event that fires when extensions are enabled in the security realm.
5051
+ *
5052
+ * @interface
5053
+ */
5054
+ declare type ExtensionsEnabledEvent = ExtensionsEvent & {
5055
+ type: 'extensions-enabled';
5056
+ };
5057
+
5058
+ declare type ExtensionsEvent = SecurityRealmEvent & {
5059
+ /**
5060
+ * Runtime extensions whose status has been (possibly) modified
5061
+ */
5062
+ extensions: string[];
5063
+ };
5064
+
5065
+ /**
5066
+ * An event that fires when requested extensions are not allowed to be installed in the security realm.
5067
+ *
5068
+ * @interface
5069
+ */
5070
+ declare type ExtensionsExcludedEvent = ExtensionsEvent & {
5071
+ type: 'extensions-excluded';
5072
+ };
5073
+
5074
+ /**
5075
+ * An event that fires when extension initialization fails on initial app launch. Users may attempt to
5076
+ * re-initialize extensions by calling {@link System.refreshExtensions}. This event will not fire in response
5077
+ * to manual extension refreshes (users should catch the error normally).
5078
+ */
5079
+ declare type ExtensionsInitializationFailedEvent = Omit<ExtensionsEvent, 'extensions'> & {
5080
+ type: 'extensions-initialization-failed';
5081
+ /**
5082
+ * The error that caused the extension initialization failure
5083
+ */
5084
+ error: Error;
5085
+ };
5086
+
5087
+ /**
5088
+ * An event that fires when extensions are installed in the security realm.
5089
+ *
5090
+ * @interface
5091
+ */
5092
+ declare type ExtensionsInstalledEvent = ExtensionsEvent & {
5093
+ type: 'extensions-installed';
5094
+ };
5095
+
5096
+ /**
5097
+ * An event that fires when extensions fail to install in the security realm.
5098
+ *
5099
+ * @interface
5100
+ */
5101
+ declare type ExtensionsInstallFailedEvent = ExtensionsEvent & {
5102
+ type: 'extensions-install-failed';
5103
+ };
5104
+
4974
5105
  /**
4975
5106
  * An ExternalApplication object representing native language adapter connections to the runtime. Allows
4976
5107
  * the developer to listen to {@link OpenFin.ExternalApplicationEvents external application events}.
@@ -7808,6 +7939,29 @@ declare class Layout extends Base {
7808
7939
  * ```
7809
7940
  */
7810
7941
  applyPreset: (options: PresetLayoutOptions) => Promise<void>;
7942
+ /**
7943
+ * Adds a view to the platform layout. Behaves like @link{Platform#createView} with the current layout as the target.
7944
+ *
7945
+ * @param viewOptions - The options for creating the view.
7946
+ * @param options - Optional parameters for adding the view.
7947
+ * @param options.location - The location where the view should be added.
7948
+ * @param options.targetView - The target view to which the new view should be added.
7949
+ * @returns A promise that resolves to an object containing the identity of the added view.
7950
+ */
7951
+ addView(viewOptions: OpenFin_2.PlatformViewCreationOptions, { location, targetView }?: {
7952
+ location?: OpenFin_2.CreateViewTarget['location'];
7953
+ targetView?: OpenFin_2.Identity;
7954
+ }): Promise<{
7955
+ identity: OpenFin_2.Identity;
7956
+ }>;
7957
+ /**
7958
+ * Closes a view by its identity. Throws an error if the view does not belong to the current layout.
7959
+ * Behaves like @link{Platform#closeView} but only closes the view if it belongs the current layout.
7960
+ *
7961
+ * @param viewIdentity - The identity of the view to close.
7962
+ * @returns A promise that resolves when the view is closed.
7963
+ */
7964
+ closeView(viewIdentity: OpenFin_2.Identity): Promise<void>;
7811
7965
  }
7812
7966
 
7813
7967
  /**
@@ -7820,7 +7974,7 @@ declare type LayoutColumn = LayoutItemConfig & {
7820
7974
  /**
7821
7975
  * @interface
7822
7976
  */
7823
- declare type LayoutComponent = LayoutItemConfig & {
7977
+ declare type LayoutComponent = Omit<LayoutItemConfig, 'content' | 'type'> & {
7824
7978
  /**
7825
7979
  * Only a component type will have this property and it should be set to view.
7826
7980
  */
@@ -7829,6 +7983,7 @@ declare type LayoutComponent = LayoutItemConfig & {
7829
7983
  * Only a component type will have this property and it represents the view options of a given component.
7830
7984
  */
7831
7985
  componentState?: Partial<ViewCreationOptions>;
7986
+ type: 'component';
7832
7987
  };
7833
7988
 
7834
7989
  declare type LayoutContent = Array<LayoutItemConfig | LayoutRow | LayoutColumn | LayoutComponent>;
@@ -7912,10 +8067,7 @@ declare type LayoutIdentity = Identity_4 & {
7912
8067
  declare type LayoutInitializedEvent = BaseEvent_5 & {
7913
8068
  type: 'layout-initialized';
7914
8069
  layoutIdentity: OpenFin_2.LayoutIdentity;
7915
- ofViews: {
7916
- identity: OpenFin_2.Identity;
7917
- entityType: 'view';
7918
- }[];
8070
+ ofViews: OpenFin_2.ViewCreationResult[];
7919
8071
  };
7920
8072
 
7921
8073
  /**
@@ -8023,7 +8175,7 @@ declare interface LayoutManager<T extends LayoutSnapshot> {
8023
8175
  /**
8024
8176
  * @experimental
8025
8177
  */
8026
- getLayoutIdentityForView(viewIdentity: Identity_4): LayoutIdentity;
8178
+ getLayoutIdentityForView(viewIdentity: Identity_4): LayoutIdentity | undefined;
8027
8179
  /**
8028
8180
  * @experimental
8029
8181
  */
@@ -8948,6 +9100,10 @@ declare type MutableViewOptions = {
8948
9100
  * @defaultValue 'enabled'
8949
9101
  */
8950
9102
  throttling: ViewThrottling;
9103
+ /**
9104
+ * {@inheritDoc ChromiumPolicies}
9105
+ */
9106
+ chromiumPolicies: ChromiumPolicies;
8951
9107
  };
8952
9108
 
8953
9109
  /**
@@ -9213,6 +9369,10 @@ declare type MutableWindowOptions = {
9213
9369
  * @remarks If `throttling` option is present, the `backgroundThrottling` option is completely ignored for windows.
9214
9370
  */
9215
9371
  throttling: WindowThrottling;
9372
+ /**
9373
+ * {@inheritDoc ChromiumPolicies}
9374
+ */
9375
+ chromiumPolicies: ChromiumPolicies;
9216
9376
  };
9217
9377
 
9218
9378
  declare type NackHandler = (payloadOrMessage: RuntimeErrorPayload | string) => void;
@@ -9433,8 +9593,11 @@ declare namespace OpenFin_2 {
9433
9593
  ViewVisibilityOptions,
9434
9594
  WindowState,
9435
9595
  AutoplayPolicyOptions,
9596
+ ExcludeOptions,
9436
9597
  ConstWindowOptions,
9437
9598
  InheritableOptions,
9599
+ PolicyOptions,
9600
+ ChromiumPolicies,
9438
9601
  MutableWindowOptions,
9439
9602
  WorkspacePlatformOptions,
9440
9603
  WebRequestHeader,
@@ -9468,6 +9631,9 @@ declare namespace OpenFin_2 {
9468
9631
  ViewOptions,
9469
9632
  ConstViewOptions,
9470
9633
  ViewState,
9634
+ ViewCreationSuccess,
9635
+ ViewCreationFailure,
9636
+ ViewCreationResult,
9471
9637
  Certificate,
9472
9638
  HostContextChangedPayload,
9473
9639
  ApplySnapshotOptions,
@@ -9713,6 +9879,7 @@ declare namespace OpenFin_2 {
9713
9879
  RoutingInfo,
9714
9880
  DownloadShelfOptions,
9715
9881
  ViewShowAtOptions,
9882
+ ExtensionInfo,
9716
9883
  ApplicationEvents,
9717
9884
  BaseEvents,
9718
9885
  ExternalApplicationEvents,
@@ -9916,6 +10083,10 @@ declare type PerDomainSettings = {
9916
10083
  * {@link ContentRedirect} in {@link WindowOptions} and {@link ViewOptions} will be **ignored**.
9917
10084
  */
9918
10085
  content?: ContentPermission;
10086
+ /**
10087
+ * {@inheritdoc ChromiumPolicies}
10088
+ */
10089
+ chromiumPolicies?: ChromiumPolicies;
9919
10090
  };
9920
10091
 
9921
10092
  /**
@@ -11348,6 +11519,45 @@ declare interface PlatformProvider {
11348
11519
  * @returns {Promise<void>}
11349
11520
  */
11350
11521
  handleRunRequested({ manifest, userAppConfigArgs }: RunRequestedEvent): Promise<void>;
11522
+ /**
11523
+ * @experimental
11524
+ *
11525
+ * This method is called to handle errors with view creation and initial navigation during layout creation.
11526
+ * Overriding this method enables catching the error and correcting behavior (ie navigating to an error page).
11527
+ * * To indicate that the error has been handled, view creation should be treated as successful return {identity: viewIdentity, success: true}.
11528
+ * * Not returning anything will cause the layout-initialized event to include the view as failed with the original error.
11529
+ * * Throwing an error will update the error on the event payload of layout-initialized to the thrown error.
11530
+ *
11531
+ * @param viewIdentity Identity of the view
11532
+ * @param error error thrown during a view creation
11533
+ * @returns {Promise<OpenFin.ViewCreationSuccess | void>}
11534
+ *
11535
+ * @example
11536
+ *
11537
+ * ```js
11538
+ * const overrideCallback = (PlatformProvider) => {
11539
+ * class Override extends PlatformProvider {
11540
+ * async handleFailedViewCreation(viewIdentity, error) {
11541
+ * const view = fin.View.wrapSync(viewId);
11542
+ * try {
11543
+ * // navigate to an error page
11544
+ * await view.navigate('http://localhost:3000/errorPage.html');
11545
+ * // resolve a success result after redirecting to a error page
11546
+ * return {identity: viewIdentity, success: true};
11547
+ * } catch(e) {
11548
+ * // layout-initialized event will include this view with the error
11549
+ * throw error;
11550
+ * }
11551
+ * }
11552
+ * }
11553
+ * return new Override();
11554
+ * }
11555
+ *
11556
+ * fin.Platform.init({ overrideCallback });
11557
+ *
11558
+ * ```
11559
+ */
11560
+ handleFailedViewCreation(viewIdentity: OpenFin_2.Identity, error: Error): Promise<OpenFin_2.ViewCreationSuccess | void>;
11351
11561
  }
11352
11562
 
11353
11563
  /**
@@ -11412,6 +11622,12 @@ declare type PointTopLeft = {
11412
11622
  left: number;
11413
11623
  };
11414
11624
 
11625
+ /**
11626
+ * When set to `disable`, disables the policy
11627
+ * When set to `defer-to-group-policy`, respects Group Policy settings
11628
+ */
11629
+ declare type PolicyOptions = 'disable' | 'defer-to-group-policy';
11630
+
11415
11631
  declare type PopupBaseBehavior = 'close' | 'hide';
11416
11632
 
11417
11633
  declare type PopupBlurBehavior = 'modal' | PopupBaseBehavior;
@@ -12427,6 +12643,14 @@ declare interface ProtocolMap extends ProtocolMapBase {
12427
12643
  }, void>;
12428
12644
  'system-register-shutdown-handler': VoidCall;
12429
12645
  'get-permissions': GetterCall<any>;
12646
+ 'refresh-extensions': {
12647
+ request: void;
12648
+ response: string[] | undefined;
12649
+ };
12650
+ 'get-installed-extensions': {
12651
+ request: void;
12652
+ response: OpenFin_2.ExtensionInfo[];
12653
+ };
12430
12654
  'fdc3-add-context-listener': VoidCall;
12431
12655
  'fdc3-add-intent-listener': VoidCall;
12432
12656
  'fdc3-raise-intent': VoidCall;
@@ -13115,6 +13339,21 @@ declare type ScreenshotPrintOptions = {
13115
13339
  content: 'screenshot';
13116
13340
  };
13117
13341
 
13342
+ /**
13343
+ * An event generated when an application modifies the runtime in a way that affects all other applications in the
13344
+ * application runtime/security realm.
13345
+ */
13346
+ declare type SecurityRealmEvent = BaseEvent_9 & {
13347
+ /**
13348
+ * Config URL of the application that modified the security realm's extensions
13349
+ */
13350
+ configUrl: string;
13351
+ /**
13352
+ * Identity of the application that modified the security realm's extensions
13353
+ */
13354
+ applicationIdentity: OpenFin_2.ApplicationIdentity;
13355
+ };
13356
+
13118
13357
  declare type SendActionResponse<T extends keyof ProtocolMap> = Message<{
13119
13358
  data: ProtocolMap[T]['response'];
13120
13359
  } & ProtocolMap[T]['specialResponse']>;
@@ -15012,6 +15251,16 @@ declare class System extends EmitterBase<OpenFin_2.SystemEvent> {
15012
15251
  * ```
15013
15252
  */
15014
15253
  setDomainSettings(domainSettings: OpenFin_2.DefaultDomainSettings): Promise<void>;
15254
+ /**
15255
+ * Attempts to install and enable extensions for the security realm. Users may want to call this function in response
15256
+ * to an `extensions-install-failed` event. Only extensions allowed by every application on the current security realm
15257
+ * will be installed/enabled.
15258
+ */
15259
+ refreshExtensions(): Promise<string[] | undefined>;
15260
+ /**
15261
+ * Gets the currently-installed
15262
+ */
15263
+ getInstalledExtensions(): Promise<OpenFin_2.ExtensionInfo[]>;
15015
15264
  }
15016
15265
 
15017
15266
  /**
@@ -15042,6 +15291,14 @@ declare namespace SystemEvents {
15042
15291
  ApplicationCreatedEvent,
15043
15292
  DesktopIconClickedEvent,
15044
15293
  SystemShutdownEvent,
15294
+ ExtensionsEnabledEvent,
15295
+ ExtensionsDisabledEvent,
15296
+ ExtensionsExcludedEvent,
15297
+ ExtensionsInstalledEvent,
15298
+ ExtensionInstalledEvent,
15299
+ ExtensionsInstallFailedEvent,
15300
+ ExtensionInstallFailedEvent,
15301
+ ExtensionsInitializationFailedEvent,
15045
15302
  Event_11 as Event,
15046
15303
  SystemEvent,
15047
15304
  EventType_8 as EventType,
@@ -16054,6 +16311,24 @@ declare type ViewContentCreationRule = BaseContentCreationRule & {
16054
16311
  options?: Partial<ViewOptions>;
16055
16312
  };
16056
16313
 
16314
+ /**
16315
+ * @interface
16316
+ */
16317
+ declare type ViewCreationFailure = {
16318
+ /**
16319
+ * The identity of the created view
16320
+ */
16321
+ identity: Identity_4;
16322
+ /**
16323
+ * Whether the view was created with errors
16324
+ */
16325
+ success: false;
16326
+ /**
16327
+ * Error thrown during view creation
16328
+ */
16329
+ error: Error;
16330
+ };
16331
+
16057
16332
  /**
16058
16333
  * The options object required by {@link View.ViewModule.create View.create}.
16059
16334
  *
@@ -16069,6 +16344,25 @@ declare type ViewCreationOptions = Partial<ViewOptions> & {
16069
16344
 
16070
16345
  declare type ViewCreationOrReference = OpenFin_2.Identity | OpenFin_2.PlatformViewCreationOptions;
16071
16346
 
16347
+ /**
16348
+ * A view creation state
16349
+ */
16350
+ declare type ViewCreationResult = ViewCreationSuccess | ViewCreationFailure;
16351
+
16352
+ /**
16353
+ * @interface
16354
+ */
16355
+ declare type ViewCreationSuccess = {
16356
+ /**
16357
+ * The identity of the created view
16358
+ */
16359
+ identity: Identity_4;
16360
+ /**
16361
+ * Whether the view was created without errors
16362
+ */
16363
+ success: true;
16364
+ };
16365
+
16072
16366
  /**
16073
16367
  * Generated when a window has a view detached from it.
16074
16368
  * @remarks Will fire when a view is destroyed in which case `target` will be null.
@@ -16230,6 +16524,9 @@ declare class ViewModule extends Base {
16230
16524
  */
16231
16525
  declare type ViewOptions = ConstViewOptions & MutableViewOptions;
16232
16526
 
16527
+ /**
16528
+ * @interface
16529
+ */
16233
16530
  declare type ViewShowAtOptions = {
16234
16531
  /**
16235
16532
  * Sets the view as the top level view. See {@link OpenFin.View.bringToFront} for more information.
package/out/mock.js CHANGED
@@ -7099,6 +7099,22 @@ class System extends base_1$i.EmitterBase {
7099
7099
  async setDomainSettings(domainSettings) {
7100
7100
  await this.wire.sendAction('set-domain-settings', { domainSettings, ...this.identity });
7101
7101
  }
7102
+ /**
7103
+ * Attempts to install and enable extensions for the security realm. Users may want to call this function in response
7104
+ * to an `extensions-install-failed` event. Only extensions allowed by every application on the current security realm
7105
+ * will be installed/enabled.
7106
+ */
7107
+ async refreshExtensions() {
7108
+ const { payload } = await this.wire.sendAction('refresh-extensions');
7109
+ return payload.data;
7110
+ }
7111
+ /**
7112
+ * Gets the currently-installed
7113
+ */
7114
+ async getInstalledExtensions() {
7115
+ const { payload } = await this.wire.sendAction('get-installed-extensions');
7116
+ return payload.data;
7117
+ }
7102
7118
  }
7103
7119
  system.System = System;
7104
7120
 
@@ -11735,7 +11751,7 @@ var __classPrivateFieldGet$4 = (commonjsGlobal && commonjsGlobal.__classPrivateF
11735
11751
  if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11736
11752
  return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11737
11753
  };
11738
- var _Layout_layoutClient;
11754
+ var _Layout_instances, _Layout_layoutClient, _Layout_forwardLayoutAction;
11739
11755
  Object.defineProperty(Instance$1, "__esModule", { value: true });
11740
11756
  Instance$1.Layout = void 0;
11741
11757
  const lazy_1 = lazy;
@@ -11889,6 +11905,7 @@ class Layout extends base_1$5.Base {
11889
11905
  // eslint-disable-next-line no-shadow
11890
11906
  constructor(identity, wire) {
11891
11907
  super(wire);
11908
+ _Layout_instances.add(this);
11892
11909
  /**
11893
11910
  * @internal
11894
11911
  * Lazily constructed {@link LayoutEntitiesClient} bound to this platform's client and identity
@@ -12128,9 +12145,50 @@ class Layout extends base_1$5.Base {
12128
12145
  }
12129
12146
  return layout_entities_1.LayoutNode.getEntity(stack, client);
12130
12147
  }
12148
+ /**
12149
+ * Adds a view to the platform layout. Behaves like @link{Platform#createView} with the current layout as the target.
12150
+ *
12151
+ * @param viewOptions - The options for creating the view.
12152
+ * @param options - Optional parameters for adding the view.
12153
+ * @param options.location - The location where the view should be added.
12154
+ * @param options.targetView - The target view to which the new view should be added.
12155
+ * @returns A promise that resolves to an object containing the identity of the added view.
12156
+ */
12157
+ async addView(viewOptions, { location, targetView } = {}) {
12158
+ this.wire.sendAction('layout-add-view').catch((e) => {
12159
+ // don't expose
12160
+ });
12161
+ const { identity } = await __classPrivateFieldGet$4(this, _Layout_instances, "m", _Layout_forwardLayoutAction).call(this, 'layout-add-view', {
12162
+ viewOptions,
12163
+ location,
12164
+ targetView
12165
+ });
12166
+ return { identity };
12167
+ }
12168
+ /**
12169
+ * Closes a view by its identity. Throws an error if the view does not belong to the current layout.
12170
+ * Behaves like @link{Platform#closeView} but only closes the view if it belongs the current layout.
12171
+ *
12172
+ * @param viewIdentity - The identity of the view to close.
12173
+ * @returns A promise that resolves when the view is closed.
12174
+ */
12175
+ async closeView(viewIdentity) {
12176
+ this.wire.sendAction('layout-close-view').catch((e) => {
12177
+ // don't expose
12178
+ });
12179
+ await __classPrivateFieldGet$4(this, _Layout_instances, "m", _Layout_forwardLayoutAction).call(this, 'layout-close-view', { viewIdentity });
12180
+ }
12131
12181
  }
12132
12182
  Instance$1.Layout = Layout;
12133
- _Layout_layoutClient = new WeakMap();
12183
+ _Layout_layoutClient = new WeakMap(), _Layout_instances = new WeakSet(), _Layout_forwardLayoutAction =
12184
+ /**
12185
+ * @internal
12186
+ * Use to type-guard actions sent to the layout via the provider.
12187
+ */
12188
+ async function _Layout_forwardLayoutAction(action, payload) {
12189
+ const client = await this.platform.getClient();
12190
+ return client.dispatch(action, { target: this.identity, opts: payload });
12191
+ };
12134
12192
 
12135
12193
  var __classPrivateFieldGet$3 = (commonjsGlobal && commonjsGlobal.__classPrivateFieldGet) || function (receiver, state, kind, f) {
12136
12194
  if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openfin/core",
3
- "version": "39.83.4",
3
+ "version": "39.83.7",
4
4
  "description": "The core renderer entry point of OpenFin",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "main": "out/mock.js",