@vanstack/solid-ark 0.0.19 → 0.0.22
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.
|
@@ -2,10 +2,10 @@ import "../solid-ark.css";
|
|
|
2
2
|
import { t as e } from "../button-Br_upy12.js";
|
|
3
3
|
import { t } from "../badge-Dt0uZnmA.js";
|
|
4
4
|
import { t as n } from "../form-IwL17HZI.js";
|
|
5
|
-
import { t as r } from "../table-
|
|
5
|
+
import { t as r } from "../table-Dl0ngdNr.js";
|
|
6
6
|
import { className as i, createComponent as a, effect as o, insert as s, memo as c, setAttribute as l, setStyleProperty as u, template as d, use as f } from "solid-js/web";
|
|
7
|
-
import { For as p, Show as m, createEffect as ee, createMemo as h, createSignal as g, mergeProps as
|
|
8
|
-
import { formatDate as
|
|
7
|
+
import { For as p, Show as m, createEffect as ee, createMemo as h, createSignal as g, mergeProps as _, on as te, onCleanup as v, onMount as y } from "solid-js";
|
|
8
|
+
import { formatDate as b, formatDateTime as ne, formatShortDateTime as re } from "@vanstack/shared";
|
|
9
9
|
import { Pagination as x } from "@ark-ui/solid/pagination";
|
|
10
10
|
//#region src/data-table/EllipsisCell.tsx
|
|
11
11
|
var S = /*#__PURE__*/ d("<span class=van-data-table-ellipsis>");
|
|
@@ -109,12 +109,12 @@ function ie(e) {
|
|
|
109
109
|
}
|
|
110
110
|
//#endregion
|
|
111
111
|
//#region src/data-table/DataTable.tsx
|
|
112
|
-
var P = /*#__PURE__*/ d("<svg fill=none height=16 stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2 viewBox=\"0 0 24 24\"width=16 xmlns=http://www.w3.org/2000/svg><path d=\"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\"></path><path d=\"M3 3v5h5\">"), ae = /*#__PURE__*/ d("<div class=van-data-table-actions>"),
|
|
113
|
-
function
|
|
112
|
+
var P = /*#__PURE__*/ d("<svg fill=none height=16 stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=2 viewBox=\"0 0 24 24\"width=16 xmlns=http://www.w3.org/2000/svg><path d=\"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\"></path><path d=\"M3 3v5h5\">"), ae = /*#__PURE__*/ d("<div class=van-data-table-actions>"), oe = /*#__PURE__*/ d("<div class=van-data-table-badges>"), F = /*#__PURE__*/ d("<div class=van-data-table-search>"), I = /*#__PURE__*/ d("<div class=van-data-table-toolbar>"), L = /*#__PURE__*/ d("<div>"), R = /*#__PURE__*/ d("<div class=van-data-table-search-actions>"), z = /*#__PURE__*/ d("<div class=van-data-table-tooltip>");
|
|
113
|
+
function B() {
|
|
114
114
|
return P();
|
|
115
115
|
}
|
|
116
|
-
function
|
|
117
|
-
let l =
|
|
116
|
+
function V(c) {
|
|
117
|
+
let l = _({
|
|
118
118
|
defaultPage: 1,
|
|
119
119
|
defaultPageSize: 10,
|
|
120
120
|
emptyText: "暂无数据",
|
|
@@ -122,11 +122,11 @@ function H(c) {
|
|
|
122
122
|
}, c), d = h(() => l.searchFields ?? []), x = h(() => d().map((e) => ({
|
|
123
123
|
...e,
|
|
124
124
|
label: void 0
|
|
125
|
-
}))), S = h(() => l.data !== void 0), w = h(() => c.selectable ?? !!c.onSelectionChange), T = (e, t) => typeof e.show == "function" ? e.show(t) : e.show !== !1,
|
|
126
|
-
ee(
|
|
127
|
-
e &&
|
|
125
|
+
}))), S = h(() => l.data !== void 0), w = h(() => c.selectable ?? !!c.onSelectionChange), T = (e, t) => typeof e.show == "function" ? e.show(t) : e.show !== !1, E = (e, t) => typeof e.disabled == "function" ? e.disabled(t) : e.disabled === !0, [D, O] = g(l.searchValues ?? {}), [k, A] = g(l.searchValues ?? {});
|
|
126
|
+
ee(te(() => l.searchValues, (e) => {
|
|
127
|
+
e && O(() => e);
|
|
128
128
|
}));
|
|
129
|
-
let [
|
|
129
|
+
let [j, M] = g(l.defaultPage), [N, P] = g(l.defaultPageSize), [V, H] = g([]), U = h(() => {
|
|
130
130
|
let n = 0, r = 0, i = [];
|
|
131
131
|
for (let o of l.columns) {
|
|
132
132
|
let c = o.type;
|
|
@@ -141,7 +141,7 @@ function H(c) {
|
|
|
141
141
|
enableColumnFilter: !1,
|
|
142
142
|
enableHiding: !1,
|
|
143
143
|
...o,
|
|
144
|
-
cell: ({ row: e }) => (
|
|
144
|
+
cell: ({ row: e }) => (j() - 1) * N() + e.index + 1
|
|
145
145
|
};
|
|
146
146
|
i.push(e);
|
|
147
147
|
continue;
|
|
@@ -149,7 +149,7 @@ function H(c) {
|
|
|
149
149
|
if (c === "date" || c === "dateTime" || c === "shortDateTime") {
|
|
150
150
|
let e = o;
|
|
151
151
|
if (!e.accessorKey) throw Error("[solid-ark] 时间戳列(type=\"date/dateTime/shortDateTime\")必须提供 accessorKey");
|
|
152
|
-
let t = e.accessorKey, n = e.type === "date" ?
|
|
152
|
+
let t = e.accessorKey, n = e.type === "date" ? b : e.type === "dateTime" ? ne : re;
|
|
153
153
|
i.push({
|
|
154
154
|
id: t,
|
|
155
155
|
accessorKey: t,
|
|
@@ -178,6 +178,9 @@ function H(c) {
|
|
|
178
178
|
},
|
|
179
179
|
get children() {
|
|
180
180
|
return a(e, {
|
|
181
|
+
get disabled() {
|
|
182
|
+
return E(n, t.original);
|
|
183
|
+
},
|
|
181
184
|
onClick: () => n.onClick(t.original),
|
|
182
185
|
get variant() {
|
|
183
186
|
return n.variant ?? "outline";
|
|
@@ -202,7 +205,7 @@ function H(c) {
|
|
|
202
205
|
cell: ({ row: e }) => {
|
|
203
206
|
let r = typeof n == "function" ? n(e.original) : n, i = Array.isArray(r) ? r : r ? [r] : [];
|
|
204
207
|
return i.length === 0 ? "-" : (() => {
|
|
205
|
-
var e =
|
|
208
|
+
var e = oe();
|
|
206
209
|
return s(e, a(p, {
|
|
207
210
|
each: i,
|
|
208
211
|
children: (e) => a(t, {
|
|
@@ -257,7 +260,7 @@ function H(c) {
|
|
|
257
260
|
e.removeEventListener("mouseover", t), e.removeEventListener("mouseout", n);
|
|
258
261
|
});
|
|
259
262
|
});
|
|
260
|
-
let [
|
|
263
|
+
let [se, ce] = g([]), [le, ue] = g(0), [de, q] = g(!1), J = h(() => S() ? l.data : se()), Y = h(() => S() ? l.total ?? J().length : le()), X = h(() => S() ? l.loading ?? !1 : de()), Z = (e, t, n) => ({
|
|
261
264
|
page: e,
|
|
262
265
|
pageSize: t,
|
|
263
266
|
sorting: n
|
|
@@ -267,68 +270,68 @@ function H(c) {
|
|
|
267
270
|
return;
|
|
268
271
|
}
|
|
269
272
|
let n = ++Q;
|
|
270
|
-
|
|
273
|
+
q(!0);
|
|
271
274
|
try {
|
|
272
275
|
let r = await c.onSearch(e, t);
|
|
273
276
|
if (n !== Q) return;
|
|
274
|
-
|
|
277
|
+
ce(r.data), ue(r.total);
|
|
275
278
|
} catch (e) {
|
|
276
279
|
if (n !== Q) return;
|
|
277
280
|
c.onError?.(e);
|
|
278
281
|
} finally {
|
|
279
|
-
n === Q &&
|
|
282
|
+
n === Q && q(!1);
|
|
280
283
|
}
|
|
281
284
|
};
|
|
282
285
|
y(() => {
|
|
283
|
-
S() || $(
|
|
286
|
+
S() || $(k(), Z(j(), N(), V()));
|
|
284
287
|
});
|
|
285
|
-
let
|
|
286
|
-
|
|
287
|
-
},
|
|
288
|
+
let fe = (e) => {
|
|
289
|
+
A(() => e), M(1), $(e, Z(1, N(), V()));
|
|
290
|
+
}, pe = () => {
|
|
288
291
|
let e = Object.fromEntries(d().map((e) => [e.name, void 0]));
|
|
289
|
-
|
|
290
|
-
}, pe = (e) => {
|
|
291
|
-
e !== A() && (j(e), l.onPageChange?.(e), $(O(), Z(e, M(), P())));
|
|
292
|
+
O(() => e), A(() => e), M(1), $(e, Z(1, N(), V()));
|
|
292
293
|
}, me = (e) => {
|
|
293
|
-
e !==
|
|
294
|
+
e !== j() && (M(e), l.onPageChange?.(e), $(k(), Z(e, N(), V())));
|
|
294
295
|
}, he = (e) => {
|
|
295
|
-
|
|
296
|
+
e !== N() && (P(e), M(1), l.onPageSizeChange?.(e), $(k(), Z(1, e, V())));
|
|
297
|
+
}, ge = (e) => {
|
|
298
|
+
H(e), l.onSortingChange?.(e), M(1), $(k(), Z(1, N(), e));
|
|
296
299
|
};
|
|
297
300
|
return (() => {
|
|
298
|
-
var t =
|
|
301
|
+
var t = L(), p = W;
|
|
299
302
|
return typeof p == "function" ? f(p, t) : W = t, s(t, a(m, {
|
|
300
303
|
get when() {
|
|
301
304
|
return d().length > 0;
|
|
302
305
|
},
|
|
303
306
|
get children() {
|
|
304
|
-
var t =
|
|
307
|
+
var t = F();
|
|
305
308
|
return s(t, a(n, {
|
|
306
309
|
get fields() {
|
|
307
310
|
return x();
|
|
308
311
|
},
|
|
309
|
-
onSubmit: ({ value: e }) =>
|
|
312
|
+
onSubmit: ({ value: e }) => fe(e),
|
|
310
313
|
get onValuesChange() {
|
|
311
314
|
return l.onSearchValuesChange;
|
|
312
315
|
},
|
|
313
316
|
get values() {
|
|
314
|
-
return
|
|
317
|
+
return D();
|
|
315
318
|
},
|
|
316
319
|
children: () => a(m, {
|
|
317
320
|
get when() {
|
|
318
321
|
return l.showSearchActions;
|
|
319
322
|
},
|
|
320
323
|
get children() {
|
|
321
|
-
var t =
|
|
324
|
+
var t = R();
|
|
322
325
|
return s(t, a(e, {
|
|
323
326
|
"aria-label": "重置",
|
|
324
327
|
class: "van-btn-icon-only",
|
|
325
328
|
get disabled() {
|
|
326
329
|
return X();
|
|
327
330
|
},
|
|
328
|
-
onClick:
|
|
331
|
+
onClick: pe,
|
|
329
332
|
variant: "outline",
|
|
330
333
|
get children() {
|
|
331
|
-
return a(
|
|
334
|
+
return a(B, {});
|
|
332
335
|
}
|
|
333
336
|
}), null), s(t, a(e, {
|
|
334
337
|
get disabled() {
|
|
@@ -346,7 +349,7 @@ function H(c) {
|
|
|
346
349
|
return l.children;
|
|
347
350
|
},
|
|
348
351
|
get children() {
|
|
349
|
-
var e =
|
|
352
|
+
var e = I();
|
|
350
353
|
return s(e, () => l.children), e;
|
|
351
354
|
}
|
|
352
355
|
}), null), s(t, a(r, {
|
|
@@ -354,7 +357,7 @@ function H(c) {
|
|
|
354
357
|
return U();
|
|
355
358
|
},
|
|
356
359
|
get data() {
|
|
357
|
-
return
|
|
360
|
+
return J();
|
|
358
361
|
},
|
|
359
362
|
get emptyText() {
|
|
360
363
|
return l.emptyText;
|
|
@@ -368,7 +371,7 @@ function H(c) {
|
|
|
368
371
|
get onSelectionChange() {
|
|
369
372
|
return l.onSelectionChange;
|
|
370
373
|
},
|
|
371
|
-
onSortingChange:
|
|
374
|
+
onSortingChange: ge,
|
|
372
375
|
get rowId() {
|
|
373
376
|
return l.rowId;
|
|
374
377
|
},
|
|
@@ -380,22 +383,22 @@ function H(c) {
|
|
|
380
383
|
}
|
|
381
384
|
}), null), s(t, a(ie, {
|
|
382
385
|
get count() {
|
|
383
|
-
return
|
|
386
|
+
return Y();
|
|
384
387
|
},
|
|
385
|
-
onPageChange:
|
|
386
|
-
onPageSizeChange:
|
|
388
|
+
onPageChange: me,
|
|
389
|
+
onPageSizeChange: he,
|
|
387
390
|
get page() {
|
|
388
|
-
return
|
|
391
|
+
return j();
|
|
389
392
|
},
|
|
390
393
|
get pageSize() {
|
|
391
|
-
return
|
|
394
|
+
return N();
|
|
392
395
|
}
|
|
393
396
|
}), null), s(t, a(m, {
|
|
394
397
|
get when() {
|
|
395
398
|
return G();
|
|
396
399
|
},
|
|
397
400
|
children: (e) => (() => {
|
|
398
|
-
var t =
|
|
401
|
+
var t = z();
|
|
399
402
|
return s(t, () => e().text), o((n) => {
|
|
400
403
|
var r = `${e().left}px`, i = `${e().top}px`;
|
|
401
404
|
return r !== n.e && u(t, "left", n.e = r), i !== n.t && u(t, "top", n.t = i), n;
|
|
@@ -408,4 +411,4 @@ function H(c) {
|
|
|
408
411
|
})();
|
|
409
412
|
}
|
|
410
413
|
//#endregion
|
|
411
|
-
export {
|
|
414
|
+
export { V as DataTable };
|
|
@@ -24,6 +24,8 @@ export interface DataTableAction<TData> {
|
|
|
24
24
|
variant?: ButtonVariant;
|
|
25
25
|
/** 是否显示该按钮,默认 true;可为函数(按行判断,读取信号时响应式更新) */
|
|
26
26
|
show?: ((row: TData) => boolean) | boolean;
|
|
27
|
+
/** 是否禁用该按钮,默认 false;可为函数(按行判断,读取信号时响应式更新) */
|
|
28
|
+
disabled?: ((row: TData) => boolean) | boolean;
|
|
27
29
|
}
|
|
28
30
|
/** type="badge" 列的徽标配置:变种 + 展示值 */
|
|
29
31
|
export interface DataTableBadgeConfig {
|
|
@@ -47,7 +49,7 @@ export type DataTableColumnDef<TData> = {
|
|
|
47
49
|
type?: "action" | "badge" | "date" | "dateTime" | "index" | "shortDateTime";
|
|
48
50
|
} & Partial<UnionToIntersection<ColumnDef<TData>>>;
|
|
49
51
|
/** 取数函数:接收表单值与查询参数,返回当前页数据与总条数 */
|
|
50
|
-
export type DataTableSearchHandler<TData, TSearch> = (values: TSearch, query: DataTableQuery) => DataTableResult<TData> | Promise<DataTableResult<TData>> | Promise<void> | undefined;
|
|
52
|
+
export type DataTableSearchHandler<TData, TSearch> = (values: TSearch, query: DataTableQuery) => DataTableResult<TData> | Promise<DataTableResult<TData>> | Promise<void> | undefined | void;
|
|
51
53
|
export interface DataTableProps<TData, TSearch extends Record<string, unknown> = Record<string, unknown>> {
|
|
52
54
|
/** 搜索表单字段;不传或为空数组时不渲染搜索区 */
|
|
53
55
|
searchFields?: FieldConfig[];
|
package/dist/table/index.mjs
CHANGED
|
@@ -120,7 +120,8 @@ function P(r) {
|
|
|
120
120
|
getCoreRowModel: _(),
|
|
121
121
|
getSortedRowModel: v(),
|
|
122
122
|
enableRowSelection: l.selectable,
|
|
123
|
-
getRowId: (e) => l.rowId(e)
|
|
123
|
+
getRowId: (e) => l.rowId(e),
|
|
124
|
+
defaultColumn: { enableSorting: !1 }
|
|
124
125
|
}), L = (e) => e === "__select__";
|
|
125
126
|
function R(r) {
|
|
126
127
|
return (() => {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vanstack/solid-ark",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.22",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
"vite-plugin-solid": "^2.11.0",
|
|
72
72
|
"vitest": "^4.1.10",
|
|
73
73
|
"zod": "^4.4.0",
|
|
74
|
-
"@vanstack/prettier-config": "0.0.1",
|
|
75
74
|
"@vanstack/eslint-config": "0.0.1",
|
|
75
|
+
"@vanstack/prettier-config": "0.0.1",
|
|
76
76
|
"@vanstack/tsconfig": "0.0.1",
|
|
77
77
|
"@vanstack/vite-config": "0.0.2"
|
|
78
78
|
},
|