@genesislcap/foundation-ui 15.72.0 → 15.73.0

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.
@@ -34,6 +34,14 @@ export declare class NotificationListener extends FoundationElement {
34
34
  protected dataSub?: Subscription;
35
35
  protected connectionSub: Subscription;
36
36
  private datasource;
37
+ private reconnections;
38
+ private reconnection;
39
+ /**
40
+ * How long a reconnection waits for the one before it to finish, in milliseconds. A request
41
+ * that is lost with its socket never settles, and must not hold up the next connection.
42
+ * @internal
43
+ */
44
+ reconnectionWaitMs: number;
37
45
  connectedCallback(): Promise<void>;
38
46
  /**
39
47
  * Handles reconnection logic when the connection is established
@@ -1 +1 @@
1
- {"version":3,"file":"notification-listener.d.ts","sourceRoot":"","sources":["../../../src/notification-listener/notification-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,OAAO,EACR,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAML,mBAAmB,EACnB,WAAW,EAEX,aAAa,EACd,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAIpC,eAAO,MAAM,2CAA2C,EAAE,cAGzD,CAAC;AAEF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IAC7C,oBAAoB,EAAG,WAAW,CAAC;IAEtC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACmC,YAAY,MAAC;IACnD;;;OAGG;IACuE,YAAY,SAAK;IAC3F;;;OAGG;IACS,YAAY,EAAE,WAAW,EAAE,CAAM;IAC7C;;;;OAIG;IACoC,aAAa,EAAE,aAAa,CAAC;IAEpE,SAAS,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IACjC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC;IAC1B,OAAO,CAAC,UAAU,CAAa;IACrC,iBAAiB;IAiBvB;;;OAGG;YACW,kBAAkB;IAYhC;;;OAGG;YACW,oBAAoB;IAYlC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAa7B,oBAAoB;IAapB,OAAO,CAAC,kBAAkB;IAU1B,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;CA4BhE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;+BAIzC,CAAC"}
1
+ {"version":3,"file":"notification-listener.d.ts","sourceRoot":"","sources":["../../../src/notification-listener/notification-listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,OAAO,EACR,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAML,mBAAmB,EACnB,WAAW,EAEX,aAAa,EACd,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAMpC,eAAO,MAAM,2CAA2C,EAAE,cAGzD,CAAC;AAEF;;GAEG;AACH,qBAAa,oBAAqB,SAAQ,iBAAiB;IAC7C,oBAAoB,EAAG,WAAW,CAAC;IAEtC,OAAO,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACmC,YAAY,MAAC;IACnD;;;OAGG;IACuE,YAAY,SAAK;IAC3F;;;OAGG;IACS,YAAY,EAAE,WAAW,EAAE,CAAM;IAC7C;;;;OAIG;IACoC,aAAa,EAAE,aAAa,CAAC;IAEpE,SAAS,CAAC,OAAO,CAAC,EAAE,YAAY,CAAC;IACjC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC;IAC1B,OAAO,CAAC,UAAU,CAAa;IAE3C,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,YAAY,CAAoC;IACxD;;;;OAIG;IACH,kBAAkB,SAAwB;IACpC,iBAAiB;IAsBvB;;;OAGG;YACW,kBAAkB;IAkBhC;;;OAGG;YACW,oBAAoB;IAQlC;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAa7B,oBAAoB;IAapB,OAAO,CAAC,kBAAkB;IAU1B,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,mBAAmB,GAAG,IAAI;CA4BhE;AAaD;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;+BAIzC,CAAC"}
@@ -151,15 +151,6 @@ export declare const ActionsMenu: React.ForwardRefExoticComponent<
151
151
  >;
152
152
  export type ActionsMenuRef = ActionsMenuWC;
153
153
 
154
- export declare const Accordion: React.ForwardRefExoticComponent<
155
- React.PropsWithChildren<
156
- Omit<PublicOf<AccordionWC>, 'children' | 'style'> &
157
- HTMLWCProps & {
158
- }
159
- > & React.RefAttributes<AccordionWC>
160
- >;
161
- export type AccordionRef = AccordionWC;
162
-
163
154
  export declare const AiCriteriaSearch: React.ForwardRefExoticComponent<
164
155
  React.PropsWithChildren<
165
156
  Omit<PublicOf<AiCriteriaSearchWC>, 'children' | 'style'> &
@@ -171,6 +162,15 @@ export declare const AiCriteriaSearch: React.ForwardRefExoticComponent<
171
162
  >;
172
163
  export type AiCriteriaSearchRef = AiCriteriaSearchWC;
173
164
 
165
+ export declare const Accordion: React.ForwardRefExoticComponent<
166
+ React.PropsWithChildren<
167
+ Omit<PublicOf<AccordionWC>, 'children' | 'style'> &
168
+ HTMLWCProps & {
169
+ }
170
+ > & React.RefAttributes<AccordionWC>
171
+ >;
172
+ export type AccordionRef = AccordionWC;
173
+
174
174
  export declare const AiIndicator: React.ForwardRefExoticComponent<
175
175
  React.PropsWithChildren<
176
176
  Omit<PublicOf<AiIndicatorWC>, 'children' | 'style'> &
@@ -1 +1 @@
1
- {"version":3,"file":"base-datasource.d.ts","sourceRoot":"","sources":["../../../src/utils/base-datasource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-datasource.d.ts","sourceRoot":"","sources":["../../../src/utils/base-datasource.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { attr, nullableNumberConverter, observable } from '@microsoft/fast-eleme
5
5
  import { FoundationElement } from '@microsoft/fast-foundation';
6
6
  import { logger } from '../utils';
7
7
  import { foundationNotificationListenerTemplate as template } from './notification-listener.template';
8
+ const RECONNECTION_WAIT_MS = 10000;
8
9
  export const foundationNotificationListenerShadowOptions = {
9
10
  mode: 'open',
10
11
  delegatesFocus: true,
@@ -25,6 +26,15 @@ export class NotificationListener extends FoundationElement {
25
26
  * @public
26
27
  */
27
28
  this.toastButtons = [];
29
+ // The (re)initialisations so far, and the last one, which the next waits for.
30
+ this.reconnections = 0;
31
+ this.reconnection = Promise.resolve();
32
+ /**
33
+ * How long a reconnection waits for the one before it to finish, in milliseconds. A request
34
+ * that is lost with its socket never settles, and must not hold up the next connection.
35
+ * @internal
36
+ */
37
+ this.reconnectionWaitMs = RECONNECTION_WAIT_MS;
28
38
  }
29
39
  connectedCallback() {
30
40
  const _super = Object.create(null, {
@@ -36,26 +46,39 @@ export class NotificationListener extends FoundationElement {
36
46
  e.stopImmediatePropagation();
37
47
  showNotification(e.detail, this.tagName, this.notificationListener);
38
48
  });
39
- this.connectionSub = this.connect.isConnected$.subscribe((isConnected) => __awaiter(this, void 0, void 0, function* () {
40
- if (isConnected) {
41
- yield this.handleReconnection();
42
- }
43
- }));
49
+ this.connectionSub = this.connect.isConnected$.subscribe((isConnected) => {
50
+ if (!isConnected)
51
+ return;
52
+ // One at a time: a second one would destroy the datasource while the first is still
53
+ // initialising it, and the first would then ask for the metadata of no resource. Only
54
+ // the latest one subscribes.
55
+ const turn = (this.reconnections += 1);
56
+ this.reconnection = settledOrTimedOut(this.reconnection, this.reconnectionWaitMs)
57
+ .then(() => this.handleReconnection(turn))
58
+ .catch((error) => logger.error(error));
59
+ });
44
60
  });
45
61
  }
46
62
  /**
47
63
  * Handles reconnection logic when the connection is established
48
64
  * @private
49
65
  */
50
- handleReconnection() {
66
+ handleReconnection(turn) {
51
67
  return __awaiter(this, void 0, void 0, function* () {
52
68
  var _a;
53
- if (!this.resourceName) {
69
+ // Superseded by a later connection, or out of the document.
70
+ const current = () => turn === this.reconnections && this.isConnected;
71
+ if (!this.resourceName || !current()) {
54
72
  return;
55
73
  }
56
74
  (_a = this.dataSub) === null || _a === void 0 ? void 0 : _a.unsubscribe();
57
75
  this.dataSub = undefined;
58
- yield this.initializeDatasource();
76
+ const initOK = yield this.initializeDatasource();
77
+ if (!current())
78
+ return;
79
+ if (!initOK) {
80
+ throw new Error(`Failed to initialize datasource for ${this.resourceName}`);
81
+ }
59
82
  this.setupDataSubscription();
60
83
  });
61
84
  }
@@ -69,10 +92,7 @@ export class NotificationListener extends FoundationElement {
69
92
  if ((_a = this.datasource) === null || _a === void 0 ? void 0 : _a.initialized) {
70
93
  this.datasource.destroy();
71
94
  }
72
- const initOK = yield this.datasource.init({ resourceName: this.resourceName }, true);
73
- if (!initOK) {
74
- throw new Error(`Failed to initialize datasource for ${this.resourceName}`);
75
- }
95
+ return this.datasource.init({ resourceName: this.resourceName }, true);
76
96
  });
77
97
  }
78
98
  /**
@@ -156,6 +176,16 @@ __decorate([
156
176
  __decorate([
157
177
  Datasource
158
178
  ], NotificationListener.prototype, "datasource", void 0);
179
+ // Resolves once the promise settles, or after `ms`, whichever comes first.
180
+ function settledOrTimedOut(promise, ms) {
181
+ return new Promise((resolve) => {
182
+ const timer = setTimeout(resolve, ms);
183
+ promise.finally(() => {
184
+ clearTimeout(timer);
185
+ resolve();
186
+ });
187
+ });
188
+ }
159
189
  /**
160
190
  * The Foundation Notification Listener
161
191
  *
@@ -128,6 +128,7 @@ export class BaseDatasource extends DatasourceEventHandler(FoundationElement) {
128
128
  fetchGenesisData() {
129
129
  return __awaiter(this, arguments, void 0, function* (withFullInit = true) {
130
130
  var _a, _b;
131
+ // Unsubscribing logs the stream off: the socket stream's teardown sends its DATA_LOGOFF.
131
132
  (_a = this.dataSub) === null || _a === void 0 ? void 0 : _a.unsubscribe();
132
133
  this.dataSub = undefined;
133
134
  this.moreRowsAvailable = false;
@@ -145,7 +146,6 @@ export class BaseDatasource extends DatasourceEventHandler(FoundationElement) {
145
146
  }
146
147
  const requiresMetadataFetch = withFullInit || !this.datasource.initialized;
147
148
  if (!requiresMetadataFetch) {
148
- this.connect.dataLogoff(this.sourceRef);
149
149
  this.clearData();
150
150
  }
151
151
  this.sourceRef = undefined;
@@ -5872,6 +5872,14 @@ export declare class NotificationListener extends FoundationElement {
5872
5872
  protected dataSub?: Subscription;
5873
5873
  protected connectionSub: Subscription;
5874
5874
  private datasource;
5875
+ private reconnections;
5876
+ private reconnection;
5877
+ /**
5878
+ * How long a reconnection waits for the one before it to finish, in milliseconds. A request
5879
+ * that is lost with its socket never settles, and must not hold up the next connection.
5880
+ * @internal
5881
+ */
5882
+ reconnectionWaitMs: number;
5875
5883
  connectedCallback(): Promise<void>;
5876
5884
  /**
5877
5885
  * Handles reconnection logic when the connection is established
package/dist/react.cjs CHANGED
@@ -123,11 +123,6 @@ const ActionsMenu = React.forwardRef(function ActionsMenu(props, ref) {
123
123
  return React.createElement(customElements.getName(ActionsMenuWC) ?? '%%prefix%%-actions-menu', { ...rest, ref }, children);
124
124
  });
125
125
 
126
- const Accordion = React.forwardRef(function Accordion(props, ref) {
127
- const { children, ...rest } = props;
128
- return React.createElement(customElements.getName(AccordionWC) ?? '%%prefix%%-accordion', { ...rest, ref }, children);
129
- });
130
-
131
126
  const AiCriteriaSearch = React.forwardRef(function AiCriteriaSearch(props, ref) {
132
127
  const { onCriteriaChanged, onValidationErrors, children, ...rest } = props;
133
128
  const _innerRef = React.useRef(null);
@@ -150,6 +145,11 @@ const AiCriteriaSearch = React.forwardRef(function AiCriteriaSearch(props, ref)
150
145
  return React.createElement(customElements.getName(AiCriteriaSearchWC) ?? '%%prefix%%-ai-criteria-search', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
151
146
  });
152
147
 
148
+ const Accordion = React.forwardRef(function Accordion(props, ref) {
149
+ const { children, ...rest } = props;
150
+ return React.createElement(customElements.getName(AccordionWC) ?? '%%prefix%%-accordion', { ...rest, ref }, children);
151
+ });
152
+
153
153
  const AiIndicator = React.forwardRef(function AiIndicator(props, ref) {
154
154
  const { children, ...rest } = props;
155
155
  return React.createElement(customElements.getName(AiIndicatorWC) ?? '%%prefix%%-ai-indicator', { ...rest, ref }, children);
@@ -1145,8 +1145,8 @@ const WeeklyRecurrence = React.forwardRef(function WeeklyRecurrence(props, ref)
1145
1145
  module.exports = {
1146
1146
  AccordionItem,
1147
1147
  ActionsMenu,
1148
- Accordion,
1149
1148
  AiCriteriaSearch,
1149
+ Accordion,
1150
1150
  AiIndicator,
1151
1151
  Anchor,
1152
1152
  AnchoredRegion,
package/dist/react.mjs CHANGED
@@ -121,11 +121,6 @@ export const ActionsMenu = React.forwardRef(function ActionsMenu(props, ref) {
121
121
  return React.createElement(customElements.getName(ActionsMenuWC) ?? '%%prefix%%-actions-menu', { ...rest, ref }, children);
122
122
  });
123
123
 
124
- export const Accordion = React.forwardRef(function Accordion(props, ref) {
125
- const { children, ...rest } = props;
126
- return React.createElement(customElements.getName(AccordionWC) ?? '%%prefix%%-accordion', { ...rest, ref }, children);
127
- });
128
-
129
124
  export const AiCriteriaSearch = React.forwardRef(function AiCriteriaSearch(props, ref) {
130
125
  const { onCriteriaChanged, onValidationErrors, children, ...rest } = props;
131
126
  const _innerRef = React.useRef(null);
@@ -148,6 +143,11 @@ export const AiCriteriaSearch = React.forwardRef(function AiCriteriaSearch(props
148
143
  return React.createElement(customElements.getName(AiCriteriaSearchWC) ?? '%%prefix%%-ai-criteria-search', { ...rest, ref: _mergeRefs(_innerRef, ref) }, children);
149
144
  });
150
145
 
146
+ export const Accordion = React.forwardRef(function Accordion(props, ref) {
147
+ const { children, ...rest } = props;
148
+ return React.createElement(customElements.getName(AccordionWC) ?? '%%prefix%%-accordion', { ...rest, ref }, children);
149
+ });
150
+
151
151
  export const AiIndicator = React.forwardRef(function AiIndicator(props, ref) {
152
152
  const { children, ...rest } = props;
153
153
  return React.createElement(customElements.getName(AiIndicatorWC) ?? '%%prefix%%-ai-indicator', { ...rest, ref }, children);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-ui",
3
3
  "description": "Genesis Foundation UI",
4
- "version": "15.72.0",
4
+ "version": "15.73.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -82,12 +82,12 @@
82
82
  }
83
83
  },
84
84
  "devDependencies": {
85
- "@genesislcap/foundation-testing": "15.72.0",
86
- "@genesislcap/genx": "15.72.0",
87
- "@genesislcap/ts-builder": "15.72.0",
88
- "@genesislcap/uvu-playwright-builder": "15.72.0",
89
- "@genesislcap/vite-builder": "15.72.0",
90
- "@genesislcap/webpack-builder": "15.72.0",
85
+ "@genesislcap/foundation-testing": "15.73.0",
86
+ "@genesislcap/genx": "15.73.0",
87
+ "@genesislcap/ts-builder": "15.73.0",
88
+ "@genesislcap/uvu-playwright-builder": "15.73.0",
89
+ "@genesislcap/vite-builder": "15.73.0",
90
+ "@genesislcap/webpack-builder": "15.73.0",
91
91
  "copyfiles": "^2.4.1"
92
92
  },
93
93
  "dependencies": {
@@ -96,16 +96,16 @@
96
96
  "@fortawesome/free-regular-svg-icons": "^6.2.1",
97
97
  "@fortawesome/free-solid-svg-icons": "^6.2.1",
98
98
  "@genesiscommunitysuccess/analyzer-import-alias-plugin": "^5.0.3",
99
- "@genesislcap/expression-builder": "15.72.0",
100
- "@genesislcap/foundation-ai": "15.72.0",
101
- "@genesislcap/foundation-comms": "15.72.0",
102
- "@genesislcap/foundation-criteria": "15.72.0",
103
- "@genesislcap/foundation-errors": "15.72.0",
104
- "@genesislcap/foundation-events": "15.72.0",
105
- "@genesislcap/foundation-logger": "15.72.0",
106
- "@genesislcap/foundation-notifications": "15.72.0",
107
- "@genesislcap/foundation-user": "15.72.0",
108
- "@genesislcap/foundation-utils": "15.72.0",
99
+ "@genesislcap/expression-builder": "15.73.0",
100
+ "@genesislcap/foundation-ai": "15.73.0",
101
+ "@genesislcap/foundation-comms": "15.73.0",
102
+ "@genesislcap/foundation-criteria": "15.73.0",
103
+ "@genesislcap/foundation-errors": "15.73.0",
104
+ "@genesislcap/foundation-events": "15.73.0",
105
+ "@genesislcap/foundation-logger": "15.73.0",
106
+ "@genesislcap/foundation-notifications": "15.73.0",
107
+ "@genesislcap/foundation-user": "15.73.0",
108
+ "@genesislcap/foundation-utils": "15.73.0",
109
109
  "@microsoft/fast-colors": "5.3.1",
110
110
  "@microsoft/fast-components": "2.30.6",
111
111
  "@microsoft/fast-element": "1.14.0",