@mijalowcode/materials 1.1.7 → 1.1.9
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/DescriptionsWrapper-EPGGJFWP.js +4 -0
- package/dist/{DescriptionsWrapper-LCWRKPFY.js.map → DescriptionsWrapper-EPGGJFWP.js.map} +1 -1
- package/dist/DesensitizationDisplay-RHHW6KUQ.js +3 -0
- package/dist/{DesensitizationDisplay-MO3BSJRD.js.map → DesensitizationDisplay-RHHW6KUQ.js.map} +1 -1
- package/dist/PopoverWrapper-FDKWPBRJ.js +4 -0
- package/dist/{PopoverWrapper-STPU5XIE.js.map → PopoverWrapper-FDKWPBRJ.js.map} +1 -1
- package/dist/{ProTableWrapper-SHKEQ3B3.js → ProTableWrapper-ATFZXHWT.js} +4 -4
- package/dist/{ProTableWrapper-SHKEQ3B3.js.map → ProTableWrapper-ATFZXHWT.js.map} +1 -1
- package/dist/{chunk-NGLCSHN6.js → chunk-C7UZWG4J.js} +3 -3
- package/dist/{chunk-NGLCSHN6.js.map → chunk-C7UZWG4J.js.map} +1 -1
- package/dist/{chunk-VNMO5V4F.js → chunk-ERTSEXI5.js} +10 -3
- package/dist/chunk-ERTSEXI5.js.map +1 -0
- package/dist/{chunk-ZPDMZ67O.js → chunk-IJVBRVEE.js} +3 -3
- package/dist/{chunk-ZPDMZ67O.js.map → chunk-IJVBRVEE.js.map} +1 -1
- package/dist/{chunk-YGTLYQ74.js → chunk-LRLW4JL5.js} +22 -7
- package/dist/chunk-LRLW4JL5.js.map +1 -0
- package/dist/{chunk-LVFEPXNW.js → chunk-Y6HUHJCS.js} +17 -12
- package/dist/chunk-Y6HUHJCS.js.map +1 -0
- package/dist/{chunk-7X4I2Q6F.js → chunk-YNYEQNFC.js} +46 -6
- package/dist/chunk-YNYEQNFC.js.map +1 -0
- package/dist/index.js +6 -6
- package/dist/runtime.d.ts +4 -0
- package/dist/runtime.js +1 -1
- package/package.json +3 -3
- package/dist/DescriptionsWrapper-LCWRKPFY.js +0 -4
- package/dist/DesensitizationDisplay-MO3BSJRD.js +0 -3
- package/dist/PopoverWrapper-STPU5XIE.js +0 -4
- package/dist/chunk-7X4I2Q6F.js.map +0 -1
- package/dist/chunk-LVFEPXNW.js.map +0 -1
- package/dist/chunk-VNMO5V4F.js.map +0 -1
- package/dist/chunk-YGTLYQ74.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"DescriptionsWrapper-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"DescriptionsWrapper-EPGGJFWP.js"}
|
package/dist/{DesensitizationDisplay-MO3BSJRD.js.map → DesensitizationDisplay-RHHW6KUQ.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"DesensitizationDisplay-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"DesensitizationDisplay-RHHW6KUQ.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"PopoverWrapper-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"PopoverWrapper-FDKWPBRJ.js"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { buildProTableFormConfig, buildProTableQueryDelayDetail, buildProTableRequestParamsSummary, buildProTableSlotRuntimeContext, buildSearchInitialValuesFromStorageValue, ProTableWrapper_default as default, resolveProTableQueryActionName, shouldRecordProTableLongTask, unwrapSearchStorageValue } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { buildProTableFormConfig, buildProTableQueryDelayDetail, buildProTableRequestParamsSummary, buildProTableSlotRuntimeContext, buildSearchInitialValuesFromStorageValue, ProTableWrapper_default as default, resolveProTableQueryActionName, shouldRecordProTableLongTask, unwrapSearchStorageValue } from './chunk-C7UZWG4J.js';
|
|
2
|
+
import './chunk-ERTSEXI5.js';
|
|
3
3
|
import './chunk-CTF6CVK3.js';
|
|
4
|
-
//# sourceMappingURL=ProTableWrapper-
|
|
5
|
-
//# sourceMappingURL=ProTableWrapper-
|
|
4
|
+
//# sourceMappingURL=ProTableWrapper-ATFZXHWT.js.map
|
|
5
|
+
//# sourceMappingURL=ProTableWrapper-ATFZXHWT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"ProTableWrapper-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"ProTableWrapper-ATFZXHWT.js"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useSlotRuntime } from './chunk-
|
|
1
|
+
import { useSlotRuntime } from './chunk-ERTSEXI5.js';
|
|
2
2
|
import { useEventEmitter } from './chunk-CTF6CVK3.js';
|
|
3
3
|
import { useRef, useState, useEffect, useMemo, useCallback } from 'react';
|
|
4
4
|
import { ProTable } from '@ant-design/pro-components';
|
|
@@ -707,5 +707,5 @@ function ProTableWrapper({
|
|
|
707
707
|
var ProTableWrapper_default = ProTableWrapper;
|
|
708
708
|
|
|
709
709
|
export { ProTableWrapper_default, buildProTableFormConfig, buildProTableQueryDelayDetail, buildProTableRequestParamsSummary, buildProTableSlotRuntimeContext, buildSearchInitialValuesFromStorageValue, resolveProTableQueryActionName, shouldRecordProTableLongTask, unwrapSearchStorageValue };
|
|
710
|
-
//# sourceMappingURL=chunk-
|
|
711
|
-
//# sourceMappingURL=chunk-
|
|
710
|
+
//# sourceMappingURL=chunk-C7UZWG4J.js.map
|
|
711
|
+
//# sourceMappingURL=chunk-C7UZWG4J.js.map
|
|
@@ -1 +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"]}
|
|
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-C7UZWG4J.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"]}
|
|
@@ -13,8 +13,15 @@ function injectRuntimeContextToNodes(nodes, runtimeContext) {
|
|
|
13
13
|
if (!runtimeContext) return nodes;
|
|
14
14
|
return nodes.map((node) => {
|
|
15
15
|
if (!isValidElement(node)) return node;
|
|
16
|
+
const props = node.props && typeof node.props === "object" ? node.props : {};
|
|
17
|
+
const runtime = props.runtime && typeof props.runtime === "object" ? props.runtime : {};
|
|
16
18
|
return cloneElement(node, {
|
|
17
|
-
runtimeContext
|
|
19
|
+
runtimeContext,
|
|
20
|
+
__runtimeContext: runtimeContext,
|
|
21
|
+
runtime: {
|
|
22
|
+
...runtime,
|
|
23
|
+
context: runtimeContext
|
|
24
|
+
}
|
|
18
25
|
});
|
|
19
26
|
});
|
|
20
27
|
}
|
|
@@ -142,5 +149,5 @@ function useSlotRuntime({
|
|
|
142
149
|
}
|
|
143
150
|
|
|
144
151
|
export { collectSlotChildren, renderSlotArea, resolveSlot, useSlotRuntime };
|
|
145
|
-
//# sourceMappingURL=chunk-
|
|
146
|
-
//# sourceMappingURL=chunk-
|
|
152
|
+
//# sourceMappingURL=chunk-ERTSEXI5.js.map
|
|
153
|
+
//# sourceMappingURL=chunk-ERTSEXI5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/slot-runtime/index.ts"],"names":[],"mappings":"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","file":"chunk-ERTSEXI5.js","sourcesContent":["import {\n Children,\n cloneElement,\n isValidElement,\n useCallback,\n useMemo,\n type ReactElement,\n type ReactNode,\n} from \"react\";\n\nexport type SlotArea = {\n name: string;\n label?: string;\n accept?: string[];\n multiple?: boolean;\n fallback?:\n | ReactNode\n | ((context?: Record<string, unknown>) => ReactNode | null | undefined);\n};\n\ntype SlotRender = (\n slotName: string,\n payload?: Record<string, unknown>,\n) => ReactNode;\n\ntype ResolveSlotOptions = {\n renderSlot?: SlotRender;\n areaMap?: Record<string, ReactNode[]>;\n areas?: SlotArea[];\n context?: Record<string, unknown>;\n};\n\nfunction extractRuntimeContext(\n context?: Record<string, unknown>,\n): Record<string, unknown> | undefined {\n if (!context) return undefined;\n const direct = context.runtimeContext;\n if (direct && typeof direct === \"object\" && !Array.isArray(direct)) {\n return direct as Record<string, unknown>;\n }\n return undefined;\n}\n\nfunction injectRuntimeContextToNodes(\n nodes: ReactNode[],\n runtimeContext?: Record<string, unknown>,\n): ReactNode[] {\n if (!runtimeContext) return nodes;\n return nodes.map((node) => {\n if (!isValidElement(node)) return node;\n const props =\n node.props && typeof node.props === \"object\"\n ? (node.props as Record<string, unknown>)\n : {};\n const runtime =\n props.runtime && typeof props.runtime === \"object\"\n ? (props.runtime as Record<string, unknown>)\n : {};\n return cloneElement(node as ReactElement<any>, {\n runtimeContext,\n __runtimeContext: runtimeContext,\n runtime: {\n ...runtime,\n context: runtimeContext,\n },\n });\n });\n}\n\ntype UseSlotRuntimeOptions = {\n renderSlot?: SlotRender;\n children?: ReactNode;\n areas?: SlotArea[];\n context?: Record<string, unknown>;\n};\n\nfunction appendAreaNode(\n areaMap: Record<string, ReactNode[]>,\n areaName: string,\n node: ReactNode,\n) {\n if (!areaMap[areaName]) {\n areaMap[areaName] = [];\n }\n areaMap[areaName].push(node);\n}\n\nfunction normalizeSlotNodes(node: ReactNode): ReactNode[] {\n return Children.toArray(node);\n}\n\nexport function collectSlotChildren(\n children?: ReactNode,\n): Record<string, ReactNode[]> {\n const areaMap: Record<string, ReactNode[]> = {};\n const visited = new WeakSet<object>();\n\n const collectAreaNames = (node: unknown, names: Set<string>) => {\n if (node === null || node === undefined || typeof node === \"boolean\")\n return;\n\n if (Array.isArray(node)) {\n node.forEach((item) => collectAreaNames(item, names));\n return;\n }\n\n if (isValidElement(node)) {\n const props =\n node.props && typeof node.props === \"object\"\n ? (node.props as Record<string, unknown>)\n : {};\n const areaName = String(props.__slot ?? \"\").trim();\n if (areaName) names.add(areaName);\n collectAreaNames(props.node, names);\n collectAreaNames(props.children, names);\n return;\n }\n\n if (node && typeof node === \"object\") {\n const objectNode = node as Record<string, unknown>;\n if (visited.has(objectNode)) return;\n visited.add(objectNode);\n\n const props =\n objectNode.props && typeof objectNode.props === \"object\"\n ? (objectNode.props as Record<string, unknown>)\n : undefined;\n const areaName = String(props?.__slot ?? \"\").trim();\n if (areaName) names.add(areaName);\n collectAreaNames(props?.node, names);\n collectAreaNames(props?.children, names);\n collectAreaNames(objectNode.children, names);\n collectAreaNames(objectNode.node, names);\n }\n };\n\n Children.toArray(children).forEach((child) => {\n if (!isValidElement(child)) return;\n const names = new Set<string>();\n collectAreaNames(child, names);\n names.forEach((areaName) => appendAreaNode(areaMap, areaName, child));\n });\n\n return areaMap;\n}\n\nexport function resolveSlot(\n areaName: string,\n { renderSlot, areaMap = {}, areas = [], context }: ResolveSlotOptions,\n): ReactNode[] | undefined {\n if (renderSlot) {\n const injectedNode = renderSlot(areaName, context);\n if (injectedNode !== undefined && injectedNode !== null) {\n return normalizeSlotNodes(injectedNode);\n }\n }\n\n const schemaNodes = areaMap[areaName];\n if (schemaNodes && schemaNodes.length > 0) {\n return injectRuntimeContextToNodes(\n schemaNodes,\n extractRuntimeContext(context),\n );\n }\n\n const fallback = areas.find((area) => area.name === areaName)?.fallback;\n if (fallback !== undefined) {\n const fallbackNode =\n typeof fallback === \"function\" ? fallback(context) : fallback;\n if (fallbackNode !== undefined && fallbackNode !== null) {\n return normalizeSlotNodes(fallbackNode);\n }\n }\n\n return undefined;\n}\n\nexport function renderSlotArea(\n areaName: string,\n options: ResolveSlotOptions,\n): ReactNode | null {\n const nodes = resolveSlot(areaName, options);\n if (!nodes || nodes.length === 0) return null;\n if (nodes.length === 1) return nodes[0];\n return nodes;\n}\n\nexport function useSlotRuntime({\n renderSlot,\n children,\n areas = [],\n context,\n}: UseSlotRuntimeOptions) {\n const areaMap = useMemo(() => collectSlotChildren(children), [children]);\n\n const getAreaNodes = useCallback(\n (areaName: string, payload?: Record<string, unknown>) => {\n const mergedContext =\n payload || context\n ? { ...(context || {}), ...(payload || {}) }\n : undefined;\n return resolveSlot(areaName, {\n renderSlot,\n areaMap,\n areas,\n context: mergedContext,\n });\n },\n [renderSlot, areaMap, areas, context],\n );\n\n const hasArea = useCallback(\n (areaName: string, payload?: Record<string, unknown>) => {\n const nodes = getAreaNodes(areaName, payload);\n return nodes !== undefined && nodes.length > 0;\n },\n [getAreaNodes],\n );\n\n const renderArea = useCallback(\n (areaName: string, payload?: Record<string, unknown>) => {\n const mergedContext =\n payload || context\n ? { ...(context || {}), ...(payload || {}) }\n : undefined;\n return renderSlotArea(areaName, {\n renderSlot,\n areaMap,\n areas,\n context: mergedContext,\n });\n },\n [renderSlot, areaMap, areas, context],\n );\n\n return {\n getAreaNodes,\n hasArea,\n renderSlotArea: renderArea,\n areaMap,\n };\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useSlotRuntime } from './chunk-
|
|
1
|
+
import { useSlotRuntime } from './chunk-ERTSEXI5.js';
|
|
2
2
|
import { useState, useRef, useMemo, Children, isValidElement, useEffect } from 'react';
|
|
3
3
|
import { Popover } from '@mijadesign/web';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -118,5 +118,5 @@ function PopoverWrapper({
|
|
|
118
118
|
var PopoverWrapper_default = PopoverWrapper;
|
|
119
119
|
|
|
120
120
|
export { PopoverWrapper_default };
|
|
121
|
-
//# sourceMappingURL=chunk-
|
|
122
|
-
//# sourceMappingURL=chunk-
|
|
121
|
+
//# sourceMappingURL=chunk-IJVBRVEE.js.map
|
|
122
|
+
//# sourceMappingURL=chunk-IJVBRVEE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/antd/Popover/PopoverWrapper.tsx"],"names":["AntdPopover"],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/antd/Popover/PopoverWrapper.tsx"],"names":["AntdPopover"],"mappings":";;;;;AAuBA,IAAM,SAAA,GAAwB,CAAC,EAAE,IAAA,EAAM,WAAU,EAAG,EAAE,IAAA,EAAM,SAAA,EAAW,CAAA;AAEvE,SAAS,cAAA,CAAe;AAAA,EACtB,OAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,UAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA,GAAU,OAAA;AAAA,EACV,GAAG;AACL,CAAA,EAAwB;AACtB,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAI,SAAS,KAAK,CAAA;AAChD,EAAA,MAAM,UAAA,GAAa,OAA+B,IAAI,CAAA;AACtD,EAAA,MAAM,EAAE,YAAA,EAAc,OAAA,EAAQ,GAAI,cAAA,CAAe;AAAA,IAC/C,UAAA;AAAA,IACA,QAAA;AAAA,IACA,KAAA,EAAO;AAAA,GACR,CAAA;AAED,EAAA,MAAM,YAAA,GAAe,QAAQ,MAAM,YAAA,CAAa,SAAS,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAC1E,EAAA,MAAM,YAAA,GAAe,QAAQ,MAAM,YAAA,CAAa,SAAS,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AAC1E,EAAA,MAAM,mBAAA,GAAsB,OAAA;AAAA,IAC1B,MACE,QAAA,CAAS,OAAA,CAAQ,QAAQ,CAAA,CAAE,MAAA,CAAO,CAAC,KAAA,KAAU;AAC3C,MAAA,IAAI,CAAC,cAAA,CAAe,KAAK,CAAA,EAAG,OAAO,IAAA;AACnC,MAAA,MAAM,UAAA,GACJ,MAAM,KAAA,IAAS,OAAO,MAAM,KAAA,KAAU,QAAA,GACjC,KAAA,CAAM,KAAA,GACP,EAAC;AACP,MAAA,OAAO,CAAC,MAAA,CAAO,UAAA,CAAW,MAAA,IAAU,EAAE,EAAE,IAAA,EAAK;AAAA,IAC/C,CAAC,CAAA;AAAA,IACH,CAAC,QAAQ;AAAA,GACX;AAEA,EAAA,MAAM,eAAA,GAAkB,cAAc,MAAA,GAClC,YAAA,CAAa,WAAW,CAAA,GACtB,YAAA,CAAa,CAAC,CAAA,GACd,YAAA,GACF,OAAA;AACJ,EAAA,MAAM,gBAAA,GAAmB,YAAA,EAAc,MAAA,GACnC,YAAA,CAAa,WAAW,CAAA,GACtB,YAAA,CAAa,CAAC,CAAA,GACd,eACF,mBAAA,CAAoB,MAAA,KAAW,CAAA,GAC7B,mBAAA,CAAoB,CAAC,CAAA,GACrB,mBAAA;AAGN,EAAA,MAAM,aAAA,GAAgB,MAAA,CAAO,IAAA,CAAK,OAAO,EAAE,MAAA,GAAS,CAAA;AACpD,EAAA,MAAM,kBAAA,GAAqB,aAAA;AAC3B,EAAA,MAAM,mBAAmB,IAAA,KAAS,MAAA;AAClC,EAAA,MAAM,UAAA,GAAa,mBAAmB,IAAA,GAAO,SAAA;AAC7C,EAAA,MAAM,cAAc,KAAA,CAAM,OAAA,CAAQ,OAAO,CAAA,GAAI,OAAA,GAAU,CAAC,OAAO,CAAA;AAC/D,EAAA,MAAM,UAAA,GAAa,CAAC,QAAA,KAAsB;AACxC,IAAA,IAAI,CAAC,gBAAA,EAAkB;AACrB,MAAA,YAAA,CAAa,QAAQ,CAAA;AAAA,IACvB;AACA,IAAA,YAAA,GAAe,QAAQ,CAAA;AAAA,EACzB,CAAA;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IACE,CAAC,kBAAA,IACD,CAAC,UAAA,IACA,CAAC,WAAA,CAAY,QAAA,CAAS,OAAO,CAAA,IAAK,CAAC,WAAA,CAAY,QAAA,CAAS,aAAa,CAAA,EACtE;AACA,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAAwB;AACjD,MAAA,MAAM,SAAS,KAAA,CAAM,MAAA;AACrB,MAAA,IAAI,EAAE,kBAAkB,IAAA,CAAA,EAAO;AAC/B,MAAA,IAAI,UAAA,CAAW,OAAA,EAAS,QAAA,CAAS,MAAM,CAAA,EAAG;AAC1C,MAAA,IACE,MAAA,YAAkB,OAAA,IAClB,MAAA,CAAO,OAAA,CAAQ,kCAAkC,CAAA,EACjD;AACA,QAAA;AAAA,MACF;AACA,MAAA,UAAA,CAAW,KAAK,CAAA;AAAA,IAClB,CAAA;AAEA,IAAA,QAAA,CAAS,gBAAA,CAAiB,aAAA,EAAe,iBAAA,EAAmB,IAAI,CAAA;AAChE,IAAA,OAAO,MAAM;AACX,MAAA,QAAA,CAAS,mBAAA,CAAoB,aAAA,EAAe,iBAAA,EAAmB,IAAI,CAAA;AAAA,IACrE,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,UAAA,EAAY,kBAAA,EAAoB,WAAW,CAAC,CAAA;AAEhD,EAAA,MAAM,WAAA,GAAc,gBAAgB,gBAAA,GAAmB,QAAA;AACvD,EAAA,MAAM,mBAAmB,kBAAA,mBACvB,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,UAAA;AAAA,MACL,gBAAgB,MAAM;AACpB,QAAA,IAAI,WAAA,CAAY,QAAA,CAAS,OAAO,CAAA,EAAG;AACjC,UAAA,UAAA,CAAW,CAAC,UAAU,CAAA;AAAA,QACxB;AAAA,MACF,CAAA;AAAA,MACA,oBAAA,EAAsB,CAAC,KAAA,KAAuC;AAC5D,QAAA,IAAI,WAAA,CAAY,QAAA,CAAS,aAAa,CAAA,EAAG;AACvC,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,UAAA,CAAW,CAAC,UAAU,CAAA;AAAA,QACxB;AAAA,MACF,CAAA;AAAA,MACA,gBAAgB,MAAM;AACpB,QAAA,IAAI,WAAA,CAAY,QAAA,CAAS,OAAO,CAAA,EAAG;AACjC,UAAA,UAAA,CAAW,IAAI,CAAA;AAAA,QACjB;AAAA,MACF,CAAA;AAAA,MACA,aAAA,EAAe,CAAC,KAAA,KAAuC;AACrD,QAAA,IAAI,WAAA,CAAY,QAAA,CAAS,OAAO,CAAA,EAAG;AACjC,UAAA,MAAM,aAAa,KAAA,CAAM,aAAA;AACzB,UAAA,IAAI,CAAC,UAAA,IAAc,CAAC,MAAM,aAAA,CAAc,QAAA,CAAS,UAAU,CAAA,EAAG;AAC5D,YAAA,UAAA,CAAW,KAAK,CAAA;AAAA,UAClB;AAAA,QACF;AAAA,MACF,CAAA;AAAA,MACA,cAAc,MAAM;AAClB,QAAA,IAAI,WAAA,CAAY,QAAA,CAAS,OAAO,CAAA,EAAG;AACjC,UAAA,UAAA,CAAW,IAAI,CAAA;AAAA,QACjB;AAAA,MACF,CAAA;AAAA,MACA,cAAc,MAAM;AAClB,QAAA,IAAI,WAAA,CAAY,QAAA,CAAS,OAAO,CAAA,EAAG;AACjC,UAAA,UAAA,CAAW,KAAK,CAAA;AAAA,QAClB;AAAA,MACF,CAAA;AAAA,MAEC,QAAA,EAAA;AAAA;AAAA,GACH,GAEA,WAAA;AAGF,EAAA,uBACE,GAAA;AAAA,IAACA,OAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,eAAA;AAAA,MACT,IAAA,EAAM,UAAA;AAAA,MACN,YAAA,EAAc,UAAA;AAAA,MACd,OAAA,EAAS,kBAAA,GAAqB,EAAC,GAAI,OAAA;AAAA,MAClC,GAAG,SAAA;AAAA,MAEH,QAAA,EAAA;AAAA;AAAA,GACH;AAEJ;AAEA,IAAO,sBAAA,GAAQ","file":"chunk-IJVBRVEE.js","sourcesContent":["import {\n Children,\n isValidElement,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ComponentProps,\n type FocusEvent,\n type MouseEvent,\n type ReactNode,\n} from \"react\";\nimport { Popover as AntdPopover } from \"@mijadesign/web\";\nimport { useSlotRuntime, type SlotArea } from \"../../slot-runtime\";\n\ntype PopoverWrapperProps = ComponentProps<typeof AntdPopover> & {\n renderSlot?: (\n slotName: string,\n payload?: Record<string, unknown>,\n ) => ReactNode;\n children?: ReactNode;\n};\n\nconst slotAreas: SlotArea[] = [{ name: \"trigger\" }, { name: \"content\" }];\n\nfunction PopoverWrapper({\n content,\n open,\n onOpenChange,\n renderSlot,\n children,\n trigger = \"hover\",\n ...restProps\n}: PopoverWrapperProps) {\n const [innerOpen, setInnerOpen] = useState(false);\n const triggerRef = useRef<HTMLSpanElement | null>(null);\n const { getAreaNodes, areaMap } = useSlotRuntime({\n renderSlot,\n children,\n areas: slotAreas,\n });\n\n const contentNodes = useMemo(() => getAreaNodes(\"content\"), [getAreaNodes]);\n const triggerNodes = useMemo(() => getAreaNodes(\"trigger\"), [getAreaNodes]);\n const defaultTriggerNodes = useMemo(\n () =>\n Children.toArray(children).filter((child) => {\n if (!isValidElement(child)) return true;\n const childProps =\n child.props && typeof child.props === \"object\"\n ? (child.props as Record<string, unknown>)\n : {};\n return !String(childProps.__slot || \"\").trim();\n }),\n [children],\n );\n\n const resolvedContent = contentNodes?.length\n ? contentNodes.length === 1\n ? contentNodes[0]\n : contentNodes\n : content;\n const resolvedChildren = triggerNodes?.length\n ? triggerNodes.length === 1\n ? triggerNodes[0]\n : triggerNodes\n : defaultTriggerNodes.length === 1\n ? defaultTriggerNodes[0]\n : defaultTriggerNodes;\n\n // 拖入 content/trigger 插槽的节点仍保存在 children 下,渲染时只按命名区域消费。\n const hasNamedSlots = Object.keys(areaMap).length > 0;\n const shouldProxyTrigger = hasNamedSlots;\n const isOpenControlled = open !== undefined;\n const mergedOpen = isOpenControlled ? open : innerOpen;\n const triggerList = Array.isArray(trigger) ? trigger : [trigger];\n const updateOpen = (nextOpen: boolean) => {\n if (!isOpenControlled) {\n setInnerOpen(nextOpen);\n }\n onOpenChange?.(nextOpen);\n };\n\n useEffect(() => {\n if (\n !shouldProxyTrigger ||\n !mergedOpen ||\n (!triggerList.includes(\"click\") && !triggerList.includes(\"contextMenu\"))\n ) {\n return;\n }\n\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target;\n if (!(target instanceof Node)) return;\n if (triggerRef.current?.contains(target)) return;\n if (\n target instanceof Element &&\n target.closest(\".ant-popover, .ant-popover-arrow\")\n ) {\n return;\n }\n updateOpen(false);\n };\n\n document.addEventListener(\"pointerdown\", handlePointerDown, true);\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown, true);\n };\n }, [mergedOpen, shouldProxyTrigger, triggerList]);\n\n const triggerNode = hasNamedSlots ? resolvedChildren : children;\n const proxyTriggerNode = shouldProxyTrigger ? (\n <span\n ref={triggerRef}\n onClickCapture={() => {\n if (triggerList.includes(\"click\")) {\n updateOpen(!mergedOpen);\n }\n }}\n onContextMenuCapture={(event: MouseEvent<HTMLSpanElement>) => {\n if (triggerList.includes(\"contextMenu\")) {\n event.preventDefault();\n updateOpen(!mergedOpen);\n }\n }}\n onFocusCapture={() => {\n if (triggerList.includes(\"focus\")) {\n updateOpen(true);\n }\n }}\n onBlurCapture={(event: FocusEvent<HTMLSpanElement>) => {\n if (triggerList.includes(\"focus\")) {\n const nextTarget = event.relatedTarget;\n if (!nextTarget || !event.currentTarget.contains(nextTarget)) {\n updateOpen(false);\n }\n }\n }}\n onMouseEnter={() => {\n if (triggerList.includes(\"hover\")) {\n updateOpen(true);\n }\n }}\n onMouseLeave={() => {\n if (triggerList.includes(\"hover\")) {\n updateOpen(false);\n }\n }}\n >\n {triggerNode}\n </span>\n ) : (\n triggerNode\n );\n\n return (\n <AntdPopover\n content={resolvedContent}\n open={mergedOpen}\n onOpenChange={updateOpen}\n trigger={shouldProxyTrigger ? [] : trigger}\n {...restProps}\n >\n {proxyTriggerNode}\n </AntdPopover>\n );\n}\n\nexport default PopoverWrapper;\n"]}
|
|
@@ -299,6 +299,20 @@ async function loadDefault(componentLoader, metaLoader, adapter, options = defau
|
|
|
299
299
|
return { component: componentModule.default, adapter, meta };
|
|
300
300
|
}
|
|
301
301
|
var loadColumnsAdapter = () => columnsRequestAdapter;
|
|
302
|
+
function mergeComponentAdapter(componentName, adapter) {
|
|
303
|
+
const defaultAdapter = defaultComponentAdapterRegistry.get(componentName);
|
|
304
|
+
if (!adapter) return defaultAdapter || void 0;
|
|
305
|
+
if (!defaultAdapter) return adapter;
|
|
306
|
+
return {
|
|
307
|
+
...defaultAdapter,
|
|
308
|
+
...adapter,
|
|
309
|
+
acceptsInternalRuntimeProps: adapter.acceptsInternalRuntimeProps ?? defaultAdapter.acceptsInternalRuntimeProps,
|
|
310
|
+
getResolveOptions: (propPath) => ({
|
|
311
|
+
...defaultAdapter.getResolveOptions?.(propPath) || {},
|
|
312
|
+
...adapter.getResolveOptions?.(propPath) || {}
|
|
313
|
+
})
|
|
314
|
+
};
|
|
315
|
+
}
|
|
302
316
|
var manifestLoadCache = /* @__PURE__ */ new WeakMap();
|
|
303
317
|
function getManifestCache(manifest) {
|
|
304
318
|
const existing = manifestLoadCache.get(manifest);
|
|
@@ -336,7 +350,7 @@ var materialManifest = {
|
|
|
336
350
|
async () => (await import('./meta-FGF6WHFT.js')).SpaceMeta
|
|
337
351
|
),
|
|
338
352
|
DesensitizationDisplay: () => loadDefault(
|
|
339
|
-
() => import('./DesensitizationDisplay-
|
|
353
|
+
() => import('./DesensitizationDisplay-RHHW6KUQ.js'),
|
|
340
354
|
async () => (await import('./meta-4MKZOZRG.js')).DesensitizationDisplayMeta
|
|
341
355
|
),
|
|
342
356
|
Layout: () => loadAntdLayout(
|
|
@@ -510,7 +524,7 @@ var materialManifest = {
|
|
|
510
524
|
async () => (await import('./meta-FIJVIJNW.js')).TypographyTextMeta
|
|
511
525
|
),
|
|
512
526
|
ProTable: () => loadDefault(
|
|
513
|
-
() => import('./ProTableWrapper-
|
|
527
|
+
() => import('./ProTableWrapper-ATFZXHWT.js'),
|
|
514
528
|
async () => (await import('./meta-XR4NHL2M.js')).ProTableMeta,
|
|
515
529
|
loadColumnsAdapter()
|
|
516
530
|
),
|
|
@@ -529,7 +543,7 @@ var materialManifest = {
|
|
|
529
543
|
async () => (await import('./meta-QLQ44DMU.js')).DrawerMeta
|
|
530
544
|
),
|
|
531
545
|
Descriptions: () => loadDefault(
|
|
532
|
-
() => import('./DescriptionsWrapper-
|
|
546
|
+
() => import('./DescriptionsWrapper-EPGGJFWP.js'),
|
|
533
547
|
async () => (await import('./meta-AWRQA4QI.js')).DescriptionsMeta
|
|
534
548
|
),
|
|
535
549
|
"Descriptions.Item": () => loadWeb("Descriptions.Item"),
|
|
@@ -565,7 +579,7 @@ var materialManifest = {
|
|
|
565
579
|
async () => (await import('./meta-XEA7M37J.js')).PopconfirmMeta
|
|
566
580
|
),
|
|
567
581
|
Popover: () => loadDefault(
|
|
568
|
-
() => import('./PopoverWrapper-
|
|
582
|
+
() => import('./PopoverWrapper-FDKWPBRJ.js'),
|
|
569
583
|
async () => (await import('./meta-K5WYLIMW.js')).PopoverMeta
|
|
570
584
|
),
|
|
571
585
|
Divider: () => loadWeb(
|
|
@@ -621,7 +635,8 @@ async function loadMaterialModules(componentNames, manifest = materialManifest,
|
|
|
621
635
|
return;
|
|
622
636
|
}
|
|
623
637
|
components[componentName] = module.component;
|
|
624
|
-
|
|
638
|
+
const adapter = mergeComponentAdapter(componentName, module.adapter);
|
|
639
|
+
if (adapter) adapters[componentName] = adapter;
|
|
625
640
|
if (module.meta) metas[componentName] = module.meta;
|
|
626
641
|
})
|
|
627
642
|
);
|
|
@@ -629,5 +644,5 @@ async function loadMaterialModules(componentNames, manifest = materialManifest,
|
|
|
629
644
|
}
|
|
630
645
|
|
|
631
646
|
export { clearMaterialLoadCache, columnsRequestAdapter, defaultComponentAdapterRegistry, listTemplateAdapter, loadMaterialModules, materialManifest };
|
|
632
|
-
//# sourceMappingURL=chunk-
|
|
633
|
-
//# sourceMappingURL=chunk-
|
|
647
|
+
//# sourceMappingURL=chunk-LRLW4JL5.js.map
|
|
648
|
+
//# sourceMappingURL=chunk-LRLW4JL5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/runtime-adapters/columns-request.ts","../src/runtime-adapters/list-template.ts","../src/runtime-adapters/index.ts","../src/material-manifest.ts"],"names":[],"mappings":"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","file":"chunk-LRLW4JL5.js","sourcesContent":["import dayjs from \"dayjs\";\n\ntype ComponentAdapter = {\n adaptProps: (\n props: Record<string, unknown>,\n context: {\n runRequestEvent: (\n requestEvent: string,\n payload: Record<string, unknown>,\n ) => Promise<unknown>;\n },\n ) => Record<string, unknown>;\n};\n\ntype InitialValuePreset =\n | \"currentMonth\"\n | \"lastMonth\"\n | \"last7Days\"\n | \"last30Days\"\n | \"currentWeek\";\n\nfunction getValueByPath(source: unknown, path: string): unknown {\n const finalPath = String(path || \"\").trim();\n if (!finalPath) return undefined;\n return finalPath.split(\".\").reduce<unknown>((acc, segment) => {\n if (!segment) return acc;\n if (acc && typeof acc === \"object\") {\n return (acc as Record<string, unknown>)[segment];\n }\n return undefined;\n }, source);\n}\n\nfunction normalizeSelectOptionsFromResult(\n result: unknown,\n): Array<{ label: string; value: string | number }> {\n const source = getValueByPath(result, \"data\");\n const list = Array.isArray(source)\n ? source\n : Array.isArray(result)\n ? result\n : [];\n return list.reduce<Array<{ label: string; value: string | number }>>(\n (acc, item) => {\n const record =\n item && typeof item === \"object\"\n ? (item as Record<string, unknown>)\n : {};\n const value = record.value ?? record.id ?? record.code;\n if (value === undefined || value === null) return acc;\n const text = record.label ?? record.name ?? record.text ?? value;\n acc.push({\n label: String(text),\n value: value as string | number,\n });\n return acc;\n },\n [],\n );\n}\n\nfunction resolveColumnRequestEvent(column: Record<string, unknown>): string {\n const direct = String(column._requestEvent || \"\").trim();\n if (direct) return direct;\n return \"\";\n}\n\nfunction buildColumnRequestPayload(\n requestEvent: string,\n params: Record<string, unknown>,\n column: Record<string, unknown>,\n): Record<string, unknown> {\n const requestParams =\n params && typeof params === \"object\" && !Array.isArray(params)\n ? params\n : {};\n const field = String(column.dataIndex || column.key || \"\").trim();\n return {\n ...requestParams,\n requestEvent,\n params: requestParams,\n field,\n column,\n };\n}\n\nfunction resolveDateRangePresetInitialValue(\n preset: InitialValuePreset,\n): [unknown, unknown] | undefined {\n const now = dayjs();\n switch (preset) {\n case \"currentMonth\":\n return [now.startOf(\"month\"), now.endOf(\"month\")];\n case \"lastMonth\": {\n const base = now.subtract(1, \"month\");\n return [base.startOf(\"month\"), base.endOf(\"month\")];\n }\n case \"last7Days\":\n return [now.subtract(6, \"day\").startOf(\"day\"), now.endOf(\"day\")];\n case \"last30Days\":\n return [now.subtract(1, \"month\").startOf(\"day\"), now.endOf(\"day\")];\n case \"currentWeek\":\n return [now.startOf(\"week\"), now.endOf(\"week\")];\n default:\n return undefined;\n }\n}\n\nfunction normalizeColumnFormItemProps(column: Record<string, unknown>) {\n const valueType = String(column.valueType || \"\");\n if (![\"dateRange\", \"dateTimeRange\"].includes(valueType)) {\n return column.formItemProps;\n }\n const raw =\n column.formItemProps &&\n typeof column.formItemProps === \"object\" &&\n !Array.isArray(column.formItemProps)\n ? (column.formItemProps as Record<string, unknown>)\n : undefined;\n if (!raw) return column.formItemProps;\n if (String(raw.initialValueMode || \"\") !== \"preset\") return raw;\n const preset = String(raw.initialValuePreset || \"\") as InitialValuePreset;\n if (!preset) return raw;\n const rangeValue = resolveDateRangePresetInitialValue(preset);\n if (!rangeValue) return raw;\n return {\n ...raw,\n initialValue: rangeValue,\n };\n}\n\nfunction attachColumnsRequestByEvent(\n columns: unknown,\n runRequestEvent: (\n requestEvent: string,\n payload: Record<string, unknown>,\n ) => Promise<unknown>,\n): unknown {\n if (!Array.isArray(columns)) return columns;\n return columns.map((column) => {\n if (!column || typeof column !== \"object\") return column;\n const current = column as Record<string, unknown>;\n const normalizedFormItemProps = normalizeColumnFormItemProps(current);\n const normalizedColumn =\n normalizedFormItemProps === current.formItemProps\n ? current\n : {\n ...current,\n formItemProps: normalizedFormItemProps,\n };\n const requestEvent = resolveColumnRequestEvent(current);\n if (!requestEvent) return normalizedColumn;\n return {\n ...normalizedColumn,\n request: async (params: Record<string, unknown>) => {\n const payload = buildColumnRequestPayload(\n requestEvent,\n params,\n current,\n );\n const result = await runRequestEvent(requestEvent, payload);\n return normalizeSelectOptionsFromResult(result);\n },\n };\n });\n}\n\nexport const columnsRequestAdapter: ComponentAdapter = {\n adaptProps: (props, context) => {\n if (!(\"columns\" in props)) return props;\n return {\n ...props,\n columns: attachColumnsRequestByEvent(props.columns, context.runRequestEvent),\n };\n },\n};\n","import { List } from \"antd\";\r\nimport { createElement, type ReactNode } from \"react\";\r\n\r\ntype ComponentAdapterContext = {\r\n mode?: \"edit\" | \"preview\";\r\n runtimeContext?: Record<string, unknown>;\r\n hasChildren?: boolean;\r\n renderChildren?: (runtimeContext?: Record<string, unknown>) => ReactNode;\r\n runRequestEvent: (\r\n requestEvent: string,\r\n payload: Record<string, unknown>,\r\n ) => Promise<unknown>;\r\n};\r\n\r\ntype ComponentAdapter = {\r\n adaptProps: (\r\n props: Record<string, unknown>,\r\n context: ComponentAdapterContext,\r\n ) => Record<string, unknown>;\r\n};\r\n\r\nexport type ListItemRecord = unknown;\r\n\r\nexport function normalizeListDataSource(dataSource: unknown): ListItemRecord[] {\r\n return Array.isArray(dataSource) ? dataSource : [];\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 normalizeGridNumber(value: unknown): number | undefined {\r\n if (typeof value !== \"number\") return undefined;\r\n if (!Number.isFinite(value)) return undefined;\r\n return value;\r\n}\r\n\r\nexport function normalizeListGrid(\r\n grid: unknown,\r\n): Record<string, unknown> | undefined {\r\n if (!isPlainObject(grid)) return undefined;\r\n const nextGrid = Object.entries(grid).reduce<Record<string, unknown>>(\r\n (acc, [key, value]) => {\r\n const nextValue = normalizeGridNumber(value);\r\n if (nextValue !== undefined) {\r\n acc[key] = nextValue;\r\n }\r\n return acc;\r\n },\r\n {},\r\n );\r\n return Object.keys(nextGrid).length > 0 ? nextGrid : undefined;\r\n}\r\n\r\nexport function getListItemKey(\r\n record: ListItemRecord,\r\n index: number,\r\n rowKey?: unknown,\r\n): string {\r\n const keyField = String(rowKey || \"\").trim();\r\n if (\r\n keyField &&\r\n record &&\r\n typeof record === \"object\" &&\r\n !Array.isArray(record)\r\n ) {\r\n const value = (record as Record<string, unknown>)[keyField];\r\n if (value !== undefined && value !== null && value !== \"\") {\r\n return String(value);\r\n }\r\n }\r\n return String(index);\r\n}\r\n\r\nexport function buildListItemRuntimeContext(\r\n runtimeContext: Record<string, unknown> | undefined,\r\n record: ListItemRecord,\r\n index: number,\r\n rowKey: string,\r\n list: ListItemRecord[],\r\n): Record<string, unknown> {\r\n const baseData =\r\n runtimeContext?.data &&\r\n typeof runtimeContext.data === \"object\" &&\r\n !Array.isArray(runtimeContext.data)\r\n ? (runtimeContext.data as Record<string, unknown>)\r\n : {};\r\n\r\n return {\r\n ...(runtimeContext || {}),\r\n data: {\r\n ...baseData,\r\n record,\r\n item: record,\r\n index,\r\n rowKey,\r\n list,\r\n },\r\n };\r\n}\r\n\r\nexport const listTemplateAdapter: ComponentAdapter = {\r\n adaptProps: (props, context) => {\r\n const {\r\n children: _children,\r\n rowKey,\r\n previewCount,\r\n grid,\r\n ...restProps\r\n } = props;\r\n const safeGrid = normalizeListGrid(grid);\r\n const normalizedProps = safeGrid\r\n ? { ...restProps, grid: safeGrid }\r\n : restProps;\r\n if (!context.hasChildren || !context.renderChildren) {\r\n return normalizedProps;\r\n }\r\n\r\n void previewCount;\r\n const rows = normalizeListDataSource(props.dataSource);\r\n const rowKeyField = String(rowKey || \"\").trim();\r\n\r\n return {\r\n ...normalizedProps,\r\n dataSource: rows,\r\n renderItem: (record: unknown, rowIndex: number) => {\r\n const itemKey = getListItemKey(record, rowIndex, rowKeyField);\r\n const nextRuntimeContext = buildListItemRuntimeContext(\r\n context.runtimeContext,\r\n record,\r\n rowIndex,\r\n itemKey,\r\n rows,\r\n );\r\n return createElement(\r\n List.Item,\r\n { key: itemKey },\r\n context.renderChildren?.(nextRuntimeContext),\r\n );\r\n },\r\n };\r\n },\r\n};\r\n","import { columnsRequestAdapter } from \"./columns-request\";\nimport { listTemplateAdapter } from \"./list-template\";\nimport type { ReactNode } from \"react\";\n\ntype ComponentAdapter = {\n acceptsInternalRuntimeProps?: boolean;\n getResolveOptions?: (propPath: string[]) => {\n skipBindFallback?: boolean;\n };\n adaptProps: (\n props: Record<string, unknown>,\n context: {\n mode?: \"edit\" | \"preview\";\n runtimeContext?: Record<string, unknown>;\n hasChildren?: boolean;\n renderChildren?: (\n runtimeContext?: Record<string, unknown>,\n ) => ReactNode;\n runRequestEvent: (\n requestEvent: string,\n payload: Record<string, unknown>,\n ) => Promise<unknown>;\n },\n ) => Record<string, unknown>;\n};\n\ntype ComponentAdapterRegistry = {\n get: (componentName: string) => ComponentAdapter | null;\n};\n\nconst columnsAdapterComponentNames = new Set([\n \"ProTable\",\n \"SchemaForm\",\n \"Table\",\n]);\n\nconst runtimePropComponentNames = new Set([\n \"ProTable\",\n \"SchemaForm\",\n \"FilterColumns\",\n \"Breadcrumb\",\n \"Descriptions\",\n \"Tag\",\n \"DesensitizationDisplay\",\n \"Drawer\",\n]);\n\nconst dataSourceFallbackComponentNames = new Set([\"List\", \"ProTable\"]);\n\nconst passthroughAdapter: ComponentAdapter = {\n adaptProps: (props) => props,\n};\n\nfunction withRuntimeProps(adapter: ComponentAdapter): ComponentAdapter {\n return {\n ...adapter,\n acceptsInternalRuntimeProps: true,\n };\n}\n\nfunction withDataSourceFallbackSkip(adapter: ComponentAdapter): ComponentAdapter {\n return {\n ...adapter,\n getResolveOptions: (propPath) => {\n const baseOptions = adapter.getResolveOptions?.(propPath) || {};\n if (propPath[0] !== \"dataSource\") return baseOptions;\n return {\n ...baseOptions,\n skipBindFallback: true,\n };\n },\n };\n}\n\nfunction buildAdapter(componentName: string, adapter: ComponentAdapter) {\n const withDataSourceStrategy = dataSourceFallbackComponentNames.has(componentName)\n ? withDataSourceFallbackSkip(adapter)\n : adapter;\n return runtimePropComponentNames.has(componentName)\n ? withRuntimeProps(withDataSourceStrategy)\n : withDataSourceStrategy;\n}\n\nexport const defaultComponentAdapterRegistry: ComponentAdapterRegistry = {\n get: (componentName: string) => {\n if (componentName === \"List\") {\n return buildAdapter(componentName, listTemplateAdapter);\n }\n if (columnsAdapterComponentNames.has(componentName)) {\n return buildAdapter(componentName, columnsRequestAdapter);\n }\n if (runtimePropComponentNames.has(componentName)) {\n return buildAdapter(componentName, passthroughAdapter);\n }\n return null;\n },\n};\n","import type { ComponentType } from \"react\";\nimport type { ComponentMeta } from \"@mijalowcode/types\";\nimport { columnsRequestAdapter } from \"./runtime-adapters/columns-request\";\nimport { defaultComponentAdapterRegistry } from \"./runtime-adapters\";\nimport { listTemplateAdapter } from \"./runtime-adapters/list-template\";\n\ntype ComponentAdapter = {\n acceptsInternalRuntimeProps?: boolean;\n getResolveOptions?: (propPath: string[]) => {\n skipBindFallback?: boolean;\n };\n adaptProps: (\n props: Record<string, unknown>,\n context: {\n runRequestEvent: (\r\n requestEvent: string,\r\n payload: Record<string, unknown>,\r\n ) => Promise<unknown>;\r\n },\r\n ) => Record<string, unknown>;\r\n};\r\n\r\nexport type MaterialRuntimeModule = {\r\n component: ComponentType<any>;\r\n adapter?: ComponentAdapter;\r\n meta?: ComponentMeta;\r\n};\r\n\r\nexport type MaterialLoadOptions = {\r\n includeMeta?: boolean;\r\n};\r\n\r\nexport type LoadMaterialModulesOptions = MaterialLoadOptions;\r\n\r\nexport type MaterialLoader = (\r\n options?: MaterialLoadOptions,\r\n) => Promise<MaterialRuntimeModule>;\r\n\r\nexport type MaterialManifestEntry = MaterialLoader;\r\n\r\nexport type MaterialManifest = Record<string, MaterialManifestEntry>;\r\n\r\nexport type LoadedMaterialModules = {\r\n components: Record<string, ComponentType<any>>;\r\n adapters: Record<string, ComponentAdapter>;\r\n metas: Record<string, ComponentMeta>;\r\n missing: string[];\r\n};\r\n\r\nconst defaultMaterialLoadOptions: MaterialLoadOptions = {\r\n includeMeta: false,\r\n};\r\n\r\nfunction shouldLoadMeta(options?: MaterialLoadOptions) {\r\n return Boolean(options?.includeMeta);\r\n}\r\n\r\nfunction pick(source: unknown, path: string): ComponentType<any> {\r\n return path.split(\".\").reduce<unknown>((acc, segment) => {\r\n if (!acc || typeof acc !== \"object\") return undefined;\r\n return (acc as Record<string, unknown>)[segment];\r\n }, source) as ComponentType<any>;\r\n}\r\n\r\nasync function loadWeb(\r\n exportPath: string,\r\n metaLoader?: () => Promise<ComponentMeta>,\r\n options: MaterialLoadOptions = defaultMaterialLoadOptions,\r\n): Promise<MaterialRuntimeModule> {\r\n const [web, meta] = await Promise.all([\r\n import(\"@mijadesign/web\"),\r\n shouldLoadMeta(options) ? metaLoader?.() : undefined,\r\n ]);\r\n return { component: pick(web, exportPath), meta };\r\n}\r\n\r\nasync function loadAntdLayout(\r\n exportPath: string,\r\n metaLoader?: () => Promise<ComponentMeta>,\r\n options: MaterialLoadOptions = defaultMaterialLoadOptions,\r\n): Promise<MaterialRuntimeModule> {\r\n const [antd, meta] = await Promise.all([\r\n import(\"antd\"),\r\n shouldLoadMeta(options) ? metaLoader?.() : undefined,\r\n ]);\r\n return { component: pick(antd, exportPath), meta };\r\n}\r\n\r\nasync function loadDefault(\r\n componentLoader: () => Promise<{ default: ComponentType<any> }>,\r\n metaLoader?: () => Promise<ComponentMeta>,\r\n adapter?: ComponentAdapter,\r\n options: MaterialLoadOptions = defaultMaterialLoadOptions,\r\n): Promise<MaterialRuntimeModule> {\r\n const [componentModule, meta] = await Promise.all([\r\n componentLoader(),\r\n shouldLoadMeta(options) ? metaLoader?.() : undefined,\r\n ]);\r\n return { component: componentModule.default, adapter, meta };\r\n}\r\n\r\nconst loadColumnsAdapter = () => columnsRequestAdapter;\n\nfunction mergeComponentAdapter(\n componentName: string,\n adapter?: ComponentAdapter,\n): ComponentAdapter | undefined {\n const defaultAdapter = defaultComponentAdapterRegistry.get(componentName);\n if (!adapter) return defaultAdapter || undefined;\n if (!defaultAdapter) return adapter;\n return {\n ...defaultAdapter,\n ...adapter,\n acceptsInternalRuntimeProps:\n adapter.acceptsInternalRuntimeProps ??\n defaultAdapter.acceptsInternalRuntimeProps,\n getResolveOptions: (propPath) => ({\n ...(defaultAdapter.getResolveOptions?.(propPath) || {}),\n ...(adapter.getResolveOptions?.(propPath) || {}),\n }),\n };\n}\n\r\nconst manifestLoadCache = new WeakMap<\r\n MaterialManifest,\r\n Map<string, Promise<MaterialRuntimeModule>>\r\n>();\r\n\r\nfunction getManifestCache(manifest: MaterialManifest) {\r\n const existing = manifestLoadCache.get(manifest);\r\n if (existing) return existing;\r\n const next = new Map<string, Promise<MaterialRuntimeModule>>();\r\n manifestLoadCache.set(manifest, next);\r\n return next;\r\n}\r\n\r\nfunction loadCachedMaterial(\r\n componentName: string,\r\n entry: MaterialManifestEntry,\r\n manifest: MaterialManifest,\r\n options: MaterialLoadOptions,\r\n) {\r\n const cache = getManifestCache(manifest);\r\n const cacheKey = `${componentName}:${shouldLoadMeta(options) ? \"meta\" : \"runtime\"}`;\r\n const cached = cache.get(cacheKey);\r\n if (cached) return cached;\r\n const loading = entry(options).catch((error: unknown) => {\r\n cache.delete(cacheKey);\r\n throw error;\r\n });\r\n cache.set(cacheKey, loading);\r\n return loading;\r\n}\r\n\r\nexport function clearMaterialLoadCache(manifest?: MaterialManifest) {\r\n if (manifest) {\r\n manifestLoadCache.delete(manifest);\r\n return;\r\n }\r\n manifestLoadCache.delete(materialManifest);\r\n}\r\n\r\nexport const materialManifest: MaterialManifest = {\r\n Button: () =>\r\n loadDefault(\r\n () => import(\"./antd/Button/ButtonWrapper\"),\r\n async () => (await import(\"./antd/Button/meta\")).ButtonMeta,\r\n ),\r\n Space: () =>\r\n loadDefault(\r\n () => import(\"./antd/Space/SpaceWrapper\"),\r\n async () => (await import(\"./antd/Space/meta\")).SpaceMeta,\r\n ),\r\n DesensitizationDisplay: () =>\r\n loadDefault(\r\n () => import(\"./custom/DesensitizationDisplay\"),\r\n async () =>\r\n (await import(\"./custom/DesensitizationDisplay/meta\"))\r\n .DesensitizationDisplayMeta,\r\n ),\r\n\r\n Layout: () =>\r\n loadAntdLayout(\"Layout\", async () =>\r\n (await import(\"./antd/Layout/meta\")).LayoutMeta\r\n ),\r\n \"Layout.Header\": () => loadAntdLayout(\"Layout.Header\"),\r\n \"Layout.Sider\": () => loadAntdLayout(\"Layout.Sider\"),\r\n \"Layout.Content\": () => loadAntdLayout(\"Layout.Content\"),\r\n \"Layout.Footer\": () => loadAntdLayout(\"Layout.Footer\"),\r\n Header: () =>\r\n loadAntdLayout(\"Layout.Header\", async () =>\r\n (await import(\"./antd/Layout/meta\")).HeaderMeta\r\n ),\r\n Sider: () =>\r\n loadAntdLayout(\"Layout.Sider\", async () =>\r\n (await import(\"./antd/Layout/meta\")).SiderMeta\r\n ),\r\n Content: () =>\r\n loadAntdLayout(\"Layout.Content\", async () =>\r\n (await import(\"./antd/Layout/meta\")).ContentMeta\r\n ),\r\n Footer: () =>\r\n loadAntdLayout(\"Layout.Footer\", async () =>\r\n (await import(\"./antd/Layout/meta\")).FooterMeta\r\n ),\r\n Row: () =>\r\n loadWeb(\"Row\", async () => (await import(\"./antd/Layout/meta\")).RowMeta),\r\n Col: () =>\r\n loadWeb(\"Col\", async () => (await import(\"./antd/Layout/meta\")).ColMeta),\r\n Card: () =>\r\n loadWeb(\"Card\", async () => (await import(\"./antd/Card/meta\")).CardMeta),\r\n\r\n Input: () =>\r\n loadWeb(\"Input\", async () => (await import(\"./antd/Input/meta\")).InputMeta),\r\n \"Input.TextArea\": () =>\r\n loadWeb(\"Input.TextArea\", async () =>\r\n (await import(\"./antd/Input/meta\")).InputTextAreaMeta\r\n ),\r\n \"Input.Search\": () => loadWeb(\"Input.Search\"),\r\n \"Input.Password\": () => loadWeb(\"Input.Password\"),\r\n Form: () =>\r\n loadWeb(\"Form\", async () => (await import(\"./antd/Form/meta\")).FormMeta),\r\n \"Form.Item\": () =>\r\n loadWeb(\"Form.Item\", async () =>\r\n (await import(\"./antd/Form/meta\")).FormItemMeta\r\n ),\r\n \"Form.List\": () =>\r\n loadWeb(\"Form.List\", async () =>\r\n (await import(\"./antd/Form/meta\")).FormListMeta\r\n ),\r\n Select: () =>\r\n loadWeb(\"Select\", async () =>\r\n (await import(\"./antd/Select/meta\")).SelectMeta\r\n ),\r\n InputNumber: () =>\r\n loadWeb(\"InputNumber\", async () =>\r\n (await import(\"./antd/InputNumber/meta\")).InputNumberMeta\r\n ),\r\n\r\n DatePicker: () =>\r\n loadWeb(\"DatePicker\", async () =>\r\n (await import(\"./antd/DatePicker/meta\")).DatePickerMeta\r\n ),\r\n \"DatePicker.RangePicker\": () =>\r\n loadWeb(\"DatePicker.RangePicker\", async () =>\r\n (await import(\"./antd/DatePicker/meta\")).RangePickerMeta\r\n ),\r\n TimePicker: () =>\r\n loadWeb(\"TimePicker\", async () =>\r\n (await import(\"./antd/DatePicker/meta\")).TimePickerMeta\r\n ),\r\n Upload: () =>\r\n loadWeb(\"Upload\", async () =>\r\n (await import(\"./antd/Upload/meta\")).UploadMeta\r\n ),\r\n Tree: () =>\r\n loadWeb(\"Tree\", async () => (await import(\"./antd/Tree/meta\")).TreeMeta),\r\n TreeSelect: () =>\r\n loadWeb(\"TreeSelect\", async () =>\r\n (await import(\"./antd/Tree/meta\")).TreeSelectMeta\r\n ),\r\n Tabs: () =>\r\n loadWeb(\"Tabs\", async () => (await import(\"./antd/Tabs/meta\")).TabsMeta),\r\n \"Tabs.TabPane\": () =>\r\n loadWeb(\"Tabs.TabPane\", async () =>\r\n (await import(\"./antd/Tabs/meta\")).TabPaneMeta\r\n ),\r\n Steps: () =>\r\n loadWeb(\"Steps\", async () => (await import(\"./antd/Steps/meta\")).StepsMeta),\r\n \"Steps.Step\": () =>\r\n loadWeb(\"Steps.Step\", async () =>\r\n (await import(\"./antd/Steps/meta\")).StepMeta\r\n ),\r\n Tag: () =>\r\n loadDefault(\r\n () => import(\"./antd/Tag/TagWrapper\"),\r\n async () => (await import(\"./antd/Tag/meta\")).TagMeta,\r\n ),\r\n \"Tag.CheckableTag\": () =>\r\n loadWeb(\"Tag.CheckableTag\", async () =>\r\n (await import(\"./antd/Tag/meta\")).CheckableTagMeta\r\n ),\r\n ScenarioFlowBoard: () =>\r\n loadDefault(\r\n () => import(\"./custom/scenario/ScenarioFlowBoard\"),\r\n async () =>\r\n (await import(\"./custom/scenario/ScenarioFlowBoard/meta\"))\r\n .ScenarioFlowBoardMeta,\r\n ),\r\n ScenarioFlowScene: () =>\r\n loadDefault(\r\n () => import(\"./custom/scenario/ScenarioFlowScene\"),\r\n async () =>\r\n (await import(\"./custom/scenario/ScenarioFlowScene/meta\"))\r\n .ScenarioFlowSceneMeta,\r\n ),\r\n ScenarioFlowStep: () =>\r\n loadDefault(\r\n () => import(\"./custom/scenario/ScenarioFlowStep\"),\r\n async () =>\r\n (await import(\"./custom/scenario/ScenarioFlowStep/meta\"))\r\n .ScenarioFlowStepMeta,\r\n ),\r\n\r\n Badge: () =>\r\n loadWeb(\"Badge\", async () => (await import(\"./antd/Badge/meta\")).BadgeMeta),\r\n \"Badge.Ribbon\": () =>\r\n loadWeb(\"Badge.Ribbon\", async () =>\r\n (await import(\"./antd/Badge/meta\")).BadgeRibbonMeta\r\n ),\r\n Avatar: () =>\r\n loadWeb(\"Avatar\", async () =>\r\n (await import(\"./antd/Avatar/meta\")).AvatarMeta\r\n ),\r\n \"Avatar.Group\": () =>\r\n loadWeb(\"Avatar.Group\", async () =>\r\n (await import(\"./antd/Avatar/meta\")).AvatarGroupMeta\r\n ),\r\n Dropdown: () =>\r\n loadWeb(\"Dropdown\", async () =>\r\n (await import(\"./antd/Dropdown/meta\")).DropdownMeta\r\n ),\r\n Breadcrumb: () =>\r\n loadDefault(\r\n () => import(\"./antd/Breadcrumb/BreadcrumbWrapper\"),\r\n async () => (await import(\"./antd/Breadcrumb/meta\")).BreadcrumbMeta,\r\n ),\r\n \"Dropdown.Button\": () =>\r\n loadWeb(\"Dropdown.Button\", async () =>\r\n (await import(\"./antd/Dropdown/meta\")).DropdownButtonMeta\r\n ),\r\n Pagination: () =>\r\n loadWeb(\"Pagination\", async () =>\r\n (await import(\"./antd/Pagination/meta\")).PaginationMeta\r\n ),\r\n Switch: () =>\r\n loadWeb(\"Switch\", async () =>\r\n (await import(\"./antd/Switch/meta\")).SwitchMeta\r\n ),\r\n Radio: () =>\r\n loadWeb(\"Radio\", async () => (await import(\"./antd/Radio/meta\")).RadioMeta),\r\n \"Radio.Group\": () =>\r\n loadWeb(\"Radio.Group\", async () =>\r\n (await import(\"./antd/Radio/meta\")).RadioGroupMeta\r\n ),\r\n RadioButton: () => loadWeb(\"Radio.Button\"),\r\n Checkbox: () =>\r\n loadWeb(\"Checkbox\", async () =>\r\n (await import(\"./antd/Checkbox/meta\")).CheckboxMeta\r\n ),\r\n \"Checkbox.Group\": () =>\r\n loadWeb(\"Checkbox.Group\", async () =>\r\n (await import(\"./antd/Checkbox/meta\")).CheckboxGroupMeta\r\n ),\r\n Cascader: () =>\r\n loadWeb(\"Cascader\", async () =>\r\n (await import(\"./antd/Cascader/meta\")).CascaderMeta\r\n ),\r\n Table: () =>\r\n loadWeb(\r\n \"Table\",\r\n async () => (await import(\"./antd/Table/meta\")).TableMeta,\r\n ).then((module) => ({ ...module, adapter: loadColumnsAdapter() })),\r\n\r\n Typography: () => loadWeb(\"Typography\"),\r\n \"Typography.Title\": () =>\r\n loadWeb(\"Typography.Title\", async () =>\r\n (await import(\"./antd/Typography/meta\")).TypographyTitleMeta\r\n ),\r\n \"Typography.Paragraph\": () =>\r\n loadWeb(\"Typography.Paragraph\", async () =>\r\n (await import(\"./antd/Typography/meta\")).TypographyParagraphMeta\r\n ),\r\n \"Typography.Text\": () =>\r\n loadWeb(\"Typography.Text\", async () =>\r\n (await import(\"./antd/Typography/meta\")).TypographyTextMeta\r\n ),\r\n\r\n ProTable: () =>\r\n loadDefault(\r\n () => import(\"./antdPro/ProTable/ProTableWrapper\"),\r\n async () => (await import(\"./antdPro/ProTable/meta\")).ProTableMeta,\r\n loadColumnsAdapter(),\r\n ),\r\n SchemaForm: () =>\r\n loadDefault(\r\n () => import(\"./antdPro/SchemaForm/SchemaFormWrapper\"),\r\n async () => (await import(\"./antdPro/SchemaForm/meta\")).SchemaFormMeta,\r\n loadColumnsAdapter(),\r\n ),\r\n FilterColumns: () =>\r\n loadDefault(\r\n () => import(\"./antdPro/FilterColumns/FilterColumnsWrapper\"),\r\n async () =>\r\n (await import(\"./antdPro/FilterColumns/meta\")).FilterColumnsMeta,\r\n ),\r\n\r\n Modal: () =>\r\n loadWeb(\"Modal\", async () => (await import(\"./antd/Modal/meta\")).ModalMeta),\r\n Drawer: () =>\n loadDefault(\n () => import(\"./antd/Drawer/DrawerWrapper\"),\n async () => (await import(\"./antd/Drawer/meta\")).DrawerMeta,\n ),\n Descriptions: () =>\n loadDefault(\n () => import(\"./antd/Descriptions/DescriptionsWrapper\"),\n async () => (await import(\"./antd/Descriptions/meta\")).DescriptionsMeta,\n ),\n \"Descriptions.Item\": () => loadWeb(\"Descriptions.Item\"),\n List: () =>\n loadDefault(\n () => import(\"./antd/List/ListWrapper\"),\n async () => (await import(\"./antd/List/meta\")).ListMeta,\n listTemplateAdapter,\n ),\n \"List.Item\": () =>\n loadWeb(\"List.Item\", async () =>\n (await import(\"./antd/List/meta\")).ListItemMeta\n ),\r\n Empty: () =>\r\n loadDefault(\r\n () => import(\"./antd/Empty/EmptyWrapper\"),\r\n async () => (await import(\"./antd/Empty/meta\")).EmptyMeta,\r\n ),\r\n Spin: () =>\r\n loadWeb(\"Spin\", async () => (await import(\"./antd/Spin/meta\")).SpinMeta),\r\n Alert: () =>\r\n loadWeb(\"Alert\", async () => (await import(\"./antd/Alert/meta\")).AlertMeta),\r\n Progress: () =>\r\n loadWeb(\"Progress\", async () =>\r\n (await import(\"./antd/Progress/meta\")).ProgressMeta\r\n ),\r\n Skeleton: () =>\r\n loadWeb(\"Skeleton\", async () =>\r\n (await import(\"./antd/Tooltip/meta\")).SkeletonMeta\r\n ),\r\n Tooltip: () =>\r\n loadWeb(\"Tooltip\", async () =>\r\n (await import(\"./antd/Tooltip/meta\")).TooltipMeta\r\n ),\r\n Popconfirm: () =>\r\n loadWeb(\"Popconfirm\", async () =>\r\n (await import(\"./antd/Tooltip/meta\")).PopconfirmMeta\r\n ),\r\n Popover: () =>\r\n loadDefault(\r\n () => import(\"./antd/Popover/PopoverWrapper\"),\r\n async () => (await import(\"./antd/Popover/meta\")).PopoverMeta\r\n ),\r\n Divider: () =>\r\n loadWeb(\"Divider\", async () =>\r\n (await import(\"./antd/Divider/meta\")).DividerMeta\r\n ),\r\n Statistic: () =>\r\n loadWeb(\"Statistic\", async () =>\r\n (await import(\"./antd/Statistic/meta\")).StatisticMeta\r\n ),\r\n Timeline: () =>\r\n loadWeb(\"Timeline\", async () =>\r\n (await import(\"./antd/Timeline/meta\")).TimelineMeta\r\n ),\r\n \"Timeline.Item\": () =>\r\n loadWeb(\"Timeline.Item\", async () =>\r\n (await import(\"./antd/Timeline/meta\")).TimelineItemMeta\r\n ),\r\n Result: () =>\r\n loadWeb(\"Result\", async () => (await import(\"./antd/Result/meta\")).ResultMeta),\r\n};\r\n\r\nexport async function loadMaterialModules(\r\n componentNames: Iterable<string>,\r\n manifest: MaterialManifest = materialManifest,\r\n options: LoadMaterialModulesOptions = defaultMaterialLoadOptions,\r\n): Promise<LoadedMaterialModules> {\r\n const components: Record<string, ComponentType<any>> = {};\r\n const adapters: Record<string, ComponentAdapter> = {};\r\n const metas: Record<string, ComponentMeta> = {};\r\n const missing: string[] = [];\r\n const names = Array.from(new Set(Array.from(componentNames).filter(Boolean)));\r\n const pending = [...names];\r\n const visited = new Set<string>();\r\n\r\n while (pending.length > 0) {\r\n const componentName = pending.shift();\r\n if (!componentName || visited.has(componentName)) continue;\r\n visited.add(componentName);\r\n\r\n const entry = manifest[componentName];\r\n if (!entry) {\r\n missing.push(componentName);\r\n continue;\r\n }\r\n\r\n // 运行时只加载 schema 实际收集到的物料,避免复杂物料的历史显式依赖拉入未使用组件。\r\n }\r\n\r\n await Promise.all(\r\n Array.from(visited).map(async (componentName) => {\r\n const loader = manifest[componentName];\r\n if (!loader) {\r\n return;\r\n }\r\n const module = await loadCachedMaterial(\r\n componentName,\r\n loader,\r\n manifest,\r\n options,\r\n );\r\n if (!module.component) {\r\n missing.push(componentName);\r\n return;\r\n }\r\n components[componentName] = module.component;\r\n const adapter = mergeComponentAdapter(componentName, module.adapter);\n if (adapter) adapters[componentName] = adapter;\n if (module.meta) metas[componentName] = module.meta;\r\n }),\r\n );\r\n\r\n return { components, adapters, metas, missing };\r\n}\r\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useSlotRuntime } from './chunk-
|
|
1
|
+
import { useSlotRuntime } from './chunk-ERTSEXI5.js';
|
|
2
2
|
import { useMemo } from 'react';
|
|
3
3
|
import { Descriptions } from '@mijadesign/web';
|
|
4
4
|
import { jsx } from 'react/jsx-runtime';
|
|
@@ -8,6 +8,19 @@ function normalizeDescriptionsItemChildren(value) {
|
|
|
8
8
|
if (value === void 0 || value === null || value === "") return "-";
|
|
9
9
|
return value;
|
|
10
10
|
}
|
|
11
|
+
function buildDescriptionsSlotData(item, index) {
|
|
12
|
+
const itemKey = String(item.key || "").trim();
|
|
13
|
+
const rawValue = item.children;
|
|
14
|
+
return {
|
|
15
|
+
item,
|
|
16
|
+
index,
|
|
17
|
+
key: itemKey,
|
|
18
|
+
label: item.label,
|
|
19
|
+
value: rawValue,
|
|
20
|
+
rawValue,
|
|
21
|
+
displayValue: normalizeDescriptionsItemChildren(rawValue)
|
|
22
|
+
};
|
|
23
|
+
}
|
|
11
24
|
function getItemSlotName(item, index) {
|
|
12
25
|
const key = String(item.key || "").trim();
|
|
13
26
|
return key ? `item:${key}` : `item:${index + 1}`;
|
|
@@ -17,8 +30,6 @@ function isPlainObject(value) {
|
|
|
17
30
|
}
|
|
18
31
|
function buildDescriptionsSlotRuntimeContext(runtimeContext, item, index, slotName) {
|
|
19
32
|
const baseData = isPlainObject(runtimeContext?.data) ? runtimeContext.data : {};
|
|
20
|
-
const itemKey = String(item.key || "").trim();
|
|
21
|
-
const value = item.children;
|
|
22
33
|
return {
|
|
23
34
|
...runtimeContext || {},
|
|
24
35
|
scope: "descriptions.item",
|
|
@@ -31,13 +42,7 @@ function buildDescriptionsSlotRuntimeContext(runtimeContext, item, index, slotNa
|
|
|
31
42
|
},
|
|
32
43
|
data: {
|
|
33
44
|
...baseData,
|
|
34
|
-
item,
|
|
35
|
-
index,
|
|
36
|
-
key: itemKey,
|
|
37
|
-
label: item.label,
|
|
38
|
-
value,
|
|
39
|
-
rawValue: value,
|
|
40
|
-
displayValue: value
|
|
45
|
+
...buildDescriptionsSlotData(item, index)
|
|
41
46
|
}
|
|
42
47
|
};
|
|
43
48
|
}
|
|
@@ -94,5 +99,5 @@ function DescriptionsWrapper({
|
|
|
94
99
|
var DescriptionsWrapper_default = DescriptionsWrapper;
|
|
95
100
|
|
|
96
101
|
export { DescriptionsWrapper_default };
|
|
97
|
-
//# sourceMappingURL=chunk-
|
|
98
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-Y6HUHJCS.js.map
|
|
103
|
+
//# sourceMappingURL=chunk-Y6HUHJCS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/antd/Descriptions/normalize.ts","../src/antd/Descriptions/DescriptionsWrapper.tsx"],"names":[],"mappings":"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","file":"chunk-Y6HUHJCS.js","sourcesContent":["export function normalizeDescriptionsItemChildren(value: unknown): unknown {\n if (value === undefined || value === null || value === \"\") return \"-\";\n return value;\n}\n\nexport function buildDescriptionsSlotData(\n item: Record<string, unknown>,\n index: number,\n) {\n const itemKey = String(item.key || \"\").trim();\n const rawValue = item.children;\n return {\n item,\n index,\n key: itemKey,\n label: item.label,\n value: rawValue,\n rawValue,\n displayValue: normalizeDescriptionsItemChildren(rawValue),\n };\n}\n","import { useMemo, type ComponentProps, type ReactNode } from \"react\";\nimport { Descriptions } from \"@mijadesign/web\";\nimport { useSlotRuntime, type SlotArea } from \"../../slot-runtime\";\nimport {\n buildDescriptionsSlotData,\n normalizeDescriptionsItemChildren,\n} from \"./normalize\";\n\ntype DescriptionsItem = NonNullable<\n ComponentProps<typeof Descriptions>[\"items\"]\n>[number] & {\n key?: string;\n};\n\ninterface DescriptionsWrapperProps extends Omit<\n ComponentProps<typeof Descriptions>,\n \"items\"\n> {\n items?: DescriptionsItem[];\n renderSlot?: (\n slotName: string,\n payload?: Record<string, unknown>,\n ) => ReactNode;\n children?: ReactNode;\n runtime?: {\n context?: Record<string, unknown>;\n };\n}\n\nfunction getItemSlotName(item: DescriptionsItem, index: number) {\n const key = String(item.key || \"\").trim();\n return key ? `item:${key}` : `item:${index + 1}`;\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction buildDescriptionsSlotRuntimeContext(\n runtimeContext: Record<string, unknown> | undefined,\n item: DescriptionsItem,\n index: number,\n slotName: string,\n): Record<string, unknown> {\n const baseData = isPlainObject(runtimeContext?.data)\n ? (runtimeContext.data as Record<string, unknown>)\n : {};\n\n return {\n ...(runtimeContext || {}),\n scope: \"descriptions.item\",\n area: slotName,\n container: {\n type: \"descriptions\",\n area: slotName,\n index,\n item,\n },\n data: {\n ...baseData,\n ...buildDescriptionsSlotData(item as any, index),\n },\n };\n}\n\nfunction DescriptionsWrapper({\n items = [],\n renderSlot,\n children,\n runtime,\n ...restProps\n}: DescriptionsWrapperProps) {\n const runtimeContext = runtime?.context;\n const slotAreas = useMemo<SlotArea[]>(\n () =>\n items.map((item, index) => ({\n name: getItemSlotName(item, index),\n })),\n [items],\n );\n const { getAreaNodes } = useSlotRuntime({\n renderSlot,\n children,\n areas: slotAreas,\n context: runtimeContext ? { runtimeContext } : undefined,\n });\n\n const finalItems = useMemo(\n () =>\n items.map((item, index) => {\n const normalizedItem = {\n ...item,\n children: normalizeDescriptionsItemChildren(\n item.children,\n ) as typeof item.children,\n };\n const slotName = getItemSlotName(item, index);\n const slotRuntimeContext = buildDescriptionsSlotRuntimeContext(\n runtimeContext,\n normalizedItem,\n index,\n slotName,\n );\n const slotNodes = getAreaNodes(slotName, {\n item: normalizedItem,\n index,\n runtimeContext: slotRuntimeContext,\n });\n if (!slotNodes || slotNodes.length === 0) return normalizedItem;\n return {\n ...normalizedItem,\n children: slotNodes.length === 1 ? slotNodes[0] : slotNodes,\n };\n }),\n [items, getAreaNodes, runtimeContext],\n );\n\n return <Descriptions {...restProps} items={finalItems} />;\n}\n\nexport default DescriptionsWrapper;\n"]}
|
|
@@ -11,6 +11,48 @@ var DesensitizationDisplay_default = {
|
|
|
11
11
|
desensitizationDisplay: "DesensitizationDisplay_desensitizationDisplay",
|
|
12
12
|
eyeIcon: "DesensitizationDisplay_eyeIcon"
|
|
13
13
|
};
|
|
14
|
+
|
|
15
|
+
// src/custom/DesensitizationDisplay/utils.ts
|
|
16
|
+
function isEmptyDisplaySource(value) {
|
|
17
|
+
return value === void 0 || value === null || value === "";
|
|
18
|
+
}
|
|
19
|
+
function hasOwnValue(value, key) {
|
|
20
|
+
return Object.prototype.hasOwnProperty.call(value, key);
|
|
21
|
+
}
|
|
22
|
+
function resolveDesensitizationDisplayValue(copyableText, runtimeContext) {
|
|
23
|
+
if (!isEmptyDisplaySource(copyableText)) {
|
|
24
|
+
return {
|
|
25
|
+
hasValue: true,
|
|
26
|
+
value: String(copyableText)
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const data = runtimeContext?.data;
|
|
30
|
+
if (!data) {
|
|
31
|
+
return {
|
|
32
|
+
hasValue: false,
|
|
33
|
+
value: ""
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const rawValue = data.rawValue;
|
|
37
|
+
if (hasOwnValue(data, "rawValue") && isEmptyDisplaySource(rawValue)) {
|
|
38
|
+
return {
|
|
39
|
+
hasValue: false,
|
|
40
|
+
value: ""
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const displayValue = data.displayValue;
|
|
44
|
+
const resolvedValue = !isEmptyDisplaySource(displayValue) ? displayValue : rawValue;
|
|
45
|
+
if (isEmptyDisplaySource(resolvedValue)) {
|
|
46
|
+
return {
|
|
47
|
+
hasValue: false,
|
|
48
|
+
value: ""
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
hasValue: true,
|
|
53
|
+
value: String(resolvedValue)
|
|
54
|
+
};
|
|
55
|
+
}
|
|
14
56
|
var DesensitizationDisplay = (props) => {
|
|
15
57
|
const {
|
|
16
58
|
copyableText,
|
|
@@ -24,10 +66,8 @@ var DesensitizationDisplay = (props) => {
|
|
|
24
66
|
const { Text } = Typography;
|
|
25
67
|
const [showCardNum, setShowCardNum] = useState(false);
|
|
26
68
|
const runtimeContext = runtime?.context || __runtimeContext;
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
);
|
|
30
|
-
if (!resolvedValue) {
|
|
69
|
+
const { hasValue, value: resolvedValue } = resolveDesensitizationDisplayValue(copyableText, runtimeContext);
|
|
70
|
+
if (!hasValue) {
|
|
31
71
|
return "-";
|
|
32
72
|
}
|
|
33
73
|
return /* @__PURE__ */ jsxs(
|
|
@@ -74,5 +114,5 @@ var DesensitizationDisplay = (props) => {
|
|
|
74
114
|
var DesensitizationDisplay_default2 = DesensitizationDisplay;
|
|
75
115
|
|
|
76
116
|
export { DesensitizationDisplay_default2 as DesensitizationDisplay_default };
|
|
77
|
-
//# sourceMappingURL=chunk-
|
|
78
|
-
//# sourceMappingURL=chunk-
|
|
117
|
+
//# sourceMappingURL=chunk-YNYEQNFC.js.map
|
|
118
|
+
//# sourceMappingURL=chunk-YNYEQNFC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/custom/DesensitizationDisplay/index.module.css","../src/custom/DesensitizationDisplay/utils.ts","../src/custom/DesensitizationDisplay/index.tsx"],"names":["desensitizationDisplay","eyeIcon","DesensitizationDisplay_default"],"mappings":"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","file":"chunk-YNYEQNFC.js","sourcesContent":[".desensitizationDisplay {\n color: inherit;\n}\n\n.desensitizationDisplay :global(.ant-typography-copy) {\n margin-left: 4px;\n}\n\n.eyeIcon {\n color: #006dfc;\n margin-left: 4px;\n}\n\n.eyeIcon:hover {\n cursor: pointer;\n}\n","export const getStars = (value: any) => {\r\n if (value === null || value === undefined || value === \"\") {\r\n return \"\";\r\n }\r\n return \"*\".repeat(value.length);\r\n};\r\n\r\nexport const maskStarsText = (text: any) => {\r\n if (!text) return \"\";\r\n\r\n if (text.length <= 4) return text;\r\n\r\n return text.substring(0, 4) + \"**\";\r\n};\r\n\r\nexport const getTwoStars = (value: any) => {\r\n if (value === null || value === undefined || value === \"\") {\r\n return \"\";\r\n }\r\n return \"*\".repeat(2);\r\n};\r\n\r\nexport const getSecretId = (value: any) => {\r\n return value.substring(0, 6) + \"********\" + value.substring(14, 18);\r\n};\r\n\r\nexport const getSecretPhone = (value: any) => {\n return value.substring(0, 3) + \"****\" + value.substring(7, 11);\n};\n\ntype DesensitizationRuntimeContext = {\n data?: {\n rawValue?: unknown;\n displayValue?: unknown;\n [key: string]: unknown;\n };\n};\n\ntype ResolvedDesensitizationDisplayValue = {\n hasValue: boolean;\n value: string;\n};\n\nfunction isEmptyDisplaySource(value: unknown) {\n return value === undefined || value === null || value === \"\";\n}\n\nfunction hasOwnValue(\n value: Record<string, unknown>,\n key: string,\n): boolean {\n return Object.prototype.hasOwnProperty.call(value, key);\n}\n\nexport function resolveDesensitizationDisplayValue(\n copyableText?: string,\n runtimeContext?: DesensitizationRuntimeContext,\n): ResolvedDesensitizationDisplayValue {\n if (!isEmptyDisplaySource(copyableText)) {\n return {\n hasValue: true,\n value: String(copyableText),\n };\n }\n\n const data = runtimeContext?.data;\n if (!data) {\n return {\n hasValue: false,\n value: \"\",\n };\n }\n\n const rawValue = data.rawValue;\n if (hasOwnValue(data, \"rawValue\") && isEmptyDisplaySource(rawValue)) {\n return {\n hasValue: false,\n value: \"\",\n };\n }\n\n const displayValue = data.displayValue;\n const resolvedValue = !isEmptyDisplaySource(displayValue)\n ? displayValue\n : rawValue;\n\n if (isEmptyDisplaySource(resolvedValue)) {\n return {\n hasValue: false,\n value: \"\",\n };\n }\n\n return {\n hasValue: true,\n value: String(resolvedValue),\n };\n}\n","import { useState } from \"react\";\r\nimport type { ComponentProps, MouseEvent } from \"react\";\r\nimport { SbtBukejian, SbtFuzhi, SbtYulan } from \"@firesoon/icons-react\";\r\nimport { Typography, Tooltip } from \"@mijadesign/web\";\r\nimport classNames from \"classnames\";\nimport { message } from \"@mijadesign/web\";\nimport styles from \"./index.module.css\";\nimport { resolveDesensitizationDisplayValue } from \"./utils\";\n\r\ntype RuntimeContext = {\r\n scope?: string;\r\n area?: string;\r\n data?: {\r\n rawValue?: unknown;\r\n displayValue?: unknown;\r\n status?: unknown;\r\n record?: Record<string, unknown>;\r\n [key: string]: unknown;\r\n };\r\n};\r\n\r\ntype DesensitizationDisplayProps = Omit<\r\n ComponentProps<typeof Typography.Text>,\r\n \"children\" | \"copyable\" | \"type\"\r\n> & {\r\n copyableText?: string;\r\n type?: \"idCard\" | \"phone\";\r\n menuPath?: string;\r\n runtime?: {\r\n context?: RuntimeContext;\r\n };\r\n __runtimeContext?: RuntimeContext;\r\n};\r\n\r\nconst DesensitizationDisplay = (props: DesensitizationDisplayProps) => {\r\n const {\r\n copyableText,\r\n type = \"idCard\",\r\n className,\r\n menuPath,\r\n runtime,\r\n __runtimeContext,\r\n ...rest\r\n } = props;\r\n const { Text } = Typography;\n const [showCardNum, setShowCardNum] = useState(false);\n const runtimeContext = runtime?.context || __runtimeContext;\n\r\n const { hasValue, value: resolvedValue } =\n resolveDesensitizationDisplayValue(copyableText, runtimeContext);\n\n if (!hasValue) {\n return \"-\";\n }\n return (\r\n <Text\r\n copyable={{\r\n text: resolvedValue,\r\n onCopy: () => {\r\n message.success(\"复制成功\");\r\n },\r\n icon: [\r\n <SbtFuzhi style={{ color: \"#1677FF\" }} key={1} />,\r\n <SbtFuzhi style={{ color: \"#1677FF\" }} key={2} />,\r\n ],\r\n }}\r\n className={classNames(className, styles.desensitizationDisplay)}\r\n {...rest}\r\n >\r\n {resolvedValue && type === \"idCard\"\r\n ? showCardNum\r\n ? resolvedValue\r\n : resolvedValue.substring(0, 6) +\r\n \"********\" +\r\n resolvedValue.substring(14, 18)\r\n : null}\r\n {resolvedValue && type === \"phone\"\r\n ? showCardNum\r\n ? resolvedValue\r\n : resolvedValue.substring(0, 3) +\r\n \"****\" +\r\n resolvedValue.substring(7, 11)\r\n : null}\r\n {resolvedValue ? (\r\n showCardNum ? (\r\n <Tooltip key=\"tuomin\" title=\"脱敏\">\r\n <SbtYulan\r\n className={styles.eyeIcon}\r\n onClick={(e: MouseEvent<SVGSVGElement>) => {\r\n e.stopPropagation();\r\n setShowCardNum(!showCardNum);\r\n }}\r\n />\r\n </Tooltip>\r\n ) : (\r\n <Tooltip key=\"chakan\" title=\"查看\">\r\n <SbtBukejian\r\n className={styles.eyeIcon}\r\n onClick={(e: MouseEvent<SVGSVGElement>) => {\r\n e.stopPropagation();\r\n setShowCardNum(!showCardNum);\r\n }}\r\n />\r\n </Tooltip>\r\n )\r\n ) : null}\r\n </Text>\r\n );\r\n};\r\nexport default DesensitizationDisplay;\r\nexport type { RuntimeContext };\r\n"]}
|
package/dist/index.js
CHANGED
|
@@ -48,16 +48,16 @@ import { CardMeta } from './chunk-V7XIJFJ5.js';
|
|
|
48
48
|
import { ProTableMeta } from './chunk-I4PPBLBR.js';
|
|
49
49
|
import { SpaceWrapper_default } from './chunk-UAS2X4T7.js';
|
|
50
50
|
import { TagWrapper_default } from './chunk-QNCCC6AD.js';
|
|
51
|
-
import { PopoverWrapper_default } from './chunk-
|
|
51
|
+
import { PopoverWrapper_default } from './chunk-IJVBRVEE.js';
|
|
52
52
|
import { BreadcrumbWrapper_default } from './chunk-PITNZI3Z.js';
|
|
53
53
|
import { ListWrapper } from './chunk-JCJLL4OK.js';
|
|
54
54
|
export { ListWrapper } from './chunk-JCJLL4OK.js';
|
|
55
|
-
import { DescriptionsWrapper_default } from './chunk-
|
|
56
|
-
import { DesensitizationDisplay_default } from './chunk-
|
|
55
|
+
import { DescriptionsWrapper_default } from './chunk-Y6HUHJCS.js';
|
|
56
|
+
import { DesensitizationDisplay_default } from './chunk-YNYEQNFC.js';
|
|
57
57
|
import { ScenarioFlowBoard_default } from './chunk-PT743TKA.js';
|
|
58
|
-
export { clearMaterialLoadCache, columnsRequestAdapter, defaultComponentAdapterRegistry, listTemplateAdapter, loadMaterialModules, materialManifest } from './chunk-
|
|
59
|
-
import { ProTableWrapper_default } from './chunk-
|
|
60
|
-
export { collectSlotChildren, renderSlotArea, resolveSlot, useSlotRuntime } from './chunk-
|
|
58
|
+
export { clearMaterialLoadCache, columnsRequestAdapter, defaultComponentAdapterRegistry, listTemplateAdapter, loadMaterialModules, materialManifest } from './chunk-LRLW4JL5.js';
|
|
59
|
+
import { ProTableWrapper_default } from './chunk-C7UZWG4J.js';
|
|
60
|
+
export { collectSlotChildren, renderSlotArea, resolveSlot, useSlotRuntime } from './chunk-ERTSEXI5.js';
|
|
61
61
|
import { SchemaFormWrapper_default } from './chunk-BQQZHRIP.js';
|
|
62
62
|
import { FilterColumnsWrapper_default } from './chunk-5YP2QX7V.js';
|
|
63
63
|
export { useEventEmitter } from './chunk-CTF6CVK3.js';
|
package/dist/runtime.d.ts
CHANGED
|
@@ -39,6 +39,10 @@ type ComponentAdapterRegistry = {
|
|
|
39
39
|
declare const defaultComponentAdapterRegistry: ComponentAdapterRegistry;
|
|
40
40
|
|
|
41
41
|
type ComponentAdapter = {
|
|
42
|
+
acceptsInternalRuntimeProps?: boolean;
|
|
43
|
+
getResolveOptions?: (propPath: string[]) => {
|
|
44
|
+
skipBindFallback?: boolean;
|
|
45
|
+
};
|
|
42
46
|
adaptProps: (props: Record<string, unknown>, context: {
|
|
43
47
|
runRequestEvent: (requestEvent: string, payload: Record<string, unknown>) => Promise<unknown>;
|
|
44
48
|
}) => Record<string, unknown>;
|
package/dist/runtime.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { clearMaterialLoadCache, columnsRequestAdapter, defaultComponentAdapterRegistry, listTemplateAdapter, loadMaterialModules, materialManifest } from './chunk-
|
|
1
|
+
export { clearMaterialLoadCache, columnsRequestAdapter, defaultComponentAdapterRegistry, listTemplateAdapter, loadMaterialModules, materialManifest } from './chunk-LRLW4JL5.js';
|
|
2
2
|
//# sourceMappingURL=runtime.js.map
|
|
3
3
|
//# sourceMappingURL=runtime.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mijalowcode/materials",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"description": "Mija Lowcode materials library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -29,9 +29,9 @@
|
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"@mijalowcode/request": "^1.0.4",
|
|
32
|
-
"@mijalowcode/
|
|
32
|
+
"@mijalowcode/types": "^1.0.6",
|
|
33
33
|
"@mijalowcode/utils": "^1.0.3",
|
|
34
|
-
"@mijalowcode/
|
|
34
|
+
"@mijalowcode/store": "^1.0.3"
|
|
35
35
|
},
|
|
36
36
|
"peerDependencies": {
|
|
37
37
|
"antd": "~5.21.6",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/custom/DesensitizationDisplay/index.module.css","../src/custom/DesensitizationDisplay/index.tsx"],"names":["desensitizationDisplay","eyeIcon","DesensitizationDisplay_default"],"mappings":";;;;;;;;;AAAA,IAAA,8BAAA,GAAA;AAAA,EAAC,sBAAA,EAAAA,+CAAAA;AAAA,EAQA,OAAA,EAAAC;AAAA,CAAA;ACyBD,IAAM,sBAAA,GAAyB,CAAC,KAAA,KAAuC;AACrE,EAAA,MAAM;AAAA,IACJ,YAAA;AAAA,IACA,IAAA,GAAO,QAAA;AAAA,IACP,SAAA;AAAA,IACA,QAAA;AAAA,IACA,OAAA;AAAA,IACA,gBAAA;AAAA,IACA,GAAG;AAAA,GACL,GAAI,KAAA;AACJ,EAAA,MAAM,EAAE,MAAK,GAAI,UAAA;AACjB,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAS,KAAK,CAAA;AAEpD,EAAA,MAAM,cAAA,GAAiB,SAAS,OAAA,IAAW,gBAAA;AAC3C,EAAA,MAAM,aAAA,GAAgB,eAClB,YAAA,GACA,MAAA;AAAA,IACE,cAAA,EAAgB,IAAA,EAAM,YAAA,IACpB,cAAA,EAAgB,MAAM,QAAA,IACtB;AAAA,GACJ;AAEJ,EAAA,IAAI,CAAC,aAAA,EAAe;AAClB,IAAA,OAAO,GAAA;AAAA,EACT;AACA,EAAA,uBACE,IAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,QAAA,EAAU;AAAA,QACR,IAAA,EAAM,aAAA;AAAA,QACN,QAAQ,MAAM;AACZ,UAAA,OAAA,CAAQ,QAAQ,0BAAM,CAAA;AAAA,QACxB,CAAA;AAAA,QACA,IAAA,EAAM;AAAA,8BACH,QAAA,EAAA,EAAS,KAAA,EAAO,EAAE,KAAA,EAAO,SAAA,MAAkB,CAAG,CAAA;AAAA,8BAC9C,QAAA,EAAA,EAAS,KAAA,EAAO,EAAE,KAAA,EAAO,SAAA,MAAkB,CAAG;AAAA;AACjD,OACF;AAAA,MACA,SAAA,EAAW,UAAA,CAAW,SAAA,EAAW,8BAAA,CAAO,sBAAsB,CAAA;AAAA,MAC7D,GAAG,IAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,aAAA,IAAiB,IAAA,KAAS,QAAA,GACvB,WAAA,GACE,aAAA,GACA,cAAc,SAAA,CAAU,CAAA,EAAG,CAAC,CAAA,GAC5B,UAAA,GACA,aAAA,CAAc,SAAA,CAAU,EAAA,EAAI,EAAE,CAAA,GAChC,IAAA;AAAA,QACH,aAAA,IAAiB,IAAA,KAAS,OAAA,GACvB,WAAA,GACE,gBACA,aAAA,CAAc,SAAA,CAAU,CAAA,EAAG,CAAC,IAC5B,MAAA,GACA,aAAA,CAAc,SAAA,CAAU,CAAA,EAAG,EAAE,CAAA,GAC/B,IAAA;AAAA,QACH,aAAA,GACC,WAAA,mBACE,GAAA,CAAC,OAAA,EAAA,EAAqB,OAAM,cAAA,EAC1B,QAAA,kBAAA,GAAA;AAAA,UAAC,QAAA;AAAA,UAAA;AAAA,YACC,WAAW,8BAAA,CAAO,OAAA;AAAA,YAClB,OAAA,EAAS,CAAC,CAAA,KAAiC;AACzC,cAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,cAAA,cAAA,CAAe,CAAC,WAAW,CAAA;AAAA,YAC7B;AAAA;AAAA,aANS,QAQb,CAAA,mBAEA,GAAA,CAAC,OAAA,EAAA,EAAqB,OAAM,cAAA,EAC1B,QAAA,kBAAA,GAAA;AAAA,UAAC,WAAA;AAAA,UAAA;AAAA,YACC,WAAW,8BAAA,CAAO,OAAA;AAAA,YAClB,OAAA,EAAS,CAAC,CAAA,KAAiC;AACzC,cAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,cAAA,cAAA,CAAe,CAAC,WAAW,CAAA;AAAA,YAC7B;AAAA;AAAA,SACF,EAAA,EAPW,QAQb,CAAA,GAEA;AAAA;AAAA;AAAA,GACN;AAEJ,CAAA;AACA,IAAOC,+BAAAA,GAAQ","file":"chunk-7X4I2Q6F.js","sourcesContent":[".desensitizationDisplay {\n color: inherit;\n}\n\n.desensitizationDisplay :global(.ant-typography-copy) {\n margin-left: 4px;\n}\n\n.eyeIcon {\n color: #006dfc;\n margin-left: 4px;\n}\n\n.eyeIcon:hover {\n cursor: pointer;\n}\n","import { useState } from \"react\";\r\nimport type { ComponentProps, MouseEvent } from \"react\";\r\nimport { SbtBukejian, SbtFuzhi, SbtYulan } from \"@firesoon/icons-react\";\r\nimport { Typography, Tooltip } from \"@mijadesign/web\";\r\nimport classNames from \"classnames\";\r\nimport { message } from \"@mijadesign/web\";\r\nimport styles from \"./index.module.css\";\r\n\r\ntype RuntimeContext = {\r\n scope?: string;\r\n area?: string;\r\n data?: {\r\n rawValue?: unknown;\r\n displayValue?: unknown;\r\n status?: unknown;\r\n record?: Record<string, unknown>;\r\n [key: string]: unknown;\r\n };\r\n};\r\n\r\ntype DesensitizationDisplayProps = Omit<\r\n ComponentProps<typeof Typography.Text>,\r\n \"children\" | \"copyable\" | \"type\"\r\n> & {\r\n copyableText?: string;\r\n type?: \"idCard\" | \"phone\";\r\n menuPath?: string;\r\n runtime?: {\r\n context?: RuntimeContext;\r\n };\r\n __runtimeContext?: RuntimeContext;\r\n};\r\n\r\nconst DesensitizationDisplay = (props: DesensitizationDisplayProps) => {\r\n const {\r\n copyableText,\r\n type = \"idCard\",\r\n className,\r\n menuPath,\r\n runtime,\r\n __runtimeContext,\r\n ...rest\r\n } = props;\r\n const { Text } = Typography;\r\n const [showCardNum, setShowCardNum] = useState(false);\r\n\r\n const runtimeContext = runtime?.context || __runtimeContext;\r\n const resolvedValue = copyableText\r\n ? copyableText\r\n : String(\r\n runtimeContext?.data?.displayValue ??\r\n runtimeContext?.data?.rawValue ??\r\n \"\",\r\n );\r\n\r\n if (!resolvedValue) {\r\n return \"-\";\r\n }\r\n return (\r\n <Text\r\n copyable={{\r\n text: resolvedValue,\r\n onCopy: () => {\r\n message.success(\"复制成功\");\r\n },\r\n icon: [\r\n <SbtFuzhi style={{ color: \"#1677FF\" }} key={1} />,\r\n <SbtFuzhi style={{ color: \"#1677FF\" }} key={2} />,\r\n ],\r\n }}\r\n className={classNames(className, styles.desensitizationDisplay)}\r\n {...rest}\r\n >\r\n {resolvedValue && type === \"idCard\"\r\n ? showCardNum\r\n ? resolvedValue\r\n : resolvedValue.substring(0, 6) +\r\n \"********\" +\r\n resolvedValue.substring(14, 18)\r\n : null}\r\n {resolvedValue && type === \"phone\"\r\n ? showCardNum\r\n ? resolvedValue\r\n : resolvedValue.substring(0, 3) +\r\n \"****\" +\r\n resolvedValue.substring(7, 11)\r\n : null}\r\n {resolvedValue ? (\r\n showCardNum ? (\r\n <Tooltip key=\"tuomin\" title=\"脱敏\">\r\n <SbtYulan\r\n className={styles.eyeIcon}\r\n onClick={(e: MouseEvent<SVGSVGElement>) => {\r\n e.stopPropagation();\r\n setShowCardNum(!showCardNum);\r\n }}\r\n />\r\n </Tooltip>\r\n ) : (\r\n <Tooltip key=\"chakan\" title=\"查看\">\r\n <SbtBukejian\r\n className={styles.eyeIcon}\r\n onClick={(e: MouseEvent<SVGSVGElement>) => {\r\n e.stopPropagation();\r\n setShowCardNum(!showCardNum);\r\n }}\r\n />\r\n </Tooltip>\r\n )\r\n ) : null}\r\n </Text>\r\n );\r\n};\r\nexport default DesensitizationDisplay;\r\nexport type { RuntimeContext };\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/antd/Descriptions/normalize.ts","../src/antd/Descriptions/DescriptionsWrapper.tsx"],"names":[],"mappings":"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","file":"chunk-LVFEPXNW.js","sourcesContent":["export function normalizeDescriptionsItemChildren(value: unknown): unknown {\n if (value === undefined || value === null || value === \"\") return \"-\";\n return value;\n}\n","import { useMemo, type ComponentProps, type ReactNode } from \"react\";\nimport { Descriptions } from \"@mijadesign/web\";\nimport { useSlotRuntime, type SlotArea } from \"../../slot-runtime\";\nimport { normalizeDescriptionsItemChildren } from \"./normalize\";\n\ntype DescriptionsItem = NonNullable<\n ComponentProps<typeof Descriptions>[\"items\"]\n>[number] & {\n key?: string;\n};\n\ninterface DescriptionsWrapperProps extends Omit<\n ComponentProps<typeof Descriptions>,\n \"items\"\n> {\n items?: DescriptionsItem[];\n renderSlot?: (\n slotName: string,\n payload?: Record<string, unknown>,\n ) => ReactNode;\n children?: ReactNode;\n runtime?: {\n context?: Record<string, unknown>;\n };\n}\n\nfunction getItemSlotName(item: DescriptionsItem, index: number) {\n const key = String(item.key || \"\").trim();\n return key ? `item:${key}` : `item:${index + 1}`;\n}\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction buildDescriptionsSlotRuntimeContext(\n runtimeContext: Record<string, unknown> | undefined,\n item: DescriptionsItem,\n index: number,\n slotName: string,\n): Record<string, unknown> {\n const baseData = isPlainObject(runtimeContext?.data)\n ? (runtimeContext.data as Record<string, unknown>)\n : {};\n const itemKey = String(item.key || \"\").trim();\n const value = item.children;\n\n return {\n ...(runtimeContext || {}),\n scope: \"descriptions.item\",\n area: slotName,\n container: {\n type: \"descriptions\",\n area: slotName,\n index,\n item,\n },\n data: {\n ...baseData,\n item,\n index,\n key: itemKey,\n label: item.label,\n value,\n rawValue: value,\n displayValue: value,\n },\n };\n}\n\nfunction DescriptionsWrapper({\n items = [],\n renderSlot,\n children,\n runtime,\n ...restProps\n}: DescriptionsWrapperProps) {\n const runtimeContext = runtime?.context;\n const slotAreas = useMemo<SlotArea[]>(\n () =>\n items.map((item, index) => ({\n name: getItemSlotName(item, index),\n })),\n [items],\n );\n const { getAreaNodes } = useSlotRuntime({\n renderSlot,\n children,\n areas: slotAreas,\n context: runtimeContext ? { runtimeContext } : undefined,\n });\n\n const finalItems = useMemo(\n () =>\n items.map((item, index) => {\n const normalizedItem = {\n ...item,\n children: normalizeDescriptionsItemChildren(\n item.children,\n ) as typeof item.children,\n };\n const slotName = getItemSlotName(item, index);\n const slotRuntimeContext = buildDescriptionsSlotRuntimeContext(\n runtimeContext,\n normalizedItem,\n index,\n slotName,\n );\n const slotNodes = getAreaNodes(slotName, {\n item: normalizedItem,\n index,\n runtimeContext: slotRuntimeContext,\n });\n if (!slotNodes || slotNodes.length === 0) return normalizedItem;\n return {\n ...normalizedItem,\n children: slotNodes.length === 1 ? slotNodes[0] : slotNodes,\n };\n }),\n [items, getAreaNodes, runtimeContext],\n );\n\n return <Descriptions {...restProps} items={finalItems} />;\n}\n\nexport default DescriptionsWrapper;\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/slot-runtime/index.ts"],"names":[],"mappings":"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","file":"chunk-VNMO5V4F.js","sourcesContent":["import {\n Children,\n cloneElement,\n isValidElement,\n useCallback,\n useMemo,\n type ReactElement,\n type ReactNode,\n} from \"react\";\n\nexport type SlotArea = {\n name: string;\n label?: string;\n accept?: string[];\n multiple?: boolean;\n fallback?:\n | ReactNode\n | ((context?: Record<string, unknown>) => ReactNode | null | undefined);\n};\n\ntype SlotRender = (\n slotName: string,\n payload?: Record<string, unknown>,\n) => ReactNode;\n\ntype ResolveSlotOptions = {\n renderSlot?: SlotRender;\n areaMap?: Record<string, ReactNode[]>;\n areas?: SlotArea[];\n context?: Record<string, unknown>;\n};\n\nfunction extractRuntimeContext(\n context?: Record<string, unknown>,\n): Record<string, unknown> | undefined {\n if (!context) return undefined;\n const direct = context.runtimeContext;\n if (direct && typeof direct === \"object\" && !Array.isArray(direct)) {\n return direct as Record<string, unknown>;\n }\n return undefined;\n}\n\nfunction injectRuntimeContextToNodes(\n nodes: ReactNode[],\n runtimeContext?: Record<string, unknown>,\n): ReactNode[] {\n if (!runtimeContext) return nodes;\n return nodes.map((node) => {\n if (!isValidElement(node)) return node;\n return cloneElement(node as ReactElement<any>, {\n runtimeContext,\n });\n });\n}\n\ntype UseSlotRuntimeOptions = {\n renderSlot?: SlotRender;\n children?: ReactNode;\n areas?: SlotArea[];\n context?: Record<string, unknown>;\n};\n\nfunction appendAreaNode(\n areaMap: Record<string, ReactNode[]>,\n areaName: string,\n node: ReactNode,\n) {\n if (!areaMap[areaName]) {\n areaMap[areaName] = [];\n }\n areaMap[areaName].push(node);\n}\n\nfunction normalizeSlotNodes(node: ReactNode): ReactNode[] {\n return Children.toArray(node);\n}\n\nexport function collectSlotChildren(\n children?: ReactNode,\n): Record<string, ReactNode[]> {\n const areaMap: Record<string, ReactNode[]> = {};\n const visited = new WeakSet<object>();\n\n const collectAreaNames = (node: unknown, names: Set<string>) => {\n if (node === null || node === undefined || typeof node === \"boolean\")\n return;\n\n if (Array.isArray(node)) {\n node.forEach((item) => collectAreaNames(item, names));\n return;\n }\n\n if (isValidElement(node)) {\n const props =\n node.props && typeof node.props === \"object\"\n ? (node.props as Record<string, unknown>)\n : {};\n const areaName = String(props.__slot ?? \"\").trim();\n if (areaName) names.add(areaName);\n collectAreaNames(props.node, names);\n collectAreaNames(props.children, names);\n return;\n }\n\n if (node && typeof node === \"object\") {\n const objectNode = node as Record<string, unknown>;\n if (visited.has(objectNode)) return;\n visited.add(objectNode);\n\n const props =\n objectNode.props && typeof objectNode.props === \"object\"\n ? (objectNode.props as Record<string, unknown>)\n : undefined;\n const areaName = String(props?.__slot ?? \"\").trim();\n if (areaName) names.add(areaName);\n collectAreaNames(props?.node, names);\n collectAreaNames(props?.children, names);\n collectAreaNames(objectNode.children, names);\n collectAreaNames(objectNode.node, names);\n }\n };\n\n Children.toArray(children).forEach((child) => {\n if (!isValidElement(child)) return;\n const names = new Set<string>();\n collectAreaNames(child, names);\n names.forEach((areaName) => appendAreaNode(areaMap, areaName, child));\n });\n\n return areaMap;\n}\n\nexport function resolveSlot(\n areaName: string,\n { renderSlot, areaMap = {}, areas = [], context }: ResolveSlotOptions,\n): ReactNode[] | undefined {\n if (renderSlot) {\n const injectedNode = renderSlot(areaName, context);\n if (injectedNode !== undefined && injectedNode !== null) {\n return normalizeSlotNodes(injectedNode);\n }\n }\n\n const schemaNodes = areaMap[areaName];\n if (schemaNodes && schemaNodes.length > 0) {\n return injectRuntimeContextToNodes(\n schemaNodes,\n extractRuntimeContext(context),\n );\n }\n\n const fallback = areas.find((area) => area.name === areaName)?.fallback;\n if (fallback !== undefined) {\n const fallbackNode =\n typeof fallback === \"function\" ? fallback(context) : fallback;\n if (fallbackNode !== undefined && fallbackNode !== null) {\n return normalizeSlotNodes(fallbackNode);\n }\n }\n\n return undefined;\n}\n\nexport function renderSlotArea(\n areaName: string,\n options: ResolveSlotOptions,\n): ReactNode | null {\n const nodes = resolveSlot(areaName, options);\n if (!nodes || nodes.length === 0) return null;\n if (nodes.length === 1) return nodes[0];\n return nodes;\n}\n\nexport function useSlotRuntime({\n renderSlot,\n children,\n areas = [],\n context,\n}: UseSlotRuntimeOptions) {\n const areaMap = useMemo(() => collectSlotChildren(children), [children]);\n\n const getAreaNodes = useCallback(\n (areaName: string, payload?: Record<string, unknown>) => {\n const mergedContext =\n payload || context\n ? { ...(context || {}), ...(payload || {}) }\n : undefined;\n return resolveSlot(areaName, {\n renderSlot,\n areaMap,\n areas,\n context: mergedContext,\n });\n },\n [renderSlot, areaMap, areas, context],\n );\n\n const hasArea = useCallback(\n (areaName: string, payload?: Record<string, unknown>) => {\n const nodes = getAreaNodes(areaName, payload);\n return nodes !== undefined && nodes.length > 0;\n },\n [getAreaNodes],\n );\n\n const renderArea = useCallback(\n (areaName: string, payload?: Record<string, unknown>) => {\n const mergedContext =\n payload || context\n ? { ...(context || {}), ...(payload || {}) }\n : undefined;\n return renderSlotArea(areaName, {\n renderSlot,\n areaMap,\n areas,\n context: mergedContext,\n });\n },\n [renderSlot, areaMap, areas, context],\n );\n\n return {\n getAreaNodes,\n hasArea,\n renderSlotArea: renderArea,\n areaMap,\n };\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/runtime-adapters/columns-request.ts","../src/runtime-adapters/list-template.ts","../src/runtime-adapters/index.ts","../src/material-manifest.ts"],"names":[],"mappings":"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","file":"chunk-YGTLYQ74.js","sourcesContent":["import dayjs from \"dayjs\";\n\ntype ComponentAdapter = {\n adaptProps: (\n props: Record<string, unknown>,\n context: {\n runRequestEvent: (\n requestEvent: string,\n payload: Record<string, unknown>,\n ) => Promise<unknown>;\n },\n ) => Record<string, unknown>;\n};\n\ntype InitialValuePreset =\n | \"currentMonth\"\n | \"lastMonth\"\n | \"last7Days\"\n | \"last30Days\"\n | \"currentWeek\";\n\nfunction getValueByPath(source: unknown, path: string): unknown {\n const finalPath = String(path || \"\").trim();\n if (!finalPath) return undefined;\n return finalPath.split(\".\").reduce<unknown>((acc, segment) => {\n if (!segment) return acc;\n if (acc && typeof acc === \"object\") {\n return (acc as Record<string, unknown>)[segment];\n }\n return undefined;\n }, source);\n}\n\nfunction normalizeSelectOptionsFromResult(\n result: unknown,\n): Array<{ label: string; value: string | number }> {\n const source = getValueByPath(result, \"data\");\n const list = Array.isArray(source)\n ? source\n : Array.isArray(result)\n ? result\n : [];\n return list.reduce<Array<{ label: string; value: string | number }>>(\n (acc, item) => {\n const record =\n item && typeof item === \"object\"\n ? (item as Record<string, unknown>)\n : {};\n const value = record.value ?? record.id ?? record.code;\n if (value === undefined || value === null) return acc;\n const text = record.label ?? record.name ?? record.text ?? value;\n acc.push({\n label: String(text),\n value: value as string | number,\n });\n return acc;\n },\n [],\n );\n}\n\nfunction resolveColumnRequestEvent(column: Record<string, unknown>): string {\n const direct = String(column._requestEvent || \"\").trim();\n if (direct) return direct;\n return \"\";\n}\n\nfunction buildColumnRequestPayload(\n requestEvent: string,\n params: Record<string, unknown>,\n column: Record<string, unknown>,\n): Record<string, unknown> {\n const requestParams =\n params && typeof params === \"object\" && !Array.isArray(params)\n ? params\n : {};\n const field = String(column.dataIndex || column.key || \"\").trim();\n return {\n ...requestParams,\n requestEvent,\n params: requestParams,\n field,\n column,\n };\n}\n\nfunction resolveDateRangePresetInitialValue(\n preset: InitialValuePreset,\n): [unknown, unknown] | undefined {\n const now = dayjs();\n switch (preset) {\n case \"currentMonth\":\n return [now.startOf(\"month\"), now.endOf(\"month\")];\n case \"lastMonth\": {\n const base = now.subtract(1, \"month\");\n return [base.startOf(\"month\"), base.endOf(\"month\")];\n }\n case \"last7Days\":\n return [now.subtract(6, \"day\").startOf(\"day\"), now.endOf(\"day\")];\n case \"last30Days\":\n return [now.subtract(1, \"month\").startOf(\"day\"), now.endOf(\"day\")];\n case \"currentWeek\":\n return [now.startOf(\"week\"), now.endOf(\"week\")];\n default:\n return undefined;\n }\n}\n\nfunction normalizeColumnFormItemProps(column: Record<string, unknown>) {\n const valueType = String(column.valueType || \"\");\n if (![\"dateRange\", \"dateTimeRange\"].includes(valueType)) {\n return column.formItemProps;\n }\n const raw =\n column.formItemProps &&\n typeof column.formItemProps === \"object\" &&\n !Array.isArray(column.formItemProps)\n ? (column.formItemProps as Record<string, unknown>)\n : undefined;\n if (!raw) return column.formItemProps;\n if (String(raw.initialValueMode || \"\") !== \"preset\") return raw;\n const preset = String(raw.initialValuePreset || \"\") as InitialValuePreset;\n if (!preset) return raw;\n const rangeValue = resolveDateRangePresetInitialValue(preset);\n if (!rangeValue) return raw;\n return {\n ...raw,\n initialValue: rangeValue,\n };\n}\n\nfunction attachColumnsRequestByEvent(\n columns: unknown,\n runRequestEvent: (\n requestEvent: string,\n payload: Record<string, unknown>,\n ) => Promise<unknown>,\n): unknown {\n if (!Array.isArray(columns)) return columns;\n return columns.map((column) => {\n if (!column || typeof column !== \"object\") return column;\n const current = column as Record<string, unknown>;\n const normalizedFormItemProps = normalizeColumnFormItemProps(current);\n const normalizedColumn =\n normalizedFormItemProps === current.formItemProps\n ? current\n : {\n ...current,\n formItemProps: normalizedFormItemProps,\n };\n const requestEvent = resolveColumnRequestEvent(current);\n if (!requestEvent) return normalizedColumn;\n return {\n ...normalizedColumn,\n request: async (params: Record<string, unknown>) => {\n const payload = buildColumnRequestPayload(\n requestEvent,\n params,\n current,\n );\n const result = await runRequestEvent(requestEvent, payload);\n return normalizeSelectOptionsFromResult(result);\n },\n };\n });\n}\n\nexport const columnsRequestAdapter: ComponentAdapter = {\n adaptProps: (props, context) => {\n if (!(\"columns\" in props)) return props;\n return {\n ...props,\n columns: attachColumnsRequestByEvent(props.columns, context.runRequestEvent),\n };\n },\n};\n","import { List } from \"antd\";\r\nimport { createElement, type ReactNode } from \"react\";\r\n\r\ntype ComponentAdapterContext = {\r\n mode?: \"edit\" | \"preview\";\r\n runtimeContext?: Record<string, unknown>;\r\n hasChildren?: boolean;\r\n renderChildren?: (runtimeContext?: Record<string, unknown>) => ReactNode;\r\n runRequestEvent: (\r\n requestEvent: string,\r\n payload: Record<string, unknown>,\r\n ) => Promise<unknown>;\r\n};\r\n\r\ntype ComponentAdapter = {\r\n adaptProps: (\r\n props: Record<string, unknown>,\r\n context: ComponentAdapterContext,\r\n ) => Record<string, unknown>;\r\n};\r\n\r\nexport type ListItemRecord = unknown;\r\n\r\nexport function normalizeListDataSource(dataSource: unknown): ListItemRecord[] {\r\n return Array.isArray(dataSource) ? dataSource : [];\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 normalizeGridNumber(value: unknown): number | undefined {\r\n if (typeof value !== \"number\") return undefined;\r\n if (!Number.isFinite(value)) return undefined;\r\n return value;\r\n}\r\n\r\nexport function normalizeListGrid(\r\n grid: unknown,\r\n): Record<string, unknown> | undefined {\r\n if (!isPlainObject(grid)) return undefined;\r\n const nextGrid = Object.entries(grid).reduce<Record<string, unknown>>(\r\n (acc, [key, value]) => {\r\n const nextValue = normalizeGridNumber(value);\r\n if (nextValue !== undefined) {\r\n acc[key] = nextValue;\r\n }\r\n return acc;\r\n },\r\n {},\r\n );\r\n return Object.keys(nextGrid).length > 0 ? nextGrid : undefined;\r\n}\r\n\r\nexport function getListItemKey(\r\n record: ListItemRecord,\r\n index: number,\r\n rowKey?: unknown,\r\n): string {\r\n const keyField = String(rowKey || \"\").trim();\r\n if (\r\n keyField &&\r\n record &&\r\n typeof record === \"object\" &&\r\n !Array.isArray(record)\r\n ) {\r\n const value = (record as Record<string, unknown>)[keyField];\r\n if (value !== undefined && value !== null && value !== \"\") {\r\n return String(value);\r\n }\r\n }\r\n return String(index);\r\n}\r\n\r\nexport function buildListItemRuntimeContext(\r\n runtimeContext: Record<string, unknown> | undefined,\r\n record: ListItemRecord,\r\n index: number,\r\n rowKey: string,\r\n list: ListItemRecord[],\r\n): Record<string, unknown> {\r\n const baseData =\r\n runtimeContext?.data &&\r\n typeof runtimeContext.data === \"object\" &&\r\n !Array.isArray(runtimeContext.data)\r\n ? (runtimeContext.data as Record<string, unknown>)\r\n : {};\r\n\r\n return {\r\n ...(runtimeContext || {}),\r\n data: {\r\n ...baseData,\r\n record,\r\n item: record,\r\n index,\r\n rowKey,\r\n list,\r\n },\r\n };\r\n}\r\n\r\nexport const listTemplateAdapter: ComponentAdapter = {\r\n adaptProps: (props, context) => {\r\n const {\r\n children: _children,\r\n rowKey,\r\n previewCount,\r\n grid,\r\n ...restProps\r\n } = props;\r\n const safeGrid = normalizeListGrid(grid);\r\n const normalizedProps = safeGrid\r\n ? { ...restProps, grid: safeGrid }\r\n : restProps;\r\n if (!context.hasChildren || !context.renderChildren) {\r\n return normalizedProps;\r\n }\r\n\r\n void previewCount;\r\n const rows = normalizeListDataSource(props.dataSource);\r\n const rowKeyField = String(rowKey || \"\").trim();\r\n\r\n return {\r\n ...normalizedProps,\r\n dataSource: rows,\r\n renderItem: (record: unknown, rowIndex: number) => {\r\n const itemKey = getListItemKey(record, rowIndex, rowKeyField);\r\n const nextRuntimeContext = buildListItemRuntimeContext(\r\n context.runtimeContext,\r\n record,\r\n rowIndex,\r\n itemKey,\r\n rows,\r\n );\r\n return createElement(\r\n List.Item,\r\n { key: itemKey },\r\n context.renderChildren?.(nextRuntimeContext),\r\n );\r\n },\r\n };\r\n },\r\n};\r\n","import { columnsRequestAdapter } from \"./columns-request\";\nimport { listTemplateAdapter } from \"./list-template\";\nimport type { ReactNode } from \"react\";\n\ntype ComponentAdapter = {\n acceptsInternalRuntimeProps?: boolean;\n getResolveOptions?: (propPath: string[]) => {\n skipBindFallback?: boolean;\n };\n adaptProps: (\n props: Record<string, unknown>,\n context: {\n mode?: \"edit\" | \"preview\";\n runtimeContext?: Record<string, unknown>;\n hasChildren?: boolean;\n renderChildren?: (\n runtimeContext?: Record<string, unknown>,\n ) => ReactNode;\n runRequestEvent: (\n requestEvent: string,\n payload: Record<string, unknown>,\n ) => Promise<unknown>;\n },\n ) => Record<string, unknown>;\n};\n\ntype ComponentAdapterRegistry = {\n get: (componentName: string) => ComponentAdapter | null;\n};\n\nconst columnsAdapterComponentNames = new Set([\n \"ProTable\",\n \"SchemaForm\",\n \"Table\",\n]);\n\nconst runtimePropComponentNames = new Set([\n \"ProTable\",\n \"SchemaForm\",\n \"FilterColumns\",\n \"Breadcrumb\",\n \"Descriptions\",\n \"Tag\",\n \"DesensitizationDisplay\",\n \"Drawer\",\n]);\n\nconst dataSourceFallbackComponentNames = new Set([\"List\", \"ProTable\"]);\n\nconst passthroughAdapter: ComponentAdapter = {\n adaptProps: (props) => props,\n};\n\nfunction withRuntimeProps(adapter: ComponentAdapter): ComponentAdapter {\n return {\n ...adapter,\n acceptsInternalRuntimeProps: true,\n };\n}\n\nfunction withDataSourceFallbackSkip(adapter: ComponentAdapter): ComponentAdapter {\n return {\n ...adapter,\n getResolveOptions: (propPath) => {\n const baseOptions = adapter.getResolveOptions?.(propPath) || {};\n if (propPath[0] !== \"dataSource\") return baseOptions;\n return {\n ...baseOptions,\n skipBindFallback: true,\n };\n },\n };\n}\n\nfunction buildAdapter(componentName: string, adapter: ComponentAdapter) {\n const withDataSourceStrategy = dataSourceFallbackComponentNames.has(componentName)\n ? withDataSourceFallbackSkip(adapter)\n : adapter;\n return runtimePropComponentNames.has(componentName)\n ? withRuntimeProps(withDataSourceStrategy)\n : withDataSourceStrategy;\n}\n\nexport const defaultComponentAdapterRegistry: ComponentAdapterRegistry = {\n get: (componentName: string) => {\n if (componentName === \"List\") {\n return buildAdapter(componentName, listTemplateAdapter);\n }\n if (columnsAdapterComponentNames.has(componentName)) {\n return buildAdapter(componentName, columnsRequestAdapter);\n }\n if (runtimePropComponentNames.has(componentName)) {\n return buildAdapter(componentName, passthroughAdapter);\n }\n return null;\n },\n};\n","import type { ComponentType } from \"react\";\r\nimport type { ComponentMeta } from \"@mijalowcode/types\";\r\nimport { columnsRequestAdapter } from \"./runtime-adapters/columns-request\";\r\nimport { listTemplateAdapter } from \"./runtime-adapters/list-template\";\r\n\r\ntype ComponentAdapter = {\r\n adaptProps: (\r\n props: Record<string, unknown>,\r\n context: {\r\n runRequestEvent: (\r\n requestEvent: string,\r\n payload: Record<string, unknown>,\r\n ) => Promise<unknown>;\r\n },\r\n ) => Record<string, unknown>;\r\n};\r\n\r\nexport type MaterialRuntimeModule = {\r\n component: ComponentType<any>;\r\n adapter?: ComponentAdapter;\r\n meta?: ComponentMeta;\r\n};\r\n\r\nexport type MaterialLoadOptions = {\r\n includeMeta?: boolean;\r\n};\r\n\r\nexport type LoadMaterialModulesOptions = MaterialLoadOptions;\r\n\r\nexport type MaterialLoader = (\r\n options?: MaterialLoadOptions,\r\n) => Promise<MaterialRuntimeModule>;\r\n\r\nexport type MaterialManifestEntry = MaterialLoader;\r\n\r\nexport type MaterialManifest = Record<string, MaterialManifestEntry>;\r\n\r\nexport type LoadedMaterialModules = {\r\n components: Record<string, ComponentType<any>>;\r\n adapters: Record<string, ComponentAdapter>;\r\n metas: Record<string, ComponentMeta>;\r\n missing: string[];\r\n};\r\n\r\nconst defaultMaterialLoadOptions: MaterialLoadOptions = {\r\n includeMeta: false,\r\n};\r\n\r\nfunction shouldLoadMeta(options?: MaterialLoadOptions) {\r\n return Boolean(options?.includeMeta);\r\n}\r\n\r\nfunction pick(source: unknown, path: string): ComponentType<any> {\r\n return path.split(\".\").reduce<unknown>((acc, segment) => {\r\n if (!acc || typeof acc !== \"object\") return undefined;\r\n return (acc as Record<string, unknown>)[segment];\r\n }, source) as ComponentType<any>;\r\n}\r\n\r\nasync function loadWeb(\r\n exportPath: string,\r\n metaLoader?: () => Promise<ComponentMeta>,\r\n options: MaterialLoadOptions = defaultMaterialLoadOptions,\r\n): Promise<MaterialRuntimeModule> {\r\n const [web, meta] = await Promise.all([\r\n import(\"@mijadesign/web\"),\r\n shouldLoadMeta(options) ? metaLoader?.() : undefined,\r\n ]);\r\n return { component: pick(web, exportPath), meta };\r\n}\r\n\r\nasync function loadAntdLayout(\r\n exportPath: string,\r\n metaLoader?: () => Promise<ComponentMeta>,\r\n options: MaterialLoadOptions = defaultMaterialLoadOptions,\r\n): Promise<MaterialRuntimeModule> {\r\n const [antd, meta] = await Promise.all([\r\n import(\"antd\"),\r\n shouldLoadMeta(options) ? metaLoader?.() : undefined,\r\n ]);\r\n return { component: pick(antd, exportPath), meta };\r\n}\r\n\r\nasync function loadDefault(\r\n componentLoader: () => Promise<{ default: ComponentType<any> }>,\r\n metaLoader?: () => Promise<ComponentMeta>,\r\n adapter?: ComponentAdapter,\r\n options: MaterialLoadOptions = defaultMaterialLoadOptions,\r\n): Promise<MaterialRuntimeModule> {\r\n const [componentModule, meta] = await Promise.all([\r\n componentLoader(),\r\n shouldLoadMeta(options) ? metaLoader?.() : undefined,\r\n ]);\r\n return { component: componentModule.default, adapter, meta };\r\n}\r\n\r\nconst loadColumnsAdapter = () => columnsRequestAdapter;\r\n\r\nconst manifestLoadCache = new WeakMap<\r\n MaterialManifest,\r\n Map<string, Promise<MaterialRuntimeModule>>\r\n>();\r\n\r\nfunction getManifestCache(manifest: MaterialManifest) {\r\n const existing = manifestLoadCache.get(manifest);\r\n if (existing) return existing;\r\n const next = new Map<string, Promise<MaterialRuntimeModule>>();\r\n manifestLoadCache.set(manifest, next);\r\n return next;\r\n}\r\n\r\nfunction loadCachedMaterial(\r\n componentName: string,\r\n entry: MaterialManifestEntry,\r\n manifest: MaterialManifest,\r\n options: MaterialLoadOptions,\r\n) {\r\n const cache = getManifestCache(manifest);\r\n const cacheKey = `${componentName}:${shouldLoadMeta(options) ? \"meta\" : \"runtime\"}`;\r\n const cached = cache.get(cacheKey);\r\n if (cached) return cached;\r\n const loading = entry(options).catch((error: unknown) => {\r\n cache.delete(cacheKey);\r\n throw error;\r\n });\r\n cache.set(cacheKey, loading);\r\n return loading;\r\n}\r\n\r\nexport function clearMaterialLoadCache(manifest?: MaterialManifest) {\r\n if (manifest) {\r\n manifestLoadCache.delete(manifest);\r\n return;\r\n }\r\n manifestLoadCache.delete(materialManifest);\r\n}\r\n\r\nexport const materialManifest: MaterialManifest = {\r\n Button: () =>\r\n loadDefault(\r\n () => import(\"./antd/Button/ButtonWrapper\"),\r\n async () => (await import(\"./antd/Button/meta\")).ButtonMeta,\r\n ),\r\n Space: () =>\r\n loadDefault(\r\n () => import(\"./antd/Space/SpaceWrapper\"),\r\n async () => (await import(\"./antd/Space/meta\")).SpaceMeta,\r\n ),\r\n DesensitizationDisplay: () =>\r\n loadDefault(\r\n () => import(\"./custom/DesensitizationDisplay\"),\r\n async () =>\r\n (await import(\"./custom/DesensitizationDisplay/meta\"))\r\n .DesensitizationDisplayMeta,\r\n ),\r\n\r\n Layout: () =>\r\n loadAntdLayout(\"Layout\", async () =>\r\n (await import(\"./antd/Layout/meta\")).LayoutMeta\r\n ),\r\n \"Layout.Header\": () => loadAntdLayout(\"Layout.Header\"),\r\n \"Layout.Sider\": () => loadAntdLayout(\"Layout.Sider\"),\r\n \"Layout.Content\": () => loadAntdLayout(\"Layout.Content\"),\r\n \"Layout.Footer\": () => loadAntdLayout(\"Layout.Footer\"),\r\n Header: () =>\r\n loadAntdLayout(\"Layout.Header\", async () =>\r\n (await import(\"./antd/Layout/meta\")).HeaderMeta\r\n ),\r\n Sider: () =>\r\n loadAntdLayout(\"Layout.Sider\", async () =>\r\n (await import(\"./antd/Layout/meta\")).SiderMeta\r\n ),\r\n Content: () =>\r\n loadAntdLayout(\"Layout.Content\", async () =>\r\n (await import(\"./antd/Layout/meta\")).ContentMeta\r\n ),\r\n Footer: () =>\r\n loadAntdLayout(\"Layout.Footer\", async () =>\r\n (await import(\"./antd/Layout/meta\")).FooterMeta\r\n ),\r\n Row: () =>\r\n loadWeb(\"Row\", async () => (await import(\"./antd/Layout/meta\")).RowMeta),\r\n Col: () =>\r\n loadWeb(\"Col\", async () => (await import(\"./antd/Layout/meta\")).ColMeta),\r\n Card: () =>\r\n loadWeb(\"Card\", async () => (await import(\"./antd/Card/meta\")).CardMeta),\r\n\r\n Input: () =>\r\n loadWeb(\"Input\", async () => (await import(\"./antd/Input/meta\")).InputMeta),\r\n \"Input.TextArea\": () =>\r\n loadWeb(\"Input.TextArea\", async () =>\r\n (await import(\"./antd/Input/meta\")).InputTextAreaMeta\r\n ),\r\n \"Input.Search\": () => loadWeb(\"Input.Search\"),\r\n \"Input.Password\": () => loadWeb(\"Input.Password\"),\r\n Form: () =>\r\n loadWeb(\"Form\", async () => (await import(\"./antd/Form/meta\")).FormMeta),\r\n \"Form.Item\": () =>\r\n loadWeb(\"Form.Item\", async () =>\r\n (await import(\"./antd/Form/meta\")).FormItemMeta\r\n ),\r\n \"Form.List\": () =>\r\n loadWeb(\"Form.List\", async () =>\r\n (await import(\"./antd/Form/meta\")).FormListMeta\r\n ),\r\n Select: () =>\r\n loadWeb(\"Select\", async () =>\r\n (await import(\"./antd/Select/meta\")).SelectMeta\r\n ),\r\n InputNumber: () =>\r\n loadWeb(\"InputNumber\", async () =>\r\n (await import(\"./antd/InputNumber/meta\")).InputNumberMeta\r\n ),\r\n\r\n DatePicker: () =>\r\n loadWeb(\"DatePicker\", async () =>\r\n (await import(\"./antd/DatePicker/meta\")).DatePickerMeta\r\n ),\r\n \"DatePicker.RangePicker\": () =>\r\n loadWeb(\"DatePicker.RangePicker\", async () =>\r\n (await import(\"./antd/DatePicker/meta\")).RangePickerMeta\r\n ),\r\n TimePicker: () =>\r\n loadWeb(\"TimePicker\", async () =>\r\n (await import(\"./antd/DatePicker/meta\")).TimePickerMeta\r\n ),\r\n Upload: () =>\r\n loadWeb(\"Upload\", async () =>\r\n (await import(\"./antd/Upload/meta\")).UploadMeta\r\n ),\r\n Tree: () =>\r\n loadWeb(\"Tree\", async () => (await import(\"./antd/Tree/meta\")).TreeMeta),\r\n TreeSelect: () =>\r\n loadWeb(\"TreeSelect\", async () =>\r\n (await import(\"./antd/Tree/meta\")).TreeSelectMeta\r\n ),\r\n Tabs: () =>\r\n loadWeb(\"Tabs\", async () => (await import(\"./antd/Tabs/meta\")).TabsMeta),\r\n \"Tabs.TabPane\": () =>\r\n loadWeb(\"Tabs.TabPane\", async () =>\r\n (await import(\"./antd/Tabs/meta\")).TabPaneMeta\r\n ),\r\n Steps: () =>\r\n loadWeb(\"Steps\", async () => (await import(\"./antd/Steps/meta\")).StepsMeta),\r\n \"Steps.Step\": () =>\r\n loadWeb(\"Steps.Step\", async () =>\r\n (await import(\"./antd/Steps/meta\")).StepMeta\r\n ),\r\n Tag: () =>\r\n loadDefault(\r\n () => import(\"./antd/Tag/TagWrapper\"),\r\n async () => (await import(\"./antd/Tag/meta\")).TagMeta,\r\n ),\r\n \"Tag.CheckableTag\": () =>\r\n loadWeb(\"Tag.CheckableTag\", async () =>\r\n (await import(\"./antd/Tag/meta\")).CheckableTagMeta\r\n ),\r\n ScenarioFlowBoard: () =>\r\n loadDefault(\r\n () => import(\"./custom/scenario/ScenarioFlowBoard\"),\r\n async () =>\r\n (await import(\"./custom/scenario/ScenarioFlowBoard/meta\"))\r\n .ScenarioFlowBoardMeta,\r\n ),\r\n ScenarioFlowScene: () =>\r\n loadDefault(\r\n () => import(\"./custom/scenario/ScenarioFlowScene\"),\r\n async () =>\r\n (await import(\"./custom/scenario/ScenarioFlowScene/meta\"))\r\n .ScenarioFlowSceneMeta,\r\n ),\r\n ScenarioFlowStep: () =>\r\n loadDefault(\r\n () => import(\"./custom/scenario/ScenarioFlowStep\"),\r\n async () =>\r\n (await import(\"./custom/scenario/ScenarioFlowStep/meta\"))\r\n .ScenarioFlowStepMeta,\r\n ),\r\n\r\n Badge: () =>\r\n loadWeb(\"Badge\", async () => (await import(\"./antd/Badge/meta\")).BadgeMeta),\r\n \"Badge.Ribbon\": () =>\r\n loadWeb(\"Badge.Ribbon\", async () =>\r\n (await import(\"./antd/Badge/meta\")).BadgeRibbonMeta\r\n ),\r\n Avatar: () =>\r\n loadWeb(\"Avatar\", async () =>\r\n (await import(\"./antd/Avatar/meta\")).AvatarMeta\r\n ),\r\n \"Avatar.Group\": () =>\r\n loadWeb(\"Avatar.Group\", async () =>\r\n (await import(\"./antd/Avatar/meta\")).AvatarGroupMeta\r\n ),\r\n Dropdown: () =>\r\n loadWeb(\"Dropdown\", async () =>\r\n (await import(\"./antd/Dropdown/meta\")).DropdownMeta\r\n ),\r\n Breadcrumb: () =>\r\n loadDefault(\r\n () => import(\"./antd/Breadcrumb/BreadcrumbWrapper\"),\r\n async () => (await import(\"./antd/Breadcrumb/meta\")).BreadcrumbMeta,\r\n ),\r\n \"Dropdown.Button\": () =>\r\n loadWeb(\"Dropdown.Button\", async () =>\r\n (await import(\"./antd/Dropdown/meta\")).DropdownButtonMeta\r\n ),\r\n Pagination: () =>\r\n loadWeb(\"Pagination\", async () =>\r\n (await import(\"./antd/Pagination/meta\")).PaginationMeta\r\n ),\r\n Switch: () =>\r\n loadWeb(\"Switch\", async () =>\r\n (await import(\"./antd/Switch/meta\")).SwitchMeta\r\n ),\r\n Radio: () =>\r\n loadWeb(\"Radio\", async () => (await import(\"./antd/Radio/meta\")).RadioMeta),\r\n \"Radio.Group\": () =>\r\n loadWeb(\"Radio.Group\", async () =>\r\n (await import(\"./antd/Radio/meta\")).RadioGroupMeta\r\n ),\r\n RadioButton: () => loadWeb(\"Radio.Button\"),\r\n Checkbox: () =>\r\n loadWeb(\"Checkbox\", async () =>\r\n (await import(\"./antd/Checkbox/meta\")).CheckboxMeta\r\n ),\r\n \"Checkbox.Group\": () =>\r\n loadWeb(\"Checkbox.Group\", async () =>\r\n (await import(\"./antd/Checkbox/meta\")).CheckboxGroupMeta\r\n ),\r\n Cascader: () =>\r\n loadWeb(\"Cascader\", async () =>\r\n (await import(\"./antd/Cascader/meta\")).CascaderMeta\r\n ),\r\n Table: () =>\r\n loadWeb(\r\n \"Table\",\r\n async () => (await import(\"./antd/Table/meta\")).TableMeta,\r\n ).then((module) => ({ ...module, adapter: loadColumnsAdapter() })),\r\n\r\n Typography: () => loadWeb(\"Typography\"),\r\n \"Typography.Title\": () =>\r\n loadWeb(\"Typography.Title\", async () =>\r\n (await import(\"./antd/Typography/meta\")).TypographyTitleMeta\r\n ),\r\n \"Typography.Paragraph\": () =>\r\n loadWeb(\"Typography.Paragraph\", async () =>\r\n (await import(\"./antd/Typography/meta\")).TypographyParagraphMeta\r\n ),\r\n \"Typography.Text\": () =>\r\n loadWeb(\"Typography.Text\", async () =>\r\n (await import(\"./antd/Typography/meta\")).TypographyTextMeta\r\n ),\r\n\r\n ProTable: () =>\r\n loadDefault(\r\n () => import(\"./antdPro/ProTable/ProTableWrapper\"),\r\n async () => (await import(\"./antdPro/ProTable/meta\")).ProTableMeta,\r\n loadColumnsAdapter(),\r\n ),\r\n SchemaForm: () =>\r\n loadDefault(\r\n () => import(\"./antdPro/SchemaForm/SchemaFormWrapper\"),\r\n async () => (await import(\"./antdPro/SchemaForm/meta\")).SchemaFormMeta,\r\n loadColumnsAdapter(),\r\n ),\r\n FilterColumns: () =>\r\n loadDefault(\r\n () => import(\"./antdPro/FilterColumns/FilterColumnsWrapper\"),\r\n async () =>\r\n (await import(\"./antdPro/FilterColumns/meta\")).FilterColumnsMeta,\r\n ),\r\n\r\n Modal: () =>\r\n loadWeb(\"Modal\", async () => (await import(\"./antd/Modal/meta\")).ModalMeta),\r\n Drawer: () =>\n loadDefault(\n () => import(\"./antd/Drawer/DrawerWrapper\"),\n async () => (await import(\"./antd/Drawer/meta\")).DrawerMeta,\n ),\n Descriptions: () =>\n loadDefault(\n () => import(\"./antd/Descriptions/DescriptionsWrapper\"),\n async () => (await import(\"./antd/Descriptions/meta\")).DescriptionsMeta,\n ),\n \"Descriptions.Item\": () => loadWeb(\"Descriptions.Item\"),\n List: () =>\n loadDefault(\n () => import(\"./antd/List/ListWrapper\"),\n async () => (await import(\"./antd/List/meta\")).ListMeta,\n listTemplateAdapter,\n ),\n \"List.Item\": () =>\n loadWeb(\"List.Item\", async () =>\n (await import(\"./antd/List/meta\")).ListItemMeta\n ),\r\n Empty: () =>\r\n loadDefault(\r\n () => import(\"./antd/Empty/EmptyWrapper\"),\r\n async () => (await import(\"./antd/Empty/meta\")).EmptyMeta,\r\n ),\r\n Spin: () =>\r\n loadWeb(\"Spin\", async () => (await import(\"./antd/Spin/meta\")).SpinMeta),\r\n Alert: () =>\r\n loadWeb(\"Alert\", async () => (await import(\"./antd/Alert/meta\")).AlertMeta),\r\n Progress: () =>\r\n loadWeb(\"Progress\", async () =>\r\n (await import(\"./antd/Progress/meta\")).ProgressMeta\r\n ),\r\n Skeleton: () =>\r\n loadWeb(\"Skeleton\", async () =>\r\n (await import(\"./antd/Tooltip/meta\")).SkeletonMeta\r\n ),\r\n Tooltip: () =>\r\n loadWeb(\"Tooltip\", async () =>\r\n (await import(\"./antd/Tooltip/meta\")).TooltipMeta\r\n ),\r\n Popconfirm: () =>\r\n loadWeb(\"Popconfirm\", async () =>\r\n (await import(\"./antd/Tooltip/meta\")).PopconfirmMeta\r\n ),\r\n Popover: () =>\r\n loadDefault(\r\n () => import(\"./antd/Popover/PopoverWrapper\"),\r\n async () => (await import(\"./antd/Popover/meta\")).PopoverMeta\r\n ),\r\n Divider: () =>\r\n loadWeb(\"Divider\", async () =>\r\n (await import(\"./antd/Divider/meta\")).DividerMeta\r\n ),\r\n Statistic: () =>\r\n loadWeb(\"Statistic\", async () =>\r\n (await import(\"./antd/Statistic/meta\")).StatisticMeta\r\n ),\r\n Timeline: () =>\r\n loadWeb(\"Timeline\", async () =>\r\n (await import(\"./antd/Timeline/meta\")).TimelineMeta\r\n ),\r\n \"Timeline.Item\": () =>\r\n loadWeb(\"Timeline.Item\", async () =>\r\n (await import(\"./antd/Timeline/meta\")).TimelineItemMeta\r\n ),\r\n Result: () =>\r\n loadWeb(\"Result\", async () => (await import(\"./antd/Result/meta\")).ResultMeta),\r\n};\r\n\r\nexport async function loadMaterialModules(\r\n componentNames: Iterable<string>,\r\n manifest: MaterialManifest = materialManifest,\r\n options: LoadMaterialModulesOptions = defaultMaterialLoadOptions,\r\n): Promise<LoadedMaterialModules> {\r\n const components: Record<string, ComponentType<any>> = {};\r\n const adapters: Record<string, ComponentAdapter> = {};\r\n const metas: Record<string, ComponentMeta> = {};\r\n const missing: string[] = [];\r\n const names = Array.from(new Set(Array.from(componentNames).filter(Boolean)));\r\n const pending = [...names];\r\n const visited = new Set<string>();\r\n\r\n while (pending.length > 0) {\r\n const componentName = pending.shift();\r\n if (!componentName || visited.has(componentName)) continue;\r\n visited.add(componentName);\r\n\r\n const entry = manifest[componentName];\r\n if (!entry) {\r\n missing.push(componentName);\r\n continue;\r\n }\r\n\r\n // 运行时只加载 schema 实际收集到的物料,避免复杂物料的历史显式依赖拉入未使用组件。\r\n }\r\n\r\n await Promise.all(\r\n Array.from(visited).map(async (componentName) => {\r\n const loader = manifest[componentName];\r\n if (!loader) {\r\n return;\r\n }\r\n const module = await loadCachedMaterial(\r\n componentName,\r\n loader,\r\n manifest,\r\n options,\r\n );\r\n if (!module.component) {\r\n missing.push(componentName);\r\n return;\r\n }\r\n components[componentName] = module.component;\r\n if (module.adapter) adapters[componentName] = module.adapter;\r\n if (module.meta) metas[componentName] = module.meta;\r\n }),\r\n );\r\n\r\n return { components, adapters, metas, missing };\r\n}\r\n"]}
|