woodsportal-client-sdk 1.1.4-dev.19 → 1.1.4-dev.20
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/adapters/react/index.d.ts +26 -1
- package/dist/adapters/react/index.js +203 -5
- package/dist/adapters/react/index.js.map +1 -1
- package/dist/index.js +132 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
declare function useSync(): {
|
|
2
|
+
setIsSyncLoading(status: boolean): void;
|
|
3
|
+
setSync(status: boolean): void;
|
|
4
|
+
setApiSync(status: boolean): void;
|
|
5
|
+
setSyncDisable(status: boolean): void;
|
|
6
|
+
apiSync: boolean;
|
|
7
|
+
sync: boolean;
|
|
8
|
+
isSyncLoading: boolean;
|
|
9
|
+
isSyncDisable: boolean;
|
|
10
|
+
};
|
|
11
|
+
|
|
1
12
|
declare function useTable(): {
|
|
2
13
|
setTableData(response: any): void;
|
|
3
14
|
setTablePrependData(response: any): Promise<void>;
|
|
@@ -5,4 +16,18 @@ declare function useTable(): {
|
|
|
5
16
|
tablePrependData: any[];
|
|
6
17
|
};
|
|
7
18
|
|
|
8
|
-
|
|
19
|
+
declare function useNote(): {
|
|
20
|
+
setNotes(response: any): void;
|
|
21
|
+
setPrependNote(response: any): Promise<void>;
|
|
22
|
+
notes: any;
|
|
23
|
+
prependNotes: any[];
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
declare function useEmail(): {
|
|
27
|
+
setEmails(response: any): void;
|
|
28
|
+
setPrependEmail(response: any): Promise<void>;
|
|
29
|
+
emails: any;
|
|
30
|
+
prependEmails: any[];
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { useEmail, useNote, useSync, useTable };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useSyncExternalStore } from 'react';
|
|
2
2
|
|
|
3
|
-
// src/adapters/react/
|
|
3
|
+
// src/adapters/react/useSync.ts
|
|
4
4
|
|
|
5
5
|
// src/store2/store.ts
|
|
6
6
|
function createStore(initialState) {
|
|
@@ -48,7 +48,7 @@ var actions = {
|
|
|
48
48
|
return acc;
|
|
49
49
|
}, {});
|
|
50
50
|
rows = [row, ...state.tablePrependData];
|
|
51
|
-
} else {
|
|
51
|
+
} else if (response?.data) {
|
|
52
52
|
const data = response?.data;
|
|
53
53
|
if (!data) {
|
|
54
54
|
tableStore.setState({
|
|
@@ -73,9 +73,185 @@ var actions = {
|
|
|
73
73
|
});
|
|
74
74
|
}
|
|
75
75
|
};
|
|
76
|
-
|
|
77
|
-
// src/adapters/react/useStore.ts
|
|
78
76
|
function useTable() {
|
|
77
|
+
const tableState = tableStore.getState();
|
|
78
|
+
return {
|
|
79
|
+
...tableState,
|
|
80
|
+
...actions
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
// src/store2/use-note.ts
|
|
85
|
+
var noteStore = createStore({
|
|
86
|
+
notes: [],
|
|
87
|
+
prependNotes: []
|
|
88
|
+
});
|
|
89
|
+
var actions2 = {
|
|
90
|
+
setNotes(response) {
|
|
91
|
+
noteStore.setState({
|
|
92
|
+
notes: response
|
|
93
|
+
});
|
|
94
|
+
},
|
|
95
|
+
async setPrependNote(response) {
|
|
96
|
+
const state = noteStore.getState();
|
|
97
|
+
let rows = [];
|
|
98
|
+
if (response === "loading") {
|
|
99
|
+
const row = await state.notes?.data?.results?.columns.reduce((acc, item) => {
|
|
100
|
+
if (!item.hidden) {
|
|
101
|
+
acc[item.key] = "loading";
|
|
102
|
+
}
|
|
103
|
+
return acc;
|
|
104
|
+
}, {});
|
|
105
|
+
rows = [row, ...state.prependNotes];
|
|
106
|
+
} else if (response?.data) {
|
|
107
|
+
const data = response?.data;
|
|
108
|
+
if (!data) {
|
|
109
|
+
noteStore.setState({
|
|
110
|
+
prependNotes: []
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
const row = await Object.fromEntries(
|
|
114
|
+
Object.entries(data).map(([key, value]) => [
|
|
115
|
+
key,
|
|
116
|
+
value?.value ?? value
|
|
117
|
+
])
|
|
118
|
+
);
|
|
119
|
+
rows = [...state.prependNotes];
|
|
120
|
+
if (rows.length > 0) {
|
|
121
|
+
rows[0] = row;
|
|
122
|
+
} else {
|
|
123
|
+
rows.push(row);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
noteStore.setState({
|
|
127
|
+
prependNotes: rows
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
};
|
|
131
|
+
function useNote() {
|
|
132
|
+
const noteState = noteStore.getState();
|
|
133
|
+
return {
|
|
134
|
+
...noteState,
|
|
135
|
+
...actions2
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// src/store2/use-email.ts
|
|
140
|
+
var emailStore = createStore({
|
|
141
|
+
emails: [],
|
|
142
|
+
prependEmails: []
|
|
143
|
+
});
|
|
144
|
+
var actions3 = {
|
|
145
|
+
setEmails(response) {
|
|
146
|
+
emailStore.setState({
|
|
147
|
+
emails: response
|
|
148
|
+
});
|
|
149
|
+
},
|
|
150
|
+
async setPrependEmail(response) {
|
|
151
|
+
const state = emailStore.getState();
|
|
152
|
+
let rows = [];
|
|
153
|
+
if (response === "loading") {
|
|
154
|
+
const row = await state.emails?.data?.results?.columns.reduce((acc, item) => {
|
|
155
|
+
if (!item.hidden) {
|
|
156
|
+
acc[item.key] = "loading";
|
|
157
|
+
}
|
|
158
|
+
return acc;
|
|
159
|
+
}, {});
|
|
160
|
+
rows = [row, ...state.prependEmails];
|
|
161
|
+
} else if (response?.data) {
|
|
162
|
+
const data = response?.data;
|
|
163
|
+
if (!data) {
|
|
164
|
+
emailStore.setState({
|
|
165
|
+
prependEmails: []
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
const row = await Object.fromEntries(
|
|
169
|
+
Object.entries(data).map(([key, value]) => [
|
|
170
|
+
key,
|
|
171
|
+
value?.value ?? value
|
|
172
|
+
])
|
|
173
|
+
);
|
|
174
|
+
rows = [...state.prependEmails];
|
|
175
|
+
if (rows.length > 0) {
|
|
176
|
+
rows[0] = row;
|
|
177
|
+
} else {
|
|
178
|
+
rows.push(row);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
emailStore.setState({
|
|
182
|
+
prependEmails: rows
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
};
|
|
186
|
+
function useEmail() {
|
|
187
|
+
const emailState = emailStore.getState();
|
|
188
|
+
return {
|
|
189
|
+
...emailState,
|
|
190
|
+
...actions3
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
// src/store2/use-sync.ts
|
|
195
|
+
var syncStore = createStore({
|
|
196
|
+
apiSync: false,
|
|
197
|
+
sync: false,
|
|
198
|
+
isSyncLoading: false,
|
|
199
|
+
isSyncDisable: false
|
|
200
|
+
});
|
|
201
|
+
var actions4 = {
|
|
202
|
+
setIsSyncLoading(status) {
|
|
203
|
+
syncStore.setState({
|
|
204
|
+
isSyncLoading: status,
|
|
205
|
+
sync: status
|
|
206
|
+
});
|
|
207
|
+
},
|
|
208
|
+
setSync(status) {
|
|
209
|
+
resetAllStore();
|
|
210
|
+
syncStore.setState({
|
|
211
|
+
isSyncLoading: status,
|
|
212
|
+
sync: status
|
|
213
|
+
});
|
|
214
|
+
},
|
|
215
|
+
setApiSync(status) {
|
|
216
|
+
syncStore.setState({
|
|
217
|
+
isSyncLoading: status,
|
|
218
|
+
apiSync: status
|
|
219
|
+
});
|
|
220
|
+
},
|
|
221
|
+
setSyncDisable(status) {
|
|
222
|
+
syncStore.setState({
|
|
223
|
+
isSyncDisable: status
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
};
|
|
227
|
+
var resetAllStore = () => {
|
|
228
|
+
const {
|
|
229
|
+
setTablePrependData
|
|
230
|
+
} = useTable();
|
|
231
|
+
setTablePrependData([]);
|
|
232
|
+
const {
|
|
233
|
+
setPrependNote
|
|
234
|
+
} = useNote();
|
|
235
|
+
setPrependNote([]);
|
|
236
|
+
const {
|
|
237
|
+
setPrependEmail
|
|
238
|
+
} = useEmail();
|
|
239
|
+
setPrependEmail([]);
|
|
240
|
+
};
|
|
241
|
+
|
|
242
|
+
// src/adapters/react/useSync.ts
|
|
243
|
+
function useSync() {
|
|
244
|
+
const state = useSyncExternalStore(
|
|
245
|
+
syncStore.subscribe,
|
|
246
|
+
syncStore.getState,
|
|
247
|
+
syncStore.getState
|
|
248
|
+
);
|
|
249
|
+
return {
|
|
250
|
+
...state,
|
|
251
|
+
...actions4
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
function useTable2() {
|
|
79
255
|
const state = useSyncExternalStore(
|
|
80
256
|
tableStore.subscribe,
|
|
81
257
|
tableStore.getState,
|
|
@@ -86,7 +262,29 @@ function useTable() {
|
|
|
86
262
|
...actions
|
|
87
263
|
};
|
|
88
264
|
}
|
|
265
|
+
function useNote2() {
|
|
266
|
+
const state = useSyncExternalStore(
|
|
267
|
+
noteStore.subscribe,
|
|
268
|
+
noteStore.getState,
|
|
269
|
+
noteStore.getState
|
|
270
|
+
);
|
|
271
|
+
return {
|
|
272
|
+
...state,
|
|
273
|
+
...actions2
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
function useEmail2() {
|
|
277
|
+
const state = useSyncExternalStore(
|
|
278
|
+
emailStore.subscribe,
|
|
279
|
+
emailStore.getState,
|
|
280
|
+
emailStore.getState
|
|
281
|
+
);
|
|
282
|
+
return {
|
|
283
|
+
...state,
|
|
284
|
+
...actions3
|
|
285
|
+
};
|
|
286
|
+
}
|
|
89
287
|
|
|
90
|
-
export { useTable };
|
|
288
|
+
export { useEmail2 as useEmail, useNote2 as useNote, useSync, useTable2 as useTable };
|
|
91
289
|
//# sourceMappingURL=index.js.map
|
|
92
290
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/store2/store.ts","../../../src/store2/use-table.ts","../../../src/adapters/react/useStore.ts"],"names":[],"mappings":";;;;;AAEO,SAAS,YAAe,YAAA,EAAiB;AAC5C,EAAA,IAAI,KAAA,GAAQ,YAAA;AAEZ,EAAA,MAAM,SAAA,uBAAgB,GAAA,EAAiB;AAEvC,EAAA,OAAO;AAAA,IACH,QAAA,GAAW;AACP,MAAA,OAAO,KAAA;AAAA,IACX,CAAA;AAAA,IAEA,SAAS,OAAA,EAAqB;AAC1B,MAAA,KAAA,GAAQ;AAAA,QACJ,GAAG,KAAA;AAAA,QACH,GAAG;AAAA,OACP;AAEA,MAAA,SAAA,CAAU,OAAA;AAAA,QAAQ,CAAC,QAAA,KACf,QAAA,CAAS,KAAK;AAAA,OAClB;AAAA,IACJ,CAAA;AAAA,IAEA,UAAU,QAAA,EAAuB;AAC7B,MAAA,SAAA,CAAU,IAAI,QAAQ,CAAA;AAEtB,MAAA,OAAO,MAAM,SAAA,CAAU,MAAA,CAAO,QAAQ,CAAA;AAAA,IAC1C;AAAA,GACJ;AACJ;;;ACtBO,IAAM,aAAa,WAAA,CAAwB;AAAA,EAC9C,WAAW,EAAC;AAAA,EACZ,kBAAkB;AACtB,CAAC,CAAA;AAEM,IAAM,OAAA,GAAU;AAAA,EAEnB,aACI,QAAA,EACF;AACE,IAAA,UAAA,CAAW,QAAA,CAAS;AAAA,MAChB,SAAA,EAAW;AAAA,KACd,CAAA;AAAA,EACL,CAAA;AAAA,EAEA,MAAM,oBACF,QAAA,EACF;AACE,IAAA,MAAM,KAAA,GAAa,WAAW,QAAA,EAAS;AACvC,IAAA,IAAI,OAAO,EAAC;AAEZ,IAAA,IAAI,aAAa,SAAA,EAAW;AACxB,MAAA,MAAM,GAAA,GAAM,MAAM,KAAA,CAAM,SAAA,EAAW,IAAA,EAAM,SAAS,OAAA,CAAQ,MAAA,CAAO,CAAC,GAAA,EAAU,IAAA,KAAc;AACtF,QAAA,IAAI,CAAC,KAAK,MAAA,EAAQ;AACd,UAAA,GAAA,CAAI,IAAA,CAAK,GAAG,CAAA,GAAI,SAAA;AAAA,QACpB;AACA,QAAA,OAAO,GAAA;AAAA,MACX,CAAA,EAAG,EAAE,CAAA;AACL,MAAA,IAAA,GAAO,CAAC,GAAA,EAAK,GAAG,KAAA,CAAM,gBAAgB,CAAA;AAAA,IAC1C,CAAA,MAAO;AAEH,MAAA,MAAM,OAAO,QAAA,EAAU,IAAA;AACvB,MAAA,IAAI,CAAC,IAAA,EAAM;AACP,QAAA,UAAA,CAAW,QAAA,CAAS;AAAA,UAChB,kBAAkB;AAAC,SACtB,CAAA;AAAA,MACL;AAEA,MAAA,MAAM,GAAA,GAAM,MAAM,MAAA,CAAO,WAAA;AAAA,QACrB,MAAA,CAAO,QAAQ,IAAI,CAAA,CAAE,IAAI,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAW;AAAA,UAC5C,GAAA;AAAA,UACA,OAAO,KAAA,IAAS;AAAA,SACnB;AAAA,OACL;AAEA,MAAA,IAAA,GAAO,CAAC,GAAG,KAAA,CAAM,gBAAgB,CAAA;AAEjC,MAAA,IAAI,IAAA,CAAK,SAAS,CAAA,EAAG;AACjB,QAAA,IAAA,CAAK,CAAC,CAAA,GAAI,GAAA;AAAA,MACd,CAAA,MAAO;AACH,QAAA,IAAA,CAAK,KAAK,GAAG,CAAA;AAAA,MACjB;AAAA,IACJ;AAEA,IAAA,UAAA,CAAW,QAAA,CAAS;AAAA,MAChB,gBAAA,EAAkB;AAAA,KACrB,CAAA;AAAA,EACL;AACJ,CAAA;;;AC9DO,SAAS,QAAA,GAAW;AACvB,EAAA,MAAM,KAAA,GAAQ,oBAAA;AAAA,IACV,UAAA,CAAW,SAAA;AAAA,IACX,UAAA,CAAW,QAAA;AAAA,IACX,UAAA,CAAW;AAAA,GACf;AAEA,EAAA,OAAO;AAAA,IACH,GAAG,KAAA;AAAA,IACH,GAAG;AAAA,GACP;AACJ","file":"index.js","sourcesContent":["type Listener<T> = (state: T) => void;\n\nexport function createStore<T>(initialState: T) {\n let state = initialState;\n\n const listeners = new Set<Listener<T>>();\n\n return {\n getState() {\n return state;\n },\n\n setState(partial: Partial<T>) {\n state = {\n ...state,\n ...partial,\n };\n\n listeners.forEach((listener) =>\n listener(state)\n );\n },\n\n subscribe(listener: Listener<T>) {\n listeners.add(listener);\n\n return () => listeners.delete(listener);\n },\n };\n}","import { createStore } from \"./store\";\n\ninterface TableState {\n tableData: any;\n tablePrependData: any[];\n}\n\nexport const tableStore = createStore<TableState>({\n tableData: [],\n tablePrependData: [],\n});\n\nexport const actions = {\n\n setTableData(\n response: any\n ) {\n tableStore.setState({\n tableData: response,\n });\n },\n\n async setTablePrependData(\n response: any\n ) {\n const state: any = tableStore.getState();\n let rows = [];\n\n if (response === 'loading') { // set empty loading columns\n const row = await state.tableData?.data?.results?.columns.reduce((acc: any, item: any) => {\n if (!item.hidden) {\n acc[item.key] = \"loading\";\n }\n return acc;\n }, {});\n rows = [row, ...state.tablePrependData];\n } else { // set real columns data\n\n const data = response?.data\n if (!data) {\n tableStore.setState({\n tablePrependData: []\n });\n }\n\n const row = await Object.fromEntries(\n Object.entries(data).map(([key, value]: any) => [\n key,\n value?.value ?? value,\n ])\n );\n\n rows = [...state.tablePrependData];\n // replace empty loading columns with real data\n if (rows.length > 0) {\n rows[0] = row;\n } else {\n rows.push(row);\n }\n }\n\n tableStore.setState({\n tablePrependData: rows\n });\n }\n}\n\nexport function useTable() {\n const tableState: any = tableStore.getState()\n return {\n ...tableState, ...actions\n }\n}","import { useSyncExternalStore } from \"react\";\nimport { tableStore, actions } from \"../../store2/use-table\";\n\nexport function useTable() {\n const state = useSyncExternalStore(\n tableStore.subscribe,\n tableStore.getState,\n tableStore.getState\n );\n\n return {\n ...state,\n ...actions,\n };\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../../src/store2/store.ts","../../../src/store2/use-table.ts","../../../src/store2/use-note.ts","../../../src/store2/use-email.ts","../../../src/store2/use-sync.ts","../../../src/adapters/react/useSync.ts","../../../src/adapters/react/useTable.ts","../../../src/adapters/react/useNote.ts","../../../src/adapters/react/useEmail.ts"],"names":["actions","useTable","useSyncExternalStore","useNote","useEmail"],"mappings":";;;;;AAEO,SAAS,YAAe,YAAA,EAAiB;AAC5C,EAAA,IAAI,KAAA,GAAQ,YAAA;AAEZ,EAAA,MAAM,SAAA,uBAAgB,GAAA,EAAiB;AAEvC,EAAA,OAAO;AAAA,IACH,QAAA,GAAW;AACP,MAAA,OAAO,KAAA;AAAA,IACX,CAAA;AAAA,IAEA,SAAS,OAAA,EAAqB;AAC1B,MAAA,KAAA,GAAQ;AAAA,QACJ,GAAG,KAAA;AAAA,QACH,GAAG;AAAA,OACP;AAEA,MAAA,SAAA,CAAU,OAAA;AAAA,QAAQ,CAAC,QAAA,KACf,QAAA,CAAS,KAAK;AAAA,OAClB;AAAA,IACJ,CAAA;AAAA,IAEA,UAAU,QAAA,EAAuB;AAC7B,MAAA,SAAA,CAAU,IAAI,QAAQ,CAAA;AAEtB,MAAA,OAAO,MAAM,SAAA,CAAU,MAAA,CAAO,QAAQ,CAAA;AAAA,IAC1C;AAAA,GACJ;AACJ;;;ACtBO,IAAM,aAAa,WAAA,CAAwB;AAAA,EAC9C,WAAW,EAAC;AAAA,EACZ,kBAAkB;AACtB,CAAC,CAAA;AAEM,IAAM,OAAA,GAAU;AAAA,EAEnB,aACI,QAAA,EACF;AAKE,IAAA,UAAA,CAAW,QAAA,CAAS;AAAA,MAChB,SAAA,EAAW;AAAA,KACd,CAAA;AAAA,EACL,CAAA;AAAA,EAEA,MAAM,oBACF,QAAA,EACF;AACE,IAAA,MAAM,KAAA,GAAa,WAAW,QAAA,EAAS;AACvC,IAAA,IAAI,OAAY,EAAC;AAEjB,IAAA,IAAI,aAAa,SAAA,EAAW;AACxB,MAAA,MAAM,GAAA,GAAM,MAAM,KAAA,CAAM,SAAA,EAAW,IAAA,EAAM,SAAS,OAAA,CAAQ,MAAA,CAAO,CAAC,GAAA,EAAU,IAAA,KAAc;AACtF,QAAA,IAAI,CAAC,KAAK,MAAA,EAAQ;AACd,UAAA,GAAA,CAAI,IAAA,CAAK,GAAG,CAAA,GAAI,SAAA;AAAA,QACpB;AACA,QAAA,OAAO,GAAA;AAAA,MACX,CAAA,EAAG,EAAE,CAAA;AACL,MAAA,IAAA,GAAO,CAAC,GAAA,EAAK,GAAG,KAAA,CAAM,gBAAgB,CAAA;AAAA,IAC1C,CAAA,MAAA,IAAW,UAAU,IAAA,EAAM;AAEvB,MAAA,MAAM,OAAO,QAAA,EAAU,IAAA;AACvB,MAAA,IAAI,CAAC,IAAA,EAAM;AACP,QAAA,UAAA,CAAW,QAAA,CAAS;AAAA,UAChB,kBAAkB;AAAC,SACtB,CAAA;AAAA,MACL;AAEA,MAAA,MAAM,GAAA,GAAM,MAAM,MAAA,CAAO,WAAA;AAAA,QACrB,MAAA,CAAO,QAAQ,IAAI,CAAA,CAAE,IAAI,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAW;AAAA,UAC5C,GAAA;AAAA,UACA,OAAO,KAAA,IAAS;AAAA,SACnB;AAAA,OACL;AAEA,MAAA,IAAA,GAAO,CAAC,GAAG,KAAA,CAAM,gBAAgB,CAAA;AAEjC,MAAA,IAAI,IAAA,CAAK,SAAS,CAAA,EAAG;AACjB,QAAA,IAAA,CAAK,CAAC,CAAA,GAAI,GAAA;AAAA,MACd,CAAA,MAAO;AACH,QAAA,IAAA,CAAK,KAAK,GAAG,CAAA;AAAA,MACjB;AAAA,IACJ;AAEA,IAAA,UAAA,CAAW,QAAA,CAAS;AAAA,MAChB,gBAAA,EAAkB;AAAA,KACrB,CAAA;AAAA,EACL;AACJ,CAAA;AAEO,SAAS,QAAA,GAAW;AACvB,EAAA,MAAM,UAAA,GAAkB,WAAW,QAAA,EAAS;AAC5C,EAAA,OAAO;AAAA,IACH,GAAG,UAAA;AAAA,IAAY,GAAG;AAAA,GACtB;AACJ;;;ACrEO,IAAM,YAAY,WAAA,CAAuB;AAAA,EAC5C,OAAO,EAAC;AAAA,EACR,cAAc;AAClB,CAAC,CAAA;AAEM,IAAMA,QAAAA,GAAU;AAAA,EAEnB,SACI,QAAA,EACF;AAKE,IAAA,SAAA,CAAU,QAAA,CAAS;AAAA,MACf,KAAA,EAAO;AAAA,KACV,CAAA;AAAA,EACL,CAAA;AAAA,EAEA,MAAM,eACF,QAAA,EACF;AACE,IAAA,MAAM,KAAA,GAAa,UAAU,QAAA,EAAS;AACtC,IAAA,IAAI,OAAY,EAAC;AAEjB,IAAA,IAAI,aAAa,SAAA,EAAW;AACxB,MAAA,MAAM,GAAA,GAAM,MAAM,KAAA,CAAM,KAAA,EAAO,IAAA,EAAM,SAAS,OAAA,CAAQ,MAAA,CAAO,CAAC,GAAA,EAAU,IAAA,KAAc;AAClF,QAAA,IAAI,CAAC,KAAK,MAAA,EAAQ;AACd,UAAA,GAAA,CAAI,IAAA,CAAK,GAAG,CAAA,GAAI,SAAA;AAAA,QACpB;AACA,QAAA,OAAO,GAAA;AAAA,MACX,CAAA,EAAG,EAAE,CAAA;AACL,MAAA,IAAA,GAAO,CAAC,GAAA,EAAK,GAAG,KAAA,CAAM,YAAY,CAAA;AAAA,IACtC,CAAA,MAAA,IAAW,UAAU,IAAA,EAAM;AAEvB,MAAA,MAAM,OAAO,QAAA,EAAU,IAAA;AACvB,MAAA,IAAI,CAAC,IAAA,EAAM;AACP,QAAA,SAAA,CAAU,QAAA,CAAS;AAAA,UACf,cAAc;AAAC,SAClB,CAAA;AAAA,MACL;AAEA,MAAA,MAAM,GAAA,GAAM,MAAM,MAAA,CAAO,WAAA;AAAA,QACrB,MAAA,CAAO,QAAQ,IAAI,CAAA,CAAE,IAAI,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAW;AAAA,UAC5C,GAAA;AAAA,UACA,OAAO,KAAA,IAAS;AAAA,SACnB;AAAA,OACL;AAEA,MAAA,IAAA,GAAO,CAAC,GAAG,KAAA,CAAM,YAAY,CAAA;AAE7B,MAAA,IAAI,IAAA,CAAK,SAAS,CAAA,EAAG;AACjB,QAAA,IAAA,CAAK,CAAC,CAAA,GAAI,GAAA;AAAA,MACd,CAAA,MAAO;AACH,QAAA,IAAA,CAAK,KAAK,GAAG,CAAA;AAAA,MACjB;AAAA,IACJ;AAEA,IAAA,SAAA,CAAU,QAAA,CAAS;AAAA,MACf,YAAA,EAAc;AAAA,KACjB,CAAA;AAAA,EACL;AACJ,CAAA;AAEO,SAAS,OAAA,GAAU;AACtB,EAAA,MAAM,SAAA,GAAiB,UAAU,QAAA,EAAS;AAC1C,EAAA,OAAO;AAAA,IACH,GAAG,SAAA;AAAA,IAAW,GAAGA;AAAA,GACrB;AACJ;;;ACrEO,IAAM,aAAa,WAAA,CAAwB;AAAA,EAC9C,QAAQ,EAAC;AAAA,EACT,eAAe;AACnB,CAAC,CAAA;AAEM,IAAMA,QAAAA,GAAU;AAAA,EAEnB,UACI,QAAA,EACF;AAKE,IAAA,UAAA,CAAW,QAAA,CAAS;AAAA,MAChB,MAAA,EAAQ;AAAA,KACX,CAAA;AAAA,EACL,CAAA;AAAA,EAEA,MAAM,gBACF,QAAA,EACF;AACE,IAAA,MAAM,KAAA,GAAa,WAAW,QAAA,EAAS;AACvC,IAAA,IAAI,OAAY,EAAC;AAEjB,IAAA,IAAI,aAAa,SAAA,EAAW;AACxB,MAAA,MAAM,GAAA,GAAM,MAAM,KAAA,CAAM,MAAA,EAAQ,IAAA,EAAM,SAAS,OAAA,CAAQ,MAAA,CAAO,CAAC,GAAA,EAAU,IAAA,KAAc;AACnF,QAAA,IAAI,CAAC,KAAK,MAAA,EAAQ;AACd,UAAA,GAAA,CAAI,IAAA,CAAK,GAAG,CAAA,GAAI,SAAA;AAAA,QACpB;AACA,QAAA,OAAO,GAAA;AAAA,MACX,CAAA,EAAG,EAAE,CAAA;AACL,MAAA,IAAA,GAAO,CAAC,GAAA,EAAK,GAAG,KAAA,CAAM,aAAa,CAAA;AAAA,IACvC,CAAA,MAAA,IAAW,UAAU,IAAA,EAAM;AAEvB,MAAA,MAAM,OAAO,QAAA,EAAU,IAAA;AACvB,MAAA,IAAI,CAAC,IAAA,EAAM;AACP,QAAA,UAAA,CAAW,QAAA,CAAS;AAAA,UAChB,eAAe;AAAC,SACnB,CAAA;AAAA,MACL;AAEA,MAAA,MAAM,GAAA,GAAM,MAAM,MAAA,CAAO,WAAA;AAAA,QACrB,MAAA,CAAO,QAAQ,IAAI,CAAA,CAAE,IAAI,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAW;AAAA,UAC5C,GAAA;AAAA,UACA,OAAO,KAAA,IAAS;AAAA,SACnB;AAAA,OACL;AAEA,MAAA,IAAA,GAAO,CAAC,GAAG,KAAA,CAAM,aAAa,CAAA;AAE9B,MAAA,IAAI,IAAA,CAAK,SAAS,CAAA,EAAG;AACjB,QAAA,IAAA,CAAK,CAAC,CAAA,GAAI,GAAA;AAAA,MACd,CAAA,MAAO;AACH,QAAA,IAAA,CAAK,KAAK,GAAG,CAAA;AAAA,MACjB;AAAA,IACJ;AAEA,IAAA,UAAA,CAAW,QAAA,CAAS;AAAA,MAChB,aAAA,EAAe;AAAA,KAClB,CAAA;AAAA,EACL;AACJ,CAAA;AAEO,SAAS,QAAA,GAAW;AACvB,EAAA,MAAM,UAAA,GAAkB,WAAW,QAAA,EAAS;AAC5C,EAAA,OAAO;AAAA,IACH,GAAG,UAAA;AAAA,IAAY,GAAGA;AAAA,GACtB;AACJ;;;AChEO,IAAM,YAAY,WAAA,CAAuB;AAAA,EAC5C,OAAA,EAAS,KAAA;AAAA,EACT,IAAA,EAAM,KAAA;AAAA,EACN,aAAA,EAAe,KAAA;AAAA,EACf,aAAA,EAAe;AACnB,CAAC,CAAA;AAEM,IAAMA,QAAAA,GAAU;AAAA,EACnB,iBAAiB,MAAA,EAAiB;AAC9B,IAAA,SAAA,CAAU,QAAA,CAAS;AAAA,MACf,aAAA,EAAe,MAAA;AAAA,MACf,IAAA,EAAM;AAAA,KACT,CAAA;AAAA,EACL,CAAA;AAAA,EAEA,QAAQ,MAAA,EAAiB;AACrB,IAAA,aAAA,EAAc;AACd,IAAA,SAAA,CAAU,QAAA,CAAS;AAAA,MACf,aAAA,EAAe,MAAA;AAAA,MACf,IAAA,EAAM;AAAA,KACT,CAAA;AAAA,EACL,CAAA;AAAA,EAEA,WAAW,MAAA,EAAiB;AACxB,IAAA,SAAA,CAAU,QAAA,CAAS;AAAA,MACf,aAAA,EAAe,MAAA;AAAA,MACf,OAAA,EAAS;AAAA,KACZ,CAAA;AAAA,EACL,CAAA;AAAA,EAEA,eAAe,MAAA,EAAiB;AAC5B,IAAA,SAAA,CAAU,QAAA,CAAS;AAAA,MACf,aAAA,EAAe;AAAA,KAClB,CAAA;AAAA,EACL;AACJ,CAAA;AAEA,IAAM,gBAAgB,MAAM;AACxB,EAAA,MAAM;AAAA,IACF;AAAA,MACK,QAAA,EAAS;AAClB,EAAA,mBAAA,CAAoB,EAAE,CAAA;AAEtB,EAAA,MAAM;AAAA,IACF;AAAA,MACK,OAAA,EAAQ;AACjB,EAAA,cAAA,CAAe,EAAE,CAAA;AAEjB,EAAA,MAAM;AAAA,IACF;AAAA,MACK,QAAA,EAAS;AAClB,EAAA,eAAA,CAAgB,EAAE,CAAA;AACtB,CAAA;;;AC7DO,SAAS,OAAA,GAAU;AACtB,EAAA,MAAM,KAAA,GAAQ,oBAAA;AAAA,IACV,SAAA,CAAU,SAAA;AAAA,IACV,SAAA,CAAU,QAAA;AAAA,IACV,SAAA,CAAU;AAAA,GACd;AAEA,EAAA,OAAO;AAAA,IACH,GAAG,KAAA;AAAA,IACH,GAAGA;AAAA,GACP;AACJ;ACXO,SAASC,SAAAA,GAAW;AACvB,EAAA,MAAM,KAAA,GAAQC,oBAAAA;AAAA,IACV,UAAA,CAAW,SAAA;AAAA,IACX,UAAA,CAAW,QAAA;AAAA,IACX,UAAA,CAAW;AAAA,GACf;AAEA,EAAA,OAAO;AAAA,IACH,GAAG,KAAA;AAAA,IACH,GAAG;AAAA,GACP;AACJ;ACXO,SAASC,QAAAA,GAAU;AACtB,EAAA,MAAM,KAAA,GAAQD,oBAAAA;AAAA,IACV,SAAA,CAAU,SAAA;AAAA,IACV,SAAA,CAAU,QAAA;AAAA,IACV,SAAA,CAAU;AAAA,GACd;AAEA,EAAA,OAAO;AAAA,IACH,GAAG,KAAA;AAAA,IACH,GAAGF;AAAA,GACP;AACJ;ACXO,SAASI,SAAAA,GAAW;AACvB,EAAA,MAAM,KAAA,GAAQF,oBAAAA;AAAA,IACV,UAAA,CAAW,SAAA;AAAA,IACX,UAAA,CAAW,QAAA;AAAA,IACX,UAAA,CAAW;AAAA,GACf;AAEA,EAAA,OAAO;AAAA,IACH,GAAG,KAAA;AAAA,IACH,GAAGF;AAAA,GACP;AACJ","file":"index.js","sourcesContent":["type Listener<T> = (state: T) => void;\n\nexport function createStore<T>(initialState: T) {\n let state = initialState;\n\n const listeners = new Set<Listener<T>>();\n\n return {\n getState() {\n return state;\n },\n\n setState(partial: Partial<T>) {\n state = {\n ...state,\n ...partial,\n };\n\n listeners.forEach((listener) =>\n listener(state)\n );\n },\n\n subscribe(listener: Listener<T>) {\n listeners.add(listener);\n\n return () => listeners.delete(listener);\n },\n };\n}","import { createStore } from \"./store\";\n\ninterface TableState {\n tableData: any;\n tablePrependData: any[];\n}\n\nexport const tableStore = createStore<TableState>({\n tableData: [],\n tablePrependData: [],\n});\n\nexport const actions = {\n\n setTableData(\n response: any\n ) {\n // tableStore.setState({\n // tablePrependData: []\n // });\n\n tableStore.setState({\n tableData: response,\n });\n },\n\n async setTablePrependData(\n response: any\n ) {\n const state: any = tableStore.getState();\n let rows: any = [];\n\n if (response === 'loading') { // set empty loading columns\n const row = await state.tableData?.data?.results?.columns.reduce((acc: any, item: any) => {\n if (!item.hidden) {\n acc[item.key] = \"loading\";\n }\n return acc;\n }, {});\n rows = [row, ...state.tablePrependData];\n } else if (response?.data) { // set real columns data\n\n const data = response?.data\n if (!data) {\n tableStore.setState({\n tablePrependData: []\n });\n }\n\n const row = await Object.fromEntries(\n Object.entries(data).map(([key, value]: any) => [\n key,\n value?.value ?? value,\n ])\n );\n\n rows = [...state.tablePrependData];\n // replace empty loading columns with real data\n if (rows.length > 0) {\n rows[0] = row;\n } else {\n rows.push(row);\n }\n }\n\n tableStore.setState({\n tablePrependData: rows\n });\n }\n}\n\nexport function useTable() {\n const tableState: any = tableStore.getState()\n return {\n ...tableState, ...actions\n }\n}","import { createStore } from \"./store\";\n\ninterface NoteState {\n notes: any;\n prependNotes: any[];\n}\n\nexport const noteStore = createStore<NoteState>({\n notes: [],\n prependNotes: [],\n});\n\nexport const actions = {\n\n setNotes(\n response: any\n ) {\n // noteStore.setState({\n // prependNotes: []\n // });\n\n noteStore.setState({\n notes: response,\n });\n },\n\n async setPrependNote(\n response: any\n ) {\n const state: any = noteStore.getState();\n let rows: any = [];\n\n if (response === 'loading') { // set empty loading columns\n const row = await state.notes?.data?.results?.columns.reduce((acc: any, item: any) => {\n if (!item.hidden) {\n acc[item.key] = \"loading\";\n }\n return acc;\n }, {});\n rows = [row, ...state.prependNotes];\n } else if (response?.data) { // set real columns data\n\n const data = response?.data\n if (!data) {\n noteStore.setState({\n prependNotes: []\n });\n }\n\n const row = await Object.fromEntries(\n Object.entries(data).map(([key, value]: any) => [\n key,\n value?.value ?? value,\n ])\n );\n\n rows = [...state.prependNotes];\n // replace empty loading columns with real data\n if (rows.length > 0) {\n rows[0] = row;\n } else {\n rows.push(row);\n }\n }\n\n noteStore.setState({\n prependNotes: rows\n });\n }\n}\n\nexport function useNote() {\n const noteState: any = noteStore.getState()\n return {\n ...noteState, ...actions\n }\n}","import { createStore } from \"./store\";\n\ninterface EmailState {\n emails: any;\n prependEmails: any[];\n}\n\nexport const emailStore = createStore<EmailState>({\n emails: [],\n prependEmails: [],\n});\n\nexport const actions = {\n\n setEmails(\n response: any\n ) {\n // emailStore.setState({\n // prependEmails: []\n // });\n\n emailStore.setState({\n emails: response,\n });\n },\n\n async setPrependEmail(\n response: any\n ) {\n const state: any = emailStore.getState();\n let rows: any = [];\n\n if (response === 'loading') { // set empty loading columns\n const row = await state.emails?.data?.results?.columns.reduce((acc: any, item: any) => {\n if (!item.hidden) {\n acc[item.key] = \"loading\";\n }\n return acc;\n }, {});\n rows = [row, ...state.prependEmails];\n } else if (response?.data) { // set real columns data\n\n const data = response?.data\n if (!data) {\n emailStore.setState({\n prependEmails: []\n });\n }\n\n const row = await Object.fromEntries(\n Object.entries(data).map(([key, value]: any) => [\n key,\n value?.value ?? value,\n ])\n );\n\n rows = [...state.prependEmails];\n // replace empty loading columns with real data\n if (rows.length > 0) {\n rows[0] = row;\n } else {\n rows.push(row);\n }\n }\n\n emailStore.setState({\n prependEmails: rows\n });\n }\n}\n\nexport function useEmail() {\n const emailState: any = emailStore.getState()\n return {\n ...emailState, ...actions\n }\n}","import { createStore } from \"./store\";\nimport { useTable } from \"../store2/use-table\";\nimport { useNote } from \"../store2/use-note\";\nimport { useEmail } from \"../store2/use-email\";\n\ninterface SyncState {\n apiSync: boolean;\n sync: boolean;\n isSyncLoading: boolean;\n isSyncDisable: boolean;\n}\n\nexport const syncStore = createStore<SyncState>({\n apiSync: false,\n sync: false,\n isSyncLoading: false,\n isSyncDisable: false,\n});\n\nexport const actions = {\n setIsSyncLoading(status: boolean) {\n syncStore.setState({\n isSyncLoading: status,\n sync: status,\n });\n },\n\n setSync(status: boolean) {\n resetAllStore()\n syncStore.setState({\n isSyncLoading: status,\n sync: status,\n });\n },\n\n setApiSync(status: boolean) {\n syncStore.setState({\n isSyncLoading: status,\n apiSync: status,\n });\n },\n\n setSyncDisable(status: boolean) {\n syncStore.setState({\n isSyncDisable: status,\n });\n },\n};\n\nconst resetAllStore = () => {\n const {\n setTablePrependData\n }: any = useTable();\n setTablePrependData([])\n\n const {\n setPrependNote\n }: any = useNote();\n setPrependNote([])\n\n const {\n setPrependEmail\n }: any = useEmail();\n setPrependEmail([])\n}\n\nexport function useSync() {\n const syncState = syncStore.getState();\n\n return {\n ...syncState,\n ...actions,\n };\n}","import { useSyncExternalStore } from \"react\";\nimport { syncStore, actions } from \"../../store2/use-sync\";\n\nexport function useSync() {\n const state = useSyncExternalStore(\n syncStore.subscribe,\n syncStore.getState,\n syncStore.getState\n );\n\n return {\n ...state,\n ...actions,\n };\n}\n","import { useSyncExternalStore } from \"react\";\nimport { tableStore, actions } from \"../../store2/use-table\";\n\nexport function useTable() {\n const state = useSyncExternalStore(\n tableStore.subscribe,\n tableStore.getState,\n tableStore.getState\n );\n\n return {\n ...state,\n ...actions,\n };\n}","import { useSyncExternalStore } from \"react\";\nimport { noteStore, actions } from \"../../store2/use-note\";\n\nexport function useNote() {\n const state = useSyncExternalStore(\n noteStore.subscribe,\n noteStore.getState,\n noteStore.getState\n );\n\n return {\n ...state,\n ...actions,\n };\n}","import { useSyncExternalStore } from \"react\";\nimport { emailStore, actions } from \"../../store2/use-email\";\n\nexport function useEmail() {\n const state = useSyncExternalStore(\n emailStore.subscribe,\n emailStore.getState,\n emailStore.getState\n );\n\n return {\n ...state,\n ...actions,\n };\n}"]}
|
package/dist/index.js
CHANGED
|
@@ -1924,7 +1924,7 @@ var actions = {
|
|
|
1924
1924
|
return acc;
|
|
1925
1925
|
}, {});
|
|
1926
1926
|
rows = [row, ...state.tablePrependData];
|
|
1927
|
-
} else {
|
|
1927
|
+
} else if (response?.data) {
|
|
1928
1928
|
const data = response?.data;
|
|
1929
1929
|
if (!data) {
|
|
1930
1930
|
tableStore2.setState({
|
|
@@ -2022,10 +2022,10 @@ function objectFormOptions(options) {
|
|
|
2022
2022
|
isLoading
|
|
2023
2023
|
};
|
|
2024
2024
|
}
|
|
2025
|
-
var {
|
|
2026
|
-
setTablePrependData
|
|
2027
|
-
} = useTable2();
|
|
2028
2025
|
function create(options) {
|
|
2026
|
+
const {
|
|
2027
|
+
setTablePrependData
|
|
2028
|
+
} = useTable2();
|
|
2029
2029
|
const { mutate, isLoading } = createMutation(
|
|
2030
2030
|
async (props) => {
|
|
2031
2031
|
await setTablePrependData("loading");
|
|
@@ -2098,11 +2098,70 @@ function update(options) {
|
|
|
2098
2098
|
};
|
|
2099
2099
|
}
|
|
2100
2100
|
|
|
2101
|
+
// src/store2/use-note.ts
|
|
2102
|
+
var noteStore = createStore2({
|
|
2103
|
+
notes: [],
|
|
2104
|
+
prependNotes: []
|
|
2105
|
+
});
|
|
2106
|
+
var actions2 = {
|
|
2107
|
+
setNotes(response) {
|
|
2108
|
+
noteStore.setState({
|
|
2109
|
+
notes: response
|
|
2110
|
+
});
|
|
2111
|
+
},
|
|
2112
|
+
async setPrependNote(response) {
|
|
2113
|
+
const state = noteStore.getState();
|
|
2114
|
+
let rows = [];
|
|
2115
|
+
if (response === "loading") {
|
|
2116
|
+
const row = await state.notes?.data?.results?.columns.reduce((acc, item) => {
|
|
2117
|
+
if (!item.hidden) {
|
|
2118
|
+
acc[item.key] = "loading";
|
|
2119
|
+
}
|
|
2120
|
+
return acc;
|
|
2121
|
+
}, {});
|
|
2122
|
+
rows = [row, ...state.prependNotes];
|
|
2123
|
+
} else if (response?.data) {
|
|
2124
|
+
const data = response?.data;
|
|
2125
|
+
if (!data) {
|
|
2126
|
+
noteStore.setState({
|
|
2127
|
+
prependNotes: []
|
|
2128
|
+
});
|
|
2129
|
+
}
|
|
2130
|
+
const row = await Object.fromEntries(
|
|
2131
|
+
Object.entries(data).map(([key, value]) => [
|
|
2132
|
+
key,
|
|
2133
|
+
value?.value ?? value
|
|
2134
|
+
])
|
|
2135
|
+
);
|
|
2136
|
+
rows = [...state.prependNotes];
|
|
2137
|
+
if (rows.length > 0) {
|
|
2138
|
+
rows[0] = row;
|
|
2139
|
+
} else {
|
|
2140
|
+
rows.push(row);
|
|
2141
|
+
}
|
|
2142
|
+
}
|
|
2143
|
+
noteStore.setState({
|
|
2144
|
+
prependNotes: rows
|
|
2145
|
+
});
|
|
2146
|
+
}
|
|
2147
|
+
};
|
|
2148
|
+
function useNote() {
|
|
2149
|
+
const noteState = noteStore.getState();
|
|
2150
|
+
return {
|
|
2151
|
+
...noteState,
|
|
2152
|
+
...actions2
|
|
2153
|
+
};
|
|
2154
|
+
}
|
|
2155
|
+
|
|
2101
2156
|
// src/apis/note.ts
|
|
2102
2157
|
function list4(options) {
|
|
2158
|
+
const {
|
|
2159
|
+
setNotes
|
|
2160
|
+
} = useNote();
|
|
2103
2161
|
const { mutate, isLoading } = createMutation(
|
|
2104
2162
|
async (payload) => {
|
|
2105
2163
|
const response = await Client.note.list(payload);
|
|
2164
|
+
setNotes(response);
|
|
2106
2165
|
return response;
|
|
2107
2166
|
},
|
|
2108
2167
|
options
|
|
@@ -2114,9 +2173,14 @@ function list4(options) {
|
|
|
2114
2173
|
};
|
|
2115
2174
|
}
|
|
2116
2175
|
function create2(options) {
|
|
2176
|
+
const {
|
|
2177
|
+
setPrependNote
|
|
2178
|
+
} = useNote();
|
|
2117
2179
|
const { mutate, isLoading } = createMutation(
|
|
2118
2180
|
async (props) => {
|
|
2181
|
+
await setPrependNote("loading");
|
|
2119
2182
|
const response = await Client.note.create(props);
|
|
2183
|
+
await setPrependNote(response);
|
|
2120
2184
|
return response;
|
|
2121
2185
|
},
|
|
2122
2186
|
options
|
|
@@ -2142,11 +2206,70 @@ function update2(options) {
|
|
|
2142
2206
|
};
|
|
2143
2207
|
}
|
|
2144
2208
|
|
|
2209
|
+
// src/store2/use-email.ts
|
|
2210
|
+
var emailStore = createStore2({
|
|
2211
|
+
emails: [],
|
|
2212
|
+
prependEmails: []
|
|
2213
|
+
});
|
|
2214
|
+
var actions3 = {
|
|
2215
|
+
setEmails(response) {
|
|
2216
|
+
emailStore.setState({
|
|
2217
|
+
emails: response
|
|
2218
|
+
});
|
|
2219
|
+
},
|
|
2220
|
+
async setPrependEmail(response) {
|
|
2221
|
+
const state = emailStore.getState();
|
|
2222
|
+
let rows = [];
|
|
2223
|
+
if (response === "loading") {
|
|
2224
|
+
const row = await state.emails?.data?.results?.columns.reduce((acc, item) => {
|
|
2225
|
+
if (!item.hidden) {
|
|
2226
|
+
acc[item.key] = "loading";
|
|
2227
|
+
}
|
|
2228
|
+
return acc;
|
|
2229
|
+
}, {});
|
|
2230
|
+
rows = [row, ...state.prependEmails];
|
|
2231
|
+
} else if (response?.data) {
|
|
2232
|
+
const data = response?.data;
|
|
2233
|
+
if (!data) {
|
|
2234
|
+
emailStore.setState({
|
|
2235
|
+
prependEmails: []
|
|
2236
|
+
});
|
|
2237
|
+
}
|
|
2238
|
+
const row = await Object.fromEntries(
|
|
2239
|
+
Object.entries(data).map(([key, value]) => [
|
|
2240
|
+
key,
|
|
2241
|
+
value?.value ?? value
|
|
2242
|
+
])
|
|
2243
|
+
);
|
|
2244
|
+
rows = [...state.prependEmails];
|
|
2245
|
+
if (rows.length > 0) {
|
|
2246
|
+
rows[0] = row;
|
|
2247
|
+
} else {
|
|
2248
|
+
rows.push(row);
|
|
2249
|
+
}
|
|
2250
|
+
}
|
|
2251
|
+
emailStore.setState({
|
|
2252
|
+
prependEmails: rows
|
|
2253
|
+
});
|
|
2254
|
+
}
|
|
2255
|
+
};
|
|
2256
|
+
function useEmail() {
|
|
2257
|
+
const emailState = emailStore.getState();
|
|
2258
|
+
return {
|
|
2259
|
+
...emailState,
|
|
2260
|
+
...actions3
|
|
2261
|
+
};
|
|
2262
|
+
}
|
|
2263
|
+
|
|
2145
2264
|
// src/apis/email.ts
|
|
2146
2265
|
function list5(options) {
|
|
2266
|
+
const {
|
|
2267
|
+
setEmails
|
|
2268
|
+
} = useEmail();
|
|
2147
2269
|
const { mutate, isLoading } = createMutation(
|
|
2148
2270
|
async (payload) => {
|
|
2149
2271
|
const response = await Client.email.list(payload);
|
|
2272
|
+
setEmails(response);
|
|
2150
2273
|
return response;
|
|
2151
2274
|
},
|
|
2152
2275
|
options
|
|
@@ -2158,9 +2281,14 @@ function list5(options) {
|
|
|
2158
2281
|
};
|
|
2159
2282
|
}
|
|
2160
2283
|
function create3(options) {
|
|
2284
|
+
const {
|
|
2285
|
+
setPrependEmail
|
|
2286
|
+
} = useEmail();
|
|
2161
2287
|
const { mutate, isLoading } = createMutation(
|
|
2162
2288
|
async (props) => {
|
|
2289
|
+
await setPrependEmail("loading");
|
|
2163
2290
|
const response = await Client.email.create(props);
|
|
2291
|
+
await setPrependEmail(response);
|
|
2164
2292
|
return response;
|
|
2165
2293
|
},
|
|
2166
2294
|
options
|