@creekjs/web-components 1.0.13 → 1.0.15
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/.turbo/turbo-father$colon$build.log +34 -34
- package/dist/creek-config-provider/index.js +13 -13
- package/dist/creek-config-provider/index.js.map +3 -3
- package/dist/creek-keep-alive/index.d.ts +0 -4
- package/dist/creek-keep-alive/index.js +13 -8
- package/dist/creek-keep-alive/index.js.map +2 -2
- package/dist/creek-layout/ActionRender/LayoutSettings.d.ts +2 -1
- package/dist/creek-layout/ActionRender/LayoutSettings.js +7 -6
- package/dist/creek-layout/ActionRender/LayoutSettings.js.map +2 -2
- package/dist/creek-layout/index.d.ts +1 -0
- package/dist/creek-layout/index.js +5 -4
- package/dist/creek-layout/index.js.map +2 -2
- package/dist/creek-layout/useLayoutSettingsStore.d.ts +2 -2
- package/dist/creek-layout/useLayoutSettingsStore.js +11 -4
- package/dist/creek-layout/useLayoutSettingsStore.js.map +2 -2
- package/dist/creek-table/SearchTable.js +18 -0
- package/dist/creek-table/SearchTable.js.map +2 -2
- package/dist/creek-table/components/EllipsisTooltip.js +6 -2
- package/dist/creek-table/components/EllipsisTooltip.js.map +2 -2
- package/dist/creek-table/hooks/useEllipsisColumns.js +3 -0
- package/dist/creek-table/hooks/useEllipsisColumns.js.map +2 -2
- package/dist/creek-table/hooks/useIndexColumn.js +1 -1
- package/dist/creek-table/hooks/useIndexColumn.js.map +1 -1
- package/package.json +1 -1
- package/src/creek-config-provider/index.tsx +16 -15
- package/src/creek-keep-alive/index.tsx +15 -12
- package/src/creek-layout/ActionRender/LayoutSettings.tsx +30 -20
- package/src/creek-layout/index.tsx +6 -4
- package/src/creek-layout/useLayoutSettingsStore.ts +12 -3
- package/src/creek-table/SearchTable.tsx +22 -1
- package/src/creek-table/components/EllipsisTooltip.tsx +6 -2
- package/src/creek-table/hooks/useEllipsisColumns.tsx +5 -0
- package/src/creek-table/hooks/useIndexColumn.tsx +1 -1
- package/dist/creek-config-provider/CreekConfigContext.d.ts.map +0 -1
- package/dist/creek-config-provider/CreekI18nProvider.d.ts.map +0 -1
- package/dist/creek-config-provider/index.d.ts.map +0 -1
- package/dist/creek-hooks/index.d.ts.map +0 -1
- package/dist/creek-hooks/useApp/DrawerHelper.d.ts.map +0 -1
- package/dist/creek-hooks/useApp/ModalHelper.d.ts.map +0 -1
- package/dist/creek-hooks/useApp/index.d.ts.map +0 -1
- package/dist/creek-hooks/useApp/types.d.ts.map +0 -1
- package/dist/creek-hooks/useViewportHeight.d.ts.map +0 -1
- package/dist/creek-icon/index.d.ts.map +0 -1
- package/dist/creek-keep-alive/index.d.ts.map +0 -1
- package/dist/creek-layout/ActionRender/FullScreen.d.ts.map +0 -1
- package/dist/creek-layout/ActionRender/LayoutSettings.d.ts.map +0 -1
- package/dist/creek-layout/ActionRender/UserInfo.d.ts.map +0 -1
- package/dist/creek-layout/ActionRender/index.d.ts.map +0 -1
- package/dist/creek-layout/CollapseButton.d.ts.map +0 -1
- package/dist/creek-layout/Exception/NotFound.d.ts.map +0 -1
- package/dist/creek-layout/Exception/NotFoundPage.d.ts.map +0 -1
- package/dist/creek-layout/Exception/index.d.ts.map +0 -1
- package/dist/creek-layout/index.d.ts.map +0 -1
- package/dist/creek-layout/useLayoutSettingsStore.d.ts.map +0 -1
- package/dist/creek-loading/index.d.ts.map +0 -1
- package/dist/creek-locale-button/index.d.ts.map +0 -1
- package/dist/creek-page-container/index.d.ts.map +0 -1
- package/dist/creek-style/index.d.ts.map +0 -1
- package/dist/creek-style/scrollbar.d.ts.map +0 -1
- package/dist/creek-table/SearchTable.d.ts.map +0 -1
- package/dist/creek-table/components/DensityIcon.d.ts.map +0 -1
- package/dist/creek-table/components/EllipsisTooltip.d.ts.map +0 -1
- package/dist/creek-table/components/index.d.ts.map +0 -1
- package/dist/creek-table/hooks/index.d.ts.map +0 -1
- package/dist/creek-table/hooks/useAdaptiveToolBar.d.ts.map +0 -1
- package/dist/creek-table/hooks/useAutoWidthColumns.d.ts.map +0 -1
- package/dist/creek-table/hooks/useElementDistance.d.ts.map +0 -1
- package/dist/creek-table/hooks/useEllipsisColumns.d.ts.map +0 -1
- package/dist/creek-table/hooks/useIndexColumn.d.ts.map +0 -1
- package/dist/creek-table/hooks/useResizableColumns.d.ts.map +0 -1
- package/dist/creek-table/hooks/useStatusColumns.d.ts.map +0 -1
- package/dist/creek-table/hooks/useTableOptions.d.ts.map +0 -1
- package/dist/creek-table/hooks/useTableScrollHeight.d.ts.map +0 -1
- package/dist/creek-table/index.d.ts.map +0 -1
- package/dist/creek-table/type.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/locales/en_US.d.ts.map +0 -1
- package/dist/locales/zh_CN.d.ts.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/creek-table/SearchTable.tsx"],
|
|
4
|
-
"sourcesContent": ["import { ParamsType, ProTable } from '@ant-design/pro-components';\nimport { useSafeState } from 'ahooks';\nimport { createStyles } from 'antd-style';\nimport classnames from 'classnames';\nimport { useRef } from 'react';\n\nimport { GlobalScrollbarStyle } from '../creek-style';\nimport { useAutoWidthColumns, useEllipsisColumns, useIndexColumn, useResizableColumns, useTableOptions, useTableScrollHeight } from './hooks';\n\nimport { CreekTableProps } from './type';\n\nexport type SearchTableStyleOptions = {\n prefixCls?: string;\n scrollY?: number;\n tableContainerHeight?: number;\n tableHeight?: number;\n bordered?: boolean;\n hasHeaderTitle?: boolean;\n hasScroll?: boolean;\n};\n\nconst useStyles = createStyles(({ token }, options: SearchTableStyleOptions) => {\n const { prefixCls = 'ant', scrollY, tableHeight, bordered, hasHeaderTitle, tableContainerHeight, hasScroll } = options;\n return {\n 'creek-table-container': {\n overflow: 'hidden',\n position: 'relative',\n height: tableHeight ? `${tableHeight}px` : 'auto',\n backgroundColor: token.colorBgContainer,\n [`.${prefixCls}-table`]: {\n minHeight: `${tableContainerHeight}px`,\n },\n [`.${prefixCls}-table-container`]: {\n borderBottom: 'none',\n overflow: 'hidden'\n },\n \n [`.${prefixCls}-table-header`]: {\n borderRight: (bordered && hasScroll) ? `1px solid ${token.colorBorderSecondary}` : 'none',\n },\n [`.${prefixCls}-table-body`]: {\n overflowY: 'auto',\n maxHeight: `${scrollY}px`,\n borderRight: (bordered && hasScroll) ? `1px solid ${token.colorBorderSecondary}` : 'none',\n },\n // 兼容非 scroll.y 模式下的 table 容器\n [`.${prefixCls}-table-content`]: {\n overflowY: 'hidden',\n maxHeight: scrollY ? `${scrollY}px` : undefined,\n },\n\n [`.${prefixCls}-table-cell-scrollbar`]: {\n boxShadow: bordered ? 'none!important' : 'inherit',\n borderInlineEnd: bordered ? `none!important` : 'none',\n display: hasScroll ? 'table-cell' : 'none',\n width: hasScroll ? 'initial' : '0px!important',\n minWidth: hasScroll ? 'initial' : '0px!important',\n maxWidth: hasScroll ? 'initial' : '0px!important',\n padding: hasScroll ? 'initial' : '0px!important',\n margin: hasScroll ? 'initial' : '0px!important',\n },\n\n [`.${prefixCls}-pagination`]: {\n [`.${prefixCls}-pagination-total-text`]: {\n flex: 1,\n },\n },\n [`.${prefixCls}-pro-table-search`]: {\n marginBlockEnd: 0,\n borderBottom: `1px solid ${token.colorBorderSecondary}`,\n },\n\n [`.${prefixCls}-pro-query-filter-container`]: {\n [`.${prefixCls}-pro-query-filter`]: {\n padding: token.paddingXS,\n },\n },\n\n // 如果没有 headerTitle,toolbar 展示在 headerTitle 的区域\n [`.${prefixCls}-pro-table-list-toolbar-right`]: !hasHeaderTitle\n ? {\n flex: 1,\n }\n : {},\n [`.${prefixCls}-pro-table-list-toolbar-setting-items`]: !hasHeaderTitle\n ? {\n marginLeft: 'auto',\n }\n : {},\n },\n };\n});\n\n// 独立的 ProTable 组件\nexport const SearchProTable = <T extends ParamsType, U extends ParamsType, ValueType = 'text'>(props: CreekTableProps<T, U, ValueType>) => {\n const {\n columns,\n prefixCls = 'ant',\n className,\n optionsRender,\n tableViewRender,\n pagination,\n pageFixedBottom = true,\n pageFixedBottomConfig,\n resizable = true,\n bordered = true,\n options,\n size,\n headerTitle,\n showIndex = true,\n ...restProps\n } = props;\n\n const proTableRef = useRef<HTMLDivElement>(null);\n\n // 状态提升:管理列宽调整状态,以便 useAutoWidthColumns 能感知到\n const [resizedWidths, setResizedWidths] = useSafeState<Record<string, number>>({});\n\n // 使用自定义 Hook 管理 options 和 size\n const { finalOptions, tableSize, finalOptionsRender } = useTableOptions<T, U, ValueType>(options, size, optionsRender);\n\n const columnsWithIndex = useIndexColumn<T, ValueType>(columns, showIndex);\n\n // 处理 columns,默认开启 ellipsis\n const processedColumns = useEllipsisColumns(columnsWithIndex);\n\n const { columns: adaptiveColumns, totalWidth } = useAutoWidthColumns<T, ValueType>(processedColumns, proTableRef, resizedWidths, bordered, tableSize);\n\n const { columns: resizableColumns, components } = useResizableColumns<T, ValueType>(adaptiveColumns, resizable, resizedWidths, setResizedWidths, proTableRef);\n\n const { scrollY, tableHeight, tableContainerHeight, hasScroll } = useTableScrollHeight(prefixCls, proTableRef, pageFixedBottom, pageFixedBottomConfig?.bottomFix);\n\n const { styles } = useStyles({ scrollY, tableHeight, prefixCls, bordered, hasHeaderTitle: !!headerTitle, tableContainerHeight, hasScroll });\n\n\n return (\n <div ref={proTableRef}>\n <GlobalScrollbarStyle />\n {/* 自定义滚动条 */}\n <ProTable<T, U, ValueType>\n components={components}\n headerTitle={headerTitle}\n options={finalOptions}\n optionsRender={finalOptionsRender}\n size={tableSize}\n {...restProps}\n className={classnames(styles['creek-table-container'], className)}\n columns={resizableColumns}\n bordered={bordered}\n scroll={{\n y: hasScroll ? scrollY || restProps.scroll?.y : undefined,\n x: totalWidth ?? restProps.scroll?.x,\n }}\n toolbar={{\n ...restProps.toolbar,\n }}\n />\n </div>\n );\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAAqC;AACrC,oBAA6B;AAC7B,wBAA6B;AAC7B,wBAAuB;AACvB,
|
|
4
|
+
"sourcesContent": ["import { ParamsType, ProTable } from '@ant-design/pro-components';\nimport { useSafeState } from 'ahooks';\nimport { createStyles } from 'antd-style';\nimport classnames from 'classnames';\nimport { useMemo, useRef } from 'react';\n\nimport { GlobalScrollbarStyle } from '../creek-style';\nimport { useAutoWidthColumns, useEllipsisColumns, useIndexColumn, useResizableColumns, useTableOptions, useTableScrollHeight } from './hooks';\n\nimport { CreekTableProps } from './type';\n\nexport type SearchTableStyleOptions = {\n prefixCls?: string;\n scrollY?: number;\n tableContainerHeight?: number;\n tableHeight?: number;\n bordered?: boolean;\n hasHeaderTitle?: boolean;\n hasScroll?: boolean;\n};\n\nconst useStyles = createStyles(({ token }, options: SearchTableStyleOptions) => {\n const { prefixCls = 'ant', scrollY, tableHeight, bordered, hasHeaderTitle, tableContainerHeight, hasScroll } = options;\n return {\n 'creek-table-container': {\n overflow: 'hidden',\n position: 'relative',\n height: tableHeight ? `${tableHeight}px` : 'auto',\n backgroundColor: token.colorBgContainer,\n [`.${prefixCls}-table`]: {\n minHeight: `${tableContainerHeight}px`,\n },\n [`.${prefixCls}-table-container`]: {\n borderBottom: 'none',\n overflow: 'hidden'\n },\n \n [`.${prefixCls}-table-header`]: {\n borderRight: (bordered && hasScroll) ? `1px solid ${token.colorBorderSecondary}` : 'none',\n },\n [`.${prefixCls}-table-body`]: {\n overflowY: 'auto',\n maxHeight: `${scrollY}px`,\n borderRight: (bordered && hasScroll) ? `1px solid ${token.colorBorderSecondary}` : 'none',\n },\n // 兼容非 scroll.y 模式下的 table 容器\n [`.${prefixCls}-table-content`]: {\n overflowY: 'hidden',\n maxHeight: scrollY ? `${scrollY}px` : undefined,\n },\n\n [`.${prefixCls}-table-cell-scrollbar`]: {\n boxShadow: bordered ? 'none!important' : 'inherit',\n borderInlineEnd: bordered ? `none!important` : 'none',\n display: hasScroll ? 'table-cell' : 'none',\n width: hasScroll ? 'initial' : '0px!important',\n minWidth: hasScroll ? 'initial' : '0px!important',\n maxWidth: hasScroll ? 'initial' : '0px!important',\n padding: hasScroll ? 'initial' : '0px!important',\n margin: hasScroll ? 'initial' : '0px!important',\n },\n\n [`.${prefixCls}-pagination`]: {\n [`.${prefixCls}-pagination-total-text`]: {\n flex: 1,\n },\n },\n [`.${prefixCls}-pro-table-search`]: {\n marginBlockEnd: 0,\n borderBottom: `1px solid ${token.colorBorderSecondary}`,\n },\n\n [`.${prefixCls}-pro-query-filter-container`]: {\n [`.${prefixCls}-pro-query-filter`]: {\n padding: token.paddingXS,\n },\n },\n\n // 树形数据展开图标样式\n [`.${prefixCls}-table-row-expand-icon`]: {\n marginInlineEnd: 4,\n flexShrink: 0,\n },\n\n // 如果没有 headerTitle,toolbar 展示在 headerTitle 的区域\n [`.${prefixCls}-pro-table-list-toolbar-right`]: !hasHeaderTitle\n ? {\n flex: 1,\n }\n : {},\n [`.${prefixCls}-pro-table-list-toolbar-setting-items`]: !hasHeaderTitle\n ? {\n marginLeft: 'auto',\n }\n : {},\n },\n };\n});\n\n// 独立的 ProTable 组件\nexport const SearchProTable = <T extends ParamsType, U extends ParamsType, ValueType = 'text'>(props: CreekTableProps<T, U, ValueType>) => {\n const {\n columns,\n prefixCls = 'ant',\n className,\n optionsRender,\n tableViewRender,\n pagination,\n pageFixedBottom = true,\n pageFixedBottomConfig,\n resizable = true,\n bordered = true,\n options,\n size,\n headerTitle,\n showIndex = true,\n expandable,\n ...restProps\n } = props;\n\n // 当序号列存在时,将树形展开控件从序号列(第一列 pos=0)移到第一个数据列(pos=1),\n // 避免序号列宽度不足以容纳树形缩进和展开图标导致显示异常\n // 即使 expandable 未提供,也预设 columnPos,因为 Ant Design Table 会自动检测 children 字段开启树形模式\n const finalExpandable = useMemo(() => {\n if (!showIndex) return expandable;\n if (!expandable) return { columnPos: 1 };\n if ((expandable as any).columnPos === undefined) {\n return { ...expandable, columnPos: 1 };\n }\n return expandable;\n }, [expandable, showIndex]);\n\n const proTableRef = useRef<HTMLDivElement>(null);\n\n // 状态提升:管理列宽调整状态,以便 useAutoWidthColumns 能感知到\n const [resizedWidths, setResizedWidths] = useSafeState<Record<string, number>>({});\n\n // 使用自定义 Hook 管理 options 和 size\n const { finalOptions, tableSize, finalOptionsRender } = useTableOptions<T, U, ValueType>(options, size, optionsRender);\n\n const columnsWithIndex = useIndexColumn<T, ValueType>(columns, showIndex);\n\n // 处理 columns,默认开启 ellipsis\n const processedColumns = useEllipsisColumns(columnsWithIndex);\n\n const { columns: adaptiveColumns, totalWidth } = useAutoWidthColumns<T, ValueType>(processedColumns, proTableRef, resizedWidths, bordered, tableSize);\n\n const { columns: resizableColumns, components } = useResizableColumns<T, ValueType>(adaptiveColumns, resizable, resizedWidths, setResizedWidths, proTableRef);\n\n const { scrollY, tableHeight, tableContainerHeight, hasScroll } = useTableScrollHeight(prefixCls, proTableRef, pageFixedBottom, pageFixedBottomConfig?.bottomFix);\n\n const { styles } = useStyles({ scrollY, tableHeight, prefixCls, bordered, hasHeaderTitle: !!headerTitle, tableContainerHeight, hasScroll });\n\n\n return (\n <div ref={proTableRef}>\n <GlobalScrollbarStyle />\n {/* 自定义滚动条 */}\n <ProTable<T, U, ValueType>\n components={components}\n headerTitle={headerTitle}\n options={finalOptions}\n optionsRender={finalOptionsRender}\n size={tableSize}\n {...restProps}\n pagination={pagination}\n expandable={finalExpandable}\n className={classnames(styles['creek-table-container'], className)}\n columns={resizableColumns}\n bordered={bordered}\n scroll={{\n y: hasScroll ? scrollY || restProps.scroll?.y : undefined,\n x: totalWidth ?? restProps.scroll?.x,\n }}\n toolbar={{\n ...restProps.toolbar,\n }}\n />\n </div>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["classnames"]
|
|
7
7
|
}
|
|
@@ -41,12 +41,15 @@ var import_jsx_runtime = require("react/jsx-runtime");
|
|
|
41
41
|
var useStyles = (0, import_antd_style.createStyles)(({ css, token }) => {
|
|
42
42
|
return {
|
|
43
43
|
text: css`
|
|
44
|
-
width: 100%;
|
|
44
|
+
max-width: 100%;
|
|
45
45
|
margin: 0;
|
|
46
46
|
padding: 0;
|
|
47
|
-
// Ensure the wrapper behaves like a block/inline-block that can have width
|
|
48
47
|
display: block;
|
|
49
48
|
overflow: hidden;
|
|
49
|
+
// flex: 1 确保在树形表格的 flex 单元格中填充剩余空间(展开图标/层级缩进之后)
|
|
50
|
+
// min-width: 0 允许收缩以配合 Typography.Text 的 ellipsis 截断
|
|
51
|
+
flex: 1;
|
|
52
|
+
min-width: 0;
|
|
50
53
|
`,
|
|
51
54
|
tooltipContent: css`
|
|
52
55
|
max-width: 500px;
|
|
@@ -56,6 +59,7 @@ var useStyles = (0, import_antd_style.createStyles)(({ css, token }) => {
|
|
|
56
59
|
tooltipText: css`
|
|
57
60
|
word-break: break-all;
|
|
58
61
|
white-space: pre-wrap;
|
|
62
|
+
color: #fff;
|
|
59
63
|
`,
|
|
60
64
|
copyIcon: css`
|
|
61
65
|
cursor: pointer;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/creek-table/components/EllipsisTooltip.tsx"],
|
|
4
|
-
"sourcesContent": ["import { CopyOutlined } from '@ant-design/icons';\nimport { ConfigProvider, Flex, Tooltip, Typography, message } from 'antd';\nimport { createStyles } from 'antd-style';\nimport React, { useContext, useEffect, useRef, useState } from 'react';\n\nimport { useT } from '@creekjs/i18n/react';\n\nconst useStyles = createStyles(({ css, token }) => {\n return {\n text: css`\n width: 100%;\n margin: 0;\n padding: 0;\n //
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6B;AAC7B,kBAAmE;AACnE,wBAA6B;AAC7B,mBAA+D;AAE/D,IAAAA,gBAAqB;
|
|
4
|
+
"sourcesContent": ["import { CopyOutlined } from '@ant-design/icons';\nimport { ConfigProvider, Flex, Tooltip, Typography, message } from 'antd';\nimport { createStyles } from 'antd-style';\nimport React, { useContext, useEffect, useRef, useState } from 'react';\n\nimport { useT } from '@creekjs/i18n/react';\n\nconst useStyles = createStyles(({ css, token }) => {\n return {\n text: css`\n max-width: 100%;\n margin: 0;\n padding: 0;\n display: block;\n overflow: hidden;\n // flex: 1 确保在树形表格的 flex 单元格中填充剩余空间(展开图标/层级缩进之后)\n // min-width: 0 允许收缩以配合 Typography.Text 的 ellipsis 截断\n flex: 1;\n min-width: 0;\n `,\n tooltipContent: css`\n max-width: 500px;\n max-height: 300px;\n overflow-y: auto;\n `,\n tooltipText: css`\n word-break: break-all;\n white-space: pre-wrap;\n color: #fff;\n `,\n copyIcon: css`\n cursor: pointer;\n color: inherit;\n transition: color 0.2s;\n\n &:hover {\n color: ${token.colorPrimary};\n }\n `,\n };\n});\n\n/**\n * 使用 Antd Typography 组件实现省略提示\n * 修复了 findDOMNode 警告问题:通过显式使用 Tooltip 包裹 div 容器\n * 实现了智能提示:只有内容实际溢出时才显示 Tooltip\n */\nexport const EllipsisTooltip = ({ children }: { children: React.ReactNode }) => {\n const t = useT();\n\n const { styles } = useStyles();\n const { getPrefixCls } = useContext(ConfigProvider.ConfigContext);\n const textRef = useRef<HTMLDivElement>(null);\n const [isEllipsis, setIsEllipsis] = useState(false);\n const isSimpleContent = typeof children === 'string' || typeof children === 'number';\n\n useEffect(() => {\n const checkEllipsis = () => {\n if (textRef.current) {\n const prefixCls = getPrefixCls('typography');\n // Typography.Text renders a span or div with .ant-typography\n const typographyEl = textRef.current.querySelector(`.${prefixCls}`);\n if (typographyEl) {\n // For simple ellipsis={true}, Antd uses CSS ellipsis.\n // We can detect if it's truncated by comparing scrollWidth and clientWidth\n // We add a small buffer (1px) for browser sub-pixel rendering differences\n setIsEllipsis(typographyEl.scrollWidth > typographyEl.clientWidth + 1);\n }\n }\n };\n\n // Initial check\n checkEllipsis();\n // Use ResizeObserver for more robust size change detection\n const observer = new ResizeObserver(checkEllipsis);\n if (textRef.current) {\n observer.observe(textRef.current);\n }\n\n return () => {\n observer.disconnect();\n };\n }, [children]);\n\n const text = String(children);\n\n const handleCopy = (e: React.MouseEvent) => {\n e.stopPropagation();\n e.preventDefault();\n navigator.clipboard\n .writeText(text)\n .then(() => {\n message.success(t('creek-table.components.EllipsisTooltip.fuZhiChengGong', '复制成功'));\n })\n .catch(() => {\n message.error(t('creek-table.components.EllipsisTooltip.fuZhiShiBai', '复制失败'));\n });\n };\n\n // Memoize tooltip title content\n const tooltipTitle = React.useMemo(() => {\n if (!isSimpleContent) {\n return children;\n }\n return (\n <Flex align=\"center\" gap={8} className={styles.tooltipContent}>\n <span className={styles.tooltipText}>{children}</span>\n <CopyOutlined onClick={handleCopy} className={styles.copyIcon} title={t('creek-table.components.EllipsisTooltip.fuZhi', '复制')} />\n </Flex>\n );\n }, [children, isSimpleContent]);\n\n return (\n <Tooltip title={isEllipsis ? tooltipTitle : undefined} placement=\"topLeft\" mouseLeaveDelay={0.2} getPopupContainer={() => document.body}>\n <div ref={textRef} className={styles.text}>\n <Typography.Text ellipsis={true}>{children}</Typography.Text>\n </div>\n </Tooltip>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6B;AAC7B,kBAAmE;AACnE,wBAA6B;AAC7B,mBAA+D;AAE/D,IAAAA,gBAAqB;AAoGf;AAlGN,IAAM,gBAAY,gCAAa,CAAC,EAAE,KAAK,MAAM,MAAM;AACjD,SAAO;AAAA,IACL,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAWN,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKhB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,IAKb,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAMG,MAAM;AAAA;AAAA;AAAA,EAGrB;AACF,CAAC;AAOM,IAAM,kBAAkB,CAAC,EAAE,SAAS,MAAqC;AAC9E,QAAM,QAAI,oBAAK;AAEf,QAAM,EAAE,OAAO,IAAI,UAAU;AAC7B,QAAM,EAAE,aAAa,QAAI,yBAAW,2BAAe,aAAa;AAChE,QAAM,cAAU,qBAAuB,IAAI;AAC3C,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAClD,QAAM,kBAAkB,OAAO,aAAa,YAAY,OAAO,aAAa;AAE5E,8BAAU,MAAM;AACd,UAAM,gBAAgB,MAAM;AAC1B,UAAI,QAAQ,SAAS;AACnB,cAAM,YAAY,aAAa,YAAY;AAE3C,cAAM,eAAe,QAAQ,QAAQ,cAAc,IAAI,WAAW;AAClE,YAAI,cAAc;AAIhB,wBAAc,aAAa,cAAc,aAAa,cAAc,CAAC;AAAA,QACvE;AAAA,MACF;AAAA,IACF;AAGA,kBAAc;AAEd,UAAM,WAAW,IAAI,eAAe,aAAa;AACjD,QAAI,QAAQ,SAAS;AACnB,eAAS,QAAQ,QAAQ,OAAO;AAAA,IAClC;AAEA,WAAO,MAAM;AACX,eAAS,WAAW;AAAA,IACtB;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,QAAM,OAAO,OAAO,QAAQ;AAE5B,QAAM,aAAa,CAAC,MAAwB;AAC1C,MAAE,gBAAgB;AAClB,MAAE,eAAe;AACjB,cAAU,UACP,UAAU,IAAI,EACd,KAAK,MAAM;AACV,0BAAQ,QAAQ,EAAE,yDAAyD,MAAM,CAAC;AAAA,IACpF,CAAC,EACA,MAAM,MAAM;AACX,0BAAQ,MAAM,EAAE,sDAAsD,MAAM,CAAC;AAAA,IAC/E,CAAC;AAAA,EACL;AAGA,QAAM,eAAe,aAAAC,QAAM,QAAQ,MAAM;AACvC,QAAI,CAAC,iBAAiB;AACpB,aAAO;AAAA,IACT;AACA,WACE,6CAAC,oBAAK,OAAM,UAAS,KAAK,GAAG,WAAW,OAAO,gBAC7C;AAAA,kDAAC,UAAK,WAAW,OAAO,aAAc,UAAS;AAAA,MAC/C,4CAAC,6BAAa,SAAS,YAAY,WAAW,OAAO,UAAU,OAAO,EAAE,gDAAgD,IAAI,GAAG;AAAA,OACjI;AAAA,EAEJ,GAAG,CAAC,UAAU,eAAe,CAAC;AAE9B,SACE,4CAAC,uBAAQ,OAAO,aAAa,eAAe,QAAW,WAAU,WAAU,iBAAiB,KAAK,mBAAmB,MAAM,SAAS,MACjI,sDAAC,SAAI,KAAK,SAAS,WAAW,OAAO,MACnC,sDAAC,uBAAW,MAAX,EAAgB,UAAU,MAAO,UAAS,GAC7C,GACF;AAEJ;",
|
|
6
6
|
"names": ["import_react", "React"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/creek-table/hooks/useEllipsisColumns.tsx"],
|
|
4
|
-
"sourcesContent": ["import type { ParamsType, ProColumns } from '@ant-design/pro-components';\nimport React, { useMemo } from 'react';\nimport { EllipsisTooltip } from '../components';\n\n/**\n * 默认开启 ellipsis 的 Hook\n * 1. 如果用户未配置 ellipsis,默认开启,并使用 Tooltip 显示完整内容\n * 2. 如果是 option 列,默认不开启\n * 3. 尊重用户配置\n */\nexport const useEllipsisColumns = <T extends ParamsType, ValueType = 'text'>(\n columns: ProColumns<T, ValueType>[] | undefined,\n) => {\n const processedColumns = useMemo(() => {\n return columns?.map((col) => {\n // 对于操作列,默认不开启 ellipsis\n if (col.valueType === 'option') {\n return col;\n }\n // 其他列默认开启 ellipsis,并使用自定义渲染\n return {\n ...col,\n // 关闭 Table 自带的 ellipsis title,因为我们要用自己的 Tooltip\n // 但保留 ellipsis 属性以确保 Table 传递正确的样式给 cell(虽然我们的 EllipsisTooltip 也有样式)\n // 实际上,为了让 EllipsisTooltip 占据 100% 宽度并生效,最好让 Table cell 也保持一定的约束\n ellipsis: {\n showTitle: false,\n },\n render: (dom: React.ReactNode, entity: T, index: number, action: any, schema: any) => {\n const originalRenderResult = col.render ? (col.render(dom, entity, index, action, schema) as React.ReactNode) : dom;\n \n // 如果内容为空,直接返回\n if (originalRenderResult === null || originalRenderResult === undefined || originalRenderResult === '') {\n return originalRenderResult;\n }\n\n // 如果是简单的文本或数字,使用 EllipsisTooltip 包裹\n return (\n <EllipsisTooltip>{originalRenderResult}</EllipsisTooltip>\n );\n },\n } as ProColumns<T, ValueType>;\n });\n }, [columns]);\n\n return processedColumns;\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA+B;AAC/B,wBAAgC;
|
|
4
|
+
"sourcesContent": ["import type { ParamsType, ProColumns } from '@ant-design/pro-components';\nimport React, { useMemo } from 'react';\nimport { EllipsisTooltip } from '../components';\n\n/**\n * 默认开启 ellipsis 的 Hook\n * 1. 如果用户未配置 ellipsis,默认开启,并使用 Tooltip 显示完整内容\n * 2. 如果是 option 列,默认不开启\n * 3. 尊重用户配置\n */\nexport const useEllipsisColumns = <T extends ParamsType, ValueType = 'text'>(\n columns: ProColumns<T, ValueType>[] | undefined,\n) => {\n const processedColumns = useMemo(() => {\n return columns?.map((col) => {\n // 对于操作列,默认不开启 ellipsis\n if (col.valueType === 'option') {\n return col;\n }\n // 对于 disable 的列(如序号列),不包裹 EllipsisTooltip\n // 避免 EllipsisTooltip 的 width:100% div 与展开图标争抢空间导致重叠\n if (col.disable) {\n return col;\n }\n // 其他列默认开启 ellipsis,并使用自定义渲染\n return {\n ...col,\n // 关闭 Table 自带的 ellipsis title,因为我们要用自己的 Tooltip\n // 但保留 ellipsis 属性以确保 Table 传递正确的样式给 cell(虽然我们的 EllipsisTooltip 也有样式)\n // 实际上,为了让 EllipsisTooltip 占据 100% 宽度并生效,最好让 Table cell 也保持一定的约束\n ellipsis: {\n showTitle: false,\n },\n render: (dom: React.ReactNode, entity: T, index: number, action: any, schema: any) => {\n const originalRenderResult = col.render ? (col.render(dom, entity, index, action, schema) as React.ReactNode) : dom;\n \n // 如果内容为空,直接返回\n if (originalRenderResult === null || originalRenderResult === undefined || originalRenderResult === '') {\n return originalRenderResult;\n }\n\n // 如果是简单的文本或数字,使用 EllipsisTooltip 包裹\n return (\n <EllipsisTooltip>{originalRenderResult}</EllipsisTooltip>\n );\n },\n } as ProColumns<T, ValueType>;\n });\n }, [columns]);\n\n return processedColumns;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA+B;AAC/B,wBAAgC;AAyCpB;AAjCL,IAAM,qBAAqB,CAChC,YACG;AACH,QAAM,uBAAmB,sBAAQ,MAAM;AACrC,WAAO,mCAAS,IAAI,CAAC,QAAQ;AAE3B,UAAI,IAAI,cAAc,UAAU;AAC9B,eAAO;AAAA,MACT;AAGA,UAAI,IAAI,SAAS;AACf,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,QACL,GAAG;AAAA;AAAA;AAAA;AAAA,QAIH,UAAU;AAAA,UACR,WAAW;AAAA,QACb;AAAA,QACA,QAAQ,CAAC,KAAsB,QAAW,OAAe,QAAa,WAAgB;AACpF,gBAAM,uBAAuB,IAAI,SAAU,IAAI,OAAO,KAAK,QAAQ,OAAO,QAAQ,MAAM,IAAwB;AAGhH,cAAI,yBAAyB,QAAQ,yBAAyB,UAAa,yBAAyB,IAAI;AACtG,mBAAO;AAAA,UACT;AAGA,iBACE,4CAAC,qCAAiB,gCAAqB;AAAA,QAE3C;AAAA,MACF;AAAA,IACF;AAAA,EACF,GAAG,CAAC,OAAO,CAAC;AAEZ,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/creek-table/hooks/useIndexColumn.tsx"],
|
|
4
|
-
"sourcesContent": ["import { ProColumns } from '@ant-design/pro-components';\nimport { useMemo } from 'react';\n\nimport { useT } from '@creekjs/i18n/react';\n\nexport const useIndexColumn = <T = any, ValueType = 'text'>(columns: ProColumns<T, ValueType>[] = [], showIndex: boolean = true) => {\n const t = useT();\n\n return useMemo(() => {\n if (!showIndex) {\n return columns;\n }\n const indexColumn: ProColumns<T, ValueType> = {\n title: t('creek-table.hooks.useIndexColumn.xuHao', '序号'),\n dataIndex: 'index',\n width:
|
|
4
|
+
"sourcesContent": ["import { ProColumns } from '@ant-design/pro-components';\nimport { useMemo } from 'react';\n\nimport { useT } from '@creekjs/i18n/react';\n\nexport const useIndexColumn = <T = any, ValueType = 'text'>(columns: ProColumns<T, ValueType>[] = [], showIndex: boolean = true) => {\n const t = useT();\n\n return useMemo(() => {\n if (!showIndex) {\n return columns;\n }\n const indexColumn: ProColumns<T, ValueType> = {\n title: t('creek-table.hooks.useIndexColumn.xuHao', '序号'),\n dataIndex: 'index',\n width: 56,\n fixed: 'left',\n disable: true,\n hideInSearch: true,\n render: (dom, entity, index, action, schema) => {\n const { current = 1, pageSize = 20 } = action?.pageInfo || {};\n return (current - 1) * pageSize + index + 1;\n },\n };\n return [indexColumn, ...columns];\n }, [columns, showIndex, t]);\n};\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAwB;AAExB,IAAAA,gBAAqB;AAEd,IAAM,iBAAiB,CAA8B,UAAsC,CAAC,GAAG,YAAqB,SAAS;AAClI,QAAM,QAAI,oBAAK;AAEf,aAAO,sBAAQ,MAAM;AACnB,QAAI,CAAC,WAAW;AACd,aAAO;AAAA,IACT;AACA,UAAM,cAAwC;AAAA,MAC5C,OAAO,EAAE,0CAA0C,IAAI;AAAA,MACvD,WAAW;AAAA,MACX,OAAO;AAAA,MACP,OAAO;AAAA,MACP,SAAS;AAAA,MACT,cAAc;AAAA,MACd,QAAQ,CAAC,KAAK,QAAQ,OAAO,QAAQ,WAAW;AAC9C,cAAM,EAAE,UAAU,GAAG,WAAW,GAAG,KAAI,iCAAQ,aAAY,CAAC;AAC5D,gBAAQ,UAAU,KAAK,WAAW,QAAQ;AAAA,MAC5C;AAAA,IACF;AACA,WAAO,CAAC,aAAa,GAAG,OAAO;AAAA,EACjC,GAAG,CAAC,SAAS,WAAW,CAAC,CAAC;AAC5B;",
|
|
6
6
|
"names": ["import_react"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,6 @@ import type { ConfigProviderProps } from 'antd';
|
|
|
2
2
|
import { App, ConfigProvider } from 'antd';
|
|
3
3
|
import enUS_antd from 'antd/locale/en_US';
|
|
4
4
|
import zhCN_antd from 'antd/locale/zh_CN';
|
|
5
|
-
import merge from 'lodash/merge';
|
|
6
5
|
|
|
7
6
|
import { AppProvider } from '../creek-hooks';
|
|
8
7
|
import { useLayoutSettingsStore } from '../creek-layout/useLayoutSettingsStore';
|
|
@@ -26,20 +25,22 @@ const InnerConfigProvider = (props: Omit<CreekConfigProviderProps, 'locale' | 'm
|
|
|
26
25
|
|
|
27
26
|
const activeColorPrimary = settingsStore.colorPrimary || theme?.token?.colorPrimary;
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
{
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
28
|
+
const colorPrimaryToken = activeColorPrimary
|
|
29
|
+
? {
|
|
30
|
+
colorPrimary: activeColorPrimary,
|
|
31
|
+
colorLink: activeColorPrimary,
|
|
32
|
+
colorLinkHover: activeColorPrimary,
|
|
33
|
+
colorLinkActive: activeColorPrimary,
|
|
34
|
+
}
|
|
35
|
+
: {};
|
|
36
|
+
|
|
37
|
+
let finalTheme: ConfigProviderProps['theme'] = {
|
|
38
|
+
...theme,
|
|
39
|
+
token: {
|
|
40
|
+
...theme?.token,
|
|
41
|
+
...colorPrimaryToken,
|
|
42
|
+
},
|
|
43
|
+
};
|
|
43
44
|
|
|
44
45
|
return (
|
|
45
46
|
<ConfigProvider locale={ANTD_LOCALE_MAP[locale] || zhCN_antd} theme={finalTheme} {...more}>
|
|
@@ -15,10 +15,6 @@ export interface CreekKeepAliveProps {
|
|
|
15
15
|
* 自定义Tab标题获取方法
|
|
16
16
|
*/
|
|
17
17
|
getTabTitle?: (pathname: string) => React.ReactNode;
|
|
18
|
-
/**
|
|
19
|
-
* 默认首页路径
|
|
20
|
-
*/
|
|
21
|
-
homePath?: string;
|
|
22
18
|
/**
|
|
23
19
|
* Tabs的样式
|
|
24
20
|
*/
|
|
@@ -36,7 +32,7 @@ interface TabItem {
|
|
|
36
32
|
}
|
|
37
33
|
|
|
38
34
|
export const CreekKeepAlive: React.FC<CreekKeepAliveProps> = (props) => {
|
|
39
|
-
const { exclude = [], getTabTitle,
|
|
35
|
+
const { exclude = [], getTabTitle, tabBarStyle, maxTabCount = 20 } = props;
|
|
40
36
|
|
|
41
37
|
const t = useT();
|
|
42
38
|
const outlet = useOutlet();
|
|
@@ -79,10 +75,17 @@ export const CreekKeepAlive: React.FC<CreekKeepAliveProps> = (props) => {
|
|
|
79
75
|
// 更新 Tab 列表
|
|
80
76
|
setTabItems((prev) => {
|
|
81
77
|
if (prev.find((i) => i.key === currentPath)) {
|
|
82
|
-
|
|
78
|
+
// 更新现有 tab 的 closable 状态(只有最后一个 tab 时不可关闭)
|
|
79
|
+
const updated = prev.map((i) => ({ ...i, closable: prev.length > 1 }));
|
|
80
|
+
return updated;
|
|
83
81
|
}
|
|
84
82
|
const title = getTabTitle?.(currentPath) || currentPath;
|
|
85
|
-
const newItems = [...prev, { key: currentPath, label: title, closable:
|
|
83
|
+
const newItems = [...prev, { key: currentPath, label: title, closable: prev.length > 0 }];
|
|
84
|
+
|
|
85
|
+
// 更新所有 tab 的 closable 状态:只有1个 tab 时全部不可关闭
|
|
86
|
+
if (newItems.length === 1) {
|
|
87
|
+
newItems[0].closable = false;
|
|
88
|
+
}
|
|
86
89
|
|
|
87
90
|
// 超过最大数量限制
|
|
88
91
|
if (newItems.length > maxTabCount) {
|
|
@@ -100,7 +103,7 @@ export const CreekKeepAlive: React.FC<CreekKeepAliveProps> = (props) => {
|
|
|
100
103
|
}
|
|
101
104
|
return newItems;
|
|
102
105
|
});
|
|
103
|
-
}, [location.pathname, outlet, getTabTitle,
|
|
106
|
+
}, [location.pathname, outlet, getTabTitle, maxTabCount]);
|
|
104
107
|
|
|
105
108
|
// 清理不需要缓存的页面
|
|
106
109
|
useEffect(() => {
|
|
@@ -128,14 +131,14 @@ export const CreekKeepAlive: React.FC<CreekKeepAliveProps> = (props) => {
|
|
|
128
131
|
const nextIndex = targetIndex >= newTabItems.length ? newTabItems.length - 1 : targetIndex;
|
|
129
132
|
const nextKey = newTabItems[nextIndex].key;
|
|
130
133
|
navigate(nextKey);
|
|
131
|
-
} else {
|
|
132
|
-
navigate(homePath);
|
|
133
134
|
}
|
|
134
135
|
}
|
|
135
136
|
});
|
|
136
137
|
|
|
137
138
|
const closeOtherTabs = useMemoizedFn((currentKey: string) => {
|
|
138
|
-
const
|
|
139
|
+
const currentTab = tabItems.find((item) => item.key === currentKey);
|
|
140
|
+
if (!currentTab) return;
|
|
141
|
+
const newTabItems = [{ ...currentTab, closable: false }];
|
|
139
142
|
setTabItems(newTabItems);
|
|
140
143
|
|
|
141
144
|
const keepKeys = newTabItems.map((i) => i.key);
|
|
@@ -182,7 +185,7 @@ export const CreekKeepAlive: React.FC<CreekKeepAliveProps> = (props) => {
|
|
|
182
185
|
{
|
|
183
186
|
key: 'close',
|
|
184
187
|
label: t('creek-keep-alive.index.guanBiDangQian', '关闭当前'),
|
|
185
|
-
disabled:
|
|
188
|
+
disabled: tabItems.length <= 1,
|
|
186
189
|
onClick: () => closeTab(item.key),
|
|
187
190
|
},
|
|
188
191
|
{
|
|
@@ -6,7 +6,7 @@ import { useT } from '@creekjs/i18n/react';
|
|
|
6
6
|
import { useApp } from '../../creek-hooks';
|
|
7
7
|
import { useLayoutSettingsStore } from '../useLayoutSettingsStore';
|
|
8
8
|
|
|
9
|
-
const SettingsForm = ({ defaultShowFullScreen, defaultShowLocaleButton, defaultKeepAlive }: { defaultShowFullScreen?: boolean; defaultShowLocaleButton?: boolean; defaultKeepAlive?: boolean }) => {
|
|
9
|
+
const SettingsForm = ({ defaultShowFullScreen, defaultShowLocaleButton, defaultShowThemeColor, defaultKeepAlive }: { defaultShowFullScreen?: boolean; defaultShowLocaleButton?: boolean; defaultShowThemeColor?: boolean; defaultKeepAlive?: boolean }) => {
|
|
10
10
|
const t = useT();
|
|
11
11
|
const { colorPrimary, showFullScreen, showLocaleButton, keepAlive, setSettings } = useLayoutSettingsStore();
|
|
12
12
|
|
|
@@ -16,24 +16,32 @@ const SettingsForm = ({ defaultShowFullScreen, defaultShowLocaleButton, defaultK
|
|
|
16
16
|
|
|
17
17
|
return (
|
|
18
18
|
<Form layout="vertical">
|
|
19
|
-
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
19
|
+
{defaultShowThemeColor && (
|
|
20
|
+
<Form.Item label={t('creek-layout.ActionRender.LayoutSettings.themeColor', '主题色')}>
|
|
21
|
+
<ColorPicker
|
|
22
|
+
value={colorPrimary}
|
|
23
|
+
onChange={(color, hex) => {
|
|
24
|
+
setSettings({ colorPrimary: hex || undefined });
|
|
25
|
+
}}
|
|
26
|
+
allowClear
|
|
27
|
+
/>
|
|
28
|
+
</Form.Item>
|
|
29
|
+
)}
|
|
30
|
+
{defaultShowFullScreen && (
|
|
31
|
+
<Form.Item label={t('creek-layout.ActionRender.LayoutSettings.showFullScreen', '展示全屏按钮')}>
|
|
32
|
+
<Switch checked={currentShowFullScreen} onChange={(checked) => setSettings({ showFullScreen: checked })} />
|
|
33
|
+
</Form.Item>
|
|
34
|
+
)}
|
|
35
|
+
{defaultShowLocaleButton && (
|
|
36
|
+
<Form.Item label={t('creek-layout.ActionRender.LayoutSettings.showLocaleButton', '展示国际化按钮')}>
|
|
37
|
+
<Switch checked={currentShowLocaleButton} onChange={(checked) => setSettings({ showLocaleButton: checked })} />
|
|
38
|
+
</Form.Item>
|
|
39
|
+
)}
|
|
40
|
+
{defaultKeepAlive && (
|
|
41
|
+
<Form.Item label={t('creek-layout.ActionRender.LayoutSettings.keepAlive', '开启页面缓存 (Keep Alive)')}>
|
|
42
|
+
<Switch checked={currentKeepAlive} onChange={(checked) => setSettings({ keepAlive: checked })} />
|
|
43
|
+
</Form.Item>
|
|
44
|
+
)}
|
|
37
45
|
</Form>
|
|
38
46
|
);
|
|
39
47
|
};
|
|
@@ -41,10 +49,12 @@ const SettingsForm = ({ defaultShowFullScreen, defaultShowLocaleButton, defaultK
|
|
|
41
49
|
export const LayoutSettings = ({
|
|
42
50
|
defaultShowFullScreen,
|
|
43
51
|
defaultShowLocaleButton,
|
|
52
|
+
defaultShowThemeColor,
|
|
44
53
|
defaultKeepAlive,
|
|
45
54
|
}: {
|
|
46
55
|
defaultShowFullScreen?: boolean;
|
|
47
56
|
defaultShowLocaleButton?: boolean;
|
|
57
|
+
defaultShowThemeColor?: boolean;
|
|
48
58
|
defaultKeepAlive?: boolean;
|
|
49
59
|
}) => {
|
|
50
60
|
const t = useT();
|
|
@@ -55,7 +65,7 @@ export const LayoutSettings = ({
|
|
|
55
65
|
title: t('creek-layout.ActionRender.LayoutSettings.title', '系统设置'),
|
|
56
66
|
placement: 'right',
|
|
57
67
|
|
|
58
|
-
content: <SettingsForm defaultShowFullScreen={defaultShowFullScreen} defaultShowLocaleButton={defaultShowLocaleButton} defaultKeepAlive={defaultKeepAlive} />,
|
|
68
|
+
content: <SettingsForm defaultShowFullScreen={defaultShowFullScreen} defaultShowLocaleButton={defaultShowLocaleButton} defaultShowThemeColor={defaultShowThemeColor} defaultKeepAlive={defaultKeepAlive} />,
|
|
59
69
|
});
|
|
60
70
|
};
|
|
61
71
|
|
|
@@ -23,6 +23,7 @@ export type LayoutProps = ProLayoutProps & {
|
|
|
23
23
|
showFullScreen?: boolean;
|
|
24
24
|
showLocaleButton?: boolean;
|
|
25
25
|
showSettingsButton?: boolean;
|
|
26
|
+
showThemeColor?: boolean;
|
|
26
27
|
initialInfo?: {
|
|
27
28
|
initialState: any;
|
|
28
29
|
loading: boolean;
|
|
@@ -49,6 +50,7 @@ export const CreekLayout = (props: LayoutProps) => {
|
|
|
49
50
|
showFullScreen = false,
|
|
50
51
|
showLocaleButton = false,
|
|
51
52
|
showSettingsButton = false,
|
|
53
|
+
showThemeColor = true,
|
|
52
54
|
keepAlive = false,
|
|
53
55
|
extraActions = [],
|
|
54
56
|
...more
|
|
@@ -60,10 +62,10 @@ export const CreekLayout = (props: LayoutProps) => {
|
|
|
60
62
|
const { collapsed } = useCollapsedStore();
|
|
61
63
|
const settingsStore = useLayoutSettingsStore();
|
|
62
64
|
|
|
63
|
-
const actualShowFullScreen = settingsStore.showFullScreen ??
|
|
64
|
-
const actualShowLocaleButton = settingsStore.showLocaleButton ??
|
|
65
|
+
const actualShowFullScreen = showFullScreen && (settingsStore.showFullScreen ?? true);
|
|
66
|
+
const actualShowLocaleButton = showLocaleButton && (settingsStore.showLocaleButton ?? true);
|
|
65
67
|
const colorPrimary = settingsStore.colorPrimary || token.colorPrimary;
|
|
66
|
-
const actualKeepAlive = settingsStore.keepAlive ??
|
|
68
|
+
const actualKeepAlive = keepAlive && (settingsStore.keepAlive ?? true);
|
|
67
69
|
|
|
68
70
|
const _userConfig = { ...userConfig, ...runtimeConfig };
|
|
69
71
|
|
|
@@ -129,7 +131,7 @@ export const CreekLayout = (props: LayoutProps) => {
|
|
|
129
131
|
}
|
|
130
132
|
|
|
131
133
|
if (showSettingsButton) {
|
|
132
|
-
actions.push(<LayoutSettings key="settings" defaultShowFullScreen={showFullScreen} defaultShowLocaleButton={showLocaleButton} defaultKeepAlive={_.isBoolean(keepAlive) ? keepAlive : true} />);
|
|
134
|
+
actions.push(<LayoutSettings key="settings" defaultShowFullScreen={showFullScreen} defaultShowLocaleButton={showLocaleButton} defaultShowThemeColor={showThemeColor} defaultKeepAlive={_.isBoolean(keepAlive) ? keepAlive : true} />);
|
|
133
135
|
}
|
|
134
136
|
|
|
135
137
|
const keepAliveProps = _.isBoolean(keepAlive) ? {} : keepAlive;
|
|
@@ -13,13 +13,22 @@ export const useLayoutSettingsStore = create<LayoutSettingsStore>()(
|
|
|
13
13
|
persist(
|
|
14
14
|
(set) => ({
|
|
15
15
|
colorPrimary: undefined,
|
|
16
|
-
showFullScreen:
|
|
17
|
-
showLocaleButton:
|
|
18
|
-
keepAlive:
|
|
16
|
+
showFullScreen: undefined,
|
|
17
|
+
showLocaleButton: undefined,
|
|
18
|
+
keepAlive: undefined,
|
|
19
19
|
setSettings: (settings) => set((state) => ({ ...state, ...settings })),
|
|
20
20
|
}),
|
|
21
21
|
{
|
|
22
22
|
name: 'creek-layout-settings',
|
|
23
|
+
version: 2,
|
|
24
|
+
migrate: (persistedState: any, version: number) => {
|
|
25
|
+
if (version < 2) {
|
|
26
|
+
// 旧版本布尔默认值为 false,新版本改为 undefined
|
|
27
|
+
// 清除旧版本的布尔类型字段,让外层配置优先生效
|
|
28
|
+
return { ...persistedState, showFullScreen: undefined, showLocaleButton: undefined, keepAlive: undefined };
|
|
29
|
+
}
|
|
30
|
+
return persistedState;
|
|
31
|
+
},
|
|
23
32
|
}
|
|
24
33
|
)
|
|
25
34
|
);
|
|
@@ -2,7 +2,7 @@ import { ParamsType, ProTable } from '@ant-design/pro-components';
|
|
|
2
2
|
import { useSafeState } from 'ahooks';
|
|
3
3
|
import { createStyles } from 'antd-style';
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
-
import { useRef } from 'react';
|
|
5
|
+
import { useMemo, useRef } from 'react';
|
|
6
6
|
|
|
7
7
|
import { GlobalScrollbarStyle } from '../creek-style';
|
|
8
8
|
import { useAutoWidthColumns, useEllipsisColumns, useIndexColumn, useResizableColumns, useTableOptions, useTableScrollHeight } from './hooks';
|
|
@@ -76,6 +76,12 @@ const useStyles = createStyles(({ token }, options: SearchTableStyleOptions) =>
|
|
|
76
76
|
},
|
|
77
77
|
},
|
|
78
78
|
|
|
79
|
+
// 树形数据展开图标样式
|
|
80
|
+
[`.${prefixCls}-table-row-expand-icon`]: {
|
|
81
|
+
marginInlineEnd: 4,
|
|
82
|
+
flexShrink: 0,
|
|
83
|
+
},
|
|
84
|
+
|
|
79
85
|
// 如果没有 headerTitle,toolbar 展示在 headerTitle 的区域
|
|
80
86
|
[`.${prefixCls}-pro-table-list-toolbar-right`]: !hasHeaderTitle
|
|
81
87
|
? {
|
|
@@ -108,9 +114,22 @@ export const SearchProTable = <T extends ParamsType, U extends ParamsType, Value
|
|
|
108
114
|
size,
|
|
109
115
|
headerTitle,
|
|
110
116
|
showIndex = true,
|
|
117
|
+
expandable,
|
|
111
118
|
...restProps
|
|
112
119
|
} = props;
|
|
113
120
|
|
|
121
|
+
// 当序号列存在时,将树形展开控件从序号列(第一列 pos=0)移到第一个数据列(pos=1),
|
|
122
|
+
// 避免序号列宽度不足以容纳树形缩进和展开图标导致显示异常
|
|
123
|
+
// 即使 expandable 未提供,也预设 columnPos,因为 Ant Design Table 会自动检测 children 字段开启树形模式
|
|
124
|
+
const finalExpandable = useMemo(() => {
|
|
125
|
+
if (!showIndex) return expandable;
|
|
126
|
+
if (!expandable) return { columnPos: 1 };
|
|
127
|
+
if ((expandable as any).columnPos === undefined) {
|
|
128
|
+
return { ...expandable, columnPos: 1 };
|
|
129
|
+
}
|
|
130
|
+
return expandable;
|
|
131
|
+
}, [expandable, showIndex]);
|
|
132
|
+
|
|
114
133
|
const proTableRef = useRef<HTMLDivElement>(null);
|
|
115
134
|
|
|
116
135
|
// 状态提升:管理列宽调整状态,以便 useAutoWidthColumns 能感知到
|
|
@@ -144,6 +163,8 @@ export const SearchProTable = <T extends ParamsType, U extends ParamsType, Value
|
|
|
144
163
|
optionsRender={finalOptionsRender}
|
|
145
164
|
size={tableSize}
|
|
146
165
|
{...restProps}
|
|
166
|
+
pagination={pagination}
|
|
167
|
+
expandable={finalExpandable}
|
|
147
168
|
className={classnames(styles['creek-table-container'], className)}
|
|
148
169
|
columns={resizableColumns}
|
|
149
170
|
bordered={bordered}
|
|
@@ -8,12 +8,15 @@ import { useT } from '@creekjs/i18n/react';
|
|
|
8
8
|
const useStyles = createStyles(({ css, token }) => {
|
|
9
9
|
return {
|
|
10
10
|
text: css`
|
|
11
|
-
width: 100%;
|
|
11
|
+
max-width: 100%;
|
|
12
12
|
margin: 0;
|
|
13
13
|
padding: 0;
|
|
14
|
-
// Ensure the wrapper behaves like a block/inline-block that can have width
|
|
15
14
|
display: block;
|
|
16
15
|
overflow: hidden;
|
|
16
|
+
// flex: 1 确保在树形表格的 flex 单元格中填充剩余空间(展开图标/层级缩进之后)
|
|
17
|
+
// min-width: 0 允许收缩以配合 Typography.Text 的 ellipsis 截断
|
|
18
|
+
flex: 1;
|
|
19
|
+
min-width: 0;
|
|
17
20
|
`,
|
|
18
21
|
tooltipContent: css`
|
|
19
22
|
max-width: 500px;
|
|
@@ -23,6 +26,7 @@ const useStyles = createStyles(({ css, token }) => {
|
|
|
23
26
|
tooltipText: css`
|
|
24
27
|
word-break: break-all;
|
|
25
28
|
white-space: pre-wrap;
|
|
29
|
+
color: #fff;
|
|
26
30
|
`,
|
|
27
31
|
copyIcon: css`
|
|
28
32
|
cursor: pointer;
|
|
@@ -17,6 +17,11 @@ export const useEllipsisColumns = <T extends ParamsType, ValueType = 'text'>(
|
|
|
17
17
|
if (col.valueType === 'option') {
|
|
18
18
|
return col;
|
|
19
19
|
}
|
|
20
|
+
// 对于 disable 的列(如序号列),不包裹 EllipsisTooltip
|
|
21
|
+
// 避免 EllipsisTooltip 的 width:100% div 与展开图标争抢空间导致重叠
|
|
22
|
+
if (col.disable) {
|
|
23
|
+
return col;
|
|
24
|
+
}
|
|
20
25
|
// 其他列默认开启 ellipsis,并使用自定义渲染
|
|
21
26
|
return {
|
|
22
27
|
...col,
|
|
@@ -13,7 +13,7 @@ export const useIndexColumn = <T = any, ValueType = 'text'>(columns: ProColumns<
|
|
|
13
13
|
const indexColumn: ProColumns<T, ValueType> = {
|
|
14
14
|
title: t('creek-table.hooks.useIndexColumn.xuHao', '序号'),
|
|
15
15
|
dataIndex: 'index',
|
|
16
|
-
width:
|
|
16
|
+
width: 56,
|
|
17
17
|
fixed: 'left',
|
|
18
18
|
disable: true,
|
|
19
19
|
hideInSearch: true,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreekConfigContext.d.ts","sourceRoot":"","sources":["../../src/creek-config-provider/CreekConfigContext.tsx"],"names":[],"mappings":";AAEA,MAAM,MAAM,uBAAuB,GAAG;IACpC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,kDAA6C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreekI18nProvider.d.ts","sourceRoot":"","sources":["../../src/creek-config-provider/CreekI18nProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAUvC,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,CAAC;AAU3C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAOD,eAAO,MAAM,aAAa;;yBAEH,MAAM;EAC3B,CAAC;AAEH,eAAO,MAAM,YAAY;;yBAHF,MAAM;CAG8B,CAAC;AAE5D,eAAO,MAAM,iBAAiB,UAAW,sBAAsB,4CAqE9D,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-config-provider/index.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,MAAM,CAAC;AAQhD,OAAO,EAAsB,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAc,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOzH,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,GAAG,IAAI,CAAC,mBAAmB,EAAE,QAAQ,CAAC,GAAG,sBAAsB,CAAC;AAE9H,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;AAC1D,YAAY,EAAE,sBAAsB,EAAE,CAAC;AAmCvC,eAAO,MAAM,mBAAmB;YAAW,wBAAwB;;CAQlE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,qBAAqB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerHelper.d.ts","sourceRoot":"","sources":["../../../src/creek-hooks/useApp/DrawerHelper.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAwC,MAAM,SAAS,CAAC;AAE7E,UAAU,iBAAiB;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CA8BpD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ModalHelper.d.ts","sourceRoot":"","sources":["../../../src/creek-hooks/useApp/ModalHelper.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAmB,WAAW,EAAqB,MAAM,SAAS,CAAC;AAE1E,UAAU,gBAAgB;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA8BlD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/creek-hooks/useApp/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuD,MAAM,OAAO,CAAC;AAI5E,OAAO,EAGL,gBAAgB,EAChB,eAAe,EAEf,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,SAAS,CAAC;AAsBjB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CA6B/D,CAAC;AAEF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;CAiDlB,CAAC;AAEF,cAAc,SAAS,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/creek-hooks/useApp/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,CAAC;AAGF,MAAM,MAAM,iBAAiB,GAAG,UAAU,GAAG,UAAU,GAAG;IAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAC;AAC9E,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC1G,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,eAAe,CAAC;AAG9D,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,QAAQ,CAAA;CAAE,CAAC;AAChF,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,GAAG,IAAI,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAC5G,MAAM,MAAM,YAAY,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;AAEjE,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useViewportHeight.d.ts","sourceRoot":"","sources":["../../src/creek-hooks/useViewportHeight.tsx"],"names":[],"mappings":";AAGA,UAAU,wBAAwB;IAChC,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mCAAmC;IACnC,IAAI,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC;IAE5B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,eAAO,MAAM,iBAAiB,aAAa,wBAAwB;IAuJ/D,wBAAwB;;IAExB,kBAAkB;;IAElB,kBAAkB;;IAElB,gBAAgB;;CAGnB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-icon/index.tsx"],"names":[],"mappings":"AAAA,OAAO,IAA8B,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAIrC,OAAO,EAAuB,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAEzF,KAAK,wBAAwB,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,wBAAwB,GAAG;IACtD,WAAW,CAAC,EAAE,wBAAwB,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;CACnD,CAAC;AAEF,eAAO,MAAM,SAAS,UAAW,cAAc,mDAkB9C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/creek-keep-alive/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAKnD,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACpD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAClC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAQD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAgMxD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FullScreen.d.ts","sourceRoot":"","sources":["../../../src/creek-layout/ActionRender/FullScreen.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,eAAO,MAAM,kBAAkB,8EAU7B,CAAC;AAEH,eAAO,MAAM,UAAU,+CAwBtB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LayoutSettings.d.ts","sourceRoot":"","sources":["../../../src/creek-layout/ActionRender/LayoutSettings.tsx"],"names":[],"mappings":"AAwCA,eAAO,MAAM,cAAc;;;;6CA0B1B,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UserInfo.d.ts","sourceRoot":"","sources":["../../../src/creek-layout/ActionRender/UserInfo.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAoB,aAAa,EAAS,MAAM,MAAM,CAAC;AAsB9D,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC9B;AAED,eAAO,MAAM,QAAQ,UAAW,aAAa,4CAc5C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/creek-layout/ActionRender/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CollapseButton.d.ts","sourceRoot":"","sources":["../../src/creek-layout/CollapseButton.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B,CAAC;AAiBF,eAAO,MAAM,iBAAiB,mFAU5B,CAAC;AAEH,eAAO,MAAM,eAAe,UAAW,oBAAoB,4CAwB1D,CAAC"}
|