@openfin/fdc3-api 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.
@@ -2937,6 +2937,18 @@ declare type ChildWindowCreatedEvent = ContentCreationRulesEvent & {
2937
2937
  childOptions: OpenFin.WindowOptions;
2938
2938
  };
2939
2939
 
2940
+ /**
2941
+ * Control behavior for Chromium policies
2942
+ *
2943
+ * @interface
2944
+ */
2945
+ declare type ChromiumPolicies = {
2946
+ /**
2947
+ * Disable AutofillAddressEnabled policy for a Window or View.
2948
+ */
2949
+ AutofillAddressEnabled?: PolicyOptions;
2950
+ };
2951
+
2940
2952
  declare interface ClassicProtocolOffer extends ProtocolPacketBase {
2941
2953
  type: 'classic';
2942
2954
  }
@@ -3448,6 +3460,10 @@ declare type ConstViewOptions = {
3448
3460
  */
3449
3461
  enabled: boolean;
3450
3462
  };
3463
+ /**
3464
+ * Control which options to ignore when creating a Platform View.
3465
+ */
3466
+ excludeOptions: ExcludeOptions;
3451
3467
  };
3452
3468
 
3453
3469
  /**
@@ -3692,6 +3708,10 @@ declare type ConstWindowOptions = {
3692
3708
  * 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.
3693
3709
  */
3694
3710
  inheritance?: Partial<InheritableOptions>;
3711
+ /**
3712
+ * Control which options to ignore when creating a Platform Window.
3713
+ */
3714
+ excludeOptions: ExcludeOptions;
3695
3715
  };
3696
3716
 
3697
3717
  /**
@@ -4726,7 +4746,7 @@ declare type Event_10 = ApplicationEvents.Event | ApiReadyEvent | SnapshotApplie
4726
4746
  * under the {@link OpenFin.SystemEvents} namespace (payloads inherited from propagated events are defined in the namespace
4727
4747
  * from which they propagate).
4728
4748
  */
4729
- declare type Event_11 = ExcludeRequested<WindowEvents.PropagatedEvent<'system'>> | ExcludeRequested<ViewEvents.PropagatedEvent<'system'>> | ExcludeRequested<ApplicationEvents.PropagatedEvent<'system'>> | ApplicationCreatedEvent | DesktopIconClickedEvent | IdleStateChangedEvent | MonitorInfoChangedEvent | SessionChangedEvent | AppVersionEventWithId | SystemShutdownEvent;
4749
+ 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;
4730
4750
 
4731
4751
  /**
4732
4752
  * [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.
@@ -4871,6 +4891,18 @@ declare type EventType_9 = Event_12['type'];
4871
4891
 
4872
4892
  /* Excluded from this release type: EventWithId */
4873
4893
 
4894
+ /**
4895
+ * @interface
4896
+ */
4897
+ declare type ExcludeOptions = {
4898
+ /**
4899
+ * @defaultValue false
4900
+ *
4901
+ * When true, will not merge default preload scripts from {@link ApplicationOptions.defaultWindowOptions} or {@link ApplicationOptions.defaultViewOptions}.
4902
+ */
4903
+ preloadScripts: boolean;
4904
+ };
4905
+
4874
4906
  /* Excluded from this release type: ExcludeRequested */
4875
4907
 
4876
4908
  declare type ExistingConnectConfig = ConfigWithUuid & {
@@ -4886,6 +4918,105 @@ declare type ExitCode = {
4886
4918
  exitCode: number;
4887
4919
  };
4888
4920
 
4921
+ declare type ExtensionEvent = SecurityRealmEvent & {
4922
+ /**
4923
+ * Runtime extension whose status has been (possibly) modified
4924
+ */
4925
+ extension: string;
4926
+ };
4927
+
4928
+ /**
4929
+ * @interface
4930
+ */
4931
+ declare type ExtensionInfo = {
4932
+ extensionId: string;
4933
+ name: string;
4934
+ enabled: boolean;
4935
+ };
4936
+
4937
+ /**
4938
+ * An event that fires when an extension is installed in the security realm.
4939
+ *
4940
+ * @interface
4941
+ */
4942
+ declare type ExtensionInstalledEvent = ExtensionEvent & {
4943
+ type: 'extension-installed';
4944
+ };
4945
+
4946
+ /**
4947
+ * An event that fires when an extension fails to install in the security realm.
4948
+ *
4949
+ * @interface
4950
+ */
4951
+ declare type ExtensionInstallFailedEvent = ExtensionEvent & {
4952
+ type: 'extension-install-failed';
4953
+ };
4954
+
4955
+ /**
4956
+ * An event that fires when extensions are disabled in the security realm.
4957
+ *
4958
+ * @interface
4959
+ */
4960
+ declare type ExtensionsDisabledEvent = ExtensionsEvent & {
4961
+ type: 'extensions-disabled';
4962
+ };
4963
+
4964
+ /**
4965
+ * An event that fires when extensions are enabled in the security realm.
4966
+ *
4967
+ * @interface
4968
+ */
4969
+ declare type ExtensionsEnabledEvent = ExtensionsEvent & {
4970
+ type: 'extensions-enabled';
4971
+ };
4972
+
4973
+ declare type ExtensionsEvent = SecurityRealmEvent & {
4974
+ /**
4975
+ * Runtime extensions whose status has been (possibly) modified
4976
+ */
4977
+ extensions: string[];
4978
+ };
4979
+
4980
+ /**
4981
+ * An event that fires when requested extensions are not allowed to be installed in the security realm.
4982
+ *
4983
+ * @interface
4984
+ */
4985
+ declare type ExtensionsExcludedEvent = ExtensionsEvent & {
4986
+ type: 'extensions-excluded';
4987
+ };
4988
+
4989
+ /**
4990
+ * An event that fires when extension initialization fails on initial app launch. Users may attempt to
4991
+ * re-initialize extensions by calling {@link System.refreshExtensions}. This event will not fire in response
4992
+ * to manual extension refreshes (users should catch the error normally).
4993
+ */
4994
+ declare type ExtensionsInitializationFailedEvent = Omit<ExtensionsEvent, 'extensions'> & {
4995
+ type: 'extensions-initialization-failed';
4996
+ /**
4997
+ * The error that caused the extension initialization failure
4998
+ */
4999
+ error: Error;
5000
+ };
5001
+
5002
+ /**
5003
+ * An event that fires when extensions are installed in the security realm.
5004
+ *
5005
+ * @interface
5006
+ */
5007
+ declare type ExtensionsInstalledEvent = ExtensionsEvent & {
5008
+ type: 'extensions-installed';
5009
+ };
5010
+
5011
+ /**
5012
+ * An event that fires when extensions fail to install in the security realm.
5013
+ *
5014
+ * @interface
5015
+ */
5016
+ declare type ExtensionsInstallFailedEvent = ExtensionsEvent & {
5017
+ type: 'extensions-install-failed';
5018
+ };
5019
+
4889
5020
  /**
4890
5021
  * An ExternalApplication object representing native language adapter connections to the runtime. Allows
4891
5022
  * the developer to listen to {@link OpenFin.ExternalApplicationEvents external application events}.
@@ -8024,6 +8155,29 @@ declare class Layout extends Base {
8024
8155
  * ```
8025
8156
  */
8026
8157
  applyPreset: (options: PresetLayoutOptions) => Promise<void>;
8158
+ /**
8159
+ * Adds a view to the platform layout. Behaves like @link{Platform#createView} with the current layout as the target.
8160
+ *
8161
+ * @param viewOptions - The options for creating the view.
8162
+ * @param options - Optional parameters for adding the view.
8163
+ * @param options.location - The location where the view should be added.
8164
+ * @param options.targetView - The target view to which the new view should be added.
8165
+ * @returns A promise that resolves to an object containing the identity of the added view.
8166
+ */
8167
+ addView(viewOptions: OpenFin.PlatformViewCreationOptions, { location, targetView }?: {
8168
+ location?: OpenFin.CreateViewTarget['location'];
8169
+ targetView?: OpenFin.Identity;
8170
+ }): Promise<{
8171
+ identity: OpenFin.Identity;
8172
+ }>;
8173
+ /**
8174
+ * Closes a view by its identity. Throws an error if the view does not belong to the current layout.
8175
+ * Behaves like @link{Platform#closeView} but only closes the view if it belongs the current layout.
8176
+ *
8177
+ * @param viewIdentity - The identity of the view to close.
8178
+ * @returns A promise that resolves when the view is closed.
8179
+ */
8180
+ closeView(viewIdentity: OpenFin.Identity): Promise<void>;
8027
8181
  }
8028
8182
 
8029
8183
  /**
@@ -8036,7 +8190,7 @@ declare type LayoutColumn = LayoutItemConfig & {
8036
8190
  /**
8037
8191
  * @interface
8038
8192
  */
8039
- declare type LayoutComponent = LayoutItemConfig & {
8193
+ declare type LayoutComponent = Omit<LayoutItemConfig, 'content' | 'type'> & {
8040
8194
  /**
8041
8195
  * Only a component type will have this property and it should be set to view.
8042
8196
  */
@@ -8045,6 +8199,7 @@ declare type LayoutComponent = LayoutItemConfig & {
8045
8199
  * Only a component type will have this property and it represents the view options of a given component.
8046
8200
  */
8047
8201
  componentState?: Partial<ViewCreationOptions>;
8202
+ type: 'component';
8048
8203
  };
8049
8204
 
8050
8205
  declare type LayoutContent = Array<LayoutItemConfig | LayoutRow | LayoutColumn | LayoutComponent>;
@@ -8128,10 +8283,7 @@ declare type LayoutIdentity = Identity_4 & {
8128
8283
  declare type LayoutInitializedEvent = BaseEvent_5 & {
8129
8284
  type: 'layout-initialized';
8130
8285
  layoutIdentity: OpenFin.LayoutIdentity;
8131
- ofViews: {
8132
- identity: OpenFin.Identity;
8133
- entityType: 'view';
8134
- }[];
8286
+ ofViews: OpenFin.ViewCreationResult[];
8135
8287
  };
8136
8288
 
8137
8289
  /**
@@ -8239,7 +8391,7 @@ declare interface LayoutManager<T extends LayoutSnapshot> {
8239
8391
  /**
8240
8392
  * @experimental
8241
8393
  */
8242
- getLayoutIdentityForView(viewIdentity: Identity_4): LayoutIdentity;
8394
+ getLayoutIdentityForView(viewIdentity: Identity_4): LayoutIdentity | undefined;
8243
8395
  /**
8244
8396
  * @experimental
8245
8397
  */
@@ -8990,6 +9142,10 @@ declare type MutableViewOptions = {
8990
9142
  * @defaultValue 'enabled'
8991
9143
  */
8992
9144
  throttling: ViewThrottling;
9145
+ /**
9146
+ * {@inheritDoc ChromiumPolicies}
9147
+ */
9148
+ chromiumPolicies: ChromiumPolicies;
8993
9149
  };
8994
9150
 
8995
9151
  /**
@@ -9247,6 +9403,10 @@ declare type MutableWindowOptions = {
9247
9403
  * @remarks If `throttling` option is present, the `backgroundThrottling` option is completely ignored for windows.
9248
9404
  */
9249
9405
  throttling: WindowThrottling;
9406
+ /**
9407
+ * {@inheritDoc ChromiumPolicies}
9408
+ */
9409
+ chromiumPolicies: ChromiumPolicies;
9250
9410
  };
9251
9411
 
9252
9412
  declare type NackHandler = (payloadOrMessage: RuntimeErrorPayload | string) => void;
@@ -9457,8 +9617,11 @@ declare namespace OpenFin {
9457
9617
  ViewVisibilityOptions,
9458
9618
  WindowState,
9459
9619
  AutoplayPolicyOptions,
9620
+ ExcludeOptions,
9460
9621
  ConstWindowOptions,
9461
9622
  InheritableOptions,
9623
+ PolicyOptions,
9624
+ ChromiumPolicies,
9462
9625
  MutableWindowOptions,
9463
9626
  WorkspacePlatformOptions,
9464
9627
  WebRequestHeader,
@@ -9492,6 +9655,9 @@ declare namespace OpenFin {
9492
9655
  ViewOptions,
9493
9656
  ConstViewOptions,
9494
9657
  ViewState,
9658
+ ViewCreationSuccess,
9659
+ ViewCreationFailure,
9660
+ ViewCreationResult,
9495
9661
  Certificate,
9496
9662
  HostContextChangedPayload,
9497
9663
  ApplySnapshotOptions,
@@ -9737,6 +9903,7 @@ declare namespace OpenFin {
9737
9903
  RoutingInfo,
9738
9904
  DownloadShelfOptions,
9739
9905
  ViewShowAtOptions,
9906
+ ExtensionInfo,
9740
9907
  ApplicationEvents,
9741
9908
  BaseEvents,
9742
9909
  ExternalApplicationEvents,
@@ -9938,6 +10105,10 @@ declare type PerDomainSettings = {
9938
10105
  * {@link ContentRedirect} in {@link WindowOptions} and {@link ViewOptions} will be **ignored**.
9939
10106
  */
9940
10107
  content?: ContentPermission;
10108
+ /**
10109
+ * {@inheritdoc ChromiumPolicies}
10110
+ */
10111
+ chromiumPolicies?: ChromiumPolicies;
9941
10112
  };
9942
10113
 
9943
10114
  /**
@@ -11292,6 +11463,45 @@ declare interface PlatformProvider {
11292
11463
  * @returns {Promise<void>}
11293
11464
  */
11294
11465
  handleRunRequested({ manifest, userAppConfigArgs }: RunRequestedEvent): Promise<void>;
11466
+ /**
11467
+ * @experimental
11468
+ *
11469
+ * This method is called to handle errors with view creation and initial navigation during layout creation.
11470
+ * Overriding this method enables catching the error and correcting behavior (ie navigating to an error page).
11471
+ * * To indicate that the error has been handled, view creation should be treated as successful return {identity: viewIdentity, success: true}.
11472
+ * * Not returning anything will cause the layout-initialized event to include the view as failed with the original error.
11473
+ * * Throwing an error will update the error on the event payload of layout-initialized to the thrown error.
11474
+ *
11475
+ * @param viewIdentity Identity of the view
11476
+ * @param error error thrown during a view creation
11477
+ * @returns {Promise<OpenFin.ViewCreationSuccess | void>}
11478
+ *
11479
+ * @example
11480
+ *
11481
+ * ```js
11482
+ * const overrideCallback = (PlatformProvider) => {
11483
+ * class Override extends PlatformProvider {
11484
+ * async handleFailedViewCreation(viewIdentity, error) {
11485
+ * const view = fin.View.wrapSync(viewId);
11486
+ * try {
11487
+ * // navigate to an error page
11488
+ * await view.navigate('http://localhost:3000/errorPage.html');
11489
+ * // resolve a success result after redirecting to a error page
11490
+ * return {identity: viewIdentity, success: true};
11491
+ * } catch(e) {
11492
+ * // layout-initialized event will include this view with the error
11493
+ * throw error;
11494
+ * }
11495
+ * }
11496
+ * }
11497
+ * return new Override();
11498
+ * }
11499
+ *
11500
+ * fin.Platform.init({ overrideCallback });
11501
+ *
11502
+ * ```
11503
+ */
11504
+ handleFailedViewCreation(viewIdentity: OpenFin.Identity, error: Error): Promise<OpenFin.ViewCreationSuccess | void>;
11295
11505
  }
11296
11506
 
11297
11507
  /**
@@ -11356,6 +11566,12 @@ declare type PointTopLeft = {
11356
11566
  left: number;
11357
11567
  };
11358
11568
 
11569
+ /**
11570
+ * When set to `disable`, disables the policy
11571
+ * When set to `defer-to-group-policy`, respects Group Policy settings
11572
+ */
11573
+ declare type PolicyOptions = 'disable' | 'defer-to-group-policy';
11574
+
11359
11575
  declare type PopupBaseBehavior = 'close' | 'hide';
11360
11576
 
11361
11577
  declare type PopupBlurBehavior = 'modal' | PopupBaseBehavior;
@@ -12371,6 +12587,14 @@ declare interface ProtocolMap extends ProtocolMapBase {
12371
12587
  }, void>;
12372
12588
  'system-register-shutdown-handler': VoidCall;
12373
12589
  'get-permissions': GetterCall<any>;
12590
+ 'refresh-extensions': {
12591
+ request: void;
12592
+ response: string[] | undefined;
12593
+ };
12594
+ 'get-installed-extensions': {
12595
+ request: void;
12596
+ response: OpenFin.ExtensionInfo[];
12597
+ };
12374
12598
  'fdc3-add-context-listener': VoidCall;
12375
12599
  'fdc3-add-intent-listener': VoidCall;
12376
12600
  'fdc3-raise-intent': VoidCall;
@@ -13059,6 +13283,21 @@ declare type ScreenshotPrintOptions = {
13059
13283
  content: 'screenshot';
13060
13284
  };
13061
13285
 
13286
+ /**
13287
+ * An event generated when an application modifies the runtime in a way that affects all other applications in the
13288
+ * application runtime/security realm.
13289
+ */
13290
+ declare type SecurityRealmEvent = BaseEvent_9 & {
13291
+ /**
13292
+ * Config URL of the application that modified the security realm's extensions
13293
+ */
13294
+ configUrl: string;
13295
+ /**
13296
+ * Identity of the application that modified the security realm's extensions
13297
+ */
13298
+ applicationIdentity: OpenFin.ApplicationIdentity;
13299
+ };
13300
+
13062
13301
  declare type SendActionResponse<T extends keyof ProtocolMap> = Message<{
13063
13302
  data: ProtocolMap[T]['response'];
13064
13303
  } & ProtocolMap[T]['specialResponse']>;
@@ -14950,6 +15189,16 @@ declare class System extends EmitterBase<OpenFin.SystemEvent> {
14950
15189
  * ```
14951
15190
  */
14952
15191
  setDomainSettings(domainSettings: OpenFin.DefaultDomainSettings): Promise<void>;
15192
+ /**
15193
+ * Attempts to install and enable extensions for the security realm. Users may want to call this function in response
15194
+ * to an `extensions-install-failed` event. Only extensions allowed by every application on the current security realm
15195
+ * will be installed/enabled.
15196
+ */
15197
+ refreshExtensions(): Promise<string[] | undefined>;
15198
+ /**
15199
+ * Gets the currently-installed
15200
+ */
15201
+ getInstalledExtensions(): Promise<OpenFin.ExtensionInfo[]>;
14953
15202
  }
14954
15203
 
14955
15204
  /**
@@ -14980,6 +15229,14 @@ declare namespace SystemEvents {
14980
15229
  ApplicationCreatedEvent,
14981
15230
  DesktopIconClickedEvent,
14982
15231
  SystemShutdownEvent,
15232
+ ExtensionsEnabledEvent,
15233
+ ExtensionsDisabledEvent,
15234
+ ExtensionsExcludedEvent,
15235
+ ExtensionsInstalledEvent,
15236
+ ExtensionInstalledEvent,
15237
+ ExtensionsInstallFailedEvent,
15238
+ ExtensionInstallFailedEvent,
15239
+ ExtensionsInitializationFailedEvent,
14983
15240
  Event_11 as Event,
14984
15241
  SystemEvent,
14985
15242
  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.Identity | OpenFin.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.