simplesvelte 2.2.9 → 2.2.11
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/ag-grid-refactored.d.ts +106 -0
- package/dist/ag-grid-refactored.js +126 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -0
- package/package.json +1 -1
|
@@ -181,6 +181,112 @@ export declare const agGridRequestSchema: z.ZodObject<{
|
|
|
181
181
|
* Use this as a fallback or initial value when no request is provided
|
|
182
182
|
*/
|
|
183
183
|
export declare const defaultAGGridRequest: AGGridRequest;
|
|
184
|
+
/**
|
|
185
|
+
* Saves AG Grid request parameters for a specific user and table
|
|
186
|
+
*
|
|
187
|
+
* Call this in your grid query function to save the current filter, sort, and grouping state
|
|
188
|
+
* on every request. This allows mutations to restore the user's view when refreshing the grid.
|
|
189
|
+
*
|
|
190
|
+
* @param tableKey - Unique identifier for the table/grid (e.g., 'users-table', 'interventions-grid')
|
|
191
|
+
* @param userId - User identifier (string or number)
|
|
192
|
+
* @param params - AG Grid request parameters to save (filters, sorts, groups, pagination)
|
|
193
|
+
*
|
|
194
|
+
* @example Grid Query - Save parameters on every request
|
|
195
|
+
* ```typescript
|
|
196
|
+
* export const getUsersGrid = query(agGridRequestSchema, async (request) => {
|
|
197
|
+
* const user = await getActiveUser()
|
|
198
|
+
*
|
|
199
|
+
* // Save parameters on every grid request
|
|
200
|
+
* saveParams('users-table', user.id, request)
|
|
201
|
+
*
|
|
202
|
+
* return await createAGGridQuery({
|
|
203
|
+
* async fetch(params) {
|
|
204
|
+
* return await DB.user.findMany({
|
|
205
|
+
* where: params.where,
|
|
206
|
+
* orderBy: params.orderBy,
|
|
207
|
+
* skip: params.skip,
|
|
208
|
+
* take: params.take,
|
|
209
|
+
* })
|
|
210
|
+
* },
|
|
211
|
+
* async count(params) {
|
|
212
|
+
* return await DB.user.count({ where: params.where })
|
|
213
|
+
* },
|
|
214
|
+
* })(request)
|
|
215
|
+
* })
|
|
216
|
+
* ```
|
|
217
|
+
*/
|
|
218
|
+
export declare function saveParams(tableKey: string, userId: string | number, params: AGGridRequest): void;
|
|
219
|
+
/**
|
|
220
|
+
* Fetches previously saved AG Grid request parameters for a specific user and table
|
|
221
|
+
*
|
|
222
|
+
* Returns the last saved parameters, or the default AG Grid request if none exist.
|
|
223
|
+
* Use this in mutation commands (create/update/delete) to refresh the grid with the
|
|
224
|
+
* user's last used filters, sorts, and grouping.
|
|
225
|
+
*
|
|
226
|
+
* @param tableKey - Unique identifier for the table/grid (e.g., 'users-table', 'interventions-grid')
|
|
227
|
+
* @param userId - User identifier (string or number)
|
|
228
|
+
* @returns Saved AG Grid request parameters, or `defaultAGGridRequest` if none exist
|
|
229
|
+
*
|
|
230
|
+
* @example Create Command - Refresh grid with last used filters
|
|
231
|
+
* ```typescript
|
|
232
|
+
* export const createUser = command(userSchema, async (data) => {
|
|
233
|
+
* const user = await getActiveUser()
|
|
234
|
+
*
|
|
235
|
+
* // Create the new user
|
|
236
|
+
* const newUser = await DB.user.create({ data })
|
|
237
|
+
*
|
|
238
|
+
* // Fetch last used parameters (or defaults if none exist)
|
|
239
|
+
* const lastParams = fetchParams('users-table', user.id)
|
|
240
|
+
*
|
|
241
|
+
* // Refresh the grid query with last used filters/sorts
|
|
242
|
+
* await getUsersGrid(lastParams).refresh()
|
|
243
|
+
*
|
|
244
|
+
* return newUser
|
|
245
|
+
* })
|
|
246
|
+
* ```
|
|
247
|
+
*
|
|
248
|
+
* @example Update Command - Refresh grid with last used filters
|
|
249
|
+
* ```typescript
|
|
250
|
+
* export const updateUser = command(
|
|
251
|
+
* z.object({ id: z.number(), data: userSchema.partial() }),
|
|
252
|
+
* async ({ id, data }) => {
|
|
253
|
+
* const user = await getActiveUser()
|
|
254
|
+
*
|
|
255
|
+
* // Update the user
|
|
256
|
+
* const updatedUser = await DB.user.update({ where: { id }, data })
|
|
257
|
+
*
|
|
258
|
+
* // Fetch last used parameters (or defaults if none exist)
|
|
259
|
+
* const lastParams = fetchParams('users-table', user.id)
|
|
260
|
+
*
|
|
261
|
+
* // Refresh the grid query with last used filters/sorts
|
|
262
|
+
* await getUsersGrid(lastParams).refresh()
|
|
263
|
+
*
|
|
264
|
+
* return updatedUser
|
|
265
|
+
* }
|
|
266
|
+
* )
|
|
267
|
+
* ```
|
|
268
|
+
*
|
|
269
|
+
* @example Multiple Query Refresh - Refresh related queries in parallel
|
|
270
|
+
* ```typescript
|
|
271
|
+
* export const deleteUser = command(z.number(), async (id) => {
|
|
272
|
+
* const user = await getActiveUser()
|
|
273
|
+
* const deletedUser = await DB.user.findUnique({ where: { id } })
|
|
274
|
+
*
|
|
275
|
+
* await DB.user.delete({ where: { id } })
|
|
276
|
+
*
|
|
277
|
+
* const lastParams = fetchParams('users-table', user.id)
|
|
278
|
+
*
|
|
279
|
+
* // Refresh multiple queries in parallel
|
|
280
|
+
* await Promise.all([
|
|
281
|
+
* getUsersByDepartment(deletedUser.departmentId).refresh(),
|
|
282
|
+
* getUsersGrid(lastParams).refresh(),
|
|
283
|
+
* ])
|
|
284
|
+
*
|
|
285
|
+
* return deletedUser
|
|
286
|
+
* })
|
|
287
|
+
* ```
|
|
288
|
+
*/
|
|
289
|
+
export declare function fetchParams(tableKey: string, userId: string | number): AGGridRequest;
|
|
184
290
|
/**
|
|
185
291
|
* Prisma-style filter operators for different field types
|
|
186
292
|
*/
|
|
@@ -44,6 +44,132 @@ export const defaultAGGridRequest = {
|
|
|
44
44
|
pivotMode: false,
|
|
45
45
|
};
|
|
46
46
|
// ============================================================================
|
|
47
|
+
// Parameter Storage API
|
|
48
|
+
// ============================================================================
|
|
49
|
+
/**
|
|
50
|
+
* Storage for AG Grid request parameters per user and table
|
|
51
|
+
* Key format: `agGridParams:${userId}:${tableKey}`
|
|
52
|
+
*/
|
|
53
|
+
const paramsStorage = new Map();
|
|
54
|
+
/**
|
|
55
|
+
* Generates a storage key for AG Grid parameters
|
|
56
|
+
*/
|
|
57
|
+
function getStorageKey(userId, tableKey) {
|
|
58
|
+
return `agGridParams:${userId}:${tableKey}`;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Saves AG Grid request parameters for a specific user and table
|
|
62
|
+
*
|
|
63
|
+
* Call this in your grid query function to save the current filter, sort, and grouping state
|
|
64
|
+
* on every request. This allows mutations to restore the user's view when refreshing the grid.
|
|
65
|
+
*
|
|
66
|
+
* @param tableKey - Unique identifier for the table/grid (e.g., 'users-table', 'interventions-grid')
|
|
67
|
+
* @param userId - User identifier (string or number)
|
|
68
|
+
* @param params - AG Grid request parameters to save (filters, sorts, groups, pagination)
|
|
69
|
+
*
|
|
70
|
+
* @example Grid Query - Save parameters on every request
|
|
71
|
+
* ```typescript
|
|
72
|
+
* export const getUsersGrid = query(agGridRequestSchema, async (request) => {
|
|
73
|
+
* const user = await getActiveUser()
|
|
74
|
+
*
|
|
75
|
+
* // Save parameters on every grid request
|
|
76
|
+
* saveParams('users-table', user.id, request)
|
|
77
|
+
*
|
|
78
|
+
* return await createAGGridQuery({
|
|
79
|
+
* async fetch(params) {
|
|
80
|
+
* return await DB.user.findMany({
|
|
81
|
+
* where: params.where,
|
|
82
|
+
* orderBy: params.orderBy,
|
|
83
|
+
* skip: params.skip,
|
|
84
|
+
* take: params.take,
|
|
85
|
+
* })
|
|
86
|
+
* },
|
|
87
|
+
* async count(params) {
|
|
88
|
+
* return await DB.user.count({ where: params.where })
|
|
89
|
+
* },
|
|
90
|
+
* })(request)
|
|
91
|
+
* })
|
|
92
|
+
* ```
|
|
93
|
+
*/
|
|
94
|
+
export function saveParams(tableKey, userId, params) {
|
|
95
|
+
const key = getStorageKey(userId, tableKey);
|
|
96
|
+
paramsStorage.set(key, params);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Fetches previously saved AG Grid request parameters for a specific user and table
|
|
100
|
+
*
|
|
101
|
+
* Returns the last saved parameters, or the default AG Grid request if none exist.
|
|
102
|
+
* Use this in mutation commands (create/update/delete) to refresh the grid with the
|
|
103
|
+
* user's last used filters, sorts, and grouping.
|
|
104
|
+
*
|
|
105
|
+
* @param tableKey - Unique identifier for the table/grid (e.g., 'users-table', 'interventions-grid')
|
|
106
|
+
* @param userId - User identifier (string or number)
|
|
107
|
+
* @returns Saved AG Grid request parameters, or `defaultAGGridRequest` if none exist
|
|
108
|
+
*
|
|
109
|
+
* @example Create Command - Refresh grid with last used filters
|
|
110
|
+
* ```typescript
|
|
111
|
+
* export const createUser = command(userSchema, async (data) => {
|
|
112
|
+
* const user = await getActiveUser()
|
|
113
|
+
*
|
|
114
|
+
* // Create the new user
|
|
115
|
+
* const newUser = await DB.user.create({ data })
|
|
116
|
+
*
|
|
117
|
+
* // Fetch last used parameters (or defaults if none exist)
|
|
118
|
+
* const lastParams = fetchParams('users-table', user.id)
|
|
119
|
+
*
|
|
120
|
+
* // Refresh the grid query with last used filters/sorts
|
|
121
|
+
* await getUsersGrid(lastParams).refresh()
|
|
122
|
+
*
|
|
123
|
+
* return newUser
|
|
124
|
+
* })
|
|
125
|
+
* ```
|
|
126
|
+
*
|
|
127
|
+
* @example Update Command - Refresh grid with last used filters
|
|
128
|
+
* ```typescript
|
|
129
|
+
* export const updateUser = command(
|
|
130
|
+
* z.object({ id: z.number(), data: userSchema.partial() }),
|
|
131
|
+
* async ({ id, data }) => {
|
|
132
|
+
* const user = await getActiveUser()
|
|
133
|
+
*
|
|
134
|
+
* // Update the user
|
|
135
|
+
* const updatedUser = await DB.user.update({ where: { id }, data })
|
|
136
|
+
*
|
|
137
|
+
* // Fetch last used parameters (or defaults if none exist)
|
|
138
|
+
* const lastParams = fetchParams('users-table', user.id)
|
|
139
|
+
*
|
|
140
|
+
* // Refresh the grid query with last used filters/sorts
|
|
141
|
+
* await getUsersGrid(lastParams).refresh()
|
|
142
|
+
*
|
|
143
|
+
* return updatedUser
|
|
144
|
+
* }
|
|
145
|
+
* )
|
|
146
|
+
* ```
|
|
147
|
+
*
|
|
148
|
+
* @example Multiple Query Refresh - Refresh related queries in parallel
|
|
149
|
+
* ```typescript
|
|
150
|
+
* export const deleteUser = command(z.number(), async (id) => {
|
|
151
|
+
* const user = await getActiveUser()
|
|
152
|
+
* const deletedUser = await DB.user.findUnique({ where: { id } })
|
|
153
|
+
*
|
|
154
|
+
* await DB.user.delete({ where: { id } })
|
|
155
|
+
*
|
|
156
|
+
* const lastParams = fetchParams('users-table', user.id)
|
|
157
|
+
*
|
|
158
|
+
* // Refresh multiple queries in parallel
|
|
159
|
+
* await Promise.all([
|
|
160
|
+
* getUsersByDepartment(deletedUser.departmentId).refresh(),
|
|
161
|
+
* getUsersGrid(lastParams).refresh(),
|
|
162
|
+
* ])
|
|
163
|
+
*
|
|
164
|
+
* return deletedUser
|
|
165
|
+
* })
|
|
166
|
+
* ```
|
|
167
|
+
*/
|
|
168
|
+
export function fetchParams(tableKey, userId) {
|
|
169
|
+
const key = getStorageKey(userId, tableKey);
|
|
170
|
+
return paramsStorage.get(key) || defaultAGGridRequest;
|
|
171
|
+
}
|
|
172
|
+
// ============================================================================
|
|
47
173
|
// Value Normalization Utilities
|
|
48
174
|
// ============================================================================
|
|
49
175
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -6,5 +6,5 @@ export { default as Modal } from './Modal.svelte';
|
|
|
6
6
|
export { default as Grid } from './Grid.svelte';
|
|
7
7
|
export { Pop } from './pop.js';
|
|
8
8
|
export { clickOutside, FormHelper, RoleHelper as roleHelper, formatDate } from './utils.js';
|
|
9
|
-
export { createAGGridQuery, createAGGridDatasource, type AGGridRequest, type AGGridResponse, type ComputedField, type AGGridQueryConfig, agGridRequestSchema, defaultSSRMColDef, defaultSSRMGridOptions, filterConfigs, } from './ag-grid-refactored.js';
|
|
9
|
+
export { createAGGridQuery, createAGGridDatasource, saveParams, fetchParams, type AGGridRequest, type AGGridResponse, type ComputedField, type AGGridQueryConfig, agGridRequestSchema, defaultAGGridRequest, defaultSSRMColDef, defaultSSRMGridOptions, filterConfigs, } from './ag-grid-refactored.js';
|
|
10
10
|
import './styles.css';
|
package/dist/index.js
CHANGED
|
@@ -10,8 +10,12 @@ export { clickOutside, FormHelper, RoleHelper as roleHelper, formatDate } from '
|
|
|
10
10
|
export {
|
|
11
11
|
// Main functions
|
|
12
12
|
createAGGridQuery, createAGGridDatasource,
|
|
13
|
+
// Parameter persistence functions
|
|
14
|
+
saveParams, fetchParams,
|
|
13
15
|
// Zod schema
|
|
14
16
|
agGridRequestSchema,
|
|
17
|
+
// Default request
|
|
18
|
+
defaultAGGridRequest,
|
|
15
19
|
// Config helpers
|
|
16
20
|
defaultSSRMColDef, defaultSSRMGridOptions, filterConfigs, } from './ag-grid-refactored.js';
|
|
17
21
|
// Export CSS for consumers
|