@genesislcap/foundation-fdc3 14.192.2-fdc3-enhancements.1 → 14.192.2-fdc3-enhancements.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1 +1 @@
1
- {"version":3,"file":"fdc3-channel-event.d.ts","sourceRoot":"","sources":["../../src/fdc3-channel-event.ts"],"names":[],"mappings":"AAEA,OAAO,EAAuB,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9B;;;GAGG;AACH,qBAGa,gBAAiB,SAAQ,qBAAiC;IAC/D,IAAI,EAAE,IAAI,CAAC;IACkB,SAAS,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IAE7C,eAAe,EAAE,CAAC,GAAG,KAAA,KAAK,GAAG,CAAC;IAE1C,iBAAiB;IAIjB,oBAAoB;IAIX,SAAS,IAAI,IAAI;IAU1B,OAAO,CAAC,kBAAkB,CAWxB;CACH"}
1
+ {"version":3,"file":"fdc3-channel-event.d.ts","sourceRoot":"","sources":["../../src/fdc3-channel-event.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,iBAAiB,EAAc,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE9B;;;GAGG;AACH,qBAGa,gBAAiB,SAAQ,qBAAiC;IAC/D,IAAI,EAAE,IAAI,CAAC;IACkB,SAAS,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IAE7C,eAAe,EAAE,CAAC,GAAG,KAAA,KAAK,GAAG,CAAC;IAE1C,iBAAiB;IAIjB,oBAAoB;IAIX,SAAS,IAAI,IAAI;IAU1B,OAAO,CAAC,kBAAkB,CAWxB;CACH"}
@@ -41,6 +41,12 @@ export interface FDC3 {
41
41
  * @public
42
42
  */
43
43
  isReady: boolean;
44
+ /**
45
+ * Observable which emits the current channel
46
+ * When a new channel is joined a new value is emitted
47
+ * @public
48
+ */
49
+ currentChannelObs: Observable<FDC3Channel>;
44
50
  /**
45
51
  * Adds intent listeners for the specified intents.
46
52
  * @public
@@ -122,7 +128,7 @@ export interface FDC3 {
122
128
  export declare class DefaultFDC3 implements FDC3 {
123
129
  isReady: boolean;
124
130
  private _currentChannel$;
125
- currentChannel$: Observable<Channel>;
131
+ currentChannelObs: Observable<Channel>;
126
132
  constructor();
127
133
  private connect;
128
134
  addIntentListeners(listeners: Map<FDC3Intents, FDC3ContextHandler>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"fdc3.d.ts","sourceRoot":"","sources":["../../src/fdc3.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fdc3.d.ts","sourceRoot":"","sources":["../../src/fdc3.ts"],"names":[],"mappings":"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"}
@@ -350,8 +350,10 @@ export declare class Fdc3Listener extends Fdc3Listener_base {
350
350
  fdc3: FDC3;
351
351
  intentConfig: IntentConfig[];
352
352
  channelConfig: ChannelConfig[];
353
+ private channelSubscription;
353
354
  deepClone(): Node;
354
355
  connectedCallback(): void;
356
+ disconnectedCallback(): void;
355
357
  }
356
358
  export {};
357
359
  //# sourceMappingURL=fdc3-listener.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fdc3-listener.d.ts","sourceRoot":"","sources":["../../../src/util/fdc3-listener.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,GAAG,KAAA,KAAK,IAAI,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,GAAG,KAAA,KAAK,IAAI,CAAC;CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED;;;GAGG;AACH,qBAGa,YAAa,SAAQ,iBAAiC;IAC3D,IAAI,EAAE,IAAI,CAAC;IAEjB,YAAY,EAAE,YAAY,EAAE,CAAM;IAElC,aAAa,EAAE,aAAa,EAAE,CAAM;IAE3B,SAAS,IAAI,IAAI;IA0B1B,iBAAiB;CAYlB"}
1
+ {"version":3,"file":"fdc3-listener.d.ts","sourceRoot":"","sources":["../../../src/util/fdc3-listener.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAE/B;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,GAAG,KAAA,KAAK,IAAI,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,GAAG,KAAA,KAAK,IAAI,CAAC;CACzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED;;;GAGG;AACH,qBAGa,YAAa,SAAQ,iBAAiC;IAC3D,IAAI,EAAE,IAAI,CAAC;IAEjB,YAAY,EAAE,YAAY,EAAE,CAAM;IAElC,aAAa,EAAE,aAAa,EAAE,CAAM;IAEpC,OAAO,CAAC,mBAAmB,CAAsB;IAExC,SAAS,IAAI,IAAI;IA0B1B,iBAAiB;IAqBjB,oBAAoB;CAIrB"}
@@ -18,7 +18,7 @@ let Fdc3ChannelEvent = class Fdc3ChannelEvent extends LifecycleMixin(FoundationE
18
18
  yield this.fdc3.broadcastOnChannel(this.channelName, this.channelType, payload);
19
19
  }
20
20
  else {
21
- const channel = this.fdc3.broadcastOnCurrentChannel(payload, this.channelType);
21
+ yield this.fdc3.broadcastOnCurrentChannel(payload, this.channelType);
22
22
  }
23
23
  });
24
24
  }
package/dist/esm/fdc3.js CHANGED
@@ -16,7 +16,7 @@ export class DefaultFDC3 {
16
16
  constructor() {
17
17
  this.isReady = false;
18
18
  this._currentChannel$ = new Subject();
19
- this.currentChannel$ = this._currentChannel$.asObservable();
19
+ this.currentChannelObs = this._currentChannel$.asObservable();
20
20
  this.connect();
21
21
  }
22
22
  connect() {
@@ -58,8 +58,13 @@ export class DefaultFDC3 {
58
58
  logger.error(`fdc3 unable to raiseIntent using context '${context}' and intent '${intent}'.`);
59
59
  }
60
60
  joinChannel(channelId) {
61
- logger.debug(`fdc3 joinChannel '${channelId}'`);
62
- return joinChannel(channelId);
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ logger.debug(`fdc3 joinChannel '${channelId}'`);
63
+ yield joinChannel(channelId);
64
+ const channel = yield this.getCurrentChannel();
65
+ this._currentChannel$.next(channel);
66
+ return;
67
+ });
63
68
  }
64
69
  getOrCreateChannel(channelId) {
65
70
  logger.debug(`fdc3 getOrCreateChannel '${channelId}'`);
@@ -1,6 +1,7 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { LifecycleMixin } from '@genesislcap/foundation-utils';
3
3
  import { customElement, FoundationElement } from '@genesislcap/web-core';
4
+ import { Subscription } from 'rxjs';
4
5
  import { FDC3 } from '../fdc3';
5
6
  /**
6
7
  * fdc3-listener
@@ -11,6 +12,7 @@ let Fdc3Listener = class Fdc3Listener extends LifecycleMixin(FoundationElement)
11
12
  super(...arguments);
12
13
  this.intentConfig = [];
13
14
  this.channelConfig = [];
15
+ this.channelSubscription = new Subscription();
14
16
  }
15
17
  deepClone() {
16
18
  const copy = super.deepClone();
@@ -40,9 +42,22 @@ let Fdc3Listener = class Fdc3Listener extends LifecycleMixin(FoundationElement)
40
42
  const listeners = new Map();
41
43
  this.intentConfig.forEach((intent) => listeners.set(intent.intent, intent.callback));
42
44
  this.fdc3.addIntentListeners(listeners);
43
- this.channelConfig.forEach((c) => this.fdc3.addChannelListener(c.channelName, c.channelType, c.callback));
45
+ this.channelConfig.forEach((c) => {
46
+ if (c.channelName) {
47
+ this.fdc3.addChannelListener(c.channelName, c.channelType, c.callback);
48
+ }
49
+ else {
50
+ this.channelSubscription.add(this.fdc3.currentChannelObs.subscribe((channel) => {
51
+ this.fdc3.addChannelListener(channel.id, c.channelType, c.callback);
52
+ }));
53
+ }
54
+ });
44
55
  }
45
56
  }
57
+ disconnectedCallback() {
58
+ this.channelSubscription.unsubscribe();
59
+ super.disconnectedCallback();
60
+ }
46
61
  };
47
62
  __decorate([
48
63
  FDC3
@@ -581,6 +581,47 @@
581
581
  ],
582
582
  "name": "broadcastOnCurrentChannel"
583
583
  },
584
+ {
585
+ "kind": "PropertySignature",
586
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#currentChannelObs:member",
587
+ "docComment": "/**\n * Observable which emits the current channel When a new channel is joined a new value is emitted\n *\n * @public\n */\n",
588
+ "excerptTokens": [
589
+ {
590
+ "kind": "Content",
591
+ "text": "currentChannelObs: "
592
+ },
593
+ {
594
+ "kind": "Reference",
595
+ "text": "Observable",
596
+ "canonicalReference": "rxjs!Observable:class"
597
+ },
598
+ {
599
+ "kind": "Content",
600
+ "text": "<"
601
+ },
602
+ {
603
+ "kind": "Reference",
604
+ "text": "FDC3Channel",
605
+ "canonicalReference": "@genesislcap/foundation-fdc3!FDC3Channel:interface"
606
+ },
607
+ {
608
+ "kind": "Content",
609
+ "text": ">"
610
+ },
611
+ {
612
+ "kind": "Content",
613
+ "text": ";"
614
+ }
615
+ ],
616
+ "isReadonly": false,
617
+ "isOptional": false,
618
+ "releaseTag": "Public",
619
+ "name": "currentChannelObs",
620
+ "propertyTypeTokenRange": {
621
+ "startIndex": 1,
622
+ "endIndex": 5
623
+ }
624
+ },
584
625
  {
585
626
  "kind": "MethodSignature",
586
627
  "canonicalReference": "@genesislcap/foundation-fdc3!FDC3#findIntent:member(1)",
@@ -35,7 +35,7 @@ export declare interface ChannelConfig {
35
35
  export declare class DefaultFDC3 implements FDC3 {
36
36
  isReady: boolean;
37
37
  private _currentChannel$;
38
- currentChannel$: Observable<Channel>;
38
+ currentChannelObs: Observable<Channel>;
39
39
  constructor();
40
40
  private connect;
41
41
  addIntentListeners(listeners: Map<FDC3Intents, FDC3ContextHandler>): void;
@@ -62,6 +62,12 @@ export declare interface FDC3 {
62
62
  * @public
63
63
  */
64
64
  isReady: boolean;
65
+ /**
66
+ * Observable which emits the current channel
67
+ * When a new channel is joined a new value is emitted
68
+ * @public
69
+ */
70
+ currentChannelObs: Observable<FDC3Channel>;
65
71
  /**
66
72
  * Adds intent listeners for the specified intents.
67
73
  * @public
@@ -527,8 +533,10 @@ export declare class Fdc3Listener extends Fdc3Listener_base {
527
533
  fdc3: FDC3;
528
534
  intentConfig: IntentConfig[];
529
535
  channelConfig: ChannelConfig[];
536
+ private channelSubscription;
530
537
  deepClone(): Node;
531
538
  connectedCallback(): void;
539
+ disconnectedCallback(): void;
532
540
  }
533
541
 
534
542
  declare const Fdc3Listener_base: (new (...args: any[]) => {
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-fdc3](./foundation-fdc3.md) &gt; [FDC3](./foundation-fdc3.fdc3.md) &gt; [currentChannelObs](./foundation-fdc3.fdc3.currentchannelobs.md)
4
+
5
+ ## FDC3.currentChannelObs property
6
+
7
+ Observable which emits the current channel When a new channel is joined a new value is emitted
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ currentChannelObs: Observable<FDC3Channel>;
13
+ ```
@@ -16,6 +16,7 @@ export interface FDC3
16
16
 
17
17
  | Property | Modifiers | Type | Description |
18
18
  | --- | --- | --- | --- |
19
+ | [currentChannelObs](./foundation-fdc3.fdc3.currentchannelobs.md) | | Observable&lt;[FDC3Channel](./foundation-fdc3.fdc3channel.md)<!-- -->&gt; | Observable which emits the current channel When a new channel is joined a new value is emitted |
19
20
  | [isReady](./foundation-fdc3.fdc3.isready.md) | | boolean | Whether the FDC3 API is ready. |
20
21
 
21
22
  ## Methods
@@ -50,7 +50,7 @@ export class DefaultFDC3 implements FDC3 {
50
50
  // (undocumented)
51
51
  broadcastOnCurrentChannel(payload: any, type?: string): Promise<void>;
52
52
  // (undocumented)
53
- currentChannel$: Observable<Channel>;
53
+ currentChannelObs: Observable<Channel>;
54
54
  // (undocumented)
55
55
  findIntent(intent: FDC3Intents, context?: FDC3Context): Promise<FDC3AppIntent>;
56
56
  // (undocumented)
@@ -76,6 +76,7 @@ export interface FDC3 {
76
76
  broadcastOnChannel(channelName: string, type: string, payload: any): Promise<void>;
77
77
  broadcastOnChannelEventHandler(channelName: string, type: string): Promise<(e: any) => Promise<void>>;
78
78
  broadcastOnCurrentChannel(payload: any, type?: string): Promise<void>;
79
+ currentChannelObs: Observable<FDC3Channel>;
79
80
  findIntent(intent: FDC3Intents, context?: FDC3Context): Promise<FDC3AppIntent>;
80
81
  findIntentsByContext(context: FDC3Context): Promise<FDC3AppIntent[]>;
81
82
  getCurrentChannel(): Promise<Channel>;
@@ -144,6 +145,8 @@ export class Fdc3Listener extends Fdc3Listener_base {
144
145
  // (undocumented)
145
146
  deepClone(): Node;
146
147
  // (undocumented)
148
+ disconnectedCallback(): void;
149
+ // (undocumented)
147
150
  fdc3: FDC3;
148
151
  // (undocumented)
149
152
  intentConfig: IntentConfig[];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-fdc3",
3
3
  "description": "Genesis Foundation FDC3",
4
- "version": "14.192.2-fdc3-enhancements.1",
4
+ "version": "14.192.2-fdc3-enhancements.3",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -59,22 +59,22 @@
59
59
  }
60
60
  },
61
61
  "devDependencies": {
62
- "@genesislcap/foundation-testing": "14.192.2-fdc3-enhancements.1",
63
- "@genesislcap/genx": "14.192.2-fdc3-enhancements.1",
64
- "@genesislcap/rollup-builder": "14.192.2-fdc3-enhancements.1",
65
- "@genesislcap/ts-builder": "14.192.2-fdc3-enhancements.1",
66
- "@genesislcap/uvu-playwright-builder": "14.192.2-fdc3-enhancements.1",
67
- "@genesislcap/vite-builder": "14.192.2-fdc3-enhancements.1",
68
- "@genesislcap/webpack-builder": "14.192.2-fdc3-enhancements.1",
62
+ "@genesislcap/foundation-testing": "14.192.2-fdc3-enhancements.3",
63
+ "@genesislcap/genx": "14.192.2-fdc3-enhancements.3",
64
+ "@genesislcap/rollup-builder": "14.192.2-fdc3-enhancements.3",
65
+ "@genesislcap/ts-builder": "14.192.2-fdc3-enhancements.3",
66
+ "@genesislcap/uvu-playwright-builder": "14.192.2-fdc3-enhancements.3",
67
+ "@genesislcap/vite-builder": "14.192.2-fdc3-enhancements.3",
68
+ "@genesislcap/webpack-builder": "14.192.2-fdc3-enhancements.3",
69
69
  "rimraf": "^5.0.0"
70
70
  },
71
71
  "dependencies": {
72
72
  "@finos/fdc3": "^1.2.0",
73
- "@genesislcap/foundation-logger": "14.192.2-fdc3-enhancements.1",
74
- "@genesislcap/foundation-notifications": "14.192.2-fdc3-enhancements.1",
75
- "@genesislcap/foundation-ui": "14.192.2-fdc3-enhancements.1",
76
- "@genesislcap/foundation-utils": "14.192.2-fdc3-enhancements.1",
77
- "@genesislcap/web-core": "14.192.2-fdc3-enhancements.1",
73
+ "@genesislcap/foundation-logger": "14.192.2-fdc3-enhancements.3",
74
+ "@genesislcap/foundation-notifications": "14.192.2-fdc3-enhancements.3",
75
+ "@genesislcap/foundation-ui": "14.192.2-fdc3-enhancements.3",
76
+ "@genesislcap/foundation-utils": "14.192.2-fdc3-enhancements.3",
77
+ "@genesislcap/web-core": "14.192.2-fdc3-enhancements.3",
78
78
  "@interopio/desktop": "^6.3.1",
79
79
  "@microsoft/fast-element": "^1.12.0",
80
80
  "@microsoft/fast-foundation": "^2.49.4",
@@ -89,5 +89,5 @@
89
89
  "publishConfig": {
90
90
  "access": "public"
91
91
  },
92
- "gitHead": "36d9c2f775b72deb81a4b53074e24f463e841d32"
92
+ "gitHead": "48c1539e9542d91c58f9ea72decc26952aa0ad2c"
93
93
  }