@fougere/admin 0.15.1-alpha.0 → 0.16.2-alpha.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.
|
@@ -53,9 +53,15 @@ export declare function createDataProvider(options: ProviderOptions): {
|
|
|
53
53
|
}) => Promise<{
|
|
54
54
|
data: Values;
|
|
55
55
|
}>;
|
|
56
|
+
/**
|
|
57
|
+
* A patch: what the form CHANGED, never the record it was handed. React-admin sends the whole
|
|
58
|
+
* row back, so an untouched `id`, `createdAt` or read-only `status` came back refused, and the
|
|
59
|
+
* refusal had no field on the form to show under — "The form is not valid", and nothing red.
|
|
60
|
+
*/
|
|
56
61
|
update: (resource: string, params: {
|
|
57
62
|
id: string | number;
|
|
58
63
|
data: Values;
|
|
64
|
+
previousData?: Values;
|
|
59
65
|
}) => Promise<{
|
|
60
66
|
data: Values;
|
|
61
67
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FougereDataProvider.d.ts","sourceRoot":"","sources":["../src/FougereDataProvider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"FougereDataProvider.d.ts","sourceRoot":"","sources":["../src/FougereDataProvider.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAsBtC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe;IA8CvD,mDAAmD;IACnD,OAAO,aAAmB,MAAM,UAAU;QACxC,UAAU,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACxC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC;;;;;;;;IAoBD,MAAM,aAAmB,MAAM,UAAU;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;;;IAQhE,2CAA2C;IAC3C,OAAO,aAAmB,MAAM,UAAU;QAAE,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE;;;IAStE,yEAAyE;IACzE,gBAAgB,aAAmB,MAAM,UAAU;QACjD,MAAM,EAAE,MAAM,CAAC;QACf,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC;QAC/C,IAAI,CAAC,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACxC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC;cA7DgB,MAAM,EAAE;gBAAU,MAAM;;IA2EzC,MAAM,aAAmB,MAAM,UAAU;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;;;IAOzD;;;;OAIG;IACH,MAAM,aAAmB,MAAM,UAAU;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;;;IAUrG,MAAM,aAAmB,MAAM,UAAU;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE;cAGxB,MAAM;;IAGrE,0CAA0C;IAC1C,UAAU,aAAmB,MAAM,UAAU;QAAE,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;;;IASvF,UAAU,aAAmB,MAAM,UAAU;QAAE,GAAG,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAA;KAAE;;;IAMzE,0EAA0E;IAC1E,MAAM,aACM,MAAM,UACR;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAC1D,OAAO,CAAC;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;EAOhC;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAExE,sFAAsF;AACtF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAapG"}
|
|
@@ -10,6 +10,12 @@ function asAdminError(err) {
|
|
|
10
10
|
body: { errors: errorsByField(refusals) },
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
|
+
/** The fields `data` holds differently from `before` — all of `data` when there is nothing to compare to. */
|
|
14
|
+
function changed(data, before) {
|
|
15
|
+
if (!before)
|
|
16
|
+
return data;
|
|
17
|
+
return Object.fromEntries(Object.entries(data).filter(([field, value]) => JSON.stringify(value) !== JSON.stringify(before[field])));
|
|
18
|
+
}
|
|
13
19
|
export function createDataProvider(options) {
|
|
14
20
|
const { resources, endpoint = CALL_ENDPOINT, fetcher = browserFetcher } = options;
|
|
15
21
|
const keyOf = (resource) => {
|
|
@@ -96,11 +102,16 @@ export function createDataProvider(options) {
|
|
|
96
102
|
const values = await call(resource, 'create', { input: deidentified(params.data, key) });
|
|
97
103
|
return { data: identified(values, key) };
|
|
98
104
|
},
|
|
105
|
+
/**
|
|
106
|
+
* A patch: what the form CHANGED, never the record it was handed. React-admin sends the whole
|
|
107
|
+
* row back, so an untouched `id`, `createdAt` or read-only `status` came back refused, and the
|
|
108
|
+
* refusal had no field on the form to show under — "The form is not valid", and nothing red.
|
|
109
|
+
*/
|
|
99
110
|
update: async (resource, params) => {
|
|
100
111
|
const key = keyOf(resource);
|
|
101
112
|
const values = await call(resource, 'update', {
|
|
102
113
|
params: { id: params.id },
|
|
103
|
-
input: deidentified(params.data, key),
|
|
114
|
+
input: deidentified(changed(params.data, params.previousData), key),
|
|
104
115
|
});
|
|
105
116
|
return { data: identified(values, key) };
|
|
106
117
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FougereDataProvider.js","sourceRoot":"","sources":["../src/FougereDataProvider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FougereDataProvider.js","sourceRoot":"","sources":["../src/FougereDataProvider.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fougere/admin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.2-alpha.0",
|
|
4
4
|
"description": "A back-office derived from what the app already says it hosts — a react-admin DataProvider over the Fougere wire.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"fougere",
|
|
@@ -36,9 +36,9 @@
|
|
|
36
36
|
],
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@dagrejs/dagre": "^3.1.1",
|
|
39
|
-
"@fougere/app": "0.
|
|
40
|
-
"@fougere/core": "0.
|
|
41
|
-
"@fougere/schema": "0.
|
|
39
|
+
"@fougere/app": "0.16.2-alpha.0",
|
|
40
|
+
"@fougere/core": "0.16.2-alpha.0",
|
|
41
|
+
"@fougere/schema": "0.16.2-alpha.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@mui/material": "^9.3.1",
|
|
@@ -16,6 +16,15 @@ function asAdminError(err: unknown): unknown {
|
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
/** The fields `data` holds differently from `before` — all of `data` when there is nothing to compare to. */
|
|
20
|
+
function changed(data: Values, before?: Values): Values {
|
|
21
|
+
if (!before) return data;
|
|
22
|
+
|
|
23
|
+
return Object.fromEntries(
|
|
24
|
+
Object.entries(data).filter(([field, value]) => JSON.stringify(value) !== JSON.stringify(before[field])),
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
19
28
|
export function createDataProvider(options: ProviderOptions) {
|
|
20
29
|
const { resources, endpoint = CALL_ENDPOINT, fetcher = browserFetcher } = options;
|
|
21
30
|
|
|
@@ -133,11 +142,16 @@ export function createDataProvider(options: ProviderOptions) {
|
|
|
133
142
|
return { data: identified(values as Values, key)! };
|
|
134
143
|
},
|
|
135
144
|
|
|
136
|
-
|
|
145
|
+
/**
|
|
146
|
+
* A patch: what the form CHANGED, never the record it was handed. React-admin sends the whole
|
|
147
|
+
* row back, so an untouched `id`, `createdAt` or read-only `status` came back refused, and the
|
|
148
|
+
* refusal had no field on the form to show under — "The form is not valid", and nothing red.
|
|
149
|
+
*/
|
|
150
|
+
update: async (resource: string, params: { id: string | number; data: Values; previousData?: Values }) => {
|
|
137
151
|
const key = keyOf(resource);
|
|
138
152
|
const values = await call(resource, 'update', {
|
|
139
153
|
params: { id: params.id },
|
|
140
|
-
input: deidentified(params.data, key),
|
|
154
|
+
input: deidentified(changed(params.data, params.previousData), key),
|
|
141
155
|
});
|
|
142
156
|
|
|
143
157
|
return { data: identified(values as Values, key)! };
|