juxscript 1.1.265 → 1.1.266
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.
|
@@ -24,6 +24,11 @@ declare class Data {
|
|
|
24
24
|
getLoading(): boolean;
|
|
25
25
|
getError(): string | null;
|
|
26
26
|
setValue(val: any): this;
|
|
27
|
+
/**
|
|
28
|
+
* Re-fetch the data and notify pageState.
|
|
29
|
+
* Triggers all watchers that depend on this data's value.
|
|
30
|
+
*/
|
|
31
|
+
refresh(): Promise<any>;
|
|
27
32
|
fetch(urlOverride?: string): Promise<any>;
|
|
28
33
|
}
|
|
29
34
|
/**
|
|
@@ -46,7 +51,7 @@ declare class Data {
|
|
|
46
51
|
* await manual.fetch(); // fetch later
|
|
47
52
|
*
|
|
48
53
|
* // Re-fetch
|
|
49
|
-
* await pageState['api'].
|
|
54
|
+
* await pageState['api'].refresh();
|
|
50
55
|
*/
|
|
51
56
|
export declare function data(id: string, options?: DataOptions): Promise<Data>;
|
|
52
57
|
export { Data, DataOptions };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../lib/components/data.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,cAAM,IAAI;IACN,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAuC;gBAE5C,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAMjD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IACxB,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI;IAC1C,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAC5C,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IACtB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IAEtC,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAMxC,QAAQ,IAAI,GAAG;IACf,UAAU,IAAI,OAAO;IACrB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAEzB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../lib/components/data.ts"],"names":[],"mappings":"AAGA,UAAU,WAAW;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,CAAC;IAC9B,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,cAAM,IAAI;IACN,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,WAAW,CAAC;IACrB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAuC;gBAE5C,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAMjD,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IACxB,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,IAAI;IAC1C,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAC5C,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IACtB,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,GAAG,GAAG,IAAI;IAEtC,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAMxC,QAAQ,IAAI,GAAG;IACf,UAAU,IAAI,OAAO;IACrB,QAAQ,IAAI,MAAM,GAAG,IAAI;IAEzB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAMxB;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC;IAQvB,KAAK,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CA+DlD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAW/E;AAED,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -29,6 +29,17 @@ class Data {
|
|
|
29
29
|
this._onChange(val);
|
|
30
30
|
return this;
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* Re-fetch the data and notify pageState.
|
|
34
|
+
* Triggers all watchers that depend on this data's value.
|
|
35
|
+
*/
|
|
36
|
+
async refresh() {
|
|
37
|
+
const result = await this.fetch();
|
|
38
|
+
// Notify pageState so watchers re-run
|
|
39
|
+
pageState.__notify(`${this.id}.value`);
|
|
40
|
+
pageState.__notify(`${this.id}.loading`);
|
|
41
|
+
return result;
|
|
42
|
+
}
|
|
32
43
|
async fetch(urlOverride) {
|
|
33
44
|
const fetchUrl = urlOverride || this.options.url;
|
|
34
45
|
if (!fetchUrl) {
|
|
@@ -104,14 +115,14 @@ class Data {
|
|
|
104
115
|
* await manual.fetch(); // fetch later
|
|
105
116
|
*
|
|
106
117
|
* // Re-fetch
|
|
107
|
-
* await pageState['api'].
|
|
118
|
+
* await pageState['api'].refresh();
|
|
108
119
|
*/
|
|
109
120
|
export async function data(id, options = {}) {
|
|
110
121
|
const d = new Data(id, options);
|
|
111
122
|
pageState.__register(d);
|
|
112
123
|
if (options.auto !== false && options.url) {
|
|
113
124
|
await d.fetch();
|
|
114
|
-
// Re-register
|
|
125
|
+
// Re-register so pageState picks up the fetched value
|
|
115
126
|
pageState.__register(d);
|
|
116
127
|
}
|
|
117
128
|
return d;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageState.d.ts","sourceRoot":"","sources":["../../../lib/state/pageState.ts"],"names":[],"mappings":"AAaA,cAAM,SAAS;IACX,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,MAAM,CAAsB;;IA6BpC,OAAO,CAAC,qBAAqB;
|
|
1
|
+
{"version":3,"file":"pageState.d.ts","sourceRoot":"","sources":["../../../lib/state/pageState.ts"],"names":[],"mappings":"AAaA,cAAM,SAAS;IACX,OAAO,CAAC,SAAS,CAA0C;IAC3D,OAAO,CAAC,MAAM,CAAsB;;IA6BpC,OAAO,CAAC,qBAAqB;IAkE7B;;;OAGG;IACH,OAAO,CAAC,SAAS;IA4CjB,OAAO,CAAC,UAAU;IAkBlB,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,OAAO;IAQf;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM;IAgBd,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI/B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAOjC;AAID,eAAO,MAAM,SAAS,qBAAuB,CAAC;AAE9C,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -51,15 +51,18 @@ class PageState {
|
|
|
51
51
|
if (prop in entry.props) {
|
|
52
52
|
return entry.props[prop];
|
|
53
53
|
}
|
|
54
|
-
//
|
|
54
|
+
// ✅ Expose component methods directly (refresh, fetch, etc.)
|
|
55
55
|
const comp = entry.component;
|
|
56
|
-
if (prop === '
|
|
57
|
-
return comp;
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
if (typeof comp[prop] === 'function') {
|
|
57
|
+
return comp[prop].bind(comp);
|
|
58
|
+
}
|
|
59
|
+
// Fallback: try getter pattern
|
|
60
|
+
const getterName = `get${prop.charAt(0).toUpperCase()}${prop.slice(1)}`;
|
|
61
|
+
if (typeof comp[getterName] === 'function') {
|
|
62
|
+
return comp[getterName]();
|
|
60
63
|
}
|
|
61
64
|
if (prop in comp) {
|
|
62
|
-
return
|
|
65
|
+
return comp[prop];
|
|
63
66
|
}
|
|
64
67
|
return undefined;
|
|
65
68
|
},
|