@openfin/fdc3-api 46.100.65 → 46.100.66
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/fdc3-api-alpha.d.ts +72 -15
- package/out/fdc3-api-beta.d.ts +72 -15
- package/out/fdc3-api-public.d.ts +72 -15
- package/out/fdc3-api.d.ts +72 -15
- package/out/fdc3-api.js +13 -10
- package/package.json +1 -1
package/out/fdc3-api-alpha.d.ts
CHANGED
|
@@ -7390,17 +7390,19 @@ declare type InteropActionLoggingOption = {
|
|
|
7390
7390
|
* "interopBrokerConfiguration": {
|
|
7391
7391
|
* "contextGroups": [
|
|
7392
7392
|
* {
|
|
7393
|
-
* "id": "
|
|
7393
|
+
* "id": "fdc3.channel.4",
|
|
7394
7394
|
* "displayMetadata": {
|
|
7395
|
-
* "color": "
|
|
7396
|
-
* "name": "
|
|
7395
|
+
* "color": "green",
|
|
7396
|
+
* "name": "Channel 4",
|
|
7397
|
+
* "glyph": "4"
|
|
7397
7398
|
* }
|
|
7398
7399
|
* },
|
|
7399
7400
|
* {
|
|
7400
|
-
* "id": "
|
|
7401
|
+
* "id": "fdc3.channel.8",
|
|
7401
7402
|
* "displayMetadata": {
|
|
7402
|
-
* "color": "
|
|
7403
|
-
* "name": "
|
|
7403
|
+
* "color": "purple",
|
|
7404
|
+
* "name": "Channel 8",
|
|
7405
|
+
* "glyph": "8"
|
|
7404
7406
|
* }
|
|
7405
7407
|
* },
|
|
7406
7408
|
* ]
|
|
@@ -7534,7 +7536,7 @@ declare class InteropBroker extends Base {
|
|
|
7534
7536
|
* @param joinContextGroupOptions - Id of the Context Group and identity of the entity to join to the group.
|
|
7535
7537
|
* @param senderIdentity - Identity of the client sender.
|
|
7536
7538
|
*/
|
|
7537
|
-
joinContextGroup({ contextGroupId, target }: {
|
|
7539
|
+
joinContextGroup({ contextGroupId: requestedContextGroupId, target }: {
|
|
7538
7540
|
contextGroupId: string;
|
|
7539
7541
|
target?: OpenFin.ClientIdentity | OpenFin.Identity;
|
|
7540
7542
|
}, senderIdentity: OpenFin.ClientIdentity): Promise<void>;
|
|
@@ -7545,7 +7547,7 @@ declare class InteropBroker extends Base {
|
|
|
7545
7547
|
* @param addClientToContextGroupOptions - Contains the contextGroupId
|
|
7546
7548
|
* @param clientIdentity - Identity of the client sender.
|
|
7547
7549
|
*/
|
|
7548
|
-
addClientToContextGroup({ contextGroupId }: {
|
|
7550
|
+
addClientToContextGroup({ contextGroupId: requestedContextGroupId }: {
|
|
7549
7551
|
contextGroupId: string;
|
|
7550
7552
|
}, clientIdentity: OpenFin.ClientIdentity): Promise<void>;
|
|
7551
7553
|
/**
|
|
@@ -7958,6 +7960,8 @@ declare class InteropBroker extends Base {
|
|
|
7958
7960
|
};
|
|
7959
7961
|
private getClientState;
|
|
7960
7962
|
private static toObject;
|
|
7963
|
+
private normalizeContextGroupStates;
|
|
7964
|
+
private normalizeContextGroupId;
|
|
7961
7965
|
static checkContextIntegrity: (context: OpenFin.Context) => {
|
|
7962
7966
|
isValid: true;
|
|
7963
7967
|
} | {
|
|
@@ -8185,7 +8189,7 @@ declare class InteropClient extends Base {
|
|
|
8185
8189
|
*
|
|
8186
8190
|
* getLastFocusedView()
|
|
8187
8191
|
* .then(lastFocusedViewIdentity => {
|
|
8188
|
-
* joinViewToContextGroup('
|
|
8192
|
+
* joinViewToContextGroup('fdc3.channel.1', lastFocusedViewIdentity)
|
|
8189
8193
|
* })
|
|
8190
8194
|
* ```
|
|
8191
8195
|
*/
|
|
@@ -8220,7 +8224,7 @@ declare class InteropClient extends Base {
|
|
|
8220
8224
|
*
|
|
8221
8225
|
* @example
|
|
8222
8226
|
* ```js
|
|
8223
|
-
* fin.me.interop.getAllClientsInContextGroup('
|
|
8227
|
+
* fin.me.interop.getAllClientsInContextGroup('fdc3.channel.1')
|
|
8224
8228
|
* .then(clientsInContextGroup => {
|
|
8225
8229
|
* console.log(clientsInContextGroup)
|
|
8226
8230
|
* })
|
|
@@ -8235,7 +8239,7 @@ declare class InteropClient extends Base {
|
|
|
8235
8239
|
*
|
|
8236
8240
|
* @example
|
|
8237
8241
|
* ```js
|
|
8238
|
-
* fin.me.interop.getInfoForContextGroup('
|
|
8242
|
+
* fin.me.interop.getInfoForContextGroup('fdc3.channel.1')
|
|
8239
8243
|
* .then(contextGroupInfo => {
|
|
8240
8244
|
* console.log(contextGroupInfo.displayMetadata.name)
|
|
8241
8245
|
* console.log(contextGroupInfo.displayMetadata.color)
|
|
@@ -8292,12 +8296,12 @@ declare class InteropClient extends Base {
|
|
|
8292
8296
|
*
|
|
8293
8297
|
* @example
|
|
8294
8298
|
* ```js
|
|
8295
|
-
* await fin.me.interop.joinContextGroup('
|
|
8299
|
+
* await fin.me.interop.joinContextGroup('fdc3.channel.3');
|
|
8296
8300
|
* await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
|
|
8297
8301
|
* const currentContext = await fin.me.interop.getCurrentContext();
|
|
8298
8302
|
*
|
|
8299
8303
|
* // with a specific context
|
|
8300
|
-
* await fin.me.interop.joinContextGroup('
|
|
8304
|
+
* await fin.me.interop.joinContextGroup('fdc3.channel.3');
|
|
8301
8305
|
* await fin.me.interop.setContext({ type: 'country', id: { ISOALPHA3: 'US' }});
|
|
8302
8306
|
* await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
|
|
8303
8307
|
* const currentContext = await fin.me.interop.getCurrentContext('country');
|
|
@@ -8459,7 +8463,7 @@ declare type InteropClientOnDisconnectionListener = (InteropBrokerDisconnectionE
|
|
|
8459
8463
|
*/
|
|
8460
8464
|
declare type InteropConfig = {
|
|
8461
8465
|
/**
|
|
8462
|
-
* Context Group for the client
|
|
8466
|
+
* Context Group ID for the client (for example, `fdc3.channel.4`).
|
|
8463
8467
|
*/
|
|
8464
8468
|
currentContextGroup?: string | null;
|
|
8465
8469
|
/**
|
|
@@ -8508,7 +8512,7 @@ declare class InteropModule extends Base {
|
|
|
8508
8512
|
* @example
|
|
8509
8513
|
* ```js
|
|
8510
8514
|
* const interopConfig = {
|
|
8511
|
-
* currentContextGroup: '
|
|
8515
|
+
* currentContextGroup: 'fdc3.channel.4'
|
|
8512
8516
|
* }
|
|
8513
8517
|
*
|
|
8514
8518
|
* const interopBroker = await fin.Interop.init('openfin');
|
|
@@ -9796,6 +9800,10 @@ declare type Manifest = {
|
|
|
9796
9800
|
experimentalExtensionPolicyBlockedHosts?: {
|
|
9797
9801
|
hosts: string[];
|
|
9798
9802
|
};
|
|
9803
|
+
/**
|
|
9804
|
+
* Chromium extensions to install and enable for this application.
|
|
9805
|
+
*/
|
|
9806
|
+
extensions?: ManifestExtension[];
|
|
9799
9807
|
licenseKey: string;
|
|
9800
9808
|
offlineAccess?: boolean;
|
|
9801
9809
|
platform?: PlatformOptions;
|
|
@@ -9849,6 +9857,27 @@ declare type ManifestChangedEvent = BaseEvents.IdentityEvent & {
|
|
|
9849
9857
|
type: 'manifest-changed';
|
|
9850
9858
|
};
|
|
9851
9859
|
|
|
9860
|
+
/**
|
|
9861
|
+
* Chromium extension entry in an application configuration.
|
|
9862
|
+
*
|
|
9863
|
+
* @interface
|
|
9864
|
+
*/
|
|
9865
|
+
declare type ManifestExtension = {
|
|
9866
|
+
/** Chromium extension ID. */
|
|
9867
|
+
id: string;
|
|
9868
|
+
/** Extension server URL used to install the extension. */
|
|
9869
|
+
serverURL: string;
|
|
9870
|
+
/**
|
|
9871
|
+
* Rules declaring where this extension may inject content scripts into
|
|
9872
|
+
* non-tab surfaces (for example the AI Center). Omit or leave empty to keep
|
|
9873
|
+
* the extension restricted to browser tabs — identical to historic
|
|
9874
|
+
* behavior. A wildcard pattern in `match` grants blanket coverage.
|
|
9875
|
+
* `matchOptions` behaves as it does for domain settings. Intended for
|
|
9876
|
+
* security extensions rather than extensions that add visible UI.
|
|
9877
|
+
*/
|
|
9878
|
+
nonTabInjections?: NonTabInjectionRule[];
|
|
9879
|
+
};
|
|
9880
|
+
|
|
9852
9881
|
/**
|
|
9853
9882
|
* @interface
|
|
9854
9883
|
*/
|
|
@@ -10639,6 +10668,32 @@ declare type NonPropagatedWebContentsEvent = never;
|
|
|
10639
10668
|
*/
|
|
10640
10669
|
declare type NonPropagatedWindowEvent = never;
|
|
10641
10670
|
|
|
10671
|
+
/**
|
|
10672
|
+
* Rule permitting a Chromium extension to inject content scripts into non-tab
|
|
10673
|
+
* web content whose URL matches the given patterns.
|
|
10674
|
+
*
|
|
10675
|
+
* Match patterns use the same Chromium
|
|
10676
|
+
* [match pattern](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
|
|
10677
|
+
* syntax as {@link DomainSettingsRule}. Omitting `matchOptions` uses the same
|
|
10678
|
+
* default scheme-matching behavior as domain settings.
|
|
10679
|
+
*
|
|
10680
|
+
* @interface
|
|
10681
|
+
*/
|
|
10682
|
+
declare type NonTabInjectionRule = {
|
|
10683
|
+
/**
|
|
10684
|
+
* Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
|
|
10685
|
+
* specifying the content locations where the extension may inject outside
|
|
10686
|
+
* browser tabs. An empty array grants no permission. A wildcard grants
|
|
10687
|
+
* blanket coverage of all content locations.
|
|
10688
|
+
*/
|
|
10689
|
+
match: string[];
|
|
10690
|
+
/**
|
|
10691
|
+
* Options to use when comparing URIs to the `match` patterns. Behaves as
|
|
10692
|
+
* {@link DomainSettingsRule.matchOptions} / {@link RuleMatchOptions}.
|
|
10693
|
+
*/
|
|
10694
|
+
matchOptions?: RuleMatchOptions;
|
|
10695
|
+
};
|
|
10696
|
+
|
|
10642
10697
|
/* Excluded from this release type: NotCloseRequested */
|
|
10643
10698
|
|
|
10644
10699
|
declare type NotificationEvent = {
|
|
@@ -10947,6 +11002,8 @@ declare namespace OpenFin {
|
|
|
10947
11002
|
ThemeColorsMap,
|
|
10948
11003
|
ThemeColorId,
|
|
10949
11004
|
ThemePalette,
|
|
11005
|
+
NonTabInjectionRule,
|
|
11006
|
+
ManifestExtension,
|
|
10950
11007
|
Manifest,
|
|
10951
11008
|
LayoutContent,
|
|
10952
11009
|
LayoutItemConfig,
|
package/out/fdc3-api-beta.d.ts
CHANGED
|
@@ -7390,17 +7390,19 @@ declare type InteropActionLoggingOption = {
|
|
|
7390
7390
|
* "interopBrokerConfiguration": {
|
|
7391
7391
|
* "contextGroups": [
|
|
7392
7392
|
* {
|
|
7393
|
-
* "id": "
|
|
7393
|
+
* "id": "fdc3.channel.4",
|
|
7394
7394
|
* "displayMetadata": {
|
|
7395
|
-
* "color": "
|
|
7396
|
-
* "name": "
|
|
7395
|
+
* "color": "green",
|
|
7396
|
+
* "name": "Channel 4",
|
|
7397
|
+
* "glyph": "4"
|
|
7397
7398
|
* }
|
|
7398
7399
|
* },
|
|
7399
7400
|
* {
|
|
7400
|
-
* "id": "
|
|
7401
|
+
* "id": "fdc3.channel.8",
|
|
7401
7402
|
* "displayMetadata": {
|
|
7402
|
-
* "color": "
|
|
7403
|
-
* "name": "
|
|
7403
|
+
* "color": "purple",
|
|
7404
|
+
* "name": "Channel 8",
|
|
7405
|
+
* "glyph": "8"
|
|
7404
7406
|
* }
|
|
7405
7407
|
* },
|
|
7406
7408
|
* ]
|
|
@@ -7534,7 +7536,7 @@ declare class InteropBroker extends Base {
|
|
|
7534
7536
|
* @param joinContextGroupOptions - Id of the Context Group and identity of the entity to join to the group.
|
|
7535
7537
|
* @param senderIdentity - Identity of the client sender.
|
|
7536
7538
|
*/
|
|
7537
|
-
joinContextGroup({ contextGroupId, target }: {
|
|
7539
|
+
joinContextGroup({ contextGroupId: requestedContextGroupId, target }: {
|
|
7538
7540
|
contextGroupId: string;
|
|
7539
7541
|
target?: OpenFin.ClientIdentity | OpenFin.Identity;
|
|
7540
7542
|
}, senderIdentity: OpenFin.ClientIdentity): Promise<void>;
|
|
@@ -7545,7 +7547,7 @@ declare class InteropBroker extends Base {
|
|
|
7545
7547
|
* @param addClientToContextGroupOptions - Contains the contextGroupId
|
|
7546
7548
|
* @param clientIdentity - Identity of the client sender.
|
|
7547
7549
|
*/
|
|
7548
|
-
addClientToContextGroup({ contextGroupId }: {
|
|
7550
|
+
addClientToContextGroup({ contextGroupId: requestedContextGroupId }: {
|
|
7549
7551
|
contextGroupId: string;
|
|
7550
7552
|
}, clientIdentity: OpenFin.ClientIdentity): Promise<void>;
|
|
7551
7553
|
/**
|
|
@@ -7958,6 +7960,8 @@ declare class InteropBroker extends Base {
|
|
|
7958
7960
|
};
|
|
7959
7961
|
private getClientState;
|
|
7960
7962
|
private static toObject;
|
|
7963
|
+
private normalizeContextGroupStates;
|
|
7964
|
+
private normalizeContextGroupId;
|
|
7961
7965
|
static checkContextIntegrity: (context: OpenFin.Context) => {
|
|
7962
7966
|
isValid: true;
|
|
7963
7967
|
} | {
|
|
@@ -8185,7 +8189,7 @@ declare class InteropClient extends Base {
|
|
|
8185
8189
|
*
|
|
8186
8190
|
* getLastFocusedView()
|
|
8187
8191
|
* .then(lastFocusedViewIdentity => {
|
|
8188
|
-
* joinViewToContextGroup('
|
|
8192
|
+
* joinViewToContextGroup('fdc3.channel.1', lastFocusedViewIdentity)
|
|
8189
8193
|
* })
|
|
8190
8194
|
* ```
|
|
8191
8195
|
*/
|
|
@@ -8220,7 +8224,7 @@ declare class InteropClient extends Base {
|
|
|
8220
8224
|
*
|
|
8221
8225
|
* @example
|
|
8222
8226
|
* ```js
|
|
8223
|
-
* fin.me.interop.getAllClientsInContextGroup('
|
|
8227
|
+
* fin.me.interop.getAllClientsInContextGroup('fdc3.channel.1')
|
|
8224
8228
|
* .then(clientsInContextGroup => {
|
|
8225
8229
|
* console.log(clientsInContextGroup)
|
|
8226
8230
|
* })
|
|
@@ -8235,7 +8239,7 @@ declare class InteropClient extends Base {
|
|
|
8235
8239
|
*
|
|
8236
8240
|
* @example
|
|
8237
8241
|
* ```js
|
|
8238
|
-
* fin.me.interop.getInfoForContextGroup('
|
|
8242
|
+
* fin.me.interop.getInfoForContextGroup('fdc3.channel.1')
|
|
8239
8243
|
* .then(contextGroupInfo => {
|
|
8240
8244
|
* console.log(contextGroupInfo.displayMetadata.name)
|
|
8241
8245
|
* console.log(contextGroupInfo.displayMetadata.color)
|
|
@@ -8292,12 +8296,12 @@ declare class InteropClient extends Base {
|
|
|
8292
8296
|
*
|
|
8293
8297
|
* @example
|
|
8294
8298
|
* ```js
|
|
8295
|
-
* await fin.me.interop.joinContextGroup('
|
|
8299
|
+
* await fin.me.interop.joinContextGroup('fdc3.channel.3');
|
|
8296
8300
|
* await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
|
|
8297
8301
|
* const currentContext = await fin.me.interop.getCurrentContext();
|
|
8298
8302
|
*
|
|
8299
8303
|
* // with a specific context
|
|
8300
|
-
* await fin.me.interop.joinContextGroup('
|
|
8304
|
+
* await fin.me.interop.joinContextGroup('fdc3.channel.3');
|
|
8301
8305
|
* await fin.me.interop.setContext({ type: 'country', id: { ISOALPHA3: 'US' }});
|
|
8302
8306
|
* await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
|
|
8303
8307
|
* const currentContext = await fin.me.interop.getCurrentContext('country');
|
|
@@ -8459,7 +8463,7 @@ declare type InteropClientOnDisconnectionListener = (InteropBrokerDisconnectionE
|
|
|
8459
8463
|
*/
|
|
8460
8464
|
declare type InteropConfig = {
|
|
8461
8465
|
/**
|
|
8462
|
-
* Context Group for the client
|
|
8466
|
+
* Context Group ID for the client (for example, `fdc3.channel.4`).
|
|
8463
8467
|
*/
|
|
8464
8468
|
currentContextGroup?: string | null;
|
|
8465
8469
|
/**
|
|
@@ -8508,7 +8512,7 @@ declare class InteropModule extends Base {
|
|
|
8508
8512
|
* @example
|
|
8509
8513
|
* ```js
|
|
8510
8514
|
* const interopConfig = {
|
|
8511
|
-
* currentContextGroup: '
|
|
8515
|
+
* currentContextGroup: 'fdc3.channel.4'
|
|
8512
8516
|
* }
|
|
8513
8517
|
*
|
|
8514
8518
|
* const interopBroker = await fin.Interop.init('openfin');
|
|
@@ -9796,6 +9800,10 @@ declare type Manifest = {
|
|
|
9796
9800
|
experimentalExtensionPolicyBlockedHosts?: {
|
|
9797
9801
|
hosts: string[];
|
|
9798
9802
|
};
|
|
9803
|
+
/**
|
|
9804
|
+
* Chromium extensions to install and enable for this application.
|
|
9805
|
+
*/
|
|
9806
|
+
extensions?: ManifestExtension[];
|
|
9799
9807
|
licenseKey: string;
|
|
9800
9808
|
offlineAccess?: boolean;
|
|
9801
9809
|
platform?: PlatformOptions;
|
|
@@ -9849,6 +9857,27 @@ declare type ManifestChangedEvent = BaseEvents.IdentityEvent & {
|
|
|
9849
9857
|
type: 'manifest-changed';
|
|
9850
9858
|
};
|
|
9851
9859
|
|
|
9860
|
+
/**
|
|
9861
|
+
* Chromium extension entry in an application configuration.
|
|
9862
|
+
*
|
|
9863
|
+
* @interface
|
|
9864
|
+
*/
|
|
9865
|
+
declare type ManifestExtension = {
|
|
9866
|
+
/** Chromium extension ID. */
|
|
9867
|
+
id: string;
|
|
9868
|
+
/** Extension server URL used to install the extension. */
|
|
9869
|
+
serverURL: string;
|
|
9870
|
+
/**
|
|
9871
|
+
* Rules declaring where this extension may inject content scripts into
|
|
9872
|
+
* non-tab surfaces (for example the AI Center). Omit or leave empty to keep
|
|
9873
|
+
* the extension restricted to browser tabs — identical to historic
|
|
9874
|
+
* behavior. A wildcard pattern in `match` grants blanket coverage.
|
|
9875
|
+
* `matchOptions` behaves as it does for domain settings. Intended for
|
|
9876
|
+
* security extensions rather than extensions that add visible UI.
|
|
9877
|
+
*/
|
|
9878
|
+
nonTabInjections?: NonTabInjectionRule[];
|
|
9879
|
+
};
|
|
9880
|
+
|
|
9852
9881
|
/**
|
|
9853
9882
|
* @interface
|
|
9854
9883
|
*/
|
|
@@ -10639,6 +10668,32 @@ declare type NonPropagatedWebContentsEvent = never;
|
|
|
10639
10668
|
*/
|
|
10640
10669
|
declare type NonPropagatedWindowEvent = never;
|
|
10641
10670
|
|
|
10671
|
+
/**
|
|
10672
|
+
* Rule permitting a Chromium extension to inject content scripts into non-tab
|
|
10673
|
+
* web content whose URL matches the given patterns.
|
|
10674
|
+
*
|
|
10675
|
+
* Match patterns use the same Chromium
|
|
10676
|
+
* [match pattern](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
|
|
10677
|
+
* syntax as {@link DomainSettingsRule}. Omitting `matchOptions` uses the same
|
|
10678
|
+
* default scheme-matching behavior as domain settings.
|
|
10679
|
+
*
|
|
10680
|
+
* @interface
|
|
10681
|
+
*/
|
|
10682
|
+
declare type NonTabInjectionRule = {
|
|
10683
|
+
/**
|
|
10684
|
+
* Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
|
|
10685
|
+
* specifying the content locations where the extension may inject outside
|
|
10686
|
+
* browser tabs. An empty array grants no permission. A wildcard grants
|
|
10687
|
+
* blanket coverage of all content locations.
|
|
10688
|
+
*/
|
|
10689
|
+
match: string[];
|
|
10690
|
+
/**
|
|
10691
|
+
* Options to use when comparing URIs to the `match` patterns. Behaves as
|
|
10692
|
+
* {@link DomainSettingsRule.matchOptions} / {@link RuleMatchOptions}.
|
|
10693
|
+
*/
|
|
10694
|
+
matchOptions?: RuleMatchOptions;
|
|
10695
|
+
};
|
|
10696
|
+
|
|
10642
10697
|
/* Excluded from this release type: NotCloseRequested */
|
|
10643
10698
|
|
|
10644
10699
|
declare type NotificationEvent = {
|
|
@@ -10947,6 +11002,8 @@ declare namespace OpenFin {
|
|
|
10947
11002
|
ThemeColorsMap,
|
|
10948
11003
|
ThemeColorId,
|
|
10949
11004
|
ThemePalette,
|
|
11005
|
+
NonTabInjectionRule,
|
|
11006
|
+
ManifestExtension,
|
|
10950
11007
|
Manifest,
|
|
10951
11008
|
LayoutContent,
|
|
10952
11009
|
LayoutItemConfig,
|
package/out/fdc3-api-public.d.ts
CHANGED
|
@@ -7390,17 +7390,19 @@ declare type InteropActionLoggingOption = {
|
|
|
7390
7390
|
* "interopBrokerConfiguration": {
|
|
7391
7391
|
* "contextGroups": [
|
|
7392
7392
|
* {
|
|
7393
|
-
* "id": "
|
|
7393
|
+
* "id": "fdc3.channel.4",
|
|
7394
7394
|
* "displayMetadata": {
|
|
7395
|
-
* "color": "
|
|
7396
|
-
* "name": "
|
|
7395
|
+
* "color": "green",
|
|
7396
|
+
* "name": "Channel 4",
|
|
7397
|
+
* "glyph": "4"
|
|
7397
7398
|
* }
|
|
7398
7399
|
* },
|
|
7399
7400
|
* {
|
|
7400
|
-
* "id": "
|
|
7401
|
+
* "id": "fdc3.channel.8",
|
|
7401
7402
|
* "displayMetadata": {
|
|
7402
|
-
* "color": "
|
|
7403
|
-
* "name": "
|
|
7403
|
+
* "color": "purple",
|
|
7404
|
+
* "name": "Channel 8",
|
|
7405
|
+
* "glyph": "8"
|
|
7404
7406
|
* }
|
|
7405
7407
|
* },
|
|
7406
7408
|
* ]
|
|
@@ -7534,7 +7536,7 @@ declare class InteropBroker extends Base {
|
|
|
7534
7536
|
* @param joinContextGroupOptions - Id of the Context Group and identity of the entity to join to the group.
|
|
7535
7537
|
* @param senderIdentity - Identity of the client sender.
|
|
7536
7538
|
*/
|
|
7537
|
-
joinContextGroup({ contextGroupId, target }: {
|
|
7539
|
+
joinContextGroup({ contextGroupId: requestedContextGroupId, target }: {
|
|
7538
7540
|
contextGroupId: string;
|
|
7539
7541
|
target?: OpenFin.ClientIdentity | OpenFin.Identity;
|
|
7540
7542
|
}, senderIdentity: OpenFin.ClientIdentity): Promise<void>;
|
|
@@ -7545,7 +7547,7 @@ declare class InteropBroker extends Base {
|
|
|
7545
7547
|
* @param addClientToContextGroupOptions - Contains the contextGroupId
|
|
7546
7548
|
* @param clientIdentity - Identity of the client sender.
|
|
7547
7549
|
*/
|
|
7548
|
-
addClientToContextGroup({ contextGroupId }: {
|
|
7550
|
+
addClientToContextGroup({ contextGroupId: requestedContextGroupId }: {
|
|
7549
7551
|
contextGroupId: string;
|
|
7550
7552
|
}, clientIdentity: OpenFin.ClientIdentity): Promise<void>;
|
|
7551
7553
|
/**
|
|
@@ -7958,6 +7960,8 @@ declare class InteropBroker extends Base {
|
|
|
7958
7960
|
};
|
|
7959
7961
|
private getClientState;
|
|
7960
7962
|
private static toObject;
|
|
7963
|
+
private normalizeContextGroupStates;
|
|
7964
|
+
private normalizeContextGroupId;
|
|
7961
7965
|
static checkContextIntegrity: (context: OpenFin.Context) => {
|
|
7962
7966
|
isValid: true;
|
|
7963
7967
|
} | {
|
|
@@ -8185,7 +8189,7 @@ declare class InteropClient extends Base {
|
|
|
8185
8189
|
*
|
|
8186
8190
|
* getLastFocusedView()
|
|
8187
8191
|
* .then(lastFocusedViewIdentity => {
|
|
8188
|
-
* joinViewToContextGroup('
|
|
8192
|
+
* joinViewToContextGroup('fdc3.channel.1', lastFocusedViewIdentity)
|
|
8189
8193
|
* })
|
|
8190
8194
|
* ```
|
|
8191
8195
|
*/
|
|
@@ -8220,7 +8224,7 @@ declare class InteropClient extends Base {
|
|
|
8220
8224
|
*
|
|
8221
8225
|
* @example
|
|
8222
8226
|
* ```js
|
|
8223
|
-
* fin.me.interop.getAllClientsInContextGroup('
|
|
8227
|
+
* fin.me.interop.getAllClientsInContextGroup('fdc3.channel.1')
|
|
8224
8228
|
* .then(clientsInContextGroup => {
|
|
8225
8229
|
* console.log(clientsInContextGroup)
|
|
8226
8230
|
* })
|
|
@@ -8235,7 +8239,7 @@ declare class InteropClient extends Base {
|
|
|
8235
8239
|
*
|
|
8236
8240
|
* @example
|
|
8237
8241
|
* ```js
|
|
8238
|
-
* fin.me.interop.getInfoForContextGroup('
|
|
8242
|
+
* fin.me.interop.getInfoForContextGroup('fdc3.channel.1')
|
|
8239
8243
|
* .then(contextGroupInfo => {
|
|
8240
8244
|
* console.log(contextGroupInfo.displayMetadata.name)
|
|
8241
8245
|
* console.log(contextGroupInfo.displayMetadata.color)
|
|
@@ -8292,12 +8296,12 @@ declare class InteropClient extends Base {
|
|
|
8292
8296
|
*
|
|
8293
8297
|
* @example
|
|
8294
8298
|
* ```js
|
|
8295
|
-
* await fin.me.interop.joinContextGroup('
|
|
8299
|
+
* await fin.me.interop.joinContextGroup('fdc3.channel.3');
|
|
8296
8300
|
* await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
|
|
8297
8301
|
* const currentContext = await fin.me.interop.getCurrentContext();
|
|
8298
8302
|
*
|
|
8299
8303
|
* // with a specific context
|
|
8300
|
-
* await fin.me.interop.joinContextGroup('
|
|
8304
|
+
* await fin.me.interop.joinContextGroup('fdc3.channel.3');
|
|
8301
8305
|
* await fin.me.interop.setContext({ type: 'country', id: { ISOALPHA3: 'US' }});
|
|
8302
8306
|
* await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
|
|
8303
8307
|
* const currentContext = await fin.me.interop.getCurrentContext('country');
|
|
@@ -8459,7 +8463,7 @@ declare type InteropClientOnDisconnectionListener = (InteropBrokerDisconnectionE
|
|
|
8459
8463
|
*/
|
|
8460
8464
|
declare type InteropConfig = {
|
|
8461
8465
|
/**
|
|
8462
|
-
* Context Group for the client
|
|
8466
|
+
* Context Group ID for the client (for example, `fdc3.channel.4`).
|
|
8463
8467
|
*/
|
|
8464
8468
|
currentContextGroup?: string | null;
|
|
8465
8469
|
/**
|
|
@@ -8508,7 +8512,7 @@ declare class InteropModule extends Base {
|
|
|
8508
8512
|
* @example
|
|
8509
8513
|
* ```js
|
|
8510
8514
|
* const interopConfig = {
|
|
8511
|
-
* currentContextGroup: '
|
|
8515
|
+
* currentContextGroup: 'fdc3.channel.4'
|
|
8512
8516
|
* }
|
|
8513
8517
|
*
|
|
8514
8518
|
* const interopBroker = await fin.Interop.init('openfin');
|
|
@@ -9796,6 +9800,10 @@ declare type Manifest = {
|
|
|
9796
9800
|
experimentalExtensionPolicyBlockedHosts?: {
|
|
9797
9801
|
hosts: string[];
|
|
9798
9802
|
};
|
|
9803
|
+
/**
|
|
9804
|
+
* Chromium extensions to install and enable for this application.
|
|
9805
|
+
*/
|
|
9806
|
+
extensions?: ManifestExtension[];
|
|
9799
9807
|
licenseKey: string;
|
|
9800
9808
|
offlineAccess?: boolean;
|
|
9801
9809
|
platform?: PlatformOptions;
|
|
@@ -9849,6 +9857,27 @@ declare type ManifestChangedEvent = BaseEvents.IdentityEvent & {
|
|
|
9849
9857
|
type: 'manifest-changed';
|
|
9850
9858
|
};
|
|
9851
9859
|
|
|
9860
|
+
/**
|
|
9861
|
+
* Chromium extension entry in an application configuration.
|
|
9862
|
+
*
|
|
9863
|
+
* @interface
|
|
9864
|
+
*/
|
|
9865
|
+
declare type ManifestExtension = {
|
|
9866
|
+
/** Chromium extension ID. */
|
|
9867
|
+
id: string;
|
|
9868
|
+
/** Extension server URL used to install the extension. */
|
|
9869
|
+
serverURL: string;
|
|
9870
|
+
/**
|
|
9871
|
+
* Rules declaring where this extension may inject content scripts into
|
|
9872
|
+
* non-tab surfaces (for example the AI Center). Omit or leave empty to keep
|
|
9873
|
+
* the extension restricted to browser tabs — identical to historic
|
|
9874
|
+
* behavior. A wildcard pattern in `match` grants blanket coverage.
|
|
9875
|
+
* `matchOptions` behaves as it does for domain settings. Intended for
|
|
9876
|
+
* security extensions rather than extensions that add visible UI.
|
|
9877
|
+
*/
|
|
9878
|
+
nonTabInjections?: NonTabInjectionRule[];
|
|
9879
|
+
};
|
|
9880
|
+
|
|
9852
9881
|
/**
|
|
9853
9882
|
* @interface
|
|
9854
9883
|
*/
|
|
@@ -10639,6 +10668,32 @@ declare type NonPropagatedWebContentsEvent = never;
|
|
|
10639
10668
|
*/
|
|
10640
10669
|
declare type NonPropagatedWindowEvent = never;
|
|
10641
10670
|
|
|
10671
|
+
/**
|
|
10672
|
+
* Rule permitting a Chromium extension to inject content scripts into non-tab
|
|
10673
|
+
* web content whose URL matches the given patterns.
|
|
10674
|
+
*
|
|
10675
|
+
* Match patterns use the same Chromium
|
|
10676
|
+
* [match pattern](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
|
|
10677
|
+
* syntax as {@link DomainSettingsRule}. Omitting `matchOptions` uses the same
|
|
10678
|
+
* default scheme-matching behavior as domain settings.
|
|
10679
|
+
*
|
|
10680
|
+
* @interface
|
|
10681
|
+
*/
|
|
10682
|
+
declare type NonTabInjectionRule = {
|
|
10683
|
+
/**
|
|
10684
|
+
* Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
|
|
10685
|
+
* specifying the content locations where the extension may inject outside
|
|
10686
|
+
* browser tabs. An empty array grants no permission. A wildcard grants
|
|
10687
|
+
* blanket coverage of all content locations.
|
|
10688
|
+
*/
|
|
10689
|
+
match: string[];
|
|
10690
|
+
/**
|
|
10691
|
+
* Options to use when comparing URIs to the `match` patterns. Behaves as
|
|
10692
|
+
* {@link DomainSettingsRule.matchOptions} / {@link RuleMatchOptions}.
|
|
10693
|
+
*/
|
|
10694
|
+
matchOptions?: RuleMatchOptions;
|
|
10695
|
+
};
|
|
10696
|
+
|
|
10642
10697
|
/* Excluded from this release type: NotCloseRequested */
|
|
10643
10698
|
|
|
10644
10699
|
declare type NotificationEvent = {
|
|
@@ -10947,6 +11002,8 @@ declare namespace OpenFin {
|
|
|
10947
11002
|
ThemeColorsMap,
|
|
10948
11003
|
ThemeColorId,
|
|
10949
11004
|
ThemePalette,
|
|
11005
|
+
NonTabInjectionRule,
|
|
11006
|
+
ManifestExtension,
|
|
10950
11007
|
Manifest,
|
|
10951
11008
|
LayoutContent,
|
|
10952
11009
|
LayoutItemConfig,
|
package/out/fdc3-api.d.ts
CHANGED
|
@@ -7571,17 +7571,19 @@ declare type InteropActionLoggingOption = {
|
|
|
7571
7571
|
* "interopBrokerConfiguration": {
|
|
7572
7572
|
* "contextGroups": [
|
|
7573
7573
|
* {
|
|
7574
|
-
* "id": "
|
|
7574
|
+
* "id": "fdc3.channel.4",
|
|
7575
7575
|
* "displayMetadata": {
|
|
7576
|
-
* "color": "
|
|
7577
|
-
* "name": "
|
|
7576
|
+
* "color": "green",
|
|
7577
|
+
* "name": "Channel 4",
|
|
7578
|
+
* "glyph": "4"
|
|
7578
7579
|
* }
|
|
7579
7580
|
* },
|
|
7580
7581
|
* {
|
|
7581
|
-
* "id": "
|
|
7582
|
+
* "id": "fdc3.channel.8",
|
|
7582
7583
|
* "displayMetadata": {
|
|
7583
|
-
* "color": "
|
|
7584
|
-
* "name": "
|
|
7584
|
+
* "color": "purple",
|
|
7585
|
+
* "name": "Channel 8",
|
|
7586
|
+
* "glyph": "8"
|
|
7585
7587
|
* }
|
|
7586
7588
|
* },
|
|
7587
7589
|
* ]
|
|
@@ -7718,7 +7720,7 @@ declare class InteropBroker extends Base {
|
|
|
7718
7720
|
* @param joinContextGroupOptions - Id of the Context Group and identity of the entity to join to the group.
|
|
7719
7721
|
* @param senderIdentity - Identity of the client sender.
|
|
7720
7722
|
*/
|
|
7721
|
-
joinContextGroup({ contextGroupId, target }: {
|
|
7723
|
+
joinContextGroup({ contextGroupId: requestedContextGroupId, target }: {
|
|
7722
7724
|
contextGroupId: string;
|
|
7723
7725
|
target?: OpenFin.ClientIdentity | OpenFin.Identity;
|
|
7724
7726
|
}, senderIdentity: OpenFin.ClientIdentity): Promise<void>;
|
|
@@ -7729,7 +7731,7 @@ declare class InteropBroker extends Base {
|
|
|
7729
7731
|
* @param addClientToContextGroupOptions - Contains the contextGroupId
|
|
7730
7732
|
* @param clientIdentity - Identity of the client sender.
|
|
7731
7733
|
*/
|
|
7732
|
-
addClientToContextGroup({ contextGroupId }: {
|
|
7734
|
+
addClientToContextGroup({ contextGroupId: requestedContextGroupId }: {
|
|
7733
7735
|
contextGroupId: string;
|
|
7734
7736
|
}, clientIdentity: OpenFin.ClientIdentity): Promise<void>;
|
|
7735
7737
|
/**
|
|
@@ -8142,6 +8144,8 @@ declare class InteropBroker extends Base {
|
|
|
8142
8144
|
};
|
|
8143
8145
|
private getClientState;
|
|
8144
8146
|
private static toObject;
|
|
8147
|
+
private normalizeContextGroupStates;
|
|
8148
|
+
private normalizeContextGroupId;
|
|
8145
8149
|
static checkContextIntegrity: (context: OpenFin.Context) => {
|
|
8146
8150
|
isValid: true;
|
|
8147
8151
|
} | {
|
|
@@ -8372,7 +8376,7 @@ declare class InteropClient extends Base {
|
|
|
8372
8376
|
*
|
|
8373
8377
|
* getLastFocusedView()
|
|
8374
8378
|
* .then(lastFocusedViewIdentity => {
|
|
8375
|
-
* joinViewToContextGroup('
|
|
8379
|
+
* joinViewToContextGroup('fdc3.channel.1', lastFocusedViewIdentity)
|
|
8376
8380
|
* })
|
|
8377
8381
|
* ```
|
|
8378
8382
|
*/
|
|
@@ -8407,7 +8411,7 @@ declare class InteropClient extends Base {
|
|
|
8407
8411
|
*
|
|
8408
8412
|
* @example
|
|
8409
8413
|
* ```js
|
|
8410
|
-
* fin.me.interop.getAllClientsInContextGroup('
|
|
8414
|
+
* fin.me.interop.getAllClientsInContextGroup('fdc3.channel.1')
|
|
8411
8415
|
* .then(clientsInContextGroup => {
|
|
8412
8416
|
* console.log(clientsInContextGroup)
|
|
8413
8417
|
* })
|
|
@@ -8422,7 +8426,7 @@ declare class InteropClient extends Base {
|
|
|
8422
8426
|
*
|
|
8423
8427
|
* @example
|
|
8424
8428
|
* ```js
|
|
8425
|
-
* fin.me.interop.getInfoForContextGroup('
|
|
8429
|
+
* fin.me.interop.getInfoForContextGroup('fdc3.channel.1')
|
|
8426
8430
|
* .then(contextGroupInfo => {
|
|
8427
8431
|
* console.log(contextGroupInfo.displayMetadata.name)
|
|
8428
8432
|
* console.log(contextGroupInfo.displayMetadata.color)
|
|
@@ -8479,12 +8483,12 @@ declare class InteropClient extends Base {
|
|
|
8479
8483
|
*
|
|
8480
8484
|
* @example
|
|
8481
8485
|
* ```js
|
|
8482
|
-
* await fin.me.interop.joinContextGroup('
|
|
8486
|
+
* await fin.me.interop.joinContextGroup('fdc3.channel.3');
|
|
8483
8487
|
* await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
|
|
8484
8488
|
* const currentContext = await fin.me.interop.getCurrentContext();
|
|
8485
8489
|
*
|
|
8486
8490
|
* // with a specific context
|
|
8487
|
-
* await fin.me.interop.joinContextGroup('
|
|
8491
|
+
* await fin.me.interop.joinContextGroup('fdc3.channel.3');
|
|
8488
8492
|
* await fin.me.interop.setContext({ type: 'country', id: { ISOALPHA3: 'US' }});
|
|
8489
8493
|
* await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
|
|
8490
8494
|
* const currentContext = await fin.me.interop.getCurrentContext('country');
|
|
@@ -8651,7 +8655,7 @@ declare type InteropClientOnDisconnectionListener = (InteropBrokerDisconnectionE
|
|
|
8651
8655
|
*/
|
|
8652
8656
|
declare type InteropConfig = {
|
|
8653
8657
|
/**
|
|
8654
|
-
* Context Group for the client
|
|
8658
|
+
* Context Group ID for the client (for example, `fdc3.channel.4`).
|
|
8655
8659
|
*/
|
|
8656
8660
|
currentContextGroup?: string | null;
|
|
8657
8661
|
/**
|
|
@@ -8700,7 +8704,7 @@ declare class InteropModule extends Base {
|
|
|
8700
8704
|
* @example
|
|
8701
8705
|
* ```js
|
|
8702
8706
|
* const interopConfig = {
|
|
8703
|
-
* currentContextGroup: '
|
|
8707
|
+
* currentContextGroup: 'fdc3.channel.4'
|
|
8704
8708
|
* }
|
|
8705
8709
|
*
|
|
8706
8710
|
* const interopBroker = await fin.Interop.init('openfin');
|
|
@@ -10180,6 +10184,10 @@ declare type Manifest = {
|
|
|
10180
10184
|
experimentalExtensionPolicyBlockedHosts?: {
|
|
10181
10185
|
hosts: string[];
|
|
10182
10186
|
};
|
|
10187
|
+
/**
|
|
10188
|
+
* Chromium extensions to install and enable for this application.
|
|
10189
|
+
*/
|
|
10190
|
+
extensions?: ManifestExtension[];
|
|
10183
10191
|
licenseKey: string;
|
|
10184
10192
|
offlineAccess?: boolean;
|
|
10185
10193
|
platform?: PlatformOptions;
|
|
@@ -10233,6 +10241,27 @@ declare type ManifestChangedEvent = BaseEvents.IdentityEvent & {
|
|
|
10233
10241
|
type: 'manifest-changed';
|
|
10234
10242
|
};
|
|
10235
10243
|
|
|
10244
|
+
/**
|
|
10245
|
+
* Chromium extension entry in an application configuration.
|
|
10246
|
+
*
|
|
10247
|
+
* @interface
|
|
10248
|
+
*/
|
|
10249
|
+
declare type ManifestExtension = {
|
|
10250
|
+
/** Chromium extension ID. */
|
|
10251
|
+
id: string;
|
|
10252
|
+
/** Extension server URL used to install the extension. */
|
|
10253
|
+
serverURL: string;
|
|
10254
|
+
/**
|
|
10255
|
+
* Rules declaring where this extension may inject content scripts into
|
|
10256
|
+
* non-tab surfaces (for example the AI Center). Omit or leave empty to keep
|
|
10257
|
+
* the extension restricted to browser tabs — identical to historic
|
|
10258
|
+
* behavior. A wildcard pattern in `match` grants blanket coverage.
|
|
10259
|
+
* `matchOptions` behaves as it does for domain settings. Intended for
|
|
10260
|
+
* security extensions rather than extensions that add visible UI.
|
|
10261
|
+
*/
|
|
10262
|
+
nonTabInjections?: NonTabInjectionRule[];
|
|
10263
|
+
};
|
|
10264
|
+
|
|
10236
10265
|
/**
|
|
10237
10266
|
* @interface
|
|
10238
10267
|
*/
|
|
@@ -11035,6 +11064,32 @@ declare type NonPropagatedWebContentsEvent = never;
|
|
|
11035
11064
|
*/
|
|
11036
11065
|
declare type NonPropagatedWindowEvent = never;
|
|
11037
11066
|
|
|
11067
|
+
/**
|
|
11068
|
+
* Rule permitting a Chromium extension to inject content scripts into non-tab
|
|
11069
|
+
* web content whose URL matches the given patterns.
|
|
11070
|
+
*
|
|
11071
|
+
* Match patterns use the same Chromium
|
|
11072
|
+
* [match pattern](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
|
|
11073
|
+
* syntax as {@link DomainSettingsRule}. Omitting `matchOptions` uses the same
|
|
11074
|
+
* default scheme-matching behavior as domain settings.
|
|
11075
|
+
*
|
|
11076
|
+
* @interface
|
|
11077
|
+
*/
|
|
11078
|
+
declare type NonTabInjectionRule = {
|
|
11079
|
+
/**
|
|
11080
|
+
* Array of [match patterns](https://developer.chrome.com/docs/extensions/develop/concepts/match-patterns)
|
|
11081
|
+
* specifying the content locations where the extension may inject outside
|
|
11082
|
+
* browser tabs. An empty array grants no permission. A wildcard grants
|
|
11083
|
+
* blanket coverage of all content locations.
|
|
11084
|
+
*/
|
|
11085
|
+
match: string[];
|
|
11086
|
+
/**
|
|
11087
|
+
* Options to use when comparing URIs to the `match` patterns. Behaves as
|
|
11088
|
+
* {@link DomainSettingsRule.matchOptions} / {@link RuleMatchOptions}.
|
|
11089
|
+
*/
|
|
11090
|
+
matchOptions?: RuleMatchOptions;
|
|
11091
|
+
};
|
|
11092
|
+
|
|
11038
11093
|
/**
|
|
11039
11094
|
* @internal
|
|
11040
11095
|
*
|
|
@@ -11356,6 +11411,8 @@ declare namespace OpenFin {
|
|
|
11356
11411
|
ThemeColorsMap,
|
|
11357
11412
|
ThemeColorId,
|
|
11358
11413
|
ThemePalette,
|
|
11414
|
+
NonTabInjectionRule,
|
|
11415
|
+
ManifestExtension,
|
|
11359
11416
|
Manifest,
|
|
11360
11417
|
LayoutContent,
|
|
11361
11418
|
LayoutItemConfig,
|
package/out/fdc3-api.js
CHANGED
|
@@ -900,7 +900,7 @@ class InteropClient extends Base {
|
|
|
900
900
|
*
|
|
901
901
|
* getLastFocusedView()
|
|
902
902
|
* .then(lastFocusedViewIdentity => {
|
|
903
|
-
* joinViewToContextGroup('
|
|
903
|
+
* joinViewToContextGroup('fdc3.channel.1', lastFocusedViewIdentity)
|
|
904
904
|
* })
|
|
905
905
|
* ```
|
|
906
906
|
*/
|
|
@@ -950,7 +950,7 @@ class InteropClient extends Base {
|
|
|
950
950
|
*
|
|
951
951
|
* @example
|
|
952
952
|
* ```js
|
|
953
|
-
* fin.me.interop.getAllClientsInContextGroup('
|
|
953
|
+
* fin.me.interop.getAllClientsInContextGroup('fdc3.channel.1')
|
|
954
954
|
* .then(clientsInContextGroup => {
|
|
955
955
|
* console.log(clientsInContextGroup)
|
|
956
956
|
* })
|
|
@@ -974,7 +974,7 @@ class InteropClient extends Base {
|
|
|
974
974
|
*
|
|
975
975
|
* @example
|
|
976
976
|
* ```js
|
|
977
|
-
* fin.me.interop.getInfoForContextGroup('
|
|
977
|
+
* fin.me.interop.getInfoForContextGroup('fdc3.channel.1')
|
|
978
978
|
* .then(contextGroupInfo => {
|
|
979
979
|
* console.log(contextGroupInfo.displayMetadata.name)
|
|
980
980
|
* console.log(contextGroupInfo.displayMetadata.color)
|
|
@@ -1063,12 +1063,12 @@ class InteropClient extends Base {
|
|
|
1063
1063
|
*
|
|
1064
1064
|
* @example
|
|
1065
1065
|
* ```js
|
|
1066
|
-
* await fin.me.interop.joinContextGroup('
|
|
1066
|
+
* await fin.me.interop.joinContextGroup('fdc3.channel.3');
|
|
1067
1067
|
* await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
|
|
1068
1068
|
* const currentContext = await fin.me.interop.getCurrentContext();
|
|
1069
1069
|
*
|
|
1070
1070
|
* // with a specific context
|
|
1071
|
-
* await fin.me.interop.joinContextGroup('
|
|
1071
|
+
* await fin.me.interop.joinContextGroup('fdc3.channel.3');
|
|
1072
1072
|
* await fin.me.interop.setContext({ type: 'country', id: { ISOALPHA3: 'US' }});
|
|
1073
1073
|
* await fin.me.interop.setContext({ type: 'instrument', id: { ticker: 'FOO' }});
|
|
1074
1074
|
* const currentContext = await fin.me.interop.getCurrentContext('country');
|
|
@@ -1374,15 +1374,18 @@ class FDC3ModuleBase {
|
|
|
1374
1374
|
async joinChannel(channelId) {
|
|
1375
1375
|
this.wire.recordAnalytic('fdc3-join-channel');
|
|
1376
1376
|
try {
|
|
1377
|
+
const contextGroup = await this.client.getInfoForContextGroup(channelId);
|
|
1378
|
+
if (!contextGroup) {
|
|
1379
|
+
console.error(`No User Channel was found with the ID "${channelId}". If this is an App Channel, use getOrCreateChannel instead.`);
|
|
1380
|
+
throw new Error(ChannelError.NoChannelFound);
|
|
1381
|
+
}
|
|
1377
1382
|
return await this.client.joinContextGroup(channelId);
|
|
1378
1383
|
}
|
|
1379
1384
|
catch (error) {
|
|
1380
|
-
if (error.message ===
|
|
1381
|
-
|
|
1382
|
-
}
|
|
1383
|
-
else {
|
|
1384
|
-
console.error(error.message);
|
|
1385
|
+
if (error.message === ChannelError.NoChannelFound) {
|
|
1386
|
+
throw new Error(ChannelError.NoChannelFound);
|
|
1385
1387
|
}
|
|
1388
|
+
console.error(error.message);
|
|
1386
1389
|
if (error.message.startsWith('Attempting to join a context group that does not exist')) {
|
|
1387
1390
|
throw new Error(ChannelError.NoChannelFound);
|
|
1388
1391
|
}
|