@hkyhy/marsun-components-core 0.1.30 → 0.1.31
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/components/Filter/FilterCascader/index.d.ts +40 -0
- package/dist/components/Filter/FilterCascader/index.js +318 -0
- package/dist/components/Filter/FilterCascader/index.js.map +1 -0
- package/dist/components/Filter/FilterCascader/style.module.scss.js +14 -0
- package/dist/components/Filter/FilterCascader/style.module.scss.js.map +1 -0
- package/dist/components/Filter/FilterPopover/index.d.ts +2 -0
- package/dist/components/Filter/FilterPopover/index.js +22 -21
- package/dist/components/Filter/FilterPopover/index.js.map +1 -1
- package/dist/components/Filter/FilterSelect/index.d.ts +6 -0
- package/dist/components/Filter/FilterSelect/index.js +201 -197
- package/dist/components/Filter/FilterSelect/index.js.map +1 -1
- package/dist/components/Filter/FilterSelect/style.module.scss.js +16 -15
- package/dist/components/Filter/FilterSelect/style.module.scss.js.map +1 -1
- package/dist/components/Filter/FilterTreeSelect/index.d.ts +6 -0
- package/dist/components/Filter/FilterTreeSelect/index.js +220 -203
- package/dist/components/Filter/FilterTreeSelect/index.js.map +1 -1
- package/dist/components/Filter/FilterTreeSelect/style.module.scss.js +15 -14
- package/dist/components/Filter/FilterTreeSelect/style.module.scss.js.map +1 -1
- package/dist/components/Filter/FilterTrigger/index.d.ts +3 -0
- package/dist/components/Filter/FilterTrigger/index.js +57 -44
- package/dist/components/Filter/FilterTrigger/index.js.map +1 -1
- package/dist/components/Filter/FilterTrigger/style.module.scss.js +5 -4
- package/dist/components/Filter/FilterTrigger/style.module.scss.js.map +1 -1
- package/dist/components/Filter/index.d.ts +3 -0
- package/dist/components/Table/ColumnConfigPanel.d.ts +13 -0
- package/dist/components/Table/ColumnConfigPanel.js +260 -0
- package/dist/components/Table/ColumnConfigPanel.js.map +1 -0
- package/dist/components/Table/Table.d.ts +16 -2
- package/dist/components/Table/Table.js +106 -28
- package/dist/components/Table/Table.js.map +1 -1
- package/dist/components/Table/columnConfig.module.scss.js +38 -0
- package/dist/components/Table/columnConfig.module.scss.js.map +1 -0
- package/dist/components/Table/columnConfigTypes.d.ts +22 -0
- package/dist/components/Table/columnConfigUtils.d.ts +25 -0
- package/dist/components/Table/columnConfigUtils.js +141 -0
- package/dist/components/Table/columnConfigUtils.js.map +1 -0
- package/dist/components/Table/index.d.ts +2 -1
- package/dist/index.js +258 -251
- package/dist/index.js.map +1 -1
- package/dist/marsun-components-core.css +1 -1
- package/dist/styles/global.css +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterTreeSelect/index.tsx"],"sourcesContent":["import { Check, ChevronDown, ChevronRight, X } from '@/components/Icons';\nimport { useMarsunFetch } from '@/provider';\nimport { useFetchData } from '@/hooks/useFetchData';\nimport { Checkbox, Input, Space } from 'antd';\nimport classNames from 'classnames';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport FilterPopover from '../FilterPopover';\nimport type { BaseFilterProps, FilterLoadDataContext } from '../types';\nimport { resolveFilterVisible } from '../types';\nimport { useFilterFieldBridge, useFilterRegister } from '../useFilterState';\nimport styles from './style.module.scss';\n\nconst { Search } = Input;\n\nexport interface TreeFilterNode {\n id: string;\n name: string;\n children?: TreeFilterNode[];\n}\n\nexport interface FilterTreeSelectProps extends BaseFilterProps {\n treeData?: TreeFilterNode[];\n fetchUrl?: string;\n fetchOptions?: RequestInit;\n transformData?: (raw: unknown) => TreeFilterNode[];\n /**\n * 按依赖值动态拉取树数据(优先于 fetchUrl;若同时传 treeData 则仍以 treeData 为准)。\n */\n loadData?: (ctx: FilterLoadDataContext) => Promise<TreeFilterNode[]>;\n enabled?: boolean;\n value?: string | string[] | undefined;\n onChange?: (value: string | string[] | undefined) => void;\n showSearch?: boolean;\n multiple?: boolean;\n /**\n * 仅叶子写入最终值。\n * - 单选:点父节点只展开\n * - 多选:点父节点 / 勾选框 = 全选或取消其下全部叶子;父勾选框支持半选\n */\n leafOnly?: boolean;\n /** 自定义节点展示标签(默认 name) */\n getNodeLabel?: (node: TreeFilterNode) => string;\n /**\n * 面板内嵌从属条件(与 search 同层:search 下方、树列表上方)。\n * 用于「属性筛服务本树」等场景;禁止再嵌 Filter*(双重 Popover)。\n */\n panelExtra?: React.ReactNode;\n /** 面板宽度;有 panelExtra 时默认 460 */\n panelWidth?: number;\n}\n\ninterface FlatNode {\n id: string;\n name: string;\n depth: number;\n parentId: string | null;\n}\n\nfunction flattenTree(\n nodes: TreeFilterNode[],\n depth = 0,\n parentId: string | null = null,\n): FlatNode[] {\n const result: FlatNode[] = [];\n for (const node of nodes) {\n result.push({ id: node.id, name: node.name, depth, parentId });\n if (node.children?.length) {\n result.push(...flattenTree(node.children, depth + 1, node.id));\n }\n }\n return result;\n}\n\nfunction filterByKeyword(nodes: TreeFilterNode[], keyword: string): TreeFilterNode[] {\n if (!keyword) return nodes;\n const lower = keyword.toLowerCase();\n function matchTree(items: TreeFilterNode[]): TreeFilterNode[] {\n const result: TreeFilterNode[] = [];\n for (const item of items) {\n const children = item.children?.length ? matchTree(item.children) : [];\n const selfMatch = item.name.toLowerCase().includes(lower);\n if (selfMatch || children.length > 0) {\n result.push({ ...item, children: children.length > 0 ? children : undefined });\n }\n }\n return result;\n }\n return matchTree(nodes);\n}\n\nfunction collectExpandableIds(nodes: TreeFilterNode[]): string[] {\n const ids: string[] = [];\n for (const node of nodes) {\n if (node.children?.length) {\n ids.push(node.id);\n ids.push(...collectExpandableIds(node.children));\n }\n }\n return ids;\n}\n\nfunction buildLabelMap(\n nodes: TreeFilterNode[],\n getLabel: (n: TreeFilterNode) => string,\n): Map<string, string> {\n const map = new Map<string, string>();\n const walk = (items: TreeFilterNode[]) => {\n for (const n of items) {\n map.set(n.id, getLabel(n));\n if (n.children) walk(n.children);\n }\n };\n walk(nodes);\n return map;\n}\n\nconst FilterTreeSelect: React.FC<FilterTreeSelectProps> = ({\n filterKey,\n label,\n treeData: propsTreeData,\n fetchUrl,\n fetchOptions,\n transformData,\n loadData,\n enabled = true,\n value,\n onChange,\n showSearch = false,\n multiple = false,\n leafOnly = false,\n active,\n hidden,\n display,\n dependsOn,\n clearOnDepsChange = true,\n getNodeLabel = (n) => n.name,\n panelExtra,\n panelWidth,\n}) => {\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const resolvedPanelWidth = panelWidth ?? (panelExtra ? 460 : undefined);\n\n const { resolvedLabel, values, depsKey } = useFilterFieldBridge({\n filterKey,\n value,\n label,\n dependsOn,\n clearOnDepsChange,\n onDepsClear: () => onChangeRef.current?.(multiple ? [] : undefined),\n });\n\n const fetchCtx = useMarsunFetch();\n const useStaticOrUrl = propsTreeData != null || (!loadData && !!fetchUrl);\n const { data: fetchedTree } = useFetchData<TreeFilterNode[]>({\n data: propsTreeData,\n fetchUrl: useStaticOrUrl && !loadData ? fetchUrl : undefined,\n fetchOptions,\n transformData,\n enabled: enabled && useStaticOrUrl && !loadData,\n baseUrl: fetchCtx.baseUrl,\n defaultHeaders: fetchCtx.headers,\n timeoutMs: fetchCtx.timeoutMs,\n });\n\n const [loadedTree, setLoadedTree] = useState<TreeFilterNode[]>([]);\n const loadDataRef = useRef(loadData);\n loadDataRef.current = loadData;\n\n useEffect(() => {\n if (!loadDataRef.current || propsTreeData != null || !enabled) return;\n let cancelled = false;\n (async () => {\n try {\n const next = await loadDataRef.current!({ values });\n if (!cancelled) setLoadedTree(next ?? []);\n } catch {\n if (!cancelled) setLoadedTree([]);\n }\n })();\n return () => {\n cancelled = true;\n };\n // values 已由 depsKey 覆盖;避免无 dependsOn 时随 values 全表抖动\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [depsKey, enabled, propsTreeData, loadData]);\n\n const sourceTree = propsTreeData ?? (loadData ? loadedTree : (fetchedTree ?? []));\n\n const [open, setOpen] = useState(false);\n const [localValue, setLocalValue] = useState<string | string[] | undefined>(\n value ?? (multiple ? [] : undefined),\n );\n const [expandedKeys, setExpandedKeys] = useState<Set<string>>(new Set());\n const [searchText, setSearchText] = useState('');\n\n const registerFn = useFilterRegister();\n const visibilityCtx = { filterKey, label: resolvedLabel, value };\n\n useEffect(() => {\n setLocalValue(value ?? (multiple ? [] : undefined));\n if (value === undefined || value === null) setSearchText('');\n }, [value, multiple]);\n\n useEffect(() => {\n if (sourceTree.length) {\n setExpandedKeys(new Set(collectExpandableIds(sourceTree)));\n }\n }, [sourceTree]);\n\n const labelMap = useMemo(\n () => buildLabelMap(sourceTree, getNodeLabel),\n [sourceTree, getNodeLabel],\n );\n\n const confirmedValueLabel = useMemo(() => {\n if (!sourceTree.length || value == null) return '';\n if (multiple) {\n const arr = value as string[];\n return arr.length > 0 ? arr.map((v) => labelMap.get(v) ?? v).join('、') : '';\n }\n return labelMap.get(value as string) ?? '';\n }, [sourceTree, value, multiple, labelMap]);\n\n useEffect(() => {\n if (!registerFn) return;\n if (!resolveFilterVisible({ display, hidden }, visibilityCtx)) {\n registerFn.unregister(filterKey);\n return;\n }\n if (confirmedValueLabel) {\n registerFn.register(filterKey, {\n label: resolvedLabel,\n valueLabel: confirmedValueLabel,\n onRemove: () => onChange?.(multiple ? [] : undefined),\n });\n } else {\n registerFn.unregister(filterKey);\n }\n }, [\n confirmedValueLabel,\n filterKey,\n resolvedLabel,\n display,\n hidden,\n registerFn,\n onChange,\n multiple,\n visibilityCtx,\n ]);\n\n const filteredTree = useMemo(\n () => (showSearch && searchText ? filterByKeyword(sourceTree, searchText) : sourceTree),\n [showSearch, searchText, sourceTree],\n );\n\n const flatNodes = useMemo(() => flattenTree(filteredTree), [filteredTree]);\n\n const hasChildrenMap = useMemo(() => {\n const map = new Map<string, boolean>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n map.set(n.id, !!n.children?.length);\n if (n.children) walk(n.children);\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const childrenMap = useMemo(() => {\n const map = new Map<string, string[]>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n if (n.children?.length) {\n const childIds: string[] = [];\n const collectAll = (node: TreeFilterNode) => {\n childIds.push(node.id);\n node.children?.forEach(collectAll);\n };\n n.children.forEach(collectAll);\n map.set(n.id, childIds);\n walk(n.children);\n }\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const parentMap = useMemo(() => {\n const map = new Map<string, string>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n if (n.children?.length) {\n for (const child of n.children) map.set(child.id, n.id);\n walk(n.children);\n }\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const leafDescendantsMap = useMemo(() => {\n const map = new Map<string, string[]>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n if (!n.children?.length) continue;\n const leaves: string[] = [];\n const collectLeaves = (node: TreeFilterNode) => {\n if (!node.children?.length) {\n leaves.push(node.id);\n return;\n }\n node.children.forEach(collectLeaves);\n };\n n.children.forEach(collectLeaves);\n map.set(n.id, leaves);\n walk(n.children);\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const toggleExpand = useCallback((nodeId: string) => {\n setExpandedKeys((prev) => {\n const next = new Set(prev);\n if (next.has(nodeId)) next.delete(nodeId);\n else next.add(nodeId);\n return next;\n });\n }, []);\n\n const handleSingleSelect = useCallback(\n (nodeId: string) => {\n if (leafOnly && hasChildrenMap.get(nodeId)) {\n toggleExpand(nodeId);\n return;\n }\n const next = localValue === nodeId ? undefined : nodeId;\n setLocalValue(next);\n onChange?.(next);\n setOpen(false);\n },\n [localValue, onChange, leafOnly, hasChildrenMap, toggleExpand],\n );\n\n const handleToggleMulti = useCallback(\n (nodeId: string) => {\n const arr = ((localValue as string[]) || []).slice();\n const childIds = childrenMap.get(nodeId);\n const leafIds = leafDescendantsMap.get(nodeId);\n const parentId = parentMap.get(nodeId);\n\n // leafOnly:点父节点 = 全选/取消其下全部叶子(值里不写入父 id)\n if (leafOnly && leafIds?.length) {\n const allLeavesSelected = leafIds.every((id) => arr.includes(id));\n if (allLeavesSelected) {\n const remove = new Set(leafIds);\n setLocalValue(arr.filter((v) => !remove.has(v)));\n } else {\n setLocalValue([...new Set([...arr, ...leafIds])]);\n }\n return;\n }\n\n if (childIds) {\n const isChecked = arr.includes(nodeId);\n if (isChecked) {\n const removeSet = new Set([nodeId, ...childIds]);\n setLocalValue(arr.filter((v) => !removeSet.has(v)));\n } else {\n setLocalValue([...new Set([...arr, nodeId, ...childIds])]);\n }\n } else if (arr.includes(nodeId)) {\n const next = arr.filter((v) => v !== nodeId);\n setLocalValue(\n parentId && next.includes(parentId) ? next.filter((v) => v !== parentId) : next,\n );\n } else {\n const next = [...arr, nodeId];\n if (parentId && !leafOnly) {\n const siblingIds = childrenMap.get(parentId) || [];\n if (siblingIds.every((id) => next.includes(id))) {\n setLocalValue([...new Set([...next, parentId])]);\n } else {\n setLocalValue(next);\n }\n } else {\n setLocalValue(next);\n }\n }\n },\n [localValue, childrenMap, parentMap, leafOnly, leafDescendantsMap],\n );\n\n const isVisible = useCallback(\n (node: FlatNode) => {\n if (node.parentId === null) return true;\n if (showSearch && searchText) return true;\n return expandedKeys.has(node.parentId);\n },\n [expandedKeys, showSearch, searchText],\n );\n\n if (!resolveFilterVisible({ display, hidden }, visibilityCtx)) return null;\n\n return (\n <FilterPopover\n label={resolvedLabel}\n active={active || (multiple ? (localValue as string[])?.length > 0 : !!value)}\n open={open}\n onOpenChange={setOpen}\n width={resolvedPanelWidth}\n onConfirm={\n multiple\n ? () => {\n let next = localValue;\n if (leafOnly && Array.isArray(next)) {\n next = next.filter((id) => !hasChildrenMap.get(id));\n }\n onChange?.(next);\n setOpen(false);\n }\n : undefined\n }\n onReset={() => {\n const next = multiple ? [] : undefined;\n setLocalValue(next);\n setSearchText('');\n onChange?.(next);\n setOpen(false);\n }}\n >\n {showSearch && (\n <Search\n placeholder={`搜索${resolvedLabel}`}\n allowClear\n size=\"middle\"\n className={classNames('filter-tree-select-search', styles['filter-tree-select-search'])}\n value={searchText}\n onChange={(e) => setSearchText(e.target.value)}\n />\n )}\n {panelExtra ? (\n <div\n className={classNames(\n 'filter-tree-select-panel-extra',\n styles['filter-tree-select-panel-extra'],\n )}\n >\n {panelExtra}\n </div>\n ) : null}\n <div\n className={classNames('filter-tree-select-options', styles['filter-tree-select-options'])}\n >\n {flatNodes.map((node) => {\n if (!isVisible(node)) return null;\n const isLeaf = !hasChildrenMap.get(node.id);\n const isExpanded = expandedKeys.has(node.id);\n const isSingleSelected = !multiple && localValue === node.id;\n const selectedArr = multiple ? (localValue as string[]) || [] : [];\n let isMultiChecked = multiple && selectedArr.includes(node.id);\n let isIndeterminate = false;\n if (multiple && leafOnly && !isLeaf) {\n const leaves = leafDescendantsMap.get(node.id) || [];\n const selectedLeafCount = leaves.filter((id) => selectedArr.includes(id)).length;\n isMultiChecked = leaves.length > 0 && selectedLeafCount === leaves.length;\n isIndeterminate = selectedLeafCount > 0 && selectedLeafCount < leaves.length;\n }\n return (\n <div\n key={node.id}\n className={classNames(\n 'filter-tree-select-option',\n styles['filter-tree-select-option'],\n isSingleSelected && styles['filter-tree-select-option-selected'],\n )}\n style={{ paddingLeft: 8 + node.depth * 20 }}\n onClick={() => (multiple ? handleToggleMulti(node.id) : handleSingleSelect(node.id))}\n >\n {!isLeaf ? (\n <span\n className={styles['filter-tree-select-expand-icon']}\n onClick={(e) => {\n e.stopPropagation();\n toggleExpand(node.id);\n }}\n >\n {isExpanded || (showSearch && !!searchText) ? (\n <ChevronDown style={{ fontSize: 10 }} />\n ) : (\n <ChevronRight style={{ fontSize: 10 }} />\n )}\n </span>\n ) : (\n <span className={styles['filter-tree-select-expand-placeholder']} />\n )}\n {multiple && (\n <Checkbox\n checked={isMultiChecked}\n indeterminate={isIndeterminate}\n onClick={(e) => e.stopPropagation()}\n onChange={() => handleToggleMulti(node.id)}\n />\n )}\n <span className={styles['filter-tree-select-node-label']}>{node.name}</span>\n {!multiple && isSingleSelected && (\n <Check className={styles['filter-tree-select-option-check']} />\n )}\n </div>\n );\n })}\n {flatNodes.length === 0 && (\n <div className={styles['filter-tree-select-empty']}>暂无数据</div>\n )}\n </div>\n {multiple &&\n (leafOnly\n ? ((localValue as string[]) || []).some((id) => !hasChildrenMap.get(id))\n : ((localValue as string[]) || []).length > 0) && (\n <div className={styles['filter-tree-select-selected-bar']}>\n <div className={styles['filter-tree-select-selected-label']}>已选:</div>\n <Space size={[4, 4]} wrap>\n {((localValue as string[]) || [])\n .filter((v) => !(leafOnly && hasChildrenMap.get(v)))\n .map((v) => (\n <span\n key={v}\n className={styles['filter-tree-select-selected-tag']}\n onClick={(e) => {\n e.stopPropagation();\n handleToggleMulti(v);\n }}\n >\n {labelMap.get(v) ?? v}\n <X className={styles['filter-tree-select-selected-remove']} />\n </span>\n ))}\n </Space>\n </div>\n )}\n </FilterPopover>\n );\n};\n\nexport default FilterTreeSelect;\n"],"names":["Search","Input","flattenTree","nodes","depth","parentId","result","node","_a","filterByKeyword","keyword","lower","matchTree","items","item","children","collectExpandableIds","ids","buildLabelMap","getLabel","map","walk","n","FilterTreeSelect","filterKey","label","propsTreeData","fetchUrl","fetchOptions","transformData","loadData","enabled","value","onChange","showSearch","multiple","leafOnly","active","hidden","display","dependsOn","clearOnDepsChange","getNodeLabel","panelExtra","panelWidth","onChangeRef","useRef","resolvedPanelWidth","resolvedLabel","values","depsKey","useFilterFieldBridge","fetchCtx","useMarsunFetch","useStaticOrUrl","fetchedTree","useFetchData","loadedTree","setLoadedTree","useState","loadDataRef","useEffect","cancelled","next","sourceTree","open","setOpen","localValue","setLocalValue","expandedKeys","setExpandedKeys","searchText","setSearchText","registerFn","useFilterRegister","visibilityCtx","labelMap","useMemo","confirmedValueLabel","arr","v","resolveFilterVisible","filteredTree","flatNodes","hasChildrenMap","childrenMap","childIds","collectAll","parentMap","child","leafDescendantsMap","leaves","collectLeaves","toggleExpand","useCallback","nodeId","prev","handleSingleSelect","handleToggleMulti","leafIds","id","remove","removeSet","isVisible","jsxs","FilterPopover","jsx","classNames","styles","isLeaf","isExpanded","isSingleSelected","selectedArr","isMultiChecked","isIndeterminate","selectedLeafCount","e","ChevronDown","ChevronRight","Checkbox","Check","Space","X"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterTreeSelect/index.tsx"],"sourcesContent":["import { Check, ChevronDown, ChevronRight, X } from '@/components/Icons';\nimport { Empty } from '@/components/Empty';\nimport { useMarsunFetch } from '@/provider';\nimport { useFetchData } from '@/hooks/useFetchData';\nimport { Checkbox, Input, Space, Spin } from 'antd';\nimport classNames from 'classnames';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport FilterPopover from '../FilterPopover';\nimport type { BaseFilterProps, FilterLoadDataContext } from '../types';\nimport { resolveFilterVisible } from '../types';\nimport { useFilterFieldBridge, useFilterRegister } from '../useFilterState';\nimport styles from './style.module.scss';\n\nconst { Search } = Input;\n\nexport interface TreeFilterNode {\n id: string;\n name: string;\n children?: TreeFilterNode[];\n}\n\nexport interface FilterTreeSelectProps extends BaseFilterProps {\n treeData?: TreeFilterNode[];\n fetchUrl?: string;\n fetchOptions?: RequestInit;\n transformData?: (raw: unknown) => TreeFilterNode[];\n /**\n * 按依赖值动态拉取树数据(优先于 fetchUrl;若同时传 treeData 则仍以 treeData 为准)。\n */\n loadData?: (ctx: FilterLoadDataContext) => Promise<TreeFilterNode[]>;\n enabled?: boolean;\n value?: string | string[] | undefined;\n onChange?: (value: string | string[] | undefined) => void;\n showSearch?: boolean;\n multiple?: boolean;\n /**\n * 仅叶子写入最终值。\n * - 单选:点父节点只展开\n * - 多选:点父节点 / 勾选框 = 全选或取消其下全部叶子;父勾选框支持半选\n */\n leafOnly?: boolean;\n /** 自定义节点展示标签(默认 name) */\n getNodeLabel?: (node: TreeFilterNode) => string;\n /**\n * 面板内嵌从属条件(与 search 同层:search 下方、树列表上方)。\n * 用于「属性筛服务本树」等场景;禁止再嵌 Filter*(双重 Popover)。\n */\n panelExtra?: React.ReactNode;\n /** 面板宽度;有 panelExtra 时默认 460 */\n panelWidth?: number;\n /**\n * 选项加载中:Filter Item(Trigger)显示 Loader2 spin;\n * 面板列表区显示 Spin,不渲染空态。\n * 与内部 fetchUrl / loadData loading 取或。\n */\n loading?: boolean;\n}\n\ninterface FlatNode {\n id: string;\n name: string;\n depth: number;\n parentId: string | null;\n}\n\nfunction flattenTree(\n nodes: TreeFilterNode[],\n depth = 0,\n parentId: string | null = null,\n): FlatNode[] {\n const result: FlatNode[] = [];\n for (const node of nodes) {\n result.push({ id: node.id, name: node.name, depth, parentId });\n if (node.children?.length) {\n result.push(...flattenTree(node.children, depth + 1, node.id));\n }\n }\n return result;\n}\n\nfunction filterByKeyword(nodes: TreeFilterNode[], keyword: string): TreeFilterNode[] {\n if (!keyword) return nodes;\n const lower = keyword.toLowerCase();\n function matchTree(items: TreeFilterNode[]): TreeFilterNode[] {\n const result: TreeFilterNode[] = [];\n for (const item of items) {\n const children = item.children?.length ? matchTree(item.children) : [];\n const selfMatch = item.name.toLowerCase().includes(lower);\n if (selfMatch || children.length > 0) {\n result.push({ ...item, children: children.length > 0 ? children : undefined });\n }\n }\n return result;\n }\n return matchTree(nodes);\n}\n\nfunction collectExpandableIds(nodes: TreeFilterNode[]): string[] {\n const ids: string[] = [];\n for (const node of nodes) {\n if (node.children?.length) {\n ids.push(node.id);\n ids.push(...collectExpandableIds(node.children));\n }\n }\n return ids;\n}\n\nfunction buildLabelMap(\n nodes: TreeFilterNode[],\n getLabel: (n: TreeFilterNode) => string,\n): Map<string, string> {\n const map = new Map<string, string>();\n const walk = (items: TreeFilterNode[]) => {\n for (const n of items) {\n map.set(n.id, getLabel(n));\n if (n.children) walk(n.children);\n }\n };\n walk(nodes);\n return map;\n}\n\nconst FilterTreeSelect: React.FC<FilterTreeSelectProps> = ({\n filterKey,\n label,\n treeData: propsTreeData,\n fetchUrl,\n fetchOptions,\n transformData,\n loadData,\n enabled = true,\n value,\n onChange,\n showSearch = false,\n multiple = false,\n leafOnly = false,\n active,\n hidden,\n display,\n dependsOn,\n clearOnDepsChange = true,\n getNodeLabel = (n) => n.name,\n panelExtra,\n panelWidth,\n loading: loadingProp = false,\n}) => {\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const resolvedPanelWidth = panelWidth ?? (panelExtra ? 460 : undefined);\n\n const { resolvedLabel, values, depsKey } = useFilterFieldBridge({\n filterKey,\n value,\n label,\n dependsOn,\n clearOnDepsChange,\n onDepsClear: () => onChangeRef.current?.(multiple ? [] : undefined),\n });\n\n const fetchCtx = useMarsunFetch();\n const useStaticOrUrl = propsTreeData != null || (!loadData && !!fetchUrl);\n const { data: fetchedTree, loading: fetchLoading } = useFetchData<TreeFilterNode[]>({\n data: propsTreeData,\n fetchUrl: useStaticOrUrl && !loadData ? fetchUrl : undefined,\n fetchOptions,\n transformData,\n enabled: enabled && useStaticOrUrl && !loadData,\n baseUrl: fetchCtx.baseUrl,\n defaultHeaders: fetchCtx.headers,\n timeoutMs: fetchCtx.timeoutMs,\n });\n\n const [loadedTree, setLoadedTree] = useState<TreeFilterNode[]>([]);\n const [loadDataLoading, setLoadDataLoading] = useState(false);\n const loadDataRef = useRef(loadData);\n loadDataRef.current = loadData;\n\n useEffect(() => {\n if (!loadDataRef.current || propsTreeData != null || !enabled) return;\n let cancelled = false;\n setLoadDataLoading(true);\n (async () => {\n try {\n const next = await loadDataRef.current!({ values });\n if (!cancelled) setLoadedTree(next ?? []);\n } catch {\n if (!cancelled) setLoadedTree([]);\n } finally {\n if (!cancelled) setLoadDataLoading(false);\n }\n })();\n return () => {\n cancelled = true;\n };\n // values 已由 depsKey 覆盖;避免无 dependsOn 时随 values 全表抖动\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [depsKey, enabled, propsTreeData, loadData]);\n\n const sourceTree = propsTreeData ?? (loadData ? loadedTree : (fetchedTree ?? []));\n const optionsLoading = loadingProp || fetchLoading || loadDataLoading;\n\n const [open, setOpen] = useState(false);\n const [localValue, setLocalValue] = useState<string | string[] | undefined>(\n value ?? (multiple ? [] : undefined),\n );\n const [expandedKeys, setExpandedKeys] = useState<Set<string>>(new Set());\n const [searchText, setSearchText] = useState('');\n\n const registerFn = useFilterRegister();\n const visibilityCtx = { filterKey, label: resolvedLabel, value };\n\n useEffect(() => {\n setLocalValue(value ?? (multiple ? [] : undefined));\n if (value === undefined || value === null) setSearchText('');\n }, [value, multiple]);\n\n useEffect(() => {\n if (sourceTree.length) {\n setExpandedKeys(new Set(collectExpandableIds(sourceTree)));\n }\n }, [sourceTree]);\n\n const labelMap = useMemo(\n () => buildLabelMap(sourceTree, getNodeLabel),\n [sourceTree, getNodeLabel],\n );\n\n const confirmedValueLabel = useMemo(() => {\n if (!sourceTree.length || value == null) return '';\n if (multiple) {\n const arr = value as string[];\n return arr.length > 0 ? arr.map((v) => labelMap.get(v) ?? v).join('、') : '';\n }\n return labelMap.get(value as string) ?? '';\n }, [sourceTree, value, multiple, labelMap]);\n\n useEffect(() => {\n if (!registerFn) return;\n if (!resolveFilterVisible({ display, hidden }, visibilityCtx)) {\n registerFn.unregister(filterKey);\n return;\n }\n if (confirmedValueLabel) {\n registerFn.register(filterKey, {\n label: resolvedLabel,\n valueLabel: confirmedValueLabel,\n onRemove: () => onChange?.(multiple ? [] : undefined),\n });\n } else {\n registerFn.unregister(filterKey);\n }\n }, [\n confirmedValueLabel,\n filterKey,\n resolvedLabel,\n display,\n hidden,\n registerFn,\n onChange,\n multiple,\n visibilityCtx,\n ]);\n\n const filteredTree = useMemo(\n () => (showSearch && searchText ? filterByKeyword(sourceTree, searchText) : sourceTree),\n [showSearch, searchText, sourceTree],\n );\n\n const flatNodes = useMemo(() => flattenTree(filteredTree), [filteredTree]);\n\n const hasChildrenMap = useMemo(() => {\n const map = new Map<string, boolean>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n map.set(n.id, !!n.children?.length);\n if (n.children) walk(n.children);\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const childrenMap = useMemo(() => {\n const map = new Map<string, string[]>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n if (n.children?.length) {\n const childIds: string[] = [];\n const collectAll = (node: TreeFilterNode) => {\n childIds.push(node.id);\n node.children?.forEach(collectAll);\n };\n n.children.forEach(collectAll);\n map.set(n.id, childIds);\n walk(n.children);\n }\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const parentMap = useMemo(() => {\n const map = new Map<string, string>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n if (n.children?.length) {\n for (const child of n.children) map.set(child.id, n.id);\n walk(n.children);\n }\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const leafDescendantsMap = useMemo(() => {\n const map = new Map<string, string[]>();\n const walk = (nodes: TreeFilterNode[]) => {\n for (const n of nodes) {\n if (!n.children?.length) continue;\n const leaves: string[] = [];\n const collectLeaves = (node: TreeFilterNode) => {\n if (!node.children?.length) {\n leaves.push(node.id);\n return;\n }\n node.children.forEach(collectLeaves);\n };\n n.children.forEach(collectLeaves);\n map.set(n.id, leaves);\n walk(n.children);\n }\n };\n walk(filteredTree);\n return map;\n }, [filteredTree]);\n\n const toggleExpand = useCallback((nodeId: string) => {\n setExpandedKeys((prev) => {\n const next = new Set(prev);\n if (next.has(nodeId)) next.delete(nodeId);\n else next.add(nodeId);\n return next;\n });\n }, []);\n\n const handleSingleSelect = useCallback(\n (nodeId: string) => {\n if (leafOnly && hasChildrenMap.get(nodeId)) {\n toggleExpand(nodeId);\n return;\n }\n const next = localValue === nodeId ? undefined : nodeId;\n setLocalValue(next);\n onChange?.(next);\n setOpen(false);\n },\n [localValue, onChange, leafOnly, hasChildrenMap, toggleExpand],\n );\n\n const handleToggleMulti = useCallback(\n (nodeId: string) => {\n const arr = ((localValue as string[]) || []).slice();\n const childIds = childrenMap.get(nodeId);\n const leafIds = leafDescendantsMap.get(nodeId);\n const parentId = parentMap.get(nodeId);\n\n // leafOnly:点父节点 = 全选/取消其下全部叶子(值里不写入父 id)\n if (leafOnly && leafIds?.length) {\n const allLeavesSelected = leafIds.every((id) => arr.includes(id));\n if (allLeavesSelected) {\n const remove = new Set(leafIds);\n setLocalValue(arr.filter((v) => !remove.has(v)));\n } else {\n setLocalValue([...new Set([...arr, ...leafIds])]);\n }\n return;\n }\n\n if (childIds) {\n const isChecked = arr.includes(nodeId);\n if (isChecked) {\n const removeSet = new Set([nodeId, ...childIds]);\n setLocalValue(arr.filter((v) => !removeSet.has(v)));\n } else {\n setLocalValue([...new Set([...arr, nodeId, ...childIds])]);\n }\n } else if (arr.includes(nodeId)) {\n const next = arr.filter((v) => v !== nodeId);\n setLocalValue(\n parentId && next.includes(parentId) ? next.filter((v) => v !== parentId) : next,\n );\n } else {\n const next = [...arr, nodeId];\n if (parentId && !leafOnly) {\n const siblingIds = childrenMap.get(parentId) || [];\n if (siblingIds.every((id) => next.includes(id))) {\n setLocalValue([...new Set([...next, parentId])]);\n } else {\n setLocalValue(next);\n }\n } else {\n setLocalValue(next);\n }\n }\n },\n [localValue, childrenMap, parentMap, leafOnly, leafDescendantsMap],\n );\n\n const isVisible = useCallback(\n (node: FlatNode) => {\n if (node.parentId === null) return true;\n if (showSearch && searchText) return true;\n return expandedKeys.has(node.parentId);\n },\n [expandedKeys, showSearch, searchText],\n );\n\n if (!resolveFilterVisible({ display, hidden }, visibilityCtx)) return null;\n\n return (\n <FilterPopover\n label={resolvedLabel}\n active={active || (multiple ? (localValue as string[])?.length > 0 : !!value)}\n loading={optionsLoading}\n open={open}\n onOpenChange={setOpen}\n width={resolvedPanelWidth}\n onConfirm={\n multiple\n ? () => {\n let next = localValue;\n if (leafOnly && Array.isArray(next)) {\n next = next.filter((id) => !hasChildrenMap.get(id));\n }\n onChange?.(next);\n setOpen(false);\n }\n : undefined\n }\n onReset={() => {\n const next = multiple ? [] : undefined;\n setLocalValue(next);\n setSearchText('');\n onChange?.(next);\n setOpen(false);\n }}\n >\n {showSearch && (\n <Search\n placeholder={`搜索${resolvedLabel}`}\n allowClear\n size=\"middle\"\n className={classNames('filter-tree-select-search', styles['filter-tree-select-search'])}\n value={searchText}\n onChange={(e) => setSearchText(e.target.value)}\n />\n )}\n {panelExtra ? (\n <div\n className={classNames(\n 'filter-tree-select-panel-extra',\n styles['filter-tree-select-panel-extra'],\n )}\n >\n {panelExtra}\n </div>\n ) : null}\n <div\n className={classNames('filter-tree-select-options', styles['filter-tree-select-options'])}\n >\n {optionsLoading ? (\n <div\n className={classNames(\n 'filter-tree-select-loading',\n styles['filter-tree-select-loading'],\n )}\n >\n <Spin size=\"small\" />\n </div>\n ) : flatNodes.length === 0 ? (\n <div\n className={classNames('filter-tree-select-empty', styles['filter-tree-select-empty'])}\n >\n <Empty iconType=\"simple\" description=\"暂无数据\" />\n </div>\n ) : (\n flatNodes.map((node) => {\n if (!isVisible(node)) return null;\n const isLeaf = !hasChildrenMap.get(node.id);\n const isExpanded = expandedKeys.has(node.id);\n const isSingleSelected = !multiple && localValue === node.id;\n const selectedArr = multiple ? (localValue as string[]) || [] : [];\n let isMultiChecked = multiple && selectedArr.includes(node.id);\n let isIndeterminate = false;\n if (multiple && leafOnly && !isLeaf) {\n const leaves = leafDescendantsMap.get(node.id) || [];\n const selectedLeafCount = leaves.filter((id) => selectedArr.includes(id)).length;\n isMultiChecked = leaves.length > 0 && selectedLeafCount === leaves.length;\n isIndeterminate = selectedLeafCount > 0 && selectedLeafCount < leaves.length;\n }\n return (\n <div\n key={node.id}\n className={classNames(\n 'filter-tree-select-option',\n styles['filter-tree-select-option'],\n isSingleSelected && styles['filter-tree-select-option-selected'],\n )}\n style={{ paddingLeft: 8 + node.depth * 20 }}\n onClick={() =>\n multiple ? handleToggleMulti(node.id) : handleSingleSelect(node.id)\n }\n >\n {!isLeaf ? (\n <span\n className={styles['filter-tree-select-expand-icon']}\n onClick={(e) => {\n e.stopPropagation();\n toggleExpand(node.id);\n }}\n >\n {isExpanded || (showSearch && !!searchText) ? (\n <ChevronDown style={{ fontSize: 10 }} />\n ) : (\n <ChevronRight style={{ fontSize: 10 }} />\n )}\n </span>\n ) : (\n <span className={styles['filter-tree-select-expand-placeholder']} />\n )}\n {multiple && (\n <Checkbox\n checked={isMultiChecked}\n indeterminate={isIndeterminate}\n onClick={(e) => e.stopPropagation()}\n onChange={() => handleToggleMulti(node.id)}\n />\n )}\n <span className={styles['filter-tree-select-node-label']}>{node.name}</span>\n {!multiple && isSingleSelected && (\n <Check className={styles['filter-tree-select-option-check']} />\n )}\n </div>\n );\n })\n )}\n </div>\n {multiple &&\n (leafOnly\n ? ((localValue as string[]) || []).some((id) => !hasChildrenMap.get(id))\n : ((localValue as string[]) || []).length > 0) && (\n <div className={styles['filter-tree-select-selected-bar']}>\n <div className={styles['filter-tree-select-selected-label']}>已选:</div>\n <Space size={[4, 4]} wrap>\n {((localValue as string[]) || [])\n .filter((v) => !(leafOnly && hasChildrenMap.get(v)))\n .map((v) => (\n <span\n key={v}\n className={styles['filter-tree-select-selected-tag']}\n onClick={(e) => {\n e.stopPropagation();\n handleToggleMulti(v);\n }}\n >\n {labelMap.get(v) ?? v}\n <X className={styles['filter-tree-select-selected-remove']} />\n </span>\n ))}\n </Space>\n </div>\n )}\n </FilterPopover>\n );\n};\n\nexport default FilterTreeSelect;\n"],"names":["Search","Input","flattenTree","nodes","depth","parentId","result","node","_a","filterByKeyword","keyword","lower","matchTree","items","item","children","collectExpandableIds","ids","buildLabelMap","getLabel","map","walk","n","FilterTreeSelect","filterKey","label","propsTreeData","fetchUrl","fetchOptions","transformData","loadData","enabled","value","onChange","showSearch","multiple","leafOnly","active","hidden","display","dependsOn","clearOnDepsChange","getNodeLabel","panelExtra","panelWidth","loadingProp","onChangeRef","useRef","resolvedPanelWidth","resolvedLabel","values","depsKey","useFilterFieldBridge","fetchCtx","useMarsunFetch","useStaticOrUrl","fetchedTree","fetchLoading","useFetchData","loadedTree","setLoadedTree","useState","loadDataLoading","setLoadDataLoading","loadDataRef","useEffect","cancelled","next","sourceTree","optionsLoading","open","setOpen","localValue","setLocalValue","expandedKeys","setExpandedKeys","searchText","setSearchText","registerFn","useFilterRegister","visibilityCtx","labelMap","useMemo","confirmedValueLabel","arr","v","resolveFilterVisible","filteredTree","flatNodes","hasChildrenMap","childrenMap","childIds","collectAll","parentMap","child","leafDescendantsMap","leaves","collectLeaves","toggleExpand","useCallback","nodeId","prev","handleSingleSelect","handleToggleMulti","leafIds","id","remove","removeSet","isVisible","jsxs","FilterPopover","jsx","classNames","styles","Spin","Empty","isLeaf","isExpanded","isSingleSelected","selectedArr","isMultiChecked","isIndeterminate","selectedLeafCount","e","ChevronDown","ChevronRight","Checkbox","Check","Space","X"],"mappings":"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"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
const e = {
|
|
2
|
-
"filter-tree-select-search": "_filter-tree-select-
|
|
3
|
-
"filter-tree-select-panel-extra": "_filter-tree-select-panel-
|
|
4
|
-
"filter-tree-select-options": "_filter-tree-select-
|
|
5
|
-
"filter-tree-select-option": "_filter-tree-select-
|
|
6
|
-
"filter-tree-select-option-selected": "_filter-tree-select-option-
|
|
7
|
-
"filter-tree-select-option-check": "_filter-tree-select-option-
|
|
8
|
-
"filter-tree-select-expand-icon": "_filter-tree-select-expand-
|
|
9
|
-
"filter-tree-select-expand-placeholder": "_filter-tree-select-expand-
|
|
10
|
-
"filter-tree-select-node-label": "_filter-tree-select-node-
|
|
11
|
-
"filter-tree-select-empty": "_filter-tree-select-
|
|
12
|
-
"filter-tree-select-
|
|
13
|
-
"filter-tree-select-selected-
|
|
14
|
-
"filter-tree-select-selected-
|
|
15
|
-
"filter-tree-select-selected-
|
|
2
|
+
"filter-tree-select-search": "_filter-tree-select-search_ifn6c_1",
|
|
3
|
+
"filter-tree-select-panel-extra": "_filter-tree-select-panel-extra_ifn6c_5",
|
|
4
|
+
"filter-tree-select-options": "_filter-tree-select-options_ifn6c_9",
|
|
5
|
+
"filter-tree-select-option": "_filter-tree-select-option_ifn6c_9",
|
|
6
|
+
"filter-tree-select-option-selected": "_filter-tree-select-option-selected_ifn6c_27",
|
|
7
|
+
"filter-tree-select-option-check": "_filter-tree-select-option-check_ifn6c_32",
|
|
8
|
+
"filter-tree-select-expand-icon": "_filter-tree-select-expand-icon_ifn6c_38",
|
|
9
|
+
"filter-tree-select-expand-placeholder": "_filter-tree-select-expand-placeholder_ifn6c_48",
|
|
10
|
+
"filter-tree-select-node-label": "_filter-tree-select-node-label_ifn6c_54",
|
|
11
|
+
"filter-tree-select-empty": "_filter-tree-select-empty_ifn6c_58",
|
|
12
|
+
"filter-tree-select-loading": "_filter-tree-select-loading_ifn6c_66",
|
|
13
|
+
"filter-tree-select-selected-bar": "_filter-tree-select-selected-bar_ifn6c_74",
|
|
14
|
+
"filter-tree-select-selected-label": "_filter-tree-select-selected-label_ifn6c_81",
|
|
15
|
+
"filter-tree-select-selected-tag": "_filter-tree-select-selected-tag_ifn6c_87",
|
|
16
|
+
"filter-tree-select-selected-remove": "_filter-tree-select-selected-remove_ifn6c_100"
|
|
16
17
|
};
|
|
17
18
|
export {
|
|
18
19
|
e as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"style.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
|
|
@@ -3,6 +3,8 @@ import { BaseFilterProps } from '../types';
|
|
|
3
3
|
interface FilterTriggerProps extends Omit<BaseFilterProps, 'filterKey'> {
|
|
4
4
|
onClick?: (e: React.MouseEvent) => void;
|
|
5
5
|
open?: boolean;
|
|
6
|
+
/** 选项加载中:右侧用 Loader2 spin 替换 chevron */
|
|
7
|
+
loading?: boolean;
|
|
6
8
|
className?: string;
|
|
7
9
|
children?: React.ReactNode;
|
|
8
10
|
}
|
|
@@ -10,6 +12,7 @@ interface FilterTriggerProps extends Omit<BaseFilterProps, 'filterKey'> {
|
|
|
10
12
|
* 筛选触发按钮
|
|
11
13
|
* 未选中:灰色文字 + 下箭头
|
|
12
14
|
* 已选:主题色文字 + 浅底 + 上箭头
|
|
15
|
+
* loading:右侧 Loader2 spin(替换 chevron)
|
|
13
16
|
*/
|
|
14
17
|
declare const FilterTrigger: React.FC<FilterTriggerProps>;
|
|
15
18
|
export default FilterTrigger;
|
|
@@ -1,51 +1,64 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ChevronUp as
|
|
1
|
+
import { jsx as t, jsxs as m } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronUp as s, ChevronDown as f, Loader2 as h } from "../../Icons/index.js";
|
|
3
3
|
import e from "classnames";
|
|
4
4
|
import r from "./style.module.scss.js";
|
|
5
|
-
const
|
|
6
|
-
label:
|
|
7
|
-
active:
|
|
8
|
-
onClick:
|
|
9
|
-
open:
|
|
5
|
+
const x = ({
|
|
6
|
+
label: g,
|
|
7
|
+
active: o,
|
|
8
|
+
onClick: a,
|
|
9
|
+
open: l,
|
|
10
|
+
loading: i = !1,
|
|
10
11
|
className: c = "",
|
|
11
12
|
children: n
|
|
12
|
-
}) =>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"filter-trigger-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
)
|
|
13
|
+
}) => {
|
|
14
|
+
const v = l !== void 0 ? l ? /* @__PURE__ */ t(
|
|
15
|
+
s,
|
|
16
|
+
{
|
|
17
|
+
className: e("filter-trigger-chevron", r["filter-trigger-chevron"])
|
|
18
|
+
}
|
|
19
|
+
) : /* @__PURE__ */ t(
|
|
20
|
+
f,
|
|
21
|
+
{
|
|
22
|
+
className: e("filter-trigger-chevron", r["filter-trigger-chevron"])
|
|
23
|
+
}
|
|
24
|
+
) : o ? /* @__PURE__ */ t(
|
|
25
|
+
s,
|
|
26
|
+
{
|
|
27
|
+
className: e("filter-trigger-chevron", r["filter-trigger-chevron"])
|
|
28
|
+
}
|
|
29
|
+
) : /* @__PURE__ */ t(
|
|
30
|
+
f,
|
|
31
|
+
{
|
|
32
|
+
className: e("filter-trigger-chevron", r["filter-trigger-chevron"])
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
return /* @__PURE__ */ m(
|
|
36
|
+
"span",
|
|
37
|
+
{
|
|
38
|
+
className: e(
|
|
39
|
+
"filter-trigger-root",
|
|
40
|
+
r["filter-trigger-root"],
|
|
41
|
+
o ? ["filter-trigger-active", r["filter-trigger-active"]] : ["filter-trigger-inactive", r["filter-trigger-inactive"]],
|
|
42
|
+
i && "filter-trigger-loading",
|
|
43
|
+
c
|
|
44
|
+
),
|
|
45
|
+
onClick: a,
|
|
46
|
+
"aria-busy": i || void 0,
|
|
47
|
+
children: [
|
|
48
|
+
n ?? (typeof g == "function" ? null : g),
|
|
49
|
+
i ? /* @__PURE__ */ t(
|
|
50
|
+
h,
|
|
51
|
+
{
|
|
52
|
+
spin: !0,
|
|
53
|
+
size: 12,
|
|
54
|
+
className: e("filter-trigger-loader", r["filter-trigger-loader"])
|
|
55
|
+
}
|
|
56
|
+
) : v
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
};
|
|
48
61
|
export {
|
|
49
|
-
|
|
62
|
+
x as default
|
|
50
63
|
};
|
|
51
64
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterTrigger/index.tsx"],"sourcesContent":["import { ChevronDown, ChevronUp } from '@/components/Icons';\nimport classNames from 'classnames';\nimport React from 'react';\nimport type { BaseFilterProps } from '../types';\nimport styles from './style.module.scss';\n\ninterface FilterTriggerProps extends Omit<BaseFilterProps, 'filterKey'> {\n onClick?: (e: React.MouseEvent) => void;\n open?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * 筛选触发按钮\n * 未选中:灰色文字 + 下箭头\n * 已选:主题色文字 + 浅底 + 上箭头\n */\nconst FilterTrigger: React.FC<FilterTriggerProps> = ({\n label,\n active,\n onClick,\n open,\n className = '',\n children,\n}) => (\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Filter/FilterTrigger/index.tsx"],"sourcesContent":["import { ChevronDown, ChevronUp, Loader2 } from '@/components/Icons';\nimport classNames from 'classnames';\nimport React from 'react';\nimport type { BaseFilterProps } from '../types';\nimport styles from './style.module.scss';\n\ninterface FilterTriggerProps extends Omit<BaseFilterProps, 'filterKey'> {\n onClick?: (e: React.MouseEvent) => void;\n open?: boolean;\n /** 选项加载中:右侧用 Loader2 spin 替换 chevron */\n loading?: boolean;\n className?: string;\n children?: React.ReactNode;\n}\n\n/**\n * 筛选触发按钮\n * 未选中:灰色文字 + 下箭头\n * 已选:主题色文字 + 浅底 + 上箭头\n * loading:右侧 Loader2 spin(替换 chevron)\n */\nconst FilterTrigger: React.FC<FilterTriggerProps> = ({\n label,\n active,\n onClick,\n open,\n loading = false,\n className = '',\n children,\n}) => {\n const chevron =\n open !== undefined ? (\n open ? (\n <ChevronUp\n className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])}\n />\n ) : (\n <ChevronDown\n className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])}\n />\n )\n ) : !active ? (\n <ChevronDown\n className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])}\n />\n ) : (\n <ChevronUp\n className={classNames('filter-trigger-chevron', styles['filter-trigger-chevron'])}\n />\n );\n\n return (\n <span\n className={classNames(\n 'filter-trigger-root',\n styles['filter-trigger-root'],\n active\n ? ['filter-trigger-active', styles['filter-trigger-active']]\n : ['filter-trigger-inactive', styles['filter-trigger-inactive']],\n loading && 'filter-trigger-loading',\n className,\n )}\n onClick={onClick}\n aria-busy={loading || undefined}\n >\n {children ?? (typeof label === 'function' ? null : label)}\n {loading ? (\n <Loader2\n spin\n size={12}\n className={classNames('filter-trigger-loader', styles['filter-trigger-loader'])}\n />\n ) : (\n chevron\n )}\n </span>\n );\n};\n\nexport default FilterTrigger;\nexport type { FilterTriggerProps };\n"],"names":["FilterTrigger","label","active","onClick","open","loading","className","children","chevron","jsx","ChevronUp","classNames","styles","ChevronDown","jsxs","Loader2"],"mappings":";;;;AAqBA,MAAMA,IAA8C,CAAC;AAAA,EACnD,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,WAAAC,IAAY;AAAA,EACZ,UAAAC;AACF,MAAM;AACJ,QAAMC,IACJJ,MAAS,SACPA,IACE,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC;AAAA,IAAA;AAAA,EAAA,IAGlF,gBAAAH;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,WAAWF,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC;AAAA,IAAA;AAAA,EAAA,IAGjFV,IAKH,gBAAAO;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC;AAAA,IAAA;AAAA,EAAA,IALlF,gBAAAH;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,WAAWF,EAAW,0BAA0BC,EAAO,wBAAwB,CAAC;AAAA,IAAA;AAAA,EAAA;AAQtF,SACE,gBAAAE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWH;AAAA,QACT;AAAA,QACAC,EAAO,qBAAqB;AAAA,QAC5BV,IACI,CAAC,yBAAyBU,EAAO,uBAAuB,CAAC,IACzD,CAAC,2BAA2BA,EAAO,yBAAyB,CAAC;AAAA,QACjEP,KAAW;AAAA,QACXC;AAAA,MAAA;AAAA,MAEF,SAAAH;AAAA,MACA,aAAWE,KAAW;AAAA,MAErB,UAAA;AAAA,QAAAE,MAAa,OAAON,KAAU,aAAa,OAAOA;AAAA,QAClDI,IACC,gBAAAI;AAAA,UAACM;AAAA,UAAA;AAAA,YACC,MAAI;AAAA,YACJ,MAAM;AAAA,YACN,WAAWJ,EAAW,yBAAyBC,EAAO,uBAAuB,CAAC;AAAA,UAAA;AAAA,QAAA,IAGhFJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
const r = {
|
|
2
|
-
"filter-trigger-root": "_filter-trigger-
|
|
3
|
-
"filter-trigger-active": "_filter-trigger-
|
|
4
|
-
"filter-trigger-inactive": "_filter-trigger-
|
|
5
|
-
"filter-trigger-chevron": "_filter-trigger-
|
|
2
|
+
"filter-trigger-root": "_filter-trigger-root_jz9q7_1",
|
|
3
|
+
"filter-trigger-active": "_filter-trigger-active_jz9q7_12",
|
|
4
|
+
"filter-trigger-inactive": "_filter-trigger-inactive_jz9q7_18",
|
|
5
|
+
"filter-trigger-chevron": "_filter-trigger-chevron_jz9q7_26",
|
|
6
|
+
"filter-trigger-loader": "_filter-trigger-loader_jz9q7_30"
|
|
6
7
|
};
|
|
7
8
|
export {
|
|
8
9
|
r as default
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"style.module.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -8,6 +8,7 @@ import { default as FilterDateRange } from './FilterDateRange';
|
|
|
8
8
|
import { default as FilterDatePicker } from './FilterDatePicker';
|
|
9
9
|
import { default as FilterNumberRange } from './FilterNumberRange';
|
|
10
10
|
import { default as FilterTreeSelect } from './FilterTreeSelect';
|
|
11
|
+
import { default as FilterCascader, treeToCascaderOptions } from './FilterCascader';
|
|
11
12
|
export type { CommonFilterProps } from './CommonFilter';
|
|
12
13
|
export type { BaseFilterProps, FilterOption, FilterLabel, FilterLabelContext, FilterLoadDataContext, PersonOption, SelectedItem, } from './types';
|
|
13
14
|
export { resolveHidden, resolveFilterLabel, resolveFilterVisible, normalizeDependsOn, buildDepsKey, } from './types';
|
|
@@ -30,5 +31,7 @@ export type { FilterNumberRangeProps } from './FilterNumberRange';
|
|
|
30
31
|
export { FilterNumberRange };
|
|
31
32
|
export type { FilterTreeSelectProps, TreeFilterNode } from './FilterTreeSelect';
|
|
32
33
|
export { FilterTreeSelect };
|
|
34
|
+
export type { FilterCascaderProps, CascaderPath } from './FilterCascader';
|
|
35
|
+
export { FilterCascader, treeToCascaderOptions };
|
|
33
36
|
export { useFilterState, useFilterRegister, useFilterDeps, useFilterFieldBridge, FilterProvider, } from './useFilterState';
|
|
34
37
|
export type { FilterContextValue } from './useFilterState';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
import { ColumnConfigPanelItem, TableColumnConfigItem } from './columnConfigTypes';
|
|
3
|
+
type ColumnConfigPanelProps = {
|
|
4
|
+
open: boolean;
|
|
5
|
+
onOpenChange: (open: boolean) => void;
|
|
6
|
+
defaultItems: ColumnConfigPanelItem[];
|
|
7
|
+
savedConfig: TableColumnConfigItem[] | null;
|
|
8
|
+
onConfirm: (items: TableColumnConfigItem[]) => void | Promise<void>;
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
};
|
|
11
|
+
export declare const ColumnConfigPopover: FC<ColumnConfigPanelProps>;
|
|
12
|
+
export declare function ColumnConfigTrigger({ open, onOpenChange, defaultItems, savedConfig, onConfirm, }: Omit<ColumnConfigPanelProps, 'children'>): import("react").JSX.Element;
|
|
13
|
+
export {};
|