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.
@@ -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
- export { useTable };
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/useStore.ts
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":"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","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