gg-wf-scripts 9.1.0 → 9.2.1
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/dist/data-engine.js +37 -5
- package/dist/data-engine.js.map +1 -1
- package/dist/helpers/visibility.d.ts +8 -0
- package/dist/helpers/visibility.js +22 -0
- package/dist/helpers/visibility.js.map +1 -1
- package/dist/switch-engine.js +3 -2
- package/dist/switch-engine.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/data-engine.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ATTR, SEL } from "./attrs.js";
|
|
2
2
|
import { getPath } from "./helpers/path.js";
|
|
3
3
|
import { populateFields, setSwitchState, applySwitchState, } from "./helpers/dom.js";
|
|
4
|
-
import { setVisibility } from "./helpers/visibility.js";
|
|
4
|
+
import { setVisibility, isDisplayed } from "./helpers/visibility.js";
|
|
5
5
|
import { writeField } from "./helpers/form-field.js";
|
|
6
6
|
import { runHandler } from "./helpers/run-handler.js";
|
|
7
7
|
import { onElement } from "./dom-observer.js";
|
|
@@ -117,10 +117,14 @@ function getDataBinding(el) {
|
|
|
117
117
|
}
|
|
118
118
|
return null;
|
|
119
119
|
}
|
|
120
|
-
async function handleQuery(container, deps) {
|
|
120
|
+
async function handleQuery(container, deps, pending) {
|
|
121
121
|
const binding = getDataBinding(container);
|
|
122
122
|
if (!binding)
|
|
123
123
|
return;
|
|
124
|
+
if (!isDisplayed(container)) {
|
|
125
|
+
pending.add(container);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
124
128
|
const { id, kind } = binding;
|
|
125
129
|
const handlerResult = await executeQuery(id, deps, container);
|
|
126
130
|
if (!handlerResult.ok)
|
|
@@ -169,11 +173,38 @@ async function handleQuery(container, deps) {
|
|
|
169
173
|
}
|
|
170
174
|
export function initDataEngine(deps) {
|
|
171
175
|
const seen = new WeakSet();
|
|
176
|
+
const pending = new WeakSet();
|
|
177
|
+
const observed = new WeakSet();
|
|
178
|
+
// Large rootMargin so viewport position is irrelevant — only display state
|
|
179
|
+
// gates intersection. IO reports zero-area for display:none, so we get a
|
|
180
|
+
// reliable callback when a hidden tab/panel becomes display-visible.
|
|
181
|
+
const observer = typeof IntersectionObserver === "undefined"
|
|
182
|
+
? null
|
|
183
|
+
: new IntersectionObserver((entries) => {
|
|
184
|
+
for (const entry of entries) {
|
|
185
|
+
if (!entry.isIntersecting)
|
|
186
|
+
continue;
|
|
187
|
+
const el = entry.target;
|
|
188
|
+
if (!pending.has(el))
|
|
189
|
+
continue;
|
|
190
|
+
if (!isDisplayed(el))
|
|
191
|
+
continue;
|
|
192
|
+
pending.delete(el);
|
|
193
|
+
handleQuery(el, deps, pending);
|
|
194
|
+
}
|
|
195
|
+
}, { rootMargin: "9999px" });
|
|
196
|
+
const track = (el) => {
|
|
197
|
+
if (observed.has(el))
|
|
198
|
+
return;
|
|
199
|
+
observed.add(el);
|
|
200
|
+
observer?.observe(el);
|
|
201
|
+
};
|
|
172
202
|
const unbind = onElement(SEL.dataAny, (el) => {
|
|
203
|
+
track(el);
|
|
173
204
|
if (seen.has(el))
|
|
174
205
|
return;
|
|
175
206
|
seen.add(el);
|
|
176
|
-
handleQuery(el, deps);
|
|
207
|
+
handleQuery(el, deps, pending);
|
|
177
208
|
});
|
|
178
209
|
const unsubscribe = onQueryChanged((key) => {
|
|
179
210
|
document.querySelectorAll(SEL.dataAny).forEach((c) => {
|
|
@@ -186,7 +217,7 @@ export function initDataEngine(deps) {
|
|
|
186
217
|
: deps.queries[binding.id]?.on;
|
|
187
218
|
if (!keys?.includes(key))
|
|
188
219
|
return;
|
|
189
|
-
handleQuery(c, deps);
|
|
220
|
+
handleQuery(c, deps, pending);
|
|
190
221
|
});
|
|
191
222
|
});
|
|
192
223
|
const unsubscribeRefresh = onRefresh((key) => {
|
|
@@ -197,13 +228,14 @@ export function initDataEngine(deps) {
|
|
|
197
228
|
const keys = deps.queries[binding.id]?.refreshKeys;
|
|
198
229
|
if (!keys?.includes(key))
|
|
199
230
|
return;
|
|
200
|
-
handleQuery(c, deps);
|
|
231
|
+
handleQuery(c, deps, pending);
|
|
201
232
|
});
|
|
202
233
|
});
|
|
203
234
|
return () => {
|
|
204
235
|
unbind();
|
|
205
236
|
unsubscribe();
|
|
206
237
|
unsubscribeRefresh();
|
|
238
|
+
observer?.disconnect();
|
|
207
239
|
};
|
|
208
240
|
}
|
|
209
241
|
//# sourceMappingURL=data-engine.js.map
|
package/dist/data-engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-engine.js","sourceRoot":"","sources":["../src/data-engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EACL,cAAc,EACd,cAAc,EACd,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"data-engine.js","sourceRoot":"","sources":["../src/data-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,3 +6,11 @@ export declare function setTransitionConfig(next: {
|
|
|
6
6
|
export declare function setVisibility(el: HTMLElement, visible: boolean, options?: {
|
|
7
7
|
instant?: boolean;
|
|
8
8
|
}): void;
|
|
9
|
+
/**
|
|
10
|
+
* False when the element or any ancestor has `display: none`. The data engine
|
|
11
|
+
* uses this to skip queries on hidden tabs/panels and defer them to whenever
|
|
12
|
+
* the element actually gets rendered. Uses the native `checkVisibility()` API
|
|
13
|
+
* where available (Baseline 2024) and walks `getComputedStyle` ancestors as a
|
|
14
|
+
* fallback for older Safari/Firefox.
|
|
15
|
+
*/
|
|
16
|
+
export declare function isDisplayed(el: Element): boolean;
|
|
@@ -73,4 +73,26 @@ export function setVisibility(el, visible, options) {
|
|
|
73
73
|
else
|
|
74
74
|
hide(el, instant);
|
|
75
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* False when the element or any ancestor has `display: none`. The data engine
|
|
78
|
+
* uses this to skip queries on hidden tabs/panels and defer them to whenever
|
|
79
|
+
* the element actually gets rendered. Uses the native `checkVisibility()` API
|
|
80
|
+
* where available (Baseline 2024) and walks `getComputedStyle` ancestors as a
|
|
81
|
+
* fallback for older Safari/Firefox.
|
|
82
|
+
*/
|
|
83
|
+
export function isDisplayed(el) {
|
|
84
|
+
if (typeof window === "undefined")
|
|
85
|
+
return true;
|
|
86
|
+
if (!(el instanceof HTMLElement))
|
|
87
|
+
return true;
|
|
88
|
+
if (typeof el.checkVisibility === "function")
|
|
89
|
+
return el.checkVisibility();
|
|
90
|
+
let cur = el;
|
|
91
|
+
while (cur) {
|
|
92
|
+
if (getComputedStyle(cur).display === "none")
|
|
93
|
+
return false;
|
|
94
|
+
cur = cur.parentElement;
|
|
95
|
+
}
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
76
98
|
//# sourceMappingURL=visibility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../src/helpers/visibility.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"visibility.js","sourceRoot":"","sources":["../../src/helpers/visibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAA+C,MAAM,QAAQ,CAAC;AAE9E;;;;;;GAMG;AAEH,MAAM,MAAM,GAAuC;IAClD,QAAQ,EAAE,CAAC;IACX,IAAI,EAAE,WAAW;CACjB,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,IAGnC;IACA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAC9B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;AAC1D,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAwB,CAAC;AACpD,MAAM,UAAU,GAAG,IAAI,OAAO,EAA0C,CAAC;AAEzE,SAAS,YAAY;IACpB,OAAO,CACN,OAAO,MAAM,KAAK,WAAW;QAC7B,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU;QACvC,MAAM,CAAC,UAAU,CAAC,kCAAkC,CAAC,CAAC,OAAO,CAC7D,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB;IACzB,OAAO,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;AAC7C,CAAC;AAED,SAAS,IAAI,CAAC,EAAe,EAAE,OAAgB;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI;QAAE,OAAO;IACrC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACtB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAE3B,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5B,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACnD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACpB,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,OAAO;IACR,CAAC;IAED,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;IACvB,MAAM,IAAI,GAAG,OAAO,CACnB,EAAE,EACF,EAAE,OAAO,EAAE,CAAC,EAAE,EACd,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAChD,CAAC;IACF,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,IAAI,CAAC,EAAe,EAAE,OAAgB;IAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,KAAK;QAAE,OAAO;IACtC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACvB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;IAE3B,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7B,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAEvC,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IACnD,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACpB,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;QACtB,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;QAC1B,OAAO;IACR,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CACnB,EAAE,EACF,EAAE,OAAO,EAAE,CAAC,EAAE,EACd,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAChD,CAAC;IACF,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzB,IAAI,CAAC,IAAI,CACR,GAAG,EAAE;QACJ,IAAI,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI;YAAE,OAAO;QACxC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,CAAC,EACD,GAAG,EAAE;QACJ,8CAA8C;IAC/C,CAAC,CACD,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAC5B,EAAe,EACf,OAAgB,EAChB,OAA+B;IAE/B,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,IAAI,OAAO;QAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;;QAC1B,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,WAAW,CAAC,EAAW;IACtC,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,CAAC,CAAC,EAAE,YAAY,WAAW,CAAC;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,OAAO,EAAE,CAAC,eAAe,KAAK,UAAU;QAAE,OAAO,EAAE,CAAC,eAAe,EAAE,CAAC;IAC1E,IAAI,GAAG,GAAuB,EAAE,CAAC;IACjC,OAAO,GAAG,EAAE,CAAC;QACZ,IAAI,gBAAgB,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,MAAM;YAAE,OAAO,KAAK,CAAC;QAC3D,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC"}
|
package/dist/switch-engine.js
CHANGED
|
@@ -18,8 +18,9 @@ export function initSwitchEngine() {
|
|
|
18
18
|
});
|
|
19
19
|
// Initial pass for elements present at start AND any inserted later — the
|
|
20
20
|
// mutation observer above only fires on attribute *changes*, so freshly
|
|
21
|
-
// inserted nodes need an explicit apply.
|
|
22
|
-
|
|
21
|
+
// inserted nodes need an explicit apply. Instant so display:none is
|
|
22
|
+
// committed synchronously before the data engine's initial pass reads it.
|
|
23
|
+
const unbind = onElement(SEL.switchState, (el) => applySwitchState(el, { instant: true }));
|
|
23
24
|
return () => {
|
|
24
25
|
observer.disconnect();
|
|
25
26
|
unbind();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-engine.js","sourceRoot":"","sources":["../src/switch-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,UAAU,gBAAgB;IAC9B,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAAE;QAClD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,IACE,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW;gBACpC,CAAC,CAAC,MAAM,YAAY,OAAO,EAC3B,CAAC;gBACD,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC9B,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;QACnC,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,0EAA0E;IAC1E,wEAAwE;IACxE,
|
|
1
|
+
{"version":3,"file":"switch-engine.js","sourceRoot":"","sources":["../src/switch-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,MAAM,UAAU,gBAAgB;IAC9B,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,SAAS,EAAE,EAAE;QAClD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACtB,IACE,CAAC,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW;gBACpC,CAAC,CAAC,MAAM,YAAY,OAAO,EAC3B,CAAC;gBACD,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC9B,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;QACnC,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,0EAA0E;IAC1E,wEAAwE;IACxE,oEAAoE;IACpE,0EAA0E;IAC1E,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,CAC/C,gBAAgB,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CACxC,CAAC;IAEF,OAAO,GAAG,EAAE;QACV,QAAQ,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,EAAE,CAAC;IACX,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "9.1
|
|
1
|
+
export declare const VERSION = "9.2.1";
|
package/dist/version.js
CHANGED