@mijalowcode/materials 1.1.5 → 1.1.6
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/ListWrapper-XKFDOVLU.js +3 -0
- package/dist/ListWrapper-XKFDOVLU.js.map +1 -0
- package/dist/ProTableWrapper-SHKEQ3B3.js +5 -0
- package/dist/{ProTableWrapper-WWYUXBR3.js.map → ProTableWrapper-SHKEQ3B3.js.map} +1 -1
- package/dist/chunk-BNSJDDTL.js +44 -0
- package/dist/chunk-BNSJDDTL.js.map +1 -0
- package/dist/{chunk-TXHAJOMV.js → chunk-NGLCSHN6.js} +253 -33
- package/dist/chunk-NGLCSHN6.js.map +1 -0
- package/dist/{chunk-GXBBOWAK.js → chunk-WANSJ5GB.js} +70 -5
- package/dist/chunk-WANSJ5GB.js.map +1 -0
- package/dist/{chunk-WCGDUFTL.js → chunk-XBZFC7CE.js} +9 -5
- package/dist/chunk-XBZFC7CE.js.map +1 -0
- package/dist/index.d.ts +17 -2
- package/dist/index.js +12 -10
- package/dist/index.js.map +1 -1
- package/dist/meta-OHP3QZXL.js +3 -0
- package/dist/{meta-BSPZO2AJ.js.map → meta-OHP3QZXL.js.map} +1 -1
- package/dist/runtime.js +1 -1
- package/package.json +3 -3
- package/dist/ProTableWrapper-WWYUXBR3.js +0 -5
- package/dist/chunk-GXBBOWAK.js.map +0 -1
- package/dist/chunk-TXHAJOMV.js.map +0 -1
- package/dist/chunk-WCGDUFTL.js.map +0 -1
- package/dist/meta-BSPZO2AJ.js +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"ListWrapper-XKFDOVLU.js"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { buildProTableFormConfig, buildProTableQueryDelayDetail, buildProTableRequestParamsSummary, buildProTableSlotRuntimeContext, buildSearchInitialValuesFromStorageValue, ProTableWrapper_default as default, resolveProTableQueryActionName, shouldRecordProTableLongTask, unwrapSearchStorageValue } from './chunk-NGLCSHN6.js';
|
|
2
|
+
import './chunk-VNMO5V4F.js';
|
|
3
|
+
import './chunk-CTF6CVK3.js';
|
|
4
|
+
//# sourceMappingURL=ProTableWrapper-SHKEQ3B3.js.map
|
|
5
|
+
//# sourceMappingURL=ProTableWrapper-SHKEQ3B3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"ProTableWrapper-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"ProTableWrapper-SHKEQ3B3.js"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { List } from '@mijadesign/web';
|
|
2
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// src/antd/List/ListWrapper.tsx
|
|
5
|
+
function normalizeGap(value, fallback) {
|
|
6
|
+
return typeof value === "number" && Number.isFinite(value) ? value : fallback;
|
|
7
|
+
}
|
|
8
|
+
function buildFlexClassName(columnGap, rowGap) {
|
|
9
|
+
return `mija-list-flex-${columnGap}-${rowGap}`.replace(
|
|
10
|
+
/[^a-zA-Z0-9_-]/g,
|
|
11
|
+
"-"
|
|
12
|
+
);
|
|
13
|
+
}
|
|
14
|
+
function ListWrapper(props) {
|
|
15
|
+
const {
|
|
16
|
+
layoutMode = "grid",
|
|
17
|
+
flex,
|
|
18
|
+
grid: _grid,
|
|
19
|
+
className,
|
|
20
|
+
...restProps
|
|
21
|
+
} = props;
|
|
22
|
+
if (layoutMode !== "flex") {
|
|
23
|
+
return /* @__PURE__ */ jsx(List, { ...restProps, grid: _grid, className });
|
|
24
|
+
}
|
|
25
|
+
const columnGap = normalizeGap(flex?.columnGap, 16);
|
|
26
|
+
const rowGap = normalizeGap(flex?.rowGap, 16);
|
|
27
|
+
const flexClassName = buildFlexClassName(columnGap, rowGap);
|
|
28
|
+
const mergedClassName = [className, flexClassName].filter(Boolean).join(" ");
|
|
29
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
30
|
+
/* @__PURE__ */ jsx("style", { children: `
|
|
31
|
+
.ant-list-items {
|
|
32
|
+
display: flex;
|
|
33
|
+
flex-wrap: wrap;
|
|
34
|
+
column-gap: ${columnGap}px;
|
|
35
|
+
row-gap: ${rowGap}px;
|
|
36
|
+
}
|
|
37
|
+
` }),
|
|
38
|
+
/* @__PURE__ */ jsx(List, { ...restProps, className: mergedClassName })
|
|
39
|
+
] });
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export { ListWrapper };
|
|
43
|
+
//# sourceMappingURL=chunk-BNSJDDTL.js.map
|
|
44
|
+
//# sourceMappingURL=chunk-BNSJDDTL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/antd/List/ListWrapper.tsx"],"names":[],"mappings":";;;;AAiBA,SAAS,YAAA,CAAa,OAAgB,QAAA,EAA0B;AAC9D,EAAA,OAAO,OAAO,KAAA,KAAU,QAAA,IAAY,OAAO,QAAA,CAAS,KAAK,IAAI,KAAA,GAAQ,QAAA;AACvE;AAEA,SAAS,kBAAA,CAAmB,WAAmB,MAAA,EAAwB;AACrE,EAAA,OAAO,CAAA,eAAA,EAAkB,SAAS,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,CAAG,OAAA;AAAA,IAC7C,iBAAA;AAAA,IACA;AAAA,GACF;AACF;AAEe,SAAR,YAA6B,KAAA,EAAyB;AAC3D,EAAA,MAAM;AAAA,IACJ,UAAA,GAAa,MAAA;AAAA,IACb,IAAA;AAAA,IACA,IAAA,EAAM,KAAA;AAAA,IACN,SAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,KAAA;AACJ,EAAA,IAAI,eAAe,MAAA,EAAQ;AACzB,IAAA,2BAAQ,IAAA,EAAA,EAAM,GAAG,SAAA,EAAW,IAAA,EAAM,OAAO,SAAA,EAAsB,CAAA;AAAA,EACjE;AAEA,EAAA,MAAM,SAAA,GAAY,YAAA,CAAa,IAAA,EAAM,SAAA,EAAW,EAAE,CAAA;AAClD,EAAA,MAAM,MAAA,GAAS,YAAA,CAAa,IAAA,EAAM,MAAA,EAAQ,EAAE,CAAA;AAC5C,EAAA,MAAM,aAAA,GAAgB,kBAAA,CAAmB,SAAA,EAAW,MAAM,CAAA;AAC1D,EAAA,MAAM,eAAA,GAAkB,CAAC,SAAA,EAAW,aAAa,EAAE,MAAA,CAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA;AAE3E,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,OAAA,EAAA,EACE,QAAA,EAAA;AAAA;AAAA;AAAA;AAAA,wBAAA,EAIiB,SAAS,CAAA;AAAA,qBAAA,EACZ,MAAM,CAAA;AAAA;AAAA,QAAA,CAAA,EAGvB,CAAA;AAAA,oBACA,GAAA,CAAC,IAAA,EAAA,EAAM,GAAG,SAAA,EAAW,WAAW,eAAA,EAAiB;AAAA,GAAA,EACnD,CAAA;AAEJ","file":"chunk-BNSJDDTL.js","sourcesContent":["import { List } from \"@mijadesign/web\";\nimport type { CSSProperties } from \"react\";\n\ntype FlexConfig = {\n columnGap?: number;\n rowGap?: number;\n};\n\ntype ListWrapperProps = {\n layoutMode?: \"grid\" | \"flex\";\n flex?: FlexConfig;\n grid?: Record<string, unknown>;\n className?: string;\n style?: CSSProperties;\n [key: string]: unknown;\n};\n\nfunction normalizeGap(value: unknown, fallback: number): number {\n return typeof value === \"number\" && Number.isFinite(value) ? value : fallback;\n}\n\nfunction buildFlexClassName(columnGap: number, rowGap: number): string {\n return `mija-list-flex-${columnGap}-${rowGap}`.replace(\n /[^a-zA-Z0-9_-]/g,\n \"-\",\n );\n}\n\nexport default function ListWrapper(props: ListWrapperProps) {\n const {\n layoutMode = \"grid\",\n flex,\n grid: _grid,\n className,\n ...restProps\n } = props;\n if (layoutMode !== \"flex\") {\n return <List {...restProps} grid={_grid} className={className} />;\n }\n\n const columnGap = normalizeGap(flex?.columnGap, 16);\n const rowGap = normalizeGap(flex?.rowGap, 16);\n const flexClassName = buildFlexClassName(columnGap, rowGap);\n const mergedClassName = [className, flexClassName].filter(Boolean).join(\" \");\n\n return (\n <>\n <style>\n {`\n .ant-list-items {\n display: flex;\n flex-wrap: wrap;\n column-gap: ${columnGap}px;\n row-gap: ${rowGap}px;\n }\n `}\n </style>\n <List {...restProps} className={mergedClassName} />\n </>\n );\n}\n"]}
|
|
@@ -26,6 +26,62 @@ function hasTableRequestBinding(eventMap) {
|
|
|
26
26
|
}
|
|
27
27
|
return Array.isArray(current.actions) && current.actions.length > 0;
|
|
28
28
|
}
|
|
29
|
+
function isRuntimeDebugEnabled() {
|
|
30
|
+
if (typeof window === "undefined") return false;
|
|
31
|
+
return window.__LC_DEBUG_ENABLED__ === true;
|
|
32
|
+
}
|
|
33
|
+
function recordProTableDiagnostic(name, detail) {
|
|
34
|
+
if (typeof window === "undefined" || !isRuntimeDebugEnabled()) return;
|
|
35
|
+
if (!window.__LC_PERF_COUNTS__) {
|
|
36
|
+
window.__LC_PERF_COUNTS__ = {};
|
|
37
|
+
}
|
|
38
|
+
const eventName = String(name || "").trim();
|
|
39
|
+
if (!eventName) return;
|
|
40
|
+
const nextCount = Number(window.__LC_PERF_COUNTS__[eventName] || 0) + 1;
|
|
41
|
+
window.__LC_PERF_COUNTS__[eventName] = nextCount;
|
|
42
|
+
console.info("[LC PERF]", {
|
|
43
|
+
name: eventName,
|
|
44
|
+
count: nextCount,
|
|
45
|
+
detail
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function resolveProTableQueryActionName(text) {
|
|
49
|
+
const normalized = String(text || "").replace(/\s+/g, "");
|
|
50
|
+
if (normalized === "\u67E5\u8BE2") return "query";
|
|
51
|
+
if (normalized === "\u91CD\u7F6E") return "reset";
|
|
52
|
+
return void 0;
|
|
53
|
+
}
|
|
54
|
+
function buildProTableQueryDelayDetail(capturedAt, triggeredAt) {
|
|
55
|
+
return {
|
|
56
|
+
delayMs: Math.round(triggeredAt - capturedAt)
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
function getDiagnosticValueType(value) {
|
|
60
|
+
if (Array.isArray(value)) return `array(${value.length})`;
|
|
61
|
+
if (value === null) return "null";
|
|
62
|
+
return typeof value;
|
|
63
|
+
}
|
|
64
|
+
function buildProTableRequestParamsSummary(params) {
|
|
65
|
+
const keys = Object.keys(params || {});
|
|
66
|
+
return {
|
|
67
|
+
keys,
|
|
68
|
+
fieldTypes: keys.reduce((acc, key) => {
|
|
69
|
+
acc[key] = getDiagnosticValueType(params[key]);
|
|
70
|
+
return acc;
|
|
71
|
+
}, {})
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function shouldRecordProTableLongTask(duration) {
|
|
75
|
+
return Number(duration || 0) >= 50;
|
|
76
|
+
}
|
|
77
|
+
function getEventTargetButton(target) {
|
|
78
|
+
if (!target || typeof Element === "undefined") return null;
|
|
79
|
+
if (!(target instanceof Element)) return null;
|
|
80
|
+
return target.closest("button");
|
|
81
|
+
}
|
|
82
|
+
function getNowTime() {
|
|
83
|
+
return typeof performance !== "undefined" ? performance.now() : Date.now();
|
|
84
|
+
}
|
|
29
85
|
function buildTableRequestSortPayload(sort) {
|
|
30
86
|
const [sortField, sortOrder] = Object.entries(sort).find(([, value]) => {
|
|
31
87
|
return value === "ascend" || value === "descend";
|
|
@@ -245,12 +301,17 @@ function ProTableWrapper({
|
|
|
245
301
|
const componentNodeId = runtime?.nodeId || __nodeId;
|
|
246
302
|
const registerCapabilities = runtime?.registerComponentCapabilities || __registerCapabilities;
|
|
247
303
|
const tableContainerRef = useRef(null);
|
|
304
|
+
const lastQueryActionRef = useRef(null);
|
|
305
|
+
const lastFormSubmitRef = useRef(null);
|
|
306
|
+
const longTaskObserverRef = useRef(null);
|
|
248
307
|
const [searchAreaHeight, setSearchAreaHeight] = useState(0);
|
|
249
308
|
const [viewportHeight, setViewportHeight] = useState(
|
|
250
309
|
typeof window !== "undefined" ? window.innerHeight : 900
|
|
251
310
|
);
|
|
252
311
|
const [tablePageSize, setTablePageSize] = useState(pageSize);
|
|
253
312
|
const emitEvent = useEventEmitter(onEvent);
|
|
313
|
+
const emitEventRef = useRef(emitEvent);
|
|
314
|
+
emitEventRef.current = emitEvent;
|
|
254
315
|
useEffect(() => {
|
|
255
316
|
setTablePageSize(pageSize);
|
|
256
317
|
}, [pageSize]);
|
|
@@ -349,19 +410,44 @@ function ProTableWrapper({
|
|
|
349
410
|
);
|
|
350
411
|
const request = useCallback(
|
|
351
412
|
async (params, sort, filter) => {
|
|
352
|
-
const
|
|
413
|
+
const startedAt = typeof performance !== "undefined" ? performance.now() : Date.now();
|
|
414
|
+
const lastQueryAction = lastQueryActionRef.current;
|
|
415
|
+
recordProTableDiagnostic("protable.request.start", {
|
|
416
|
+
nodeId: componentNodeId,
|
|
417
|
+
paramsSummary: buildProTableRequestParamsSummary(params),
|
|
418
|
+
sortSummary: buildProTableRequestParamsSummary(sort),
|
|
419
|
+
filterSummary: buildProTableRequestParamsSummary(filter),
|
|
420
|
+
previousAction: lastQueryAction ? {
|
|
421
|
+
actionName: lastQueryAction.actionName,
|
|
422
|
+
source: lastQueryAction.source,
|
|
423
|
+
delayMs: Math.round(startedAt - lastQueryAction.capturedAt)
|
|
424
|
+
} : void 0,
|
|
425
|
+
previousSubmit: lastFormSubmitRef.current ? {
|
|
426
|
+
source: lastFormSubmitRef.current.source,
|
|
427
|
+
delayMs: Math.round(
|
|
428
|
+
startedAt - lastFormSubmitRef.current.capturedAt
|
|
429
|
+
)
|
|
430
|
+
} : void 0
|
|
431
|
+
});
|
|
432
|
+
const result = await emitEventRef.current("table.request", {
|
|
353
433
|
...params,
|
|
354
434
|
...buildTableRequestSortPayload(sort),
|
|
355
435
|
...filter
|
|
356
436
|
});
|
|
357
|
-
|
|
358
|
-
return {
|
|
437
|
+
const finalResult = result || {
|
|
359
438
|
data: [],
|
|
360
439
|
success: true,
|
|
361
440
|
total: 0
|
|
362
441
|
};
|
|
442
|
+
const endedAt = typeof performance !== "undefined" ? performance.now() : Date.now();
|
|
443
|
+
recordProTableDiagnostic("protable.request.done", {
|
|
444
|
+
nodeId: componentNodeId,
|
|
445
|
+
durationMs: Math.round(endedAt - startedAt),
|
|
446
|
+
hasResult: Boolean(result)
|
|
447
|
+
});
|
|
448
|
+
return finalResult;
|
|
363
449
|
},
|
|
364
|
-
[
|
|
450
|
+
[componentNodeId]
|
|
365
451
|
);
|
|
366
452
|
const emitPaginationChange = useCallback(
|
|
367
453
|
(current, size2) => {
|
|
@@ -415,6 +501,131 @@ function ProTableWrapper({
|
|
|
415
501
|
},
|
|
416
502
|
[emitEvent]
|
|
417
503
|
);
|
|
504
|
+
const recordQueryAction = useCallback(
|
|
505
|
+
(actionName, source, detail) => {
|
|
506
|
+
const capturedAt = getNowTime();
|
|
507
|
+
lastQueryActionRef.current = {
|
|
508
|
+
actionName,
|
|
509
|
+
capturedAt,
|
|
510
|
+
source
|
|
511
|
+
};
|
|
512
|
+
recordProTableDiagnostic("protable.query.action", {
|
|
513
|
+
nodeId: componentNodeId,
|
|
514
|
+
actionName,
|
|
515
|
+
source,
|
|
516
|
+
...detail
|
|
517
|
+
});
|
|
518
|
+
if (isRuntimeDebugEnabled() && typeof PerformanceObserver !== "undefined") {
|
|
519
|
+
longTaskObserverRef.current?.disconnect();
|
|
520
|
+
try {
|
|
521
|
+
const observer = new PerformanceObserver((list) => {
|
|
522
|
+
list.getEntries().forEach((entry) => {
|
|
523
|
+
if (!shouldRecordProTableLongTask(entry.duration)) return;
|
|
524
|
+
recordProTableDiagnostic("protable.query.longtask", {
|
|
525
|
+
nodeId: componentNodeId,
|
|
526
|
+
actionName,
|
|
527
|
+
source,
|
|
528
|
+
startDelayMs: Math.round(entry.startTime - capturedAt),
|
|
529
|
+
durationMs: Math.round(entry.duration),
|
|
530
|
+
entryType: entry.entryType,
|
|
531
|
+
name: entry.name
|
|
532
|
+
});
|
|
533
|
+
});
|
|
534
|
+
});
|
|
535
|
+
observer.observe({ entryTypes: ["longtask"] });
|
|
536
|
+
longTaskObserverRef.current = observer;
|
|
537
|
+
window.setTimeout(() => {
|
|
538
|
+
observer.disconnect();
|
|
539
|
+
if (longTaskObserverRef.current === observer) {
|
|
540
|
+
longTaskObserverRef.current = null;
|
|
541
|
+
}
|
|
542
|
+
}, 8e3);
|
|
543
|
+
} catch {
|
|
544
|
+
longTaskObserverRef.current = null;
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
Promise.resolve().then(() => {
|
|
548
|
+
recordProTableDiagnostic("protable.query.microtask", {
|
|
549
|
+
nodeId: componentNodeId,
|
|
550
|
+
actionName,
|
|
551
|
+
source,
|
|
552
|
+
...buildProTableQueryDelayDetail(capturedAt, getNowTime())
|
|
553
|
+
});
|
|
554
|
+
});
|
|
555
|
+
window.setTimeout(() => {
|
|
556
|
+
recordProTableDiagnostic("protable.query.timeout", {
|
|
557
|
+
nodeId: componentNodeId,
|
|
558
|
+
actionName,
|
|
559
|
+
source,
|
|
560
|
+
...buildProTableQueryDelayDetail(capturedAt, getNowTime())
|
|
561
|
+
});
|
|
562
|
+
}, 0);
|
|
563
|
+
if (typeof window.requestAnimationFrame === "function") {
|
|
564
|
+
window.requestAnimationFrame(() => {
|
|
565
|
+
recordProTableDiagnostic("protable.query.raf", {
|
|
566
|
+
nodeId: componentNodeId,
|
|
567
|
+
actionName,
|
|
568
|
+
source,
|
|
569
|
+
...buildProTableQueryDelayDetail(capturedAt, getNowTime())
|
|
570
|
+
});
|
|
571
|
+
});
|
|
572
|
+
}
|
|
573
|
+
},
|
|
574
|
+
[componentNodeId]
|
|
575
|
+
);
|
|
576
|
+
const handleTableClickCapture = useCallback(
|
|
577
|
+
(event) => {
|
|
578
|
+
const button = getEventTargetButton(event.target);
|
|
579
|
+
if (!button) return;
|
|
580
|
+
const actionName = resolveProTableQueryActionName(
|
|
581
|
+
button.textContent || ""
|
|
582
|
+
);
|
|
583
|
+
if (!actionName) return;
|
|
584
|
+
recordQueryAction(actionName, "click", {
|
|
585
|
+
buttonText: button.textContent || ""
|
|
586
|
+
});
|
|
587
|
+
},
|
|
588
|
+
[recordQueryAction]
|
|
589
|
+
);
|
|
590
|
+
const handleTableSubmitCapture = useCallback(
|
|
591
|
+
(event) => {
|
|
592
|
+
const target = event.target;
|
|
593
|
+
if (typeof HTMLElement === "undefined") return;
|
|
594
|
+
if (!(target instanceof HTMLElement)) return;
|
|
595
|
+
const isSearchForm = Boolean(target.closest(".ant-pro-table-search"));
|
|
596
|
+
if (!isSearchForm) return;
|
|
597
|
+
const capturedAt = getNowTime();
|
|
598
|
+
lastFormSubmitRef.current = {
|
|
599
|
+
capturedAt,
|
|
600
|
+
source: "submit"
|
|
601
|
+
};
|
|
602
|
+
recordProTableDiagnostic("protable.form.submit", {
|
|
603
|
+
nodeId: componentNodeId,
|
|
604
|
+
previousAction: lastQueryActionRef.current ? {
|
|
605
|
+
actionName: lastQueryActionRef.current.actionName,
|
|
606
|
+
source: lastQueryActionRef.current.source,
|
|
607
|
+
delayMs: Math.round(
|
|
608
|
+
capturedAt - lastQueryActionRef.current.capturedAt
|
|
609
|
+
)
|
|
610
|
+
} : void 0
|
|
611
|
+
});
|
|
612
|
+
},
|
|
613
|
+
[componentNodeId]
|
|
614
|
+
);
|
|
615
|
+
const handleTableKeyDownCapture = useCallback(
|
|
616
|
+
(event) => {
|
|
617
|
+
if (event.key !== "Enter") return;
|
|
618
|
+
const target = event.target;
|
|
619
|
+
if (typeof HTMLElement === "undefined") return;
|
|
620
|
+
if (!(target instanceof HTMLElement)) return;
|
|
621
|
+
const isSearchArea = Boolean(target.closest(".ant-pro-table-search"));
|
|
622
|
+
if (!isSearchArea) return;
|
|
623
|
+
recordQueryAction("enter", "keydown", {
|
|
624
|
+
targetTag: target.tagName.toLowerCase()
|
|
625
|
+
});
|
|
626
|
+
},
|
|
627
|
+
[recordQueryAction]
|
|
628
|
+
);
|
|
418
629
|
const tableScroll = useMemo(
|
|
419
630
|
() => scrollX || finalScrollY ? { x: scrollX, y: finalScrollY } : void 0,
|
|
420
631
|
[scrollX, finalScrollY]
|
|
@@ -455,37 +666,46 @@ function ProTableWrapper({
|
|
|
455
666
|
() => buildProTableFormConfig(searchInitialValues),
|
|
456
667
|
[searchInitialValues]
|
|
457
668
|
);
|
|
458
|
-
return /* @__PURE__ */ jsx(
|
|
459
|
-
|
|
669
|
+
return /* @__PURE__ */ jsx(
|
|
670
|
+
"div",
|
|
460
671
|
{
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
672
|
+
ref: tableContainerRef,
|
|
673
|
+
onClickCapture: handleTableClickCapture,
|
|
674
|
+
onKeyDownCapture: handleTableKeyDownCapture,
|
|
675
|
+
onSubmitCapture: handleTableSubmitCapture,
|
|
676
|
+
children: /* @__PURE__ */ jsx(
|
|
677
|
+
ProTable,
|
|
678
|
+
{
|
|
679
|
+
actionRef,
|
|
680
|
+
columns: proColumns,
|
|
681
|
+
request: hasRequestBinding ? request : void 0,
|
|
682
|
+
dataSource: hasRequestBinding ? void 0 : tableDataSource,
|
|
683
|
+
rowKey,
|
|
684
|
+
headerTitle,
|
|
685
|
+
size,
|
|
686
|
+
tableStyle: {
|
|
687
|
+
padding: toolbarNodes || !searchConfig ? 0 : 24
|
|
688
|
+
},
|
|
689
|
+
bordered,
|
|
690
|
+
showHeader,
|
|
691
|
+
search: searchConfig,
|
|
692
|
+
form: formConfig,
|
|
693
|
+
options: false,
|
|
694
|
+
dateFormatter: "string",
|
|
695
|
+
toolBarRender: toolbarNodes ? () => toolbarNodes : void 0,
|
|
696
|
+
pagination: paginationConfig,
|
|
697
|
+
onRow: (record) => ({
|
|
698
|
+
onClick: () => handleRowClick(record)
|
|
699
|
+
}),
|
|
700
|
+
scroll: tableScroll,
|
|
701
|
+
style
|
|
702
|
+
}
|
|
703
|
+
)
|
|
484
704
|
}
|
|
485
|
-
)
|
|
705
|
+
);
|
|
486
706
|
}
|
|
487
707
|
var ProTableWrapper_default = ProTableWrapper;
|
|
488
708
|
|
|
489
|
-
export { ProTableWrapper_default, buildProTableFormConfig, buildProTableSlotRuntimeContext, buildSearchInitialValuesFromStorageValue, unwrapSearchStorageValue };
|
|
490
|
-
//# sourceMappingURL=chunk-
|
|
491
|
-
//# sourceMappingURL=chunk-
|
|
709
|
+
export { ProTableWrapper_default, buildProTableFormConfig, buildProTableQueryDelayDetail, buildProTableRequestParamsSummary, buildProTableSlotRuntimeContext, buildSearchInitialValuesFromStorageValue, resolveProTableQueryActionName, shouldRecordProTableLongTask, unwrapSearchStorageValue };
|
|
710
|
+
//# sourceMappingURL=chunk-NGLCSHN6.js.map
|
|
711
|
+
//# sourceMappingURL=chunk-NGLCSHN6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/antdPro/ProTable/data-source.ts","../src/antdPro/ProTable/ProTableWrapper.tsx"],"names":["size","AntdProTable"],"mappings":"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","file":"chunk-NGLCSHN6.js","sourcesContent":["export type TableRowRecord = Record<string, unknown>;\n\nexport function normalizeProTableDataSource(\n dataSource: unknown,\n): TableRowRecord[] {\n return Array.isArray(dataSource)\n ? dataSource.filter(\n (item): item is TableRowRecord =>\n Boolean(item) && typeof item === \"object\" && !Array.isArray(item),\n )\n : [];\n}\n\nexport function hasTableRequestBinding(\n eventMap: Record<string, unknown> | undefined,\n): boolean {\n const binding = eventMap?.[\"table.request\"];\n if (!binding || typeof binding !== \"object\" || Array.isArray(binding)) {\n return false;\n }\n const current = binding as {\n enabled?: unknown;\n handlerName?: unknown;\n handlerCode?: unknown;\n actions?: unknown;\n };\n if (current.enabled === false) return false;\n if (typeof current.handlerName === \"string\" && current.handlerName.trim()) {\n return true;\n }\n if (typeof current.handlerCode === \"string\" && current.handlerCode.trim()) {\n return true;\n }\n return Array.isArray(current.actions) && current.actions.length > 0;\n}\n","import {\r\n useCallback,\r\n useRef,\r\n useState,\r\n useEffect,\r\n useMemo,\r\n type ReactNode,\r\n type ComponentProps,\r\n} from \"react\";\r\nimport { ProTable as AntdProTable } from \"@ant-design/pro-components\";\r\nimport type { ProColumns, ActionType } from \"@ant-design/pro-components\";\r\nimport type { TableColumnConfig, FieldPropsConfig } from \"@mijalowcode/types\";\r\nimport { useSlotRuntime, type SlotArea } from \"../../slot-runtime\";\r\nimport { useEventEmitter, type EventEmitter } from \"../../event-runtime\";\r\nimport * as AntdIcons from \"@ant-design/icons\";\r\nimport {\r\n hasTableRequestBinding,\r\n normalizeProTableDataSource,\r\n} from \"./data-source\";\r\n\r\ntype TableRequestResult = {\n data: Record<string, unknown>[];\n success: boolean;\n total: number;\n};\n\ndeclare global {\n interface Window {\n __LC_DEBUG_ENABLED__?: boolean;\n __LC_PERF_COUNTS__?: Record<string, number>;\n }\n}\n\r\ntype RegisterCapabilities = (\r\n componentId: string,\r\n capabilities: Record<string, (...args: unknown[]) => unknown>,\r\n) => () => void;\r\n\r\ntype MaterialRuntime = {\r\n nodeId: string;\r\n context?: Record<string, unknown>;\r\n registerComponentCapabilities?: RegisterCapabilities;\r\n};\r\n\r\ninterface ProTableWrapperProps {\r\n columns?: TableColumnConfig[];\r\n dataSource?: unknown;\r\n type?: \"\" | \"form\" | \"list\" | \"descriptions\" | \"table\" | \"cardList\";\r\n rowKey?: string;\r\n headerTitle?: string;\r\n size?: \"large\" | \"middle\" | \"small\";\r\n bordered?: boolean;\r\n showHeader?: boolean;\r\n search?: boolean;\r\n searchInitialValuesSource?: \"none\" | \"storage\";\r\n searchInitialValuesStorageType?: \"sessionStorage\" | \"localStorage\";\r\n searchInitialValuesStorageKey?: string;\r\n searchInitialValuesMappings?: SearchInitialValuesStorageMapping[];\r\n clearSearchInitialValuesAfterUse?: boolean;\r\n rowSelectionEnabled?: boolean;\r\n rowSelectionType?: \"checkbox\" | \"radio\";\r\n paginationEnabled?: boolean;\r\n pageSize?: number;\r\n showSizeChanger?: boolean;\r\n showQuickJumper?: boolean;\r\n scrollX?: number;\r\n scrollY?: number;\r\n autoHeight?: boolean;\r\n autoHeightOffset?: number;\r\n autoHeightMinY?: number;\r\n style?: React.CSSProperties;\r\n onEvent?: EventEmitter;\r\n renderSlot?: (\r\n slotName: string,\r\n payload?: Record<string, unknown>,\r\n ) => ReactNode;\r\n children?: ReactNode;\r\n toolbarSlotName?: string;\r\n runtime?: MaterialRuntime;\r\n __nodeId?: string;\r\n __registerCapabilities?: RegisterCapabilities;\r\n __events?: Record<string, unknown>;\r\n}\r\n\r\ntype ProTableSearchProp = ComponentProps<typeof AntdProTable>[\"search\"];\n\nfunction isRuntimeDebugEnabled() {\n if (typeof window === \"undefined\") return false;\n return window.__LC_DEBUG_ENABLED__ === true;\n}\n\nfunction recordProTableDiagnostic(\n name: string,\n detail?: Record<string, unknown>,\n) {\n if (typeof window === \"undefined\" || !isRuntimeDebugEnabled()) return;\n if (!window.__LC_PERF_COUNTS__) {\n window.__LC_PERF_COUNTS__ = {};\n }\n const eventName = String(name || \"\").trim();\n if (!eventName) return;\n const nextCount = Number(window.__LC_PERF_COUNTS__[eventName] || 0) + 1;\n window.__LC_PERF_COUNTS__[eventName] = nextCount;\n console.info(\"[LC PERF]\", {\n name: eventName,\n count: nextCount,\n detail,\n });\n}\n\nexport function resolveProTableQueryActionName(\n text: string,\n): \"query\" | \"reset\" | undefined {\n const normalized = String(text || \"\").replace(/\\s+/g, \"\");\n if (normalized === \"查询\") return \"query\";\n if (normalized === \"重置\") return \"reset\";\n return undefined;\n}\n\nexport function buildProTableQueryDelayDetail(\n capturedAt: number,\n triggeredAt: number,\n) {\n return {\n delayMs: Math.round(triggeredAt - capturedAt),\n };\n}\n\nfunction getDiagnosticValueType(value: unknown): string {\n if (Array.isArray(value)) return `array(${value.length})`;\n if (value === null) return \"null\";\n return typeof value;\n}\n\nexport function buildProTableRequestParamsSummary(\n params: Record<string, unknown>,\n) {\n const keys = Object.keys(params || {});\n return {\n keys,\n fieldTypes: keys.reduce<Record<string, string>>((acc, key) => {\n acc[key] = getDiagnosticValueType(params[key]);\n return acc;\n }, {}),\n };\n}\n\nexport function shouldRecordProTableLongTask(duration: number) {\n return Number(duration || 0) >= 50;\n}\n\nfunction getEventTargetButton(target: EventTarget | null): HTMLElement | null {\n if (!target || typeof Element === \"undefined\") return null;\n if (!(target instanceof Element)) return null;\n return target.closest(\"button\");\n}\n\nfunction getNowTime() {\n return typeof performance !== \"undefined\" ? performance.now() : Date.now();\n}\n\r\nfunction buildTableRequestSortPayload(sort: Record<string, unknown>) {\r\n const [sortField, sortOrder] = Object.entries(sort).find(([, value]) => {\r\n return value === \"ascend\" || value === \"descend\";\r\n }) || [undefined, undefined];\r\n\r\n if (!sortField || typeof sortOrder !== \"string\") return {};\r\n\r\n return {\r\n sortField,\r\n sortMode: sortOrder === \"ascend\" ? \"ASC\" : \"DESC\",\r\n };\r\n}\r\n\r\nfunction isBindValue(value: unknown): value is {\r\n __bind: {\r\n fallback?: unknown;\r\n };\r\n} {\r\n return (\r\n Boolean(value) &&\r\n typeof value === \"object\" &&\r\n !Array.isArray(value) &&\r\n typeof (value as Record<string, unknown>).__bind === \"object\"\r\n );\r\n}\r\n\r\nfunction renderFieldPropsPrefixSuffix(\r\n fieldProps: FieldPropsConfig | undefined,\r\n) {\r\n if (!fieldProps) return undefined;\r\n\r\n const result: FieldPropsConfig = { ...fieldProps };\r\n\r\n if (fieldProps.prefixType === \"icon\" && fieldProps.prefixIcon) {\r\n const icons = AntdIcons as unknown as Record<\r\n string,\r\n React.ComponentType<unknown>\r\n >;\r\n const IconComponent = icons[fieldProps.prefixIcon];\r\n result.prefix = IconComponent ? <IconComponent /> : undefined;\r\n } else if (fieldProps.prefixText) {\r\n result.prefix = fieldProps.prefixText as React.ReactNode;\r\n }\r\n\r\n if (fieldProps.suffixType === \"icon\" && fieldProps.suffixIcon) {\r\n const icons = AntdIcons as unknown as Record<\r\n string,\r\n React.ComponentType<unknown>\r\n >;\r\n const IconComponent = icons[fieldProps.suffixIcon];\r\n result.suffix = IconComponent ? <IconComponent /> : undefined;\r\n } else if (fieldProps.suffixText) {\r\n result.suffix = fieldProps.suffixText as React.ReactNode;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction resolveColumnValueEnum(\r\n col: TableColumnConfig,\r\n): ProColumns[\"valueEnum\"] {\r\n if (isBindValue(col.valueEnum)) {\r\n return col.valueEnum.__bind.fallback as ProColumns[\"valueEnum\"];\r\n }\r\n return col.valueEnum as ProColumns[\"valueEnum\"];\r\n}\r\n\r\nfunction resolveColumnSlotAreaNames(col: TableColumnConfig) {\r\n const areaNames: string[] = [];\r\n const columnId = String(col.columnId || \"\").trim();\r\n if (columnId) {\r\n areaNames.push(`columnId:${columnId}`);\r\n }\r\n return areaNames;\r\n}\r\n\r\ntype SearchInitialValuesStorageMapping = {\r\n target?: string;\r\n from?: string;\r\n defaultValue?: unknown;\r\n};\r\n\r\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\r\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\r\n}\r\n\r\nfunction getValueByPath(value: unknown, pathText: string) {\r\n const parts = String(pathText || \"\")\r\n .split(\".\")\r\n .map((part) => part.trim())\r\n .filter(Boolean);\r\n return parts.reduce<unknown>((current, part) => {\r\n if (!current || typeof current !== \"object\") return undefined;\r\n return (current as Record<string, unknown>)[part];\r\n }, value);\r\n}\r\n\r\nfunction getBrowserStorage(storageType: \"sessionStorage\" | \"localStorage\") {\r\n if (typeof window === \"undefined\") return null;\r\n return storageType === \"localStorage\"\r\n ? window.localStorage\r\n : window.sessionStorage;\r\n}\r\n\r\nexport function unwrapSearchStorageValue(value: unknown, now = Date.now()) {\r\n if (!isPlainObject(value) || value.__mijalowcodeStorage !== true) {\r\n return value;\r\n }\r\n const expiresAt = Number(value.expiresAt || 0);\r\n if (expiresAt > 0 && expiresAt <= now) return undefined;\r\n return value.value;\r\n}\r\n\r\nexport function buildSearchInitialValuesFromStorageValue(\n storageValue: unknown,\n mappings: SearchInitialValuesStorageMapping[] = [],\n) {\n if (!isPlainObject(storageValue)) return {};\r\n if (!Array.isArray(mappings) || mappings.length === 0) {\r\n return { ...storageValue };\r\n }\r\n return mappings.reduce<Record<string, unknown>>((acc, mapping) => {\r\n const target = String(mapping.target || \"\").trim();\r\n if (!target) return acc;\r\n const from = String(mapping.from || target).trim();\r\n const value = from ? getValueByPath(storageValue, from) : undefined;\r\n acc[target] = value === undefined ? mapping.defaultValue : value;\r\n return acc;\r\n }, {});\n}\n\nexport function buildProTableFormConfig(\n searchInitialValues: Record<string, unknown>,\n) {\n if (Object.keys(searchInitialValues).length === 0) return undefined;\n return {\n initialValues: searchInitialValues,\n };\n}\n\nexport function buildProTableSlotRuntimeContext(\n runtimeContext: Record<string, unknown> | undefined,\n slotRuntimeContext: Record<string, unknown>,\n): Record<string, unknown> {\r\n const baseData = isPlainObject(runtimeContext?.data)\r\n ? (runtimeContext.data as Record<string, unknown>)\r\n : {};\r\n const slotData = isPlainObject(slotRuntimeContext.data)\r\n ? (slotRuntimeContext.data as Record<string, unknown>)\r\n : {};\r\n\r\n return {\r\n ...(runtimeContext || {}),\r\n ...slotRuntimeContext,\r\n data: {\r\n ...baseData,\r\n ...slotData,\r\n },\r\n };\r\n}\r\n\r\n// 将低代码列配置转换为 ProTable 列配置,并按约定挂载列级插槽渲染\r\nfunction convertColumns(\r\n columns: TableColumnConfig[] = [],\r\n getAreaNodes?: (\r\n areaName: string,\r\n payload?: Record<string, unknown>,\r\n ) => ReactNode[] | undefined,\r\n areaMap: Record<string, ReactNode[]> = {},\r\n hasExternalRenderSlot = false,\r\n runtimeContext?: Record<string, unknown>,\r\n): ProColumns[] {\r\n return columns.map((col) => {\r\n const extendedCol = col as TableColumnConfig & {\r\n slotName?: string;\r\n request?: ProColumns[\"request\"];\r\n };\r\n const areaNames = resolveColumnSlotAreaNames(col);\r\n const hasSchemaSlot = areaNames.some(\r\n (areaName) => areaMap[areaName]?.length,\r\n );\r\n\r\n const proColumn: ProColumns = {\r\n key: col.key || col.dataIndex,\r\n title: col.title,\r\n dataIndex: col.dataIndex,\r\n width: col.width,\r\n align: col.align,\r\n fixed: col.fixed || undefined,\r\n ellipsis: col.ellipsis,\r\n copyable: col.copyable,\r\n sorter: col.sorter,\r\n valueType: col.valueType as any,\r\n valueEnum: resolveColumnValueEnum(col),\r\n request: extendedCol.request,\r\n hideInSearch: col.hideInSearch,\r\n hideInTable: col.hideInTable,\r\n formItemProps: col.formItemProps,\r\n fieldProps: renderFieldPropsPrefixSuffix(col.fieldProps) as any,\r\n };\r\n\r\n if (!areaNames.length || (!hasExternalRenderSlot && !hasSchemaSlot)) {\r\n return proColumn;\r\n }\r\n\r\n proColumn.render = (_, record: Record<string, unknown>, index: number) => {\r\n const rawValue = record[col.dataIndex];\r\n const valueEnum = resolveColumnValueEnum(col) as\r\n | Record<string, { text?: unknown; status?: unknown }>\r\n | undefined;\r\n const enumMatch =\r\n valueEnum && rawValue !== undefined && rawValue !== null\r\n ? valueEnum[String(rawValue)]\r\n : undefined;\r\n const slotPayload = {\r\n record,\r\n index,\r\n column: col,\r\n value: rawValue,\r\n valueEnum,\r\n valueEnumItem: enumMatch,\r\n enumText: enumMatch?.text,\r\n enumStatus: enumMatch?.status,\r\n };\r\n const slotNodes = areaNames.reduce<ReactNode[] | undefined>(\r\n (matchedNodes, areaName) => {\r\n if (matchedNodes !== undefined) {\r\n return matchedNodes;\r\n }\r\n const slotRuntimeContext = buildProTableSlotRuntimeContext(\r\n runtimeContext,\r\n {\r\n scope: \"table.cell\",\r\n area: areaName,\r\n container: {\r\n type: \"table\",\r\n area: areaName,\r\n index,\r\n column: col,\r\n record,\r\n },\r\n data: {\r\n ...slotPayload,\r\n rawValue: rawValue,\r\n displayValue:\r\n enumMatch?.text !== undefined && enumMatch?.text !== null\r\n ? enumMatch.text\r\n : rawValue,\r\n status: enumMatch?.status,\r\n },\r\n },\r\n );\r\n return getAreaNodes?.(areaName, {\r\n ...slotPayload,\r\n runtimeContext: slotRuntimeContext,\r\n });\r\n },\r\n undefined,\r\n );\r\n if (slotNodes !== undefined) {\r\n return slotNodes.length === 1 ? slotNodes[0] : slotNodes;\r\n }\r\n return String(record[col.dataIndex] ?? \"\");\r\n };\r\n\r\n return proColumn;\r\n });\r\n}\r\n\r\nfunction ProTableWrapper({\r\n columns = [],\r\n dataSource = [],\r\n rowKey = \"key\",\r\n headerTitle,\r\n size = \"middle\",\r\n bordered = false,\r\n showHeader = true,\r\n search = true,\r\n searchInitialValuesSource = \"none\",\r\n searchInitialValuesStorageType = \"sessionStorage\",\r\n searchInitialValuesStorageKey,\r\n searchInitialValuesMappings = [],\r\n clearSearchInitialValuesAfterUse = true,\r\n paginationEnabled = true,\r\n pageSize = 10,\r\n showSizeChanger = true,\r\n showQuickJumper = false,\r\n scrollX,\r\n scrollY,\r\n autoHeight = true,\r\n autoHeightOffset = 0,\r\n autoHeightMinY = 240,\r\n style,\r\n onEvent,\r\n renderSlot,\r\n children,\r\n toolbarSlotName = \"toolbar\",\r\n runtime,\r\n __nodeId,\r\n __registerCapabilities,\r\n __events,\r\n}: ProTableWrapperProps) {\r\n const actionRef = useRef<ActionType>();\r\n const componentNodeId = runtime?.nodeId || __nodeId;\r\n const registerCapabilities =\r\n runtime?.registerComponentCapabilities || __registerCapabilities;\r\n\r\n const tableContainerRef = useRef<HTMLDivElement>(null);\n const lastQueryActionRef = useRef<{\n actionName: \"query\" | \"reset\" | \"enter\";\n capturedAt: number;\n source: string;\n } | null>(null);\n const lastFormSubmitRef = useRef<{\n capturedAt: number;\n source: string;\n } | null>(null);\n const longTaskObserverRef = useRef<PerformanceObserver | null>(null);\n const [searchAreaHeight, setSearchAreaHeight] = useState(0);\r\n const [viewportHeight, setViewportHeight] = useState(\r\n typeof window !== \"undefined\" ? window.innerHeight : 900,\r\n );\r\n const [tablePageSize, setTablePageSize] = useState(pageSize);\n const emitEvent = useEventEmitter(onEvent);\n const emitEventRef = useRef(emitEvent);\n emitEventRef.current = emitEvent;\n\r\n useEffect(() => {\r\n setTablePageSize(pageSize);\r\n }, [pageSize]);\r\n\r\n useEffect(() => {\r\n if (!componentNodeId || !registerCapabilities) return;\r\n return registerCapabilities(componentNodeId, {\r\n reload: () => actionRef.current?.reload?.(),\r\n reloadAndRest: () => actionRef.current?.reloadAndRest?.(),\r\n reset: () => actionRef.current?.reset?.(),\r\n clearSelected: () => actionRef.current?.clearSelected?.(),\r\n });\r\n }, [componentNodeId, registerCapabilities]);\r\n\r\n const slotAreas = useMemo<SlotArea[]>(() => {\r\n const areaSet = new Set<string>([toolbarSlotName]);\r\n columns.forEach((col) => {\r\n resolveColumnSlotAreaNames(col).forEach((areaName) => {\r\n areaSet.add(areaName);\r\n });\r\n });\r\n return Array.from(areaSet).map((name) => ({ name }));\r\n }, [columns, toolbarSlotName]);\r\n const runtimeContext = runtime?.context;\r\n\r\n const { getAreaNodes, areaMap } = useSlotRuntime({\r\n renderSlot,\r\n children,\r\n areas: slotAreas,\r\n context: runtimeContext ? { runtimeContext } : undefined,\r\n });\r\n\r\n const proColumns = useMemo(\r\n () =>\r\n convertColumns(\r\n columns,\r\n getAreaNodes,\r\n areaMap,\r\n Boolean(renderSlot),\r\n runtimeContext,\r\n ),\r\n [columns, getAreaNodes, areaMap, renderSlot, runtimeContext],\r\n );\r\n\r\n const toolbarNodes = useMemo(() => {\r\n return getAreaNodes(toolbarSlotName, { actionRef: actionRef.current });\r\n }, [getAreaNodes, toolbarSlotName, actionRef]);\r\n\r\n // 统一获取搜索区节点,用于计算自动高度\r\n const getSearchNode = useCallback(() => {\r\n const container = tableContainerRef.current;\r\n if (!container) return null;\r\n return container.querySelector(\r\n \".ant-pro-table-search\",\r\n ) as HTMLElement | null;\r\n }, []);\r\n\r\n // 同步视口高度与搜索区高度,供表格滚动区高度计算使用\r\n const updateAutoHeightMetrics = useCallback(() => {\r\n setViewportHeight(window.innerHeight);\r\n const searchNode = getSearchNode();\r\n const next = searchNode\r\n ? Math.ceil(searchNode.getBoundingClientRect().height)\r\n : 0;\r\n setSearchAreaHeight(next);\r\n }, [getSearchNode]);\r\n\r\n // autoHeight 开启时监听窗口与搜索区尺寸变化;关闭时清空搜索区高度\r\n useEffect(() => {\r\n if (!autoHeight) {\r\n setSearchAreaHeight(0);\r\n return;\r\n }\r\n\r\n updateAutoHeightMetrics();\r\n\r\n const searchNode = getSearchNode();\r\n const resizeObserver =\r\n searchNode && typeof ResizeObserver !== \"undefined\"\r\n ? new ResizeObserver(updateAutoHeightMetrics)\r\n : null;\r\n\r\n if (resizeObserver && searchNode) {\r\n resizeObserver.observe(searchNode);\r\n }\r\n\r\n window.addEventListener(\"resize\", updateAutoHeightMetrics);\r\n\r\n return () => {\r\n if (resizeObserver) resizeObserver.disconnect();\r\n window.removeEventListener(\"resize\", updateAutoHeightMetrics);\r\n };\r\n }, [autoHeight, search, getSearchNode, updateAutoHeightMetrics]);\r\n\r\n const finalScrollY = useMemo(() => {\r\n if (!autoHeight) return scrollY;\r\n const headerOffset = 47;\r\n const paginationOffset = paginationEnabled ? 40 : 0;\r\n const toolbarOffset = toolbarNodes && toolbarNodes.length > 0 ? 64 : 0;\r\n const dynamic =\r\n viewportHeight -\r\n searchAreaHeight -\r\n autoHeightOffset -\r\n headerOffset -\r\n paginationOffset -\r\n toolbarOffset;\r\n return Math.max(autoHeightMinY, dynamic);\r\n }, [\r\n autoHeight,\r\n scrollY,\r\n viewportHeight,\r\n searchAreaHeight,\r\n autoHeightOffset,\r\n autoHeightMinY,\r\n paginationEnabled,\r\n toolbarNodes,\r\n ]);\r\n\r\n const tableDataSource = useMemo(\r\n () => normalizeProTableDataSource(dataSource),\r\n [dataSource],\r\n );\r\n const hasRequestBinding = useMemo(\r\n () => hasTableRequestBinding(__events),\r\n [__events],\r\n );\r\n\r\n // 配置了 table.request 时完全交给 request 驱动;未配置时使用 dataSource。\r\n const request = useCallback(\n async (\n params: Record<string, unknown>,\n sort: Record<string, unknown>,\n filter: Record<string, unknown>,\n ): Promise<TableRequestResult> => {\n const startedAt =\n typeof performance !== \"undefined\" ? performance.now() : Date.now();\n const lastQueryAction = lastQueryActionRef.current;\n recordProTableDiagnostic(\"protable.request.start\", {\n nodeId: componentNodeId,\n paramsSummary: buildProTableRequestParamsSummary(params),\n sortSummary: buildProTableRequestParamsSummary(sort),\n filterSummary: buildProTableRequestParamsSummary(filter),\n previousAction: lastQueryAction\n ? {\n actionName: lastQueryAction.actionName,\n source: lastQueryAction.source,\n delayMs: Math.round(startedAt - lastQueryAction.capturedAt),\n }\n : undefined,\n previousSubmit: lastFormSubmitRef.current\n ? {\n source: lastFormSubmitRef.current.source,\n delayMs: Math.round(\n startedAt - lastFormSubmitRef.current.capturedAt,\n ),\n }\n : undefined,\n });\n const result = await emitEventRef.current<TableRequestResult>(\"table.request\", {\n ...params,\n ...buildTableRequestSortPayload(sort),\n ...filter,\n });\n const finalResult = result || {\n data: [],\n success: true,\n total: 0,\n };\n const endedAt =\n typeof performance !== \"undefined\" ? performance.now() : Date.now();\n recordProTableDiagnostic(\"protable.request.done\", {\n nodeId: componentNodeId,\n durationMs: Math.round(endedAt - startedAt),\n hasResult: Boolean(result),\n });\n return finalResult;\n },\n [componentNodeId],\n );\n\r\n // 统一分页事件载荷,避免 onShowSizeChange / onChange 重复拼装参数\r\n const emitPaginationChange = useCallback(\r\n (current: number, size?: number) => {\r\n emitEvent(\"table.pagination.change\", {\r\n current,\r\n pageSize: size,\r\n pagination: {\r\n current,\r\n pageSize: size,\r\n },\r\n });\r\n },\r\n [emitEvent],\r\n );\r\n\r\n const handlePageSizeChange = useCallback(\r\n (current: number, size: number) => {\r\n setTablePageSize(size);\r\n emitPaginationChange(current, size);\r\n },\r\n [emitPaginationChange],\r\n );\r\n\r\n const handlePaginationChange = useCallback(\r\n (current: number, size?: number) => {\r\n if (typeof size === \"number\") setTablePageSize(size);\r\n emitPaginationChange(current, size);\r\n },\r\n [emitPaginationChange],\r\n );\r\n\r\n const paginationConfig = useMemo(\r\n () =>\r\n paginationEnabled\r\n ? {\r\n pageSize: tablePageSize,\r\n size: \"default\",\r\n showSizeChanger,\r\n showQuickJumper,\r\n showTotal: (total: number) => `共 ${total} 条`,\r\n onShowSizeChange: handlePageSizeChange,\r\n onChange: handlePaginationChange,\r\n }\r\n : false,\r\n [\r\n paginationEnabled,\r\n tablePageSize,\r\n showSizeChanger,\r\n showQuickJumper,\r\n handlePageSizeChange,\r\n handlePaginationChange,\r\n ],\r\n );\r\n\r\n const handleRowClick = useCallback(\n (record: Record<string, unknown>) => {\r\n emitEvent(\"table.row.click\", { record });\r\n },\r\n [emitEvent],\n );\n\n const recordQueryAction = useCallback(\n (\n actionName: \"query\" | \"reset\" | \"enter\",\n source: string,\n detail?: Record<string, unknown>,\n ) => {\n const capturedAt = getNowTime();\n lastQueryActionRef.current = {\n actionName,\n capturedAt,\n source,\n };\n recordProTableDiagnostic(\"protable.query.action\", {\n nodeId: componentNodeId,\n actionName,\n source,\n ...detail,\n });\n if (\n isRuntimeDebugEnabled() &&\n typeof PerformanceObserver !== \"undefined\"\n ) {\n longTaskObserverRef.current?.disconnect();\n try {\n const observer = new PerformanceObserver((list) => {\n list.getEntries().forEach((entry) => {\n if (!shouldRecordProTableLongTask(entry.duration)) return;\n recordProTableDiagnostic(\"protable.query.longtask\", {\n nodeId: componentNodeId,\n actionName,\n source,\n startDelayMs: Math.round(entry.startTime - capturedAt),\n durationMs: Math.round(entry.duration),\n entryType: entry.entryType,\n name: entry.name,\n });\n });\n });\n observer.observe({ entryTypes: [\"longtask\"] });\n longTaskObserverRef.current = observer;\n window.setTimeout(() => {\n observer.disconnect();\n if (longTaskObserverRef.current === observer) {\n longTaskObserverRef.current = null;\n }\n }, 8000);\n } catch {\n longTaskObserverRef.current = null;\n }\n }\n Promise.resolve().then(() => {\n recordProTableDiagnostic(\"protable.query.microtask\", {\n nodeId: componentNodeId,\n actionName,\n source,\n ...buildProTableQueryDelayDetail(capturedAt, getNowTime()),\n });\n });\n window.setTimeout(() => {\n recordProTableDiagnostic(\"protable.query.timeout\", {\n nodeId: componentNodeId,\n actionName,\n source,\n ...buildProTableQueryDelayDetail(capturedAt, getNowTime()),\n });\n }, 0);\n if (typeof window.requestAnimationFrame === \"function\") {\n window.requestAnimationFrame(() => {\n recordProTableDiagnostic(\"protable.query.raf\", {\n nodeId: componentNodeId,\n actionName,\n source,\n ...buildProTableQueryDelayDetail(capturedAt, getNowTime()),\n });\n });\n }\n },\n [componentNodeId],\n );\n\n const handleTableClickCapture = useCallback(\n (event: React.MouseEvent<HTMLDivElement>) => {\n const button = getEventTargetButton(event.target);\n if (!button) return;\n const actionName = resolveProTableQueryActionName(\n button.textContent || \"\",\n );\n if (!actionName) return;\n recordQueryAction(actionName, \"click\", {\n buttonText: button.textContent || \"\",\n });\n },\n [recordQueryAction],\n );\n\n const handleTableSubmitCapture = useCallback(\n (event: React.FormEvent<HTMLDivElement>) => {\n const target = event.target;\n if (typeof HTMLElement === \"undefined\") return;\n if (!(target instanceof HTMLElement)) return;\n const isSearchForm = Boolean(target.closest(\".ant-pro-table-search\"));\n if (!isSearchForm) return;\n const capturedAt = getNowTime();\n lastFormSubmitRef.current = {\n capturedAt,\n source: \"submit\",\n };\n recordProTableDiagnostic(\"protable.form.submit\", {\n nodeId: componentNodeId,\n previousAction: lastQueryActionRef.current\n ? {\n actionName: lastQueryActionRef.current.actionName,\n source: lastQueryActionRef.current.source,\n delayMs: Math.round(\n capturedAt - lastQueryActionRef.current.capturedAt,\n ),\n }\n : undefined,\n });\n },\n [componentNodeId],\n );\n\n const handleTableKeyDownCapture = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key !== \"Enter\") return;\n const target = event.target;\n if (typeof HTMLElement === \"undefined\") return;\n if (!(target instanceof HTMLElement)) return;\n const isSearchArea = Boolean(target.closest(\".ant-pro-table-search\"));\n if (!isSearchArea) return;\n recordQueryAction(\"enter\", \"keydown\", {\n targetTag: target.tagName.toLowerCase(),\n });\n },\n [recordQueryAction],\n );\n\r\n const tableScroll = useMemo(\r\n () =>\r\n scrollX || finalScrollY ? { x: scrollX, y: finalScrollY } : undefined,\r\n [scrollX, finalScrollY],\r\n );\r\n\r\n const searchConfig = useMemo<ProTableSearchProp>(\r\n () => (search ? ({ colon: false } as ProTableSearchProp) : false),\r\n [search],\r\n );\r\n\r\n const searchInitialValues = useMemo(() => {\r\n if (searchInitialValuesSource !== \"storage\") return {};\r\n const key = String(searchInitialValuesStorageKey || \"\").trim();\r\n if (!key) return {};\r\n const storage = getBrowserStorage(searchInitialValuesStorageType);\r\n if (!storage) return {};\r\n\r\n const raw = storage.getItem(key);\r\n\r\n if (!raw) return {};\n try {\n const parsed = unwrapSearchStorageValue(JSON.parse(raw));\n const values = buildSearchInitialValuesFromStorageValue(\n parsed,\n searchInitialValuesMappings,\n );\r\n if (clearSearchInitialValuesAfterUse) {\r\n storage.removeItem(key);\r\n }\r\n return values;\r\n } catch {\r\n return {};\r\n }\r\n }, [\r\n searchInitialValuesSource,\r\n searchInitialValuesStorageType,\r\n searchInitialValuesStorageKey,\r\n searchInitialValuesMappings,\r\n clearSearchInitialValuesAfterUse,\n ]);\n const formConfig = useMemo(\n () => buildProTableFormConfig(searchInitialValues),\n [searchInitialValues],\n );\n\n return (\n <div\n ref={tableContainerRef}\n onClickCapture={handleTableClickCapture}\n onKeyDownCapture={handleTableKeyDownCapture}\n onSubmitCapture={handleTableSubmitCapture}\n >\n <AntdProTable\r\n actionRef={actionRef}\r\n columns={proColumns}\r\n request={hasRequestBinding ? request : undefined}\r\n dataSource={hasRequestBinding ? undefined : tableDataSource}\r\n rowKey={rowKey}\r\n headerTitle={headerTitle}\r\n size={size}\r\n tableStyle={{\r\n padding: toolbarNodes || !searchConfig ? 0 : 24,\r\n }}\r\n bordered={bordered}\n showHeader={showHeader}\n search={searchConfig}\n form={formConfig}\n options={false}\n dateFormatter=\"string\"\r\n toolBarRender={toolbarNodes ? () => toolbarNodes : undefined}\r\n pagination={\r\n paginationConfig as ComponentProps<typeof AntdProTable>[\"pagination\"]\r\n }\r\n onRow={(record) => ({\r\n onClick: () => handleRowClick(record as Record<string, unknown>),\r\n })}\r\n scroll={tableScroll}\r\n style={style}\r\n />\r\n </div>\r\n );\r\n}\r\n\r\nexport default ProTableWrapper;\r\n"]}
|
|
@@ -72,6 +72,18 @@ var ListMeta = {
|
|
|
72
72
|
description: "\u63A7\u5236 List.Item \u5185\u5BB9\u5E03\u5C40\u65B9\u5411",
|
|
73
73
|
group: "\u6837\u5F0F"
|
|
74
74
|
},
|
|
75
|
+
{
|
|
76
|
+
name: "layoutMode",
|
|
77
|
+
label: "\u5E03\u5C40\u6A21\u5F0F",
|
|
78
|
+
type: PropType.ENUM,
|
|
79
|
+
defaultValue: "grid",
|
|
80
|
+
options: [
|
|
81
|
+
{ label: "\u6805\u683C", value: "grid" },
|
|
82
|
+
{ label: "Flex", value: "flex" }
|
|
83
|
+
],
|
|
84
|
+
description: "\u6805\u683C\u5E03\u5C40\u6216 Flex \u6362\u884C\u5E03\u5C40",
|
|
85
|
+
group: "\u6837\u5F0F"
|
|
86
|
+
},
|
|
75
87
|
{
|
|
76
88
|
name: "grid.column",
|
|
77
89
|
label: "\u7F51\u683C\u5217\u6570",
|
|
@@ -81,7 +93,11 @@ var ListMeta = {
|
|
|
81
93
|
max: 24,
|
|
82
94
|
step: 1,
|
|
83
95
|
description: "List \u7F51\u683C\u5E03\u5C40\u7684 column \u5B57\u6BB5",
|
|
84
|
-
group: "\u6837\u5F0F"
|
|
96
|
+
group: "\u6837\u5F0F",
|
|
97
|
+
visibleWhen: {
|
|
98
|
+
field: "layoutMode",
|
|
99
|
+
equals: "grid"
|
|
100
|
+
}
|
|
85
101
|
},
|
|
86
102
|
{
|
|
87
103
|
name: "grid.gutter",
|
|
@@ -92,7 +108,41 @@ var ListMeta = {
|
|
|
92
108
|
max: 96,
|
|
93
109
|
step: 1,
|
|
94
110
|
description: "List \u7F51\u683C\u5E03\u5C40\u7684 gutter \u5B57\u6BB5",
|
|
95
|
-
group: "\u6837\u5F0F"
|
|
111
|
+
group: "\u6837\u5F0F",
|
|
112
|
+
visibleWhen: {
|
|
113
|
+
field: "layoutMode",
|
|
114
|
+
equals: "grid"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: "flex.columnGap",
|
|
119
|
+
label: "\u5217\u95F4\u8DDD(px)",
|
|
120
|
+
type: PropType.NUMBER,
|
|
121
|
+
defaultValue: 16,
|
|
122
|
+
min: 0,
|
|
123
|
+
max: 96,
|
|
124
|
+
step: 1,
|
|
125
|
+
description: "Flex \u6362\u884C\u65F6\u5217\u8868\u9879\u4E4B\u95F4\u7684\u6A2A\u5411\u95F4\u8DDD",
|
|
126
|
+
group: "\u6837\u5F0F",
|
|
127
|
+
visibleWhen: {
|
|
128
|
+
field: "layoutMode",
|
|
129
|
+
equals: "flex"
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
name: "flex.rowGap",
|
|
134
|
+
label: "\u884C\u95F4\u8DDD(px)",
|
|
135
|
+
type: PropType.NUMBER,
|
|
136
|
+
defaultValue: 16,
|
|
137
|
+
min: 0,
|
|
138
|
+
max: 96,
|
|
139
|
+
step: 1,
|
|
140
|
+
description: "Flex \u6362\u884C\u65F6\u5217\u8868\u9879\u4E4B\u95F4\u7684\u7EB5\u5411\u95F4\u8DDD",
|
|
141
|
+
group: "\u6837\u5F0F",
|
|
142
|
+
visibleWhen: {
|
|
143
|
+
field: "layoutMode",
|
|
144
|
+
equals: "flex"
|
|
145
|
+
}
|
|
96
146
|
},
|
|
97
147
|
{
|
|
98
148
|
name: "bordered",
|
|
@@ -125,7 +175,17 @@ var ListMeta = {
|
|
|
125
175
|
],
|
|
126
176
|
defaultProps: {
|
|
127
177
|
bordered: true,
|
|
128
|
-
split: true
|
|
178
|
+
split: true,
|
|
179
|
+
layoutMode: "grid",
|
|
180
|
+
itemLayout: "horizontal",
|
|
181
|
+
grid: {
|
|
182
|
+
column: 1,
|
|
183
|
+
gutter: 16
|
|
184
|
+
},
|
|
185
|
+
flex: {
|
|
186
|
+
columnGap: 16,
|
|
187
|
+
rowGap: 16
|
|
188
|
+
}
|
|
129
189
|
},
|
|
130
190
|
npm: {
|
|
131
191
|
package: "@mijadesign/web",
|
|
@@ -141,10 +201,15 @@ var ListMeta = {
|
|
|
141
201
|
{ id: "2", title: "\u7B2C\u4E8C\u9879", description: "\u5217\u8868\u9879\u63CF\u8FF0" }
|
|
142
202
|
],
|
|
143
203
|
rowKey: "id",
|
|
204
|
+
layoutMode: "grid",
|
|
144
205
|
itemLayout: "horizontal",
|
|
145
206
|
grid: {
|
|
146
207
|
column: 1,
|
|
147
208
|
gutter: 16
|
|
209
|
+
},
|
|
210
|
+
flex: {
|
|
211
|
+
columnGap: 16,
|
|
212
|
+
rowGap: 16
|
|
148
213
|
}
|
|
149
214
|
},
|
|
150
215
|
children: []
|
|
@@ -184,5 +249,5 @@ var ListItemMeta = {
|
|
|
184
249
|
};
|
|
185
250
|
|
|
186
251
|
export { ListItemMeta, ListMeta };
|
|
187
|
-
//# sourceMappingURL=chunk-
|
|
188
|
-
//# sourceMappingURL=chunk-
|
|
252
|
+
//# sourceMappingURL=chunk-WANSJ5GB.js.map
|
|
253
|
+
//# sourceMappingURL=chunk-WANSJ5GB.js.map
|