@multiplatform.one/frappe-ui 7.50.0 → 7.50.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/README.md +2 -3
- package/dist/cjs/useFrappeAggregate.cjs +0 -6
- package/dist/cjs/useFrappeAggregate.native.js +0 -6
- package/dist/cjs/useFrappeAggregate.native.js.map +1 -1
- package/dist/esm/useFrappeAggregate.mjs +0 -6
- package/dist/esm/useFrappeAggregate.mjs.map +1 -1
- package/dist/esm/useFrappeAggregate.native.js +0 -6
- package/dist/esm/useFrappeAggregate.native.js.map +1 -1
- package/dist/jsx/useFrappeAggregate.mjs +0 -6
- package/dist/jsx/useFrappeAggregate.mjs.map +1 -1
- package/dist/jsx/useFrappeAggregate.native.js +0 -6
- package/dist/jsx/useFrappeAggregate.native.js.map +1 -1
- package/package.json +16 -16
- package/src/FrappeKPICard.stories.tsx +2 -2
- package/src/useFrappeAggregate.guestCount.spec.tsx +47 -0
- package/src/useFrappeAggregate.ts +6 -8
- package/types/useFrappeAggregate.d.ts +2 -2
- package/types/useFrappeAggregate.d.ts.map +1 -1
package/README.md
CHANGED
|
@@ -123,9 +123,8 @@ The underlying data hooks (`useLinkSearch`, `useLinkTitle`) live in
|
|
|
123
123
|
|
|
124
124
|
### Live aggregates
|
|
125
125
|
|
|
126
|
-
Dashboard numbers are computed **server-side** (`
|
|
127
|
-
|
|
128
|
-
doctype) and refetched when the doctype's realtime room reports a change —
|
|
126
|
+
Dashboard numbers are computed **server-side** (`get_list` with an aggregate
|
|
127
|
+
expression, plus `group_by` for series, over the whole filtered doctype) and refetched when the doctype's realtime room reports a change —
|
|
129
128
|
never counted from the synced row window, which is bounded to a page.
|
|
130
129
|
`useFrappeAggregate` coalesces event bursts through a debounce window
|
|
131
130
|
(default 300ms, `debounceMs`) and reports honest states: `isLoading` (first
|
|
@@ -62,12 +62,6 @@ async function fetchLiveAggregate(db, spec) {
|
|
|
62
62
|
if (operation !== "count" && !spec.field) {
|
|
63
63
|
throw new Error(`[useFrappeAggregate] "${operation}" requires a field`);
|
|
64
64
|
}
|
|
65
|
-
if (operation === "count" && !spec.groupBy) {
|
|
66
|
-
const count = await db.getCount(spec.doctype, spec.filters);
|
|
67
|
-
return {
|
|
68
|
-
value: count
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
65
|
const aggregateExpr = `${operation}(${field}) as _aggregate_value`;
|
|
72
66
|
const fields = spec.groupBy ? [spec.groupBy, aggregateExpr] : [aggregateExpr];
|
|
73
67
|
const rows = await db.getDocList(spec.doctype, {
|
|
@@ -76,12 +76,6 @@ async function fetchLiveAggregate(db, spec) {
|
|
|
76
76
|
if (operation !== "count" && !spec.field) {
|
|
77
77
|
throw new Error(`[useFrappeAggregate] "${operation}" requires a field`);
|
|
78
78
|
}
|
|
79
|
-
if (operation === "count" && !spec.groupBy) {
|
|
80
|
-
var count = await db.getCount(spec.doctype, spec.filters);
|
|
81
|
-
return {
|
|
82
|
-
value: count
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
79
|
var aggregateExpr = `${operation}(${field}) as _aggregate_value`;
|
|
86
80
|
var fields = spec.groupBy ? [spec.groupBy, aggregateExpr] : [aggregateExpr];
|
|
87
81
|
var rows = await db.getDocList(spec.doctype, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useFrappeAggregate_exports","__export","useFrappeAggregate","module","exports","import_frappe","require","import_react","_instanceof","left","right","Symbol","hasInstance","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","_ref","_ref1","key","useToken","token","type","db","get","authConfig","DbModule","HttpClient","set","FIELDNAME_RE","assertFieldname","name","what","test","Error","JSON","stringify","toFiniteNumber","raw","num","Number","isFinite","fetchLiveAggregate","spec","_spec_aggregate","_spec_field","_rows_","operation","aggregate","field","groupBy","
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","useFrappeAggregate_exports","__export","useFrappeAggregate","module","exports","import_frappe","require","import_react","_instanceof","left","right","Symbol","hasInstance","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","_ref","_ref1","key","useToken","token","type","db","get","authConfig","DbModule","HttpClient","set","FIELDNAME_RE","assertFieldname","name","what","test","Error","JSON","stringify","toFiniteNumber","raw","num","Number","isFinite","fetchLiveAggregate","spec","_spec_aggregate","_spec_field","_rows_","operation","aggregate","field","groupBy","aggregateExpr","fields","rows","getDocList","doctype","filters","limit","groups","map","row","_row_groupBy","_toFiniteNumber","label","String","_aggregate_value","fetchFixtureAggregate","fixtures","getList","aggregate2","subset","length","values","row2","filter","reduce","a","b","Math","min","max","buckets","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","_buckets_get","bucket","push","err","return","entries","param","label2","bucket2","_aggregate","connection","_spec_debounceMs","enabled","debounceMs","data","setData","useState","isLoading","setIsLoading","isStale","setIsStale","error","setError","lastUpdated","setLastUpdated","specKey","fetchSeq","useRef","specRef","current","connectionRef","hasSettledRef","identityRef","runFetch","useCallback","conn","currentSpec","seq","result","Date"],"sources":["../../src/useFrappeAggregate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -35,12 +35,6 @@ async function fetchLiveAggregate(db, spec) {
|
|
|
35
35
|
if (operation !== "count" && !spec.field) {
|
|
36
36
|
throw new Error(`[useFrappeAggregate] "${operation}" requires a field`);
|
|
37
37
|
}
|
|
38
|
-
if (operation === "count" && !spec.groupBy) {
|
|
39
|
-
const count = await db.getCount(spec.doctype, spec.filters);
|
|
40
|
-
return {
|
|
41
|
-
value: count
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
38
|
const aggregateExpr = `${operation}(${field}) as _aggregate_value`;
|
|
45
39
|
const fields = spec.groupBy ? [spec.groupBy, aggregateExpr] : [aggregateExpr];
|
|
46
40
|
const rows = await db.getDocList(spec.doctype, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AsyncDebouncer","DbModule","HttpClient","useFrappeDoctypeEvents","useCallback","useEffect","useMemo","useRef","useState","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","key","useToken","token","type","db","get","authConfig","set","FIELDNAME_RE","assertFieldname","name","what","test","Error","JSON","stringify","toFiniteNumber","raw","num","Number","isFinite","fetchLiveAggregate","spec","operation","aggregate","field","groupBy","
|
|
1
|
+
{"version":3,"names":["AsyncDebouncer","DbModule","HttpClient","useFrappeDoctypeEvents","useCallback","useEffect","useMemo","useRef","useState","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","key","useToken","token","type","db","get","authConfig","set","FIELDNAME_RE","assertFieldname","name","what","test","Error","JSON","stringify","toFiniteNumber","raw","num","Number","isFinite","fetchLiveAggregate","spec","operation","aggregate","field","groupBy","aggregateExpr","fields","rows","getDocList","doctype","filters","limit","groups","map","row","label","String","value","_aggregate_value","fetchFixtureAggregate","fixtures","getList","subset","length","values","filter","reduce","a","b","Math","min","max","buckets","bucket","push","entries","useFrappeAggregate","connection","enabled","debounceMs","data","setData","isLoading","setIsLoading","isStale","setIsStale","error","setError","lastUpdated","setLastUpdated","specKey","fetchSeq","specRef","current","connectionRef","hasSettledRef","identityRef","runFetch","conn","currentSpec","seq","result","Date","err","debouncerRef","wait","setOptions","cancel","identity","maybeExecute","refresh","isPermissionError","status"],"sources":["../../src/useFrappeAggregate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -47,12 +47,6 @@ async function fetchLiveAggregate(db, spec) {
|
|
|
47
47
|
if (operation !== "count" && !spec.field) {
|
|
48
48
|
throw new Error(`[useFrappeAggregate] "${operation}" requires a field`);
|
|
49
49
|
}
|
|
50
|
-
if (operation === "count" && !spec.groupBy) {
|
|
51
|
-
var count = await db.getCount(spec.doctype, spec.filters);
|
|
52
|
-
return {
|
|
53
|
-
value: count
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
50
|
var aggregateExpr = `${operation}(${field}) as _aggregate_value`;
|
|
57
51
|
var fields = spec.groupBy ? [spec.groupBy, aggregateExpr] : [aggregateExpr];
|
|
58
52
|
var rows = await db.getDocList(spec.doctype, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AsyncDebouncer","DbModule","HttpClient","useFrappeDoctypeEvents","useCallback","useEffect","useMemo","useRef","useState","_instanceof","left","right","Symbol","hasInstance","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","_ref","_ref1","key","useToken","token","type","db","get","authConfig","set","FIELDNAME_RE","assertFieldname","name","what","test","Error","JSON","stringify","toFiniteNumber","raw","num","Number","isFinite","fetchLiveAggregate","spec","_spec_aggregate","_spec_field","_rows_","operation","aggregate","field","groupBy","
|
|
1
|
+
{"version":3,"names":["AsyncDebouncer","DbModule","HttpClient","useFrappeDoctypeEvents","useCallback","useEffect","useMemo","useRef","useState","_instanceof","left","right","Symbol","hasInstance","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","_ref","_ref1","key","useToken","token","type","db","get","authConfig","set","FIELDNAME_RE","assertFieldname","name","what","test","Error","JSON","stringify","toFiniteNumber","raw","num","Number","isFinite","fetchLiveAggregate","spec","_spec_aggregate","_spec_field","_rows_","operation","aggregate","field","groupBy","aggregateExpr","fields","rows","getDocList","doctype","filters","limit","groups","map","row","_row_groupBy","_toFiniteNumber","label","String","value","_aggregate_value","fetchFixtureAggregate","fixtures","getList","aggregate2","subset","length","values","row2","filter","reduce","a","b","Math","min","max","buckets","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","_buckets_get","bucket","push","err","return","entries","param","label2","bucket2","_aggregate","useFrappeAggregate","connection","_spec_debounceMs","enabled","debounceMs","data","setData","isLoading","setIsLoading","isStale","setIsStale","error","setError","lastUpdated","setLastUpdated","specKey","fetchSeq","specRef","current","connectionRef","hasSettledRef","identityRef","runFetch","conn","currentSpec","seq","result","Date","debouncerRef"],"sources":["../../src/useFrappeAggregate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -35,12 +35,6 @@ async function fetchLiveAggregate(db, spec) {
|
|
|
35
35
|
if (operation !== "count" && !spec.field) {
|
|
36
36
|
throw new Error(`[useFrappeAggregate] "${operation}" requires a field`);
|
|
37
37
|
}
|
|
38
|
-
if (operation === "count" && !spec.groupBy) {
|
|
39
|
-
const count = await db.getCount(spec.doctype, spec.filters);
|
|
40
|
-
return {
|
|
41
|
-
value: count
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
38
|
const aggregateExpr = `${operation}(${field}) as _aggregate_value`;
|
|
45
39
|
const fields = spec.groupBy ? [spec.groupBy, aggregateExpr] : [aggregateExpr];
|
|
46
40
|
const rows = await db.getDocList(spec.doctype, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AsyncDebouncer","DbModule","HttpClient","useFrappeDoctypeEvents","useCallback","useEffect","useMemo","useRef","useState","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","key","useToken","token","type","db","get","authConfig","set","FIELDNAME_RE","assertFieldname","name","what","test","Error","JSON","stringify","toFiniteNumber","raw","num","Number","isFinite","fetchLiveAggregate","spec","operation","aggregate","field","groupBy","
|
|
1
|
+
{"version":3,"names":["AsyncDebouncer","DbModule","HttpClient","useFrappeDoctypeEvents","useCallback","useEffect","useMemo","useRef","useState","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","key","useToken","token","type","db","get","authConfig","set","FIELDNAME_RE","assertFieldname","name","what","test","Error","JSON","stringify","toFiniteNumber","raw","num","Number","isFinite","fetchLiveAggregate","spec","operation","aggregate","field","groupBy","aggregateExpr","fields","rows","getDocList","doctype","filters","limit","groups","map","row","label","String","value","_aggregate_value","fetchFixtureAggregate","fixtures","getList","subset","length","values","filter","reduce","a","b","Math","min","max","buckets","bucket","push","entries","useFrappeAggregate","connection","enabled","debounceMs","data","setData","isLoading","setIsLoading","isStale","setIsStale","error","setError","lastUpdated","setLastUpdated","specKey","fetchSeq","specRef","current","connectionRef","hasSettledRef","identityRef","runFetch","conn","currentSpec","seq","result","Date","err","debouncerRef","wait","setOptions","cancel","identity","maybeExecute","refresh","isPermissionError","status"],"sources":["../../src/useFrappeAggregate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -76,12 +76,6 @@ async function fetchLiveAggregate(db, spec) {
|
|
|
76
76
|
if (operation !== "count" && !spec.field) {
|
|
77
77
|
throw new Error(`[useFrappeAggregate] "${operation}" requires a field`);
|
|
78
78
|
}
|
|
79
|
-
if (operation === "count" && !spec.groupBy) {
|
|
80
|
-
var count = await db.getCount(spec.doctype, spec.filters);
|
|
81
|
-
return {
|
|
82
|
-
value: count
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
79
|
var aggregateExpr = `${operation}(${field}) as _aggregate_value`;
|
|
86
80
|
var fields = spec.groupBy ? [spec.groupBy, aggregateExpr] : [aggregateExpr];
|
|
87
81
|
var rows = await db.getDocList(spec.doctype, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useFrappeAggregate_exports","useFrappeAggregate","module","exports","import_frappe","require","import_react","_instanceof","left","right","Symbol","hasInstance","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","_ref","_ref1","useToken","token","type","db","authConfig","DbModule","HttpClient","set","FIELDNAME_RE","assertFieldname","what","test","Error","JSON","stringify","toFiniteNumber","raw","num","Number","isFinite","fetchLiveAggregate","spec","_spec_aggregate","_spec_field","_rows_","operation","aggregate","field","groupBy","
|
|
1
|
+
{"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useFrappeAggregate_exports","useFrappeAggregate","module","exports","import_frappe","require","import_react","_instanceof","left","right","Symbol","hasInstance","DEFAULT_DEBOUNCE_MS","dbCache","Map","getDb","baseURL","auth","_ref","_ref1","useToken","token","type","db","authConfig","DbModule","HttpClient","set","FIELDNAME_RE","assertFieldname","what","test","Error","JSON","stringify","toFiniteNumber","raw","num","Number","isFinite","fetchLiveAggregate","spec","_spec_aggregate","_spec_field","_rows_","operation","aggregate","field","groupBy","aggregateExpr","fields","rows","getDocList","doctype","filters","limit","groups","map","row","_row_groupBy","_toFiniteNumber","label","String","_aggregate_value","fetchFixtureAggregate","fixtures","getList","aggregate2","subset","length","values","row2","filter","reduce","a","b","Math","min","max","buckets","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","iterator","_step","next","done","_buckets_get","bucket","push","err","return","entries","param","label2","bucket2","_aggregate","connection","_spec_debounceMs","enabled","debounceMs","data","setData","useState","isLoading","setIsLoading","isStale","setIsStale","error","setError","lastUpdated","setLastUpdated","specKey","fetchSeq","useRef","specRef","current","connectionRef","hasSettledRef","identityRef","runFetch","useCallback","conn","currentSpec","seq","result"],"sources":["../../src/useFrappeAggregate.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@multiplatform.one/frappe-ui",
|
|
3
|
-
"version": "7.50.
|
|
3
|
+
"version": "7.50.1",
|
|
4
4
|
"description": "Pre-wired Tamagui components for Frappe doctypes with live data",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cross-platform",
|
|
@@ -72,18 +72,18 @@
|
|
|
72
72
|
"access": "public"
|
|
73
73
|
},
|
|
74
74
|
"dependencies": {
|
|
75
|
-
"@multiplatform.one/components": "^7.50.
|
|
76
|
-
"@multiplatform.one/desktop": "^7.50.
|
|
77
|
-
"@multiplatform.one/forms": "^7.50.
|
|
78
|
-
"@multiplatform.one/frappe": "^7.50.
|
|
79
|
-
"@multiplatform.one/i18n": "^7.50.
|
|
80
|
-
"@multiplatform.one/markdown": "^7.50.
|
|
81
|
-
"@multiplatform.one/platform": "^7.50.
|
|
82
|
-
"@multiplatform.one/rich-text": "^7.50.
|
|
83
|
-
"@multiplatform.one/router": "^7.50.
|
|
84
|
-
"@multiplatform.one/store": "^7.50.
|
|
85
|
-
"@multiplatform.one/table": "^7.50.
|
|
86
|
-
"@multiplatform.one/theme": "^7.50.
|
|
75
|
+
"@multiplatform.one/components": "^7.50.1",
|
|
76
|
+
"@multiplatform.one/desktop": "^7.50.1",
|
|
77
|
+
"@multiplatform.one/forms": "^7.50.1",
|
|
78
|
+
"@multiplatform.one/frappe": "^7.50.1",
|
|
79
|
+
"@multiplatform.one/i18n": "^7.50.1",
|
|
80
|
+
"@multiplatform.one/markdown": "^7.50.1",
|
|
81
|
+
"@multiplatform.one/platform": "^7.50.1",
|
|
82
|
+
"@multiplatform.one/rich-text": "^7.50.1",
|
|
83
|
+
"@multiplatform.one/router": "^7.50.1",
|
|
84
|
+
"@multiplatform.one/store": "^7.50.1",
|
|
85
|
+
"@multiplatform.one/table": "^7.50.1",
|
|
86
|
+
"@multiplatform.one/theme": "^7.50.1",
|
|
87
87
|
"@phosphor-icons/react": "^2.1.10",
|
|
88
88
|
"@tamagui/colors": "2.7.6",
|
|
89
89
|
"@tanstack/db": "0.8.0",
|
|
@@ -100,9 +100,9 @@
|
|
|
100
100
|
"tamagui": "2.7.6"
|
|
101
101
|
},
|
|
102
102
|
"devDependencies": {
|
|
103
|
-
"@multiplatform.one/config": "7.50.
|
|
104
|
-
"@multiplatform.one/storybook": "7.50.
|
|
105
|
-
"@multiplatform.one/test-utils": "7.50.
|
|
103
|
+
"@multiplatform.one/config": "7.50.1",
|
|
104
|
+
"@multiplatform.one/storybook": "7.50.1",
|
|
105
|
+
"@multiplatform.one/test-utils": "7.50.1",
|
|
106
106
|
"@tamagui/build": "2.7.6",
|
|
107
107
|
"@testing-library/jest-dom": "^7.0.1",
|
|
108
108
|
"@testing-library/react": "^16.3.3",
|
|
@@ -267,7 +267,7 @@ LiveToDoCount.parameters = {
|
|
|
267
267
|
// ---------------------------------------------------------------------------
|
|
268
268
|
|
|
269
269
|
/**
|
|
270
|
-
* Live aggregates against the real bench:
|
|
270
|
+
* Live aggregates against the real bench: get_list count(name), refetched
|
|
271
271
|
* with a 300ms coalescing window on realtime list_update / doc_update /
|
|
272
272
|
* doc_deleted. Falls back to the same fixtures when the bench is down.
|
|
273
273
|
*/
|
|
@@ -280,7 +280,7 @@ Live.parameters = {
|
|
|
280
280
|
docs: {
|
|
281
281
|
description: {
|
|
282
282
|
story:
|
|
283
|
-
"LIVE server-side count of ToDo documents (
|
|
283
|
+
"LIVE server-side count of ToDo documents (get_list count(name)), refetched with a 300ms coalescing window on realtime events. Both cards watch the same doctype and share one refcounted realtime room subscription. Create/delete a ToDo on the bench and the numbers update in place — no reload. Fixture fallback when the bench is down.",
|
|
284
284
|
},
|
|
285
285
|
},
|
|
286
286
|
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
// A Guest who may read a doctype can count it too. Frappe refuses
|
|
2
|
+
// frappe.client.get_count to Guest even then, and the browser logs every
|
|
3
|
+
// refused request, so the home screen's tile counts put 403s on the SPA's
|
|
4
|
+
// console (FZ-7901). The count rides get_list, which answers Guest.
|
|
5
|
+
import { renderHook, waitFor } from "@testing-library/react";
|
|
6
|
+
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
7
|
+
import { useFrappeAggregate } from "./useFrappeAggregate";
|
|
8
|
+
|
|
9
|
+
let requested: URL[] = [];
|
|
10
|
+
|
|
11
|
+
beforeEach(() => {
|
|
12
|
+
requested = [];
|
|
13
|
+
vi.stubGlobal("fetch", async (input: string | URL | Request) => {
|
|
14
|
+
const url = new URL(String(input));
|
|
15
|
+
requested.push(url);
|
|
16
|
+
if (url.pathname === "/api/method/frappe.client.get_count") {
|
|
17
|
+
return new Response(JSON.stringify({ exc_type: "PermissionError" }), {
|
|
18
|
+
status: 403,
|
|
19
|
+
headers: { "content-type": "application/json" },
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return new Response(JSON.stringify({ data: [{ _aggregate_value: 151 }] }), {
|
|
23
|
+
headers: { "content-type": "application/json" },
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
afterEach(() => vi.unstubAllGlobals());
|
|
29
|
+
|
|
30
|
+
describe("useFrappeAggregate count as Guest", () => {
|
|
31
|
+
it("counts through get_list and never asks get_count", async () => {
|
|
32
|
+
const { result } = renderHook(() =>
|
|
33
|
+
useFrappeAggregate(
|
|
34
|
+
{ baseURL: "http://guest-count.test", realtime: false },
|
|
35
|
+
{ doctype: "Poke Move" },
|
|
36
|
+
),
|
|
37
|
+
);
|
|
38
|
+
await waitFor(() => expect(result.current.isLoading).toBe(false));
|
|
39
|
+
|
|
40
|
+
expect(result.current.value).toBe(151);
|
|
41
|
+
expect(result.current.isPermissionError).toBe(false);
|
|
42
|
+
expect(requested.map((url) => url.pathname)).toEqual(["/api/resource/Poke%20Move"]);
|
|
43
|
+
expect(JSON.parse(requested[0]!.searchParams.get("fields") ?? "[]")).toEqual([
|
|
44
|
+
"count(name) as _aggregate_value",
|
|
45
|
+
]);
|
|
46
|
+
});
|
|
47
|
+
});
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* maintained incrementally on the client — the sync engine's collection row
|
|
6
6
|
* set is a bounded window (Frappe's default page length), so counting synced
|
|
7
7
|
* rows would lie on any doctype larger than one page. Instead the aggregate
|
|
8
|
-
* is computed by the server (`
|
|
9
|
-
*
|
|
8
|
+
* is computed by the server (`get_list` with an aggregate field, plus
|
|
9
|
+
* `group_by` for series) and refetched through the client whenever
|
|
10
10
|
* the doctype's realtime room reports a change (`list_update` / `doc_update`
|
|
11
11
|
* / `doc_deleted`), coalesced through a debounce window (default 300ms —
|
|
12
12
|
* same band as the sync engine's rehydration debounce).
|
|
@@ -144,12 +144,10 @@ async function fetchLiveAggregate(db: DbModule, spec: FrappeAggregateSpec): Prom
|
|
|
144
144
|
throw new Error(`[useFrappeAggregate] "${operation}" requires a field`);
|
|
145
145
|
}
|
|
146
146
|
|
|
147
|
-
//
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
}
|
|
152
|
-
|
|
147
|
+
// A count goes through get_list like every other aggregate, not
|
|
148
|
+
// frappe.client.get_count: Frappe refuses get_count to Guest even where
|
|
149
|
+
// Guest may read the doctype (FZ-7901), and get_list applies the same
|
|
150
|
+
// read permission the rows do.
|
|
153
151
|
const aggregateExpr = `${operation}(${field}) as _aggregate_value`;
|
|
154
152
|
const fields = spec.groupBy ? [spec.groupBy, aggregateExpr] : [aggregateExpr];
|
|
155
153
|
const rows = await db.getDocList(spec.doctype, {
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
* maintained incrementally on the client — the sync engine's collection row
|
|
6
6
|
* set is a bounded window (Frappe's default page length), so counting synced
|
|
7
7
|
* rows would lie on any doctype larger than one page. Instead the aggregate
|
|
8
|
-
* is computed by the server (`
|
|
9
|
-
*
|
|
8
|
+
* is computed by the server (`get_list` with an aggregate field, plus
|
|
9
|
+
* `group_by` for series) and refetched through the client whenever
|
|
10
10
|
* the doctype's realtime room reports a change (`list_update` / `doc_update`
|
|
11
11
|
* / `doc_deleted`), coalesced through a debounce window (default 300ms —
|
|
12
12
|
* same band as the sync engine's rehydration debounce).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFrappeAggregate.d.ts","sourceRoot":"","sources":["../src/useFrappeAggregate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE/E,gEAAgE;AAChE,MAAM,WAAW,yBAAyB;IACxC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oDAAoD;IACpD,MAAM,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAC3C,oDAAoD;IACpD,SAAS,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,6DAA6D;IAC7D,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC;IAC9B,qDAAqD;IACrD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"useFrappeAggregate.d.ts","sourceRoot":"","sources":["../src/useFrappeAggregate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAML,KAAK,eAAe,EACrB,MAAM,2BAA2B,CAAC;AAGnC,MAAM,MAAM,wBAAwB,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE/E,gEAAgE;AAChE,MAAM,WAAW,yBAAyB;IACxC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACrE,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,wBAAwB;IACvC,iDAAiD;IACjD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oDAAoD;IACpD,MAAM,EAAE,oBAAoB,EAAE,GAAG,SAAS,CAAC;IAC3C,oDAAoD;IACpD,SAAS,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,6DAA6D;IAC7D,WAAW,EAAE,IAAI,GAAG,SAAS,CAAC;IAC9B,qDAAqD;IACrD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA8HD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,yBAAyB,GAAG,SAAS,EACjD,IAAI,EAAE,mBAAmB,GACxB,wBAAwB,CA+H1B"}
|