@sia-ui/api 0.6.0 → 0.7.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/CHANGELOG.md +31 -0
- package/README.md +31 -0
- package/dist/index.cjs +2 -1
- package/dist/index.d.cts +6 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +2 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# @sia-ui/api
|
|
2
2
|
|
|
3
|
+
## 0.7.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Aligne les packages publics de SIA UI sur la version 0.7.1 afin que les huit packages restent sur une version commune.
|
|
8
|
+
- Updated dependencies
|
|
9
|
+
- @sia-ui/utils@0.7.1
|
|
10
|
+
|
|
11
|
+
## 0.7.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- Adaptateur TanStack Router, mises à jour en `PATCH`, et `secretChanges`.
|
|
16
|
+
- **`useDataTableQuery({ router })`** — adaptateur TanStack Router livré et
|
|
17
|
+
testé (`createTanStackRouterStorage`). La recette de la documentation mettait
|
|
18
|
+
`page=2` entre guillemets (`page=%222%22`) et la page retombait à 1 ; les
|
|
19
|
+
nombres passent désormais comme nombres, sans perte pour les filtres.
|
|
20
|
+
- **Un tableau n'écrit plus que ses propres clés** (`mergeTableQuery` dans
|
|
21
|
+
`@sia-ui/headless`) : deux tableaux préfixés sur une page, ou un onglet dans
|
|
22
|
+
l'URL, ne s'effacent plus l'un l'autre — avec l'URL du navigateur comme avec
|
|
23
|
+
un routeur.
|
|
24
|
+
- **`createQueryResource(service, { updateMethod: "PATCH" })`** — pour une API
|
|
25
|
+
qui n'accepte que des mises à jour partielles.
|
|
26
|
+
- **`secretChanges(entries, storedKeys)`** — ce qu'il faut envoyer après une
|
|
27
|
+
saisie dans `SecretFields` : `{ set, remove, missing }`.
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- Updated dependencies
|
|
32
|
+
- @sia-ui/utils@0.7.0
|
|
33
|
+
|
|
3
34
|
## 0.6.0
|
|
4
35
|
|
|
5
36
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -57,6 +57,37 @@ Le contenu ci-dessous reprend intégralement `CHANGELOG.md` pour rester visible
|
|
|
57
57
|
<!-- sia:changelog:start -->
|
|
58
58
|
# @sia-ui/api
|
|
59
59
|
|
|
60
|
+
## 0.7.1
|
|
61
|
+
|
|
62
|
+
### Patch Changes
|
|
63
|
+
|
|
64
|
+
- Aligne les packages publics de SIA UI sur la version 0.7.1 afin que les huit packages restent sur une version commune.
|
|
65
|
+
- Updated dependencies
|
|
66
|
+
- @sia-ui/utils@0.7.1
|
|
67
|
+
|
|
68
|
+
## 0.7.0
|
|
69
|
+
|
|
70
|
+
### Minor Changes
|
|
71
|
+
|
|
72
|
+
- Adaptateur TanStack Router, mises à jour en `PATCH`, et `secretChanges`.
|
|
73
|
+
- **`useDataTableQuery({ router })`** — adaptateur TanStack Router livré et
|
|
74
|
+
testé (`createTanStackRouterStorage`). La recette de la documentation mettait
|
|
75
|
+
`page=2` entre guillemets (`page=%222%22`) et la page retombait à 1 ; les
|
|
76
|
+
nombres passent désormais comme nombres, sans perte pour les filtres.
|
|
77
|
+
- **Un tableau n'écrit plus que ses propres clés** (`mergeTableQuery` dans
|
|
78
|
+
`@sia-ui/headless`) : deux tableaux préfixés sur une page, ou un onglet dans
|
|
79
|
+
l'URL, ne s'effacent plus l'un l'autre — avec l'URL du navigateur comme avec
|
|
80
|
+
un routeur.
|
|
81
|
+
- **`createQueryResource(service, { updateMethod: "PATCH" })`** — pour une API
|
|
82
|
+
qui n'accepte que des mises à jour partielles.
|
|
83
|
+
- **`secretChanges(entries, storedKeys)`** — ce qu'il faut envoyer après une
|
|
84
|
+
saisie dans `SecretFields` : `{ set, remove, missing }`.
|
|
85
|
+
|
|
86
|
+
### Patch Changes
|
|
87
|
+
|
|
88
|
+
- Updated dependencies
|
|
89
|
+
- @sia-ui/utils@0.7.0
|
|
90
|
+
|
|
60
91
|
## 0.6.0
|
|
61
92
|
|
|
62
93
|
### Minor Changes
|
package/dist/index.cjs
CHANGED
|
@@ -1014,6 +1014,7 @@ function createResourceService(client, resourcePath) {
|
|
|
1014
1014
|
// src/query-resource.ts
|
|
1015
1015
|
function createQueryResource(service, options = {}) {
|
|
1016
1016
|
const racine = options.name ?? service.path;
|
|
1017
|
+
const modifier = (id, values) => options.updateMethod === "PATCH" ? service.patch(id, values) : service.update(id, values);
|
|
1017
1018
|
const keys = {
|
|
1018
1019
|
all: [racine],
|
|
1019
1020
|
lists: () => [racine, "list"],
|
|
@@ -1043,7 +1044,7 @@ function createQueryResource(service, options = {}) {
|
|
|
1043
1044
|
* modifié : c'est ce que chaque écran écrivait à la main, ou oubliait.
|
|
1044
1045
|
*/
|
|
1045
1046
|
saveMutation: (client) => ({
|
|
1046
|
-
mutationFn: ({ id, values }) => id === void 0 ? service.create(values) :
|
|
1047
|
+
mutationFn: ({ id, values }) => id === void 0 ? service.create(values) : modifier(id, values),
|
|
1047
1048
|
onSuccess: (_, { id }) => id === void 0 ? invalider(client, keys.lists()) : invalider(client, keys.lists(), keys.detail(id))
|
|
1048
1049
|
}),
|
|
1049
1050
|
removeMutation: (client) => ({
|
package/dist/index.d.cts
CHANGED
|
@@ -495,6 +495,12 @@ interface QueryResourceOptions {
|
|
|
495
495
|
* c'est ce nom qui les sépare.
|
|
496
496
|
*/
|
|
497
497
|
name?: string | undefined;
|
|
498
|
+
/**
|
|
499
|
+
* Comment `saveMutation` modifie une ligne. `PUT` par défaut
|
|
500
|
+
* (`service.update`) ; `PATCH` (`service.patch`) pour une API qui
|
|
501
|
+
* n'accepte que des mises à jour partielles.
|
|
502
|
+
*/
|
|
503
|
+
updateMethod?: "PUT" | "PATCH" | undefined;
|
|
498
504
|
}
|
|
499
505
|
/**
|
|
500
506
|
* Les clés et les options de requête d'une ressource.
|
package/dist/index.d.ts
CHANGED
|
@@ -495,6 +495,12 @@ interface QueryResourceOptions {
|
|
|
495
495
|
* c'est ce nom qui les sépare.
|
|
496
496
|
*/
|
|
497
497
|
name?: string | undefined;
|
|
498
|
+
/**
|
|
499
|
+
* Comment `saveMutation` modifie une ligne. `PUT` par défaut
|
|
500
|
+
* (`service.update`) ; `PATCH` (`service.patch`) pour une API qui
|
|
501
|
+
* n'accepte que des mises à jour partielles.
|
|
502
|
+
*/
|
|
503
|
+
updateMethod?: "PUT" | "PATCH" | undefined;
|
|
498
504
|
}
|
|
499
505
|
/**
|
|
500
506
|
* Les clés et les options de requête d'une ressource.
|
package/dist/index.js
CHANGED
|
@@ -1012,6 +1012,7 @@ function createResourceService(client, resourcePath) {
|
|
|
1012
1012
|
// src/query-resource.ts
|
|
1013
1013
|
function createQueryResource(service, options = {}) {
|
|
1014
1014
|
const racine = options.name ?? service.path;
|
|
1015
|
+
const modifier = (id, values) => options.updateMethod === "PATCH" ? service.patch(id, values) : service.update(id, values);
|
|
1015
1016
|
const keys = {
|
|
1016
1017
|
all: [racine],
|
|
1017
1018
|
lists: () => [racine, "list"],
|
|
@@ -1041,7 +1042,7 @@ function createQueryResource(service, options = {}) {
|
|
|
1041
1042
|
* modifié : c'est ce que chaque écran écrivait à la main, ou oubliait.
|
|
1042
1043
|
*/
|
|
1043
1044
|
saveMutation: (client) => ({
|
|
1044
|
-
mutationFn: ({ id, values }) => id === void 0 ? service.create(values) :
|
|
1045
|
+
mutationFn: ({ id, values }) => id === void 0 ? service.create(values) : modifier(id, values),
|
|
1045
1046
|
onSuccess: (_, { id }) => id === void 0 ? invalider(client, keys.lists()) : invalider(client, keys.lists(), keys.detail(id))
|
|
1046
1047
|
}),
|
|
1047
1048
|
removeMutation: (client) => ({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sia-ui/api",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Typed HTTP client with CRUD services, plugins and injectable transports.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"sia-ui",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"access": "public"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@sia-ui/utils": "0.
|
|
45
|
+
"@sia-ui/utils": "0.7.1"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"tsup": "^8.5.1",
|