pro-design-vue 1.0.0-rc.0 → 1.0.0-rc.2
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/index.full.js +56 -50
- package/dist/index.full.min.js +6 -6
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +6 -6
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +56 -50
- package/es/components/counter/src/counter.vue.d.ts +2 -4
- package/es/components/counter/src/counter.vue2.mjs +2 -4
- package/es/components/counter/src/counter.vue2.mjs.map +1 -1
- package/es/components/form/src/components/FormGroup.d.ts +12 -12
- package/es/components/form/src/components/FormList.d.ts +12 -12
- package/es/components/form/src/components/FormListContainer.d.ts +12 -12
- package/es/components/form/src/components/FormListItem.d.ts +12 -12
- package/es/components/form/src/components/FormRowWrapper.d.ts +12 -12
- package/es/components/form/src/components/FormSet.d.ts +12 -12
- package/es/components/form/src/utils/parseValueToMoment.mjs +1 -1
- package/es/components/form/src/utils/parseValueToMoment.mjs.map +1 -1
- package/es/components/layout/src/components/layout-sidebar.vue.d.ts +5 -0
- package/es/components/layout/src/components/layout-sidebar.vue2.mjs +4 -3
- package/es/components/layout/src/components/layout-sidebar.vue2.mjs.map +1 -1
- package/es/components/layout/src/layout.vue.d.ts +1 -0
- package/es/components/layout/src/layout.vue2.mjs +3 -1
- package/es/components/layout/src/layout.vue2.mjs.map +1 -1
- package/es/components/layout/src/typing.d.ts +5 -0
- package/es/components/table/src/components/Form/Form.d.ts +7 -7
- package/es/components/table/src/components/Form/Form.mjs +2 -36
- package/es/components/table/src/components/Form/Form.mjs.map +1 -1
- package/es/components/table/src/components/Table.mjs +28 -4
- package/es/components/table/src/components/Table.mjs.map +1 -1
- package/es/components/table/src/utils/flatColumnsHandle.d.ts +2 -0
- package/es/components/table/src/utils/flatColumnsHandle.mjs +18 -0
- package/es/components/table/src/utils/flatColumnsHandle.mjs.map +1 -0
- package/es/index.d.ts +8 -4
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/counter/src/counter.vue.d.ts +2 -4
- package/lib/components/counter/src/counter.vue2.js +2 -4
- package/lib/components/counter/src/counter.vue2.js.map +1 -1
- package/lib/components/form/src/components/FormGroup.d.ts +12 -12
- package/lib/components/form/src/components/FormList.d.ts +12 -12
- package/lib/components/form/src/components/FormListContainer.d.ts +12 -12
- package/lib/components/form/src/components/FormListItem.d.ts +12 -12
- package/lib/components/form/src/components/FormRowWrapper.d.ts +12 -12
- package/lib/components/form/src/components/FormSet.d.ts +12 -12
- package/lib/components/form/src/utils/parseValueToMoment.js +1 -1
- package/lib/components/form/src/utils/parseValueToMoment.js.map +1 -1
- package/lib/components/layout/src/components/layout-sidebar.vue.d.ts +5 -0
- package/lib/components/layout/src/components/layout-sidebar.vue2.js +4 -3
- package/lib/components/layout/src/components/layout-sidebar.vue2.js.map +1 -1
- package/lib/components/layout/src/layout.vue.d.ts +1 -0
- package/lib/components/layout/src/layout.vue2.js +3 -1
- package/lib/components/layout/src/layout.vue2.js.map +1 -1
- package/lib/components/layout/src/typing.d.ts +5 -0
- package/lib/components/table/src/components/Form/Form.d.ts +7 -7
- package/lib/components/table/src/components/Form/Form.js +2 -36
- package/lib/components/table/src/components/Form/Form.js.map +1 -1
- package/lib/components/table/src/components/Table.js +28 -4
- package/lib/components/table/src/components/Table.js.map +1 -1
- package/lib/components/table/src/utils/flatColumnsHandle.d.ts +2 -0
- package/lib/components/table/src/utils/flatColumnsHandle.js +20 -0
- package/lib/components/table/src/utils/flatColumnsHandle.js.map +1 -0
- package/lib/index.d.ts +8 -4
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/src/index.less +1 -1
- package/theme-chalk/pro-table.css +0 -1
- package/theme-chalk/src/table.less +0 -1
@@ -75,6 +75,10 @@ interface Props {
|
|
75
75
|
* @default 0
|
76
76
|
*/
|
77
77
|
zIndex?: number;
|
78
|
+
/**
|
79
|
+
* 固定
|
80
|
+
*/
|
81
|
+
fixed?: boolean;
|
78
82
|
}
|
79
83
|
type __VLS_Props = Props;
|
80
84
|
type __VLS_PublicProps = __VLS_Props & {
|
@@ -110,6 +114,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps,
|
|
110
114
|
"onUpdate:extraVisible"?: ((value: boolean | undefined) => any) | undefined;
|
111
115
|
}>, {
|
112
116
|
zIndex: number;
|
117
|
+
fixed: boolean;
|
113
118
|
show: boolean;
|
114
119
|
marginTop: number;
|
115
120
|
paddingTop: number;
|
@@ -26,7 +26,8 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
26
26
|
showFixedButton: { type: Boolean, required: false, default: true },
|
27
27
|
theme: { type: String, required: true },
|
28
28
|
width: { type: Number, required: true },
|
29
|
-
zIndex: { type: Number, required: false, default: 0 }
|
29
|
+
zIndex: { type: Number, required: false, default: 0 },
|
30
|
+
fixed: { type: Boolean, required: false, default: true }
|
30
31
|
}, {
|
31
32
|
"collapse": { type: Boolean },
|
32
33
|
"collapseModifiers": {},
|
@@ -163,7 +164,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
163
164
|
vue.Fragment,
|
164
165
|
null,
|
165
166
|
[
|
166
|
-
_ctx.domVisible ? (vue.openBlock(), vue.createElementBlock(
|
167
|
+
_ctx.domVisible && _ctx.fixed ? (vue.openBlock(), vue.createElementBlock(
|
167
168
|
"div",
|
168
169
|
{
|
169
170
|
key: 0,
|
@@ -179,9 +180,9 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
179
180
|
{
|
180
181
|
class: vue.normalizeClass([
|
181
182
|
vue.unref(prefixCls),
|
182
|
-
`${vue.unref(prefixCls)}--fixed`,
|
183
183
|
_ctx.theme,
|
184
184
|
{
|
185
|
+
[`${vue.unref(prefixCls)}--fixed`]: _ctx.fixed,
|
185
186
|
[`${vue.unref(prefixCls)}--mixed`]: _ctx.isSidebarMixed,
|
186
187
|
[`${vue.unref(prefixCls)}--no-mixed`]: !_ctx.isSidebarMixed
|
187
188
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"layout-sidebar.vue2.js","sources":["../../../../../../../packages/components/layout/src/components/layout-sidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { CSSProperties } from 'vue'\n\nimport { computed, shallowRef, useSlots, watchEffect } from 'vue'\n\nimport { useScrollLock } from '@vueuse/core'\n\nimport { SidebarCollapseButton, SidebarFixedButton } from './widgets'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\n\ninterface Props {\n /**\n * 折叠区域高度\n * @default 42\n */\n collapseHeight?: number\n /**\n * 折叠宽度\n * @default 48\n */\n collapseWidth?: number\n /**\n * 隐藏的dom是否可见\n * @default true\n */\n domVisible?: boolean\n /**\n * 扩展区域宽度\n */\n extraWidth: number\n /**\n * 固定扩展区域\n * @default false\n */\n fixedExtra?: boolean\n /**\n * 头部高度\n */\n headerHeight: number\n /**\n * 是否侧边混合模式\n * @default false\n */\n isSidebarMixed?: boolean\n /**\n * 顶部margin\n * @default 60\n */\n marginTop?: number\n /**\n * 混合菜单宽度\n * @default 80\n */\n mixedWidth?: number\n /**\n * 顶部padding\n * @default 60\n */\n paddingTop?: number\n /**\n * 是否显示\n * @default true\n */\n show?: boolean\n /**\n * 显示折叠按钮\n * @default true\n */\n showCollapseButton?: boolean\n /**\n * 显示固定按钮\n * @default true\n */\n showFixedButton?: boolean\n /**\n * 主题\n */\n theme: string\n\n /**\n * 宽度\n */\n width: number\n /**\n * zIndex\n * @default 0\n */\n zIndex?: number\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n collapseHeight: 42,\n collapseWidth: 48,\n domVisible: true,\n fixedExtra: false,\n isSidebarMixed: false,\n marginTop: 0,\n mixedWidth: 70,\n paddingTop: 0,\n show: true,\n showCollapseButton: true,\n showFixedButton: true,\n zIndex: 0,\n})\n\nconst emit = defineEmits<{ leave: [] }>()\nconst prefixCls = usePrefixCls('layout-sidebar')\nconst collapse = defineModel<boolean>('collapse')\nconst extraCollapse = defineModel<boolean>('extraCollapse')\nconst expandOnHovering = defineModel<boolean>('expandOnHovering')\nconst expandOnHover = defineModel<boolean>('expandOnHover')\nconst extraVisible = defineModel<boolean>('extraVisible')\n\nconst isLocked = useScrollLock(document.body)\nconst slots = useSlots()\n\nconst asideRef = shallowRef<HTMLDivElement | null>()\n\nconst hiddenSideStyle = computed((): CSSProperties => calcMenuWidthStyle(true))\n\nconst style = computed((): CSSProperties => {\n const { isSidebarMixed, marginTop, paddingTop, zIndex } = props\n\n return {\n ...calcMenuWidthStyle(false),\n height: `calc(100% - ${marginTop}px)`,\n marginTop: `${marginTop}px`,\n paddingTop: `${paddingTop}px`,\n zIndex,\n ...(isSidebarMixed && extraVisible.value ? { transition: 'none' } : {}),\n }\n})\n\nconst extraStyle = computed((): CSSProperties => {\n const { extraWidth, show, width, zIndex } = props\n\n return {\n left: `${width}px`,\n width: extraVisible.value && show ? `${extraWidth}px` : 0,\n zIndex,\n }\n})\n\nconst extraTitleStyle = computed((): CSSProperties => {\n const { headerHeight } = props\n\n return {\n height: `${headerHeight - 1}px`,\n }\n})\n\nconst contentWidthStyle = computed((): CSSProperties => {\n const { collapseWidth, fixedExtra, isSidebarMixed, mixedWidth } = props\n if (isSidebarMixed && fixedExtra) {\n return { width: `${collapse.value ? collapseWidth : mixedWidth}px` }\n }\n return {}\n})\n\nconst contentStyle = computed((): CSSProperties => {\n const { collapseHeight, headerHeight } = props\n\n return {\n height: `calc(100% - ${headerHeight + collapseHeight}px)`,\n paddingTop: '8px',\n ...contentWidthStyle.value,\n }\n})\n\nconst headerStyle = computed((): CSSProperties => {\n const { headerHeight, isSidebarMixed } = props\n\n return {\n ...(isSidebarMixed ? { display: 'flex', justifyContent: 'center' } : {}),\n height: `${headerHeight - 1}px`,\n ...contentWidthStyle.value,\n }\n})\n\nconst extraContentStyle = computed((): CSSProperties => {\n const { collapseHeight, headerHeight } = props\n return {\n height: `calc(100% - ${headerHeight + collapseHeight}px)`,\n }\n})\n\nconst collapseStyle = computed((): CSSProperties => {\n return {\n height: `${props.collapseHeight}px`,\n }\n})\n\nwatchEffect(() => {\n extraVisible.value = props.fixedExtra ? true : extraVisible.value\n})\n\nfunction calcMenuWidthStyle(isHiddenDom: boolean): CSSProperties {\n const { extraWidth, fixedExtra, isSidebarMixed, show, width } = props\n\n let widthValue =\n width === 0\n ? '0px'\n : `${width + (isSidebarMixed && fixedExtra && extraVisible.value ? extraWidth : 0)}px`\n\n const { collapseWidth } = props\n\n if (isHiddenDom && expandOnHovering.value && !expandOnHover.value) {\n widthValue = `${collapseWidth}px`\n }\n\n return {\n ...(widthValue === '0px' ? { overflow: 'hidden' } : {}),\n flex: `0 0 ${widthValue}`,\n marginLeft: show ? 0 : `-${widthValue}`,\n maxWidth: widthValue,\n minWidth: widthValue,\n width: widthValue,\n }\n}\n\nfunction handleMouseenter(e: MouseEvent) {\n if (e?.offsetX < 10) {\n return\n }\n\n // 未开启和未折叠状态不生效\n if (expandOnHover.value) {\n return\n }\n if (!expandOnHovering.value) {\n collapse.value = false\n }\n if (props.isSidebarMixed) {\n isLocked.value = true\n }\n expandOnHovering.value = true\n}\n\nfunction handleMouseleave() {\n emit('leave')\n if (props.isSidebarMixed) {\n isLocked.value = false\n }\n if (expandOnHover.value) {\n return\n }\n\n expandOnHovering.value = false\n collapse.value = true\n extraVisible.value = false\n}\n</script>\n\n<template>\n <div v-if=\"domVisible\" :style=\"hiddenSideStyle\" :class=\"[prefixCls, theme]\"></div>\n <aside\n :class=\"[\n prefixCls,\n `${prefixCls}--fixed`,\n theme,\n {\n [`${prefixCls}--mixed`]: isSidebarMixed,\n [`${prefixCls}--no-mixed`]: !isSidebarMixed,\n },\n ]\"\n :style=\"style\"\n @mouseenter=\"handleMouseenter\"\n @mouseleave=\"handleMouseleave\"\n >\n <SidebarFixedButton\n v-if=\"!collapse && !isSidebarMixed && showFixedButton\"\n v-model:expand-on-hover=\"expandOnHover\"\n />\n <div v-if=\"slots.logo\" :style=\"headerStyle\">\n <slot name=\"logo\"></slot>\n </div>\n <div :style=\"contentStyle\" :class=\"`${prefixCls}-content`\">\n <div :class=\"`${prefixCls}-scroll`\">\n <slot></slot>\n </div>\n </div>\n\n <div :style=\"collapseStyle\"></div>\n <SidebarCollapseButton\n v-if=\"showCollapseButton && !isSidebarMixed\"\n v-model:collapsed=\"collapse\"\n />\n <div\n v-if=\"isSidebarMixed\"\n ref=\"asideRef\"\n :class=\"{\n [`${prefixCls}-extra`]: true,\n [`${prefixCls}-extra--border`]: extraVisible,\n }\"\n :style=\"extraStyle\"\n >\n <SidebarCollapseButton\n v-if=\"isSidebarMixed && expandOnHover && showCollapseButton\"\n v-model:collapsed=\"extraCollapse\"\n />\n\n <SidebarFixedButton\n v-if=\"!extraCollapse && showFixedButton\"\n v-model:expand-on-hover=\"expandOnHover\"\n />\n <div v-if=\"!extraCollapse\" :style=\"extraTitleStyle\" :class=\"`${prefixCls}-extra-title`\">\n <slot name=\"extra-title\"></slot>\n </div>\n <div :style=\"extraContentStyle\" :class=\"`${prefixCls}-extra-content`\">\n <div :class=\"`${prefixCls}-scroll`\">\n <slot name=\"extra\"></slot>\n </div>\n </div>\n </div>\n </aside>\n</template>\n"],"names":["usePrefixCls","_useModel","useScrollLock","useSlots","shallowRef","computed","watchEffect","domVisible","_createElementBlock","_normalizeClass","_unref","theme","_createElementVNode","isSidebarMixed","showFixedButton","_createBlock","SidebarFixedButton","_renderSlot","showCollapseButton","SidebarCollapseButton"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"layout-sidebar.vue2.js","sources":["../../../../../../../packages/components/layout/src/components/layout-sidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { CSSProperties } from 'vue'\n\nimport { computed, shallowRef, useSlots, watchEffect } from 'vue'\n\nimport { useScrollLock } from '@vueuse/core'\n\nimport { SidebarCollapseButton, SidebarFixedButton } from './widgets'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\n\ninterface Props {\n /**\n * 折叠区域高度\n * @default 42\n */\n collapseHeight?: number\n /**\n * 折叠宽度\n * @default 48\n */\n collapseWidth?: number\n /**\n * 隐藏的dom是否可见\n * @default true\n */\n domVisible?: boolean\n /**\n * 扩展区域宽度\n */\n extraWidth: number\n /**\n * 固定扩展区域\n * @default false\n */\n fixedExtra?: boolean\n /**\n * 头部高度\n */\n headerHeight: number\n /**\n * 是否侧边混合模式\n * @default false\n */\n isSidebarMixed?: boolean\n /**\n * 顶部margin\n * @default 60\n */\n marginTop?: number\n /**\n * 混合菜单宽度\n * @default 80\n */\n mixedWidth?: number\n /**\n * 顶部padding\n * @default 60\n */\n paddingTop?: number\n /**\n * 是否显示\n * @default true\n */\n show?: boolean\n /**\n * 显示折叠按钮\n * @default true\n */\n showCollapseButton?: boolean\n /**\n * 显示固定按钮\n * @default true\n */\n showFixedButton?: boolean\n /**\n * 主题\n */\n theme: string\n\n /**\n * 宽度\n */\n width: number\n /**\n * zIndex\n * @default 0\n */\n zIndex?: number\n /**\n * 固定\n */\n fixed?: boolean\n}\n\nconst props = withDefaults(defineProps<Props>(), {\n collapseHeight: 42,\n collapseWidth: 48,\n domVisible: true,\n fixedExtra: false,\n isSidebarMixed: false,\n marginTop: 0,\n mixedWidth: 70,\n paddingTop: 0,\n show: true,\n fixed: true,\n showCollapseButton: true,\n showFixedButton: true,\n zIndex: 0,\n})\n\nconst emit = defineEmits<{ leave: [] }>()\nconst prefixCls = usePrefixCls('layout-sidebar')\nconst collapse = defineModel<boolean>('collapse')\nconst extraCollapse = defineModel<boolean>('extraCollapse')\nconst expandOnHovering = defineModel<boolean>('expandOnHovering')\nconst expandOnHover = defineModel<boolean>('expandOnHover')\nconst extraVisible = defineModel<boolean>('extraVisible')\n\nconst isLocked = useScrollLock(document.body)\nconst slots = useSlots()\n\nconst asideRef = shallowRef<HTMLDivElement | null>()\n\nconst hiddenSideStyle = computed((): CSSProperties => calcMenuWidthStyle(true))\n\nconst style = computed((): CSSProperties => {\n const { isSidebarMixed, marginTop, paddingTop, zIndex } = props\n\n return {\n ...calcMenuWidthStyle(false),\n height: `calc(100% - ${marginTop}px)`,\n marginTop: `${marginTop}px`,\n paddingTop: `${paddingTop}px`,\n zIndex,\n ...(isSidebarMixed && extraVisible.value ? { transition: 'none' } : {}),\n }\n})\n\nconst extraStyle = computed((): CSSProperties => {\n const { extraWidth, show, width, zIndex } = props\n\n return {\n left: `${width}px`,\n width: extraVisible.value && show ? `${extraWidth}px` : 0,\n zIndex,\n }\n})\n\nconst extraTitleStyle = computed((): CSSProperties => {\n const { headerHeight } = props\n\n return {\n height: `${headerHeight - 1}px`,\n }\n})\n\nconst contentWidthStyle = computed((): CSSProperties => {\n const { collapseWidth, fixedExtra, isSidebarMixed, mixedWidth } = props\n if (isSidebarMixed && fixedExtra) {\n return { width: `${collapse.value ? collapseWidth : mixedWidth}px` }\n }\n return {}\n})\n\nconst contentStyle = computed((): CSSProperties => {\n const { collapseHeight, headerHeight } = props\n\n return {\n height: `calc(100% - ${headerHeight + collapseHeight}px)`,\n paddingTop: '8px',\n ...contentWidthStyle.value,\n }\n})\n\nconst headerStyle = computed((): CSSProperties => {\n const { headerHeight, isSidebarMixed } = props\n\n return {\n ...(isSidebarMixed ? { display: 'flex', justifyContent: 'center' } : {}),\n height: `${headerHeight - 1}px`,\n ...contentWidthStyle.value,\n }\n})\n\nconst extraContentStyle = computed((): CSSProperties => {\n const { collapseHeight, headerHeight } = props\n return {\n height: `calc(100% - ${headerHeight + collapseHeight}px)`,\n }\n})\n\nconst collapseStyle = computed((): CSSProperties => {\n return {\n height: `${props.collapseHeight}px`,\n }\n})\n\nwatchEffect(() => {\n extraVisible.value = props.fixedExtra ? true : extraVisible.value\n})\n\nfunction calcMenuWidthStyle(isHiddenDom: boolean): CSSProperties {\n const { extraWidth, fixedExtra, isSidebarMixed, show, width } = props\n\n let widthValue =\n width === 0\n ? '0px'\n : `${width + (isSidebarMixed && fixedExtra && extraVisible.value ? extraWidth : 0)}px`\n\n const { collapseWidth } = props\n\n if (isHiddenDom && expandOnHovering.value && !expandOnHover.value) {\n widthValue = `${collapseWidth}px`\n }\n\n return {\n ...(widthValue === '0px' ? { overflow: 'hidden' } : {}),\n flex: `0 0 ${widthValue}`,\n marginLeft: show ? 0 : `-${widthValue}`,\n maxWidth: widthValue,\n minWidth: widthValue,\n width: widthValue,\n }\n}\n\nfunction handleMouseenter(e: MouseEvent) {\n if (e?.offsetX < 10) {\n return\n }\n\n // 未开启和未折叠状态不生效\n if (expandOnHover.value) {\n return\n }\n if (!expandOnHovering.value) {\n collapse.value = false\n }\n if (props.isSidebarMixed) {\n isLocked.value = true\n }\n expandOnHovering.value = true\n}\n\nfunction handleMouseleave() {\n emit('leave')\n if (props.isSidebarMixed) {\n isLocked.value = false\n }\n if (expandOnHover.value) {\n return\n }\n\n expandOnHovering.value = false\n collapse.value = true\n extraVisible.value = false\n}\n</script>\n\n<template>\n <div v-if=\"domVisible && fixed\" :style=\"hiddenSideStyle\" :class=\"[prefixCls, theme]\"></div>\n <aside\n :class=\"[\n prefixCls,\n theme,\n {\n [`${prefixCls}--fixed`]: fixed,\n [`${prefixCls}--mixed`]: isSidebarMixed,\n [`${prefixCls}--no-mixed`]: !isSidebarMixed,\n },\n ]\"\n :style=\"style\"\n @mouseenter=\"handleMouseenter\"\n @mouseleave=\"handleMouseleave\"\n >\n <SidebarFixedButton\n v-if=\"!collapse && !isSidebarMixed && showFixedButton\"\n v-model:expand-on-hover=\"expandOnHover\"\n />\n <div v-if=\"slots.logo\" :style=\"headerStyle\">\n <slot name=\"logo\"></slot>\n </div>\n <div :style=\"contentStyle\" :class=\"`${prefixCls}-content`\">\n <div :class=\"`${prefixCls}-scroll`\">\n <slot></slot>\n </div>\n </div>\n\n <div :style=\"collapseStyle\"></div>\n <SidebarCollapseButton\n v-if=\"showCollapseButton && !isSidebarMixed\"\n v-model:collapsed=\"collapse\"\n />\n <div\n v-if=\"isSidebarMixed\"\n ref=\"asideRef\"\n :class=\"{\n [`${prefixCls}-extra`]: true,\n [`${prefixCls}-extra--border`]: extraVisible,\n }\"\n :style=\"extraStyle\"\n >\n <SidebarCollapseButton\n v-if=\"isSidebarMixed && expandOnHover && showCollapseButton\"\n v-model:collapsed=\"extraCollapse\"\n />\n\n <SidebarFixedButton\n v-if=\"!extraCollapse && showFixedButton\"\n v-model:expand-on-hover=\"expandOnHover\"\n />\n <div v-if=\"!extraCollapse\" :style=\"extraTitleStyle\" :class=\"`${prefixCls}-extra-title`\">\n <slot name=\"extra-title\"></slot>\n </div>\n <div :style=\"extraContentStyle\" :class=\"`${prefixCls}-extra-content`\">\n <div :class=\"`${prefixCls}-scroll`\">\n <slot name=\"extra\"></slot>\n </div>\n </div>\n </div>\n </aside>\n</template>\n"],"names":["usePrefixCls","_useModel","useScrollLock","useSlots","shallowRef","computed","watchEffect","domVisible","fixed","_createElementBlock","_normalizeClass","_unref","theme","_createElementVNode","isSidebarMixed","showFixedButton","_createBlock","SidebarFixedButton","_renderSlot","showCollapseButton","SidebarCollapseButton"],"mappings":"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"}
|
@@ -79,6 +79,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps,
|
|
79
79
|
sidebarMixedWidth: number;
|
80
80
|
sidebarTheme: import("pro-design-vue").ThemeModeType;
|
81
81
|
sideCollapseWidth: number;
|
82
|
+
sidebarFixed: boolean;
|
82
83
|
tabbarEnable: boolean;
|
83
84
|
tabbarHeight: number;
|
84
85
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
@@ -53,6 +53,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
53
53
|
sidebarTheme: { type: String, required: false, default: "light" },
|
54
54
|
sidebarWidth: { type: Number, required: false, default: 200 },
|
55
55
|
sideCollapseWidth: { type: Number, required: false, default: 60 },
|
56
|
+
sidebarFixed: { type: Boolean, required: false, default: true },
|
56
57
|
tabbarEnable: { type: Boolean, required: false, default: true },
|
57
58
|
tabbarHeight: { type: Number, required: false, default: 40 },
|
58
59
|
zIndex: { type: Number, required: false, default: 200 }
|
@@ -388,6 +389,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
388
389
|
"margin-top": sidebarMarginTop.value,
|
389
390
|
"mixed-width": _ctx.sidebarMixedWidth,
|
390
391
|
show: showSidebar.value,
|
392
|
+
fixed: _ctx.sidebarFixed,
|
391
393
|
theme: _ctx.sidebarTheme,
|
392
394
|
width: getSidebarWidth.value,
|
393
395
|
"z-index": sidebarZIndex.value,
|
@@ -412,7 +414,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
412
414
|
]),
|
413
415
|
key: "0"
|
414
416
|
} : void 0
|
415
|
-
]), 1032, ["collapse", "expand-on-hover", "expand-on-hovering", "extra-collapse", "extra-visible", "show-collapse-button", "show-fixed-button", "collapse-width", "dom-visible", "extra-width", "fixed-extra", "header-height", "is-sidebar-mixed", "margin-top", "mixed-width", "show", "theme", "width", "z-index"])) : vue.createCommentVNode("v-if", true),
|
417
|
+
]), 1032, ["collapse", "expand-on-hover", "expand-on-hovering", "extra-collapse", "extra-visible", "show-collapse-button", "show-fixed-button", "collapse-width", "dom-visible", "extra-width", "fixed-extra", "header-height", "is-sidebar-mixed", "margin-top", "mixed-width", "show", "fixed", "theme", "width", "z-index"])) : vue.createCommentVNode("v-if", true),
|
416
418
|
vue.createElementVNode(
|
417
419
|
"div",
|
418
420
|
{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"layout.vue2.js","sources":["../../../../../../packages/components/layout/src/layout.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-06-11 09:22:42\n * @LastEditors: shen\n * @LastEditTime: 2025-09-05 13:45:32\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { CSSProperties } from 'vue'\nimport type { ProLayoutProps } from './typing'\n\nimport { computed, ref, watch, h } from 'vue'\nimport { useLayoutFooterStyle, useLayoutHeaderStyle } from './hooks/use-layout-style'\nimport { Button } from 'ant-design-vue'\nimport { ELEMENT_ID_MAIN_CONTENT, SCROLL_FIXED_CLASS } from '@pro-design-vue/constants'\nimport { MenuIcon } from './components/icons'\n\nimport { useMouse, useScroll, useThrottleFn } from '@vueuse/core'\n\nimport {\n LayoutContent,\n LayoutFooter,\n LayoutHeader,\n LayoutSidebar,\n LayoutTabbar,\n} from './components'\nimport { useLayout } from './hooks/use-layout'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { useProLayoutProvide } from './context'\nimport { useProConfigInject } from '../../config-provider'\n\ninterface Props extends ProLayoutProps {}\n\ndefineOptions({\n name: 'ProLayout',\n})\n\nconst props = withDefaults(defineProps<Props>(), {\n contentCompact: 'wide',\n contentCompactWidth: 1200,\n contentPadding: 0,\n contentPaddingBottom: 0,\n contentPaddingLeft: 0,\n contentPaddingRight: 0,\n contentPaddingTop: 0,\n footerEnable: false,\n footerFixed: true,\n footerHeight: 32,\n headerHeight: 50,\n headerHidden: false,\n headerMode: 'fixed',\n headerToggleSidebarButton: true,\n headerVisible: true,\n isMobile: false,\n layout: 'sidebar-nav',\n sidebarCollapsedButton: true,\n sidebarCollapseShowTitle: false,\n sidebarExtraCollapsedWidth: 60,\n sidebarFixedButton: true,\n sidebarHidden: false,\n sidebarMixedWidth: 80,\n sidebarTheme: 'light',\n sidebarWidth: 200,\n sideCollapseWidth: 60,\n tabbarEnable: true,\n tabbarHeight: 40,\n zIndex: 200,\n})\n\nconst emit = defineEmits<{ sideMouseLeave: []; toggleSidebar: [] }>()\n\nconst prefixCls = usePrefixCls('layout')\nconst sidebarCollapse = defineModel<boolean>('sidebarCollapse', {\n default: false,\n})\nconst sidebarExtraVisible = defineModel<boolean>('sidebarExtraVisible')\nconst sidebarExtraCollapse = defineModel<boolean>('sidebarExtraCollapse', {\n default: false,\n})\nconst sidebarExpandOnHover = defineModel<boolean>('sidebarExpandOnHover', {\n default: true,\n})\nconst sidebarEnable = defineModel<boolean>('sidebarEnable', { default: true })\n\n// side是否处于hover状态展开菜单中\nconst sidebarExpandOnHovering = ref(false)\nconst headerIsHidden = ref(false)\nconst contentRef = ref()\n\nconst { arrivedState, directions, isScrolling, y: scrollY } = useScroll(contentRef)\n\nconst { setLayoutHeaderHeight } = useLayoutHeaderStyle()\nconst { setLayoutFooterHeight } = useLayoutFooterStyle()\n\nconst { y: mouseY } = useMouse({ target: contentRef, type: 'client' })\n\nconst {\n currentLayout,\n isFullContent,\n isHeaderMixedNav,\n isHeaderNav,\n isMixedNav,\n isSidebarMixedNav,\n} = useLayout(props)\n\n/**\n * 顶栏是否自动隐藏\n */\nconst isHeaderAutoMode = computed(() => props.headerMode === 'auto')\n\nconst headerWrapperHeight = computed(() => {\n let height = 0\n if (props.headerVisible && !props.headerHidden) {\n height += props.headerHeight\n }\n if (props.tabbarEnable) {\n height += props.tabbarHeight\n }\n return height\n})\n\nconst getSideCollapseWidth = computed(() => {\n const { sidebarCollapseShowTitle, sidebarMixedWidth, sideCollapseWidth } = props\n\n return sidebarCollapseShowTitle || isSidebarMixedNav.value || isHeaderMixedNav.value\n ? sidebarMixedWidth\n : sideCollapseWidth\n})\n\n/**\n * 动态获取侧边区域是否可见\n */\nconst sidebarEnableState = computed(() => {\n return !isHeaderNav.value && sidebarEnable.value\n})\n\n/**\n * 侧边区域离顶部高度\n */\nconst sidebarMarginTop = computed(() => {\n const { headerHeight, isMobile } = props\n return isMixedNav.value && !isMobile ? headerHeight : 0\n})\n\n/**\n * 动态获取侧边宽度\n */\nconst getSidebarWidth = computed(() => {\n const { isMobile, sidebarHidden, sidebarMixedWidth, sidebarWidth } = props\n let width = 0\n\n if (sidebarHidden) {\n return width\n }\n\n if (\n !sidebarEnableState.value ||\n (sidebarHidden && !isSidebarMixedNav.value && !isMixedNav.value && !isHeaderMixedNav.value)\n ) {\n return width\n }\n\n if ((isHeaderMixedNav.value || isSidebarMixedNav.value) && !isMobile) {\n width = sidebarMixedWidth\n } else if (sidebarCollapse.value) {\n width = isMobile ? 0 : getSideCollapseWidth.value\n } else {\n width = sidebarWidth\n }\n return width\n})\n\n/**\n * 获取扩展区域宽度\n */\nconst sidebarExtraWidth = computed(() => {\n const { sidebarExtraCollapsedWidth, sidebarWidth } = props\n\n return sidebarExtraCollapse.value ? sidebarExtraCollapsedWidth : sidebarWidth\n})\n\n/**\n * 是否侧边栏模式,包含混合侧边\n */\nconst isSideMode = computed(\n () =>\n currentLayout.value === 'mixed-nav' ||\n currentLayout.value === 'sidebar-mixed-nav' ||\n currentLayout.value === 'sidebar-nav' ||\n currentLayout.value === 'header-mixed-nav' ||\n currentLayout.value === 'header-sidebar-nav',\n)\n\n/**\n * header fixed值\n */\nconst headerFixed = computed(() => {\n const { headerMode } = props\n return (\n isMixedNav.value ||\n headerMode === 'fixed' ||\n headerMode === 'auto-scroll' ||\n headerMode === 'auto'\n )\n})\n\nconst showSidebar = computed(() => {\n return isSideMode.value && sidebarEnable.value && !props.sidebarHidden\n})\n\n/**\n * 遮罩可见性\n */\nconst maskVisible = computed(() => !sidebarCollapse.value && props.isMobile)\n\nconst mainStyle = computed(() => {\n let width = '100%'\n let sidebarAndExtraWidth = 'unset'\n if (\n headerFixed.value &&\n currentLayout.value !== 'header-nav' &&\n currentLayout.value !== 'mixed-nav' &&\n currentLayout.value !== 'header-sidebar-nav' &&\n showSidebar.value &&\n !props.isMobile\n ) {\n // fixed模式下生效\n const isSideNavEffective =\n (isSidebarMixedNav.value || isHeaderMixedNav.value) &&\n sidebarExpandOnHover.value &&\n sidebarExtraVisible.value\n\n if (isSideNavEffective) {\n const sideCollapseWidth = sidebarCollapse.value\n ? getSideCollapseWidth.value\n : props.sidebarMixedWidth\n const sideWidth = sidebarExtraCollapse.value\n ? props.sidebarExtraCollapsedWidth\n : props.sidebarWidth\n\n // 100% - 侧边菜单混合宽度 - 菜单宽度\n sidebarAndExtraWidth = `${sideCollapseWidth + sideWidth}px`\n width = `calc(100% - ${sidebarAndExtraWidth})`\n } else {\n sidebarAndExtraWidth =\n sidebarExpandOnHovering.value && !sidebarExpandOnHover.value\n ? `${getSideCollapseWidth.value}px`\n : `${getSidebarWidth.value}px`\n width = `calc(100% - ${sidebarAndExtraWidth})`\n }\n }\n return {\n sidebarAndExtraWidth,\n width,\n }\n})\n\n// 计算 tabbar 的样式\nconst tabbarStyle = computed((): CSSProperties => {\n let width = ''\n let marginLeft = 0\n\n // 如果不是混合导航,tabbar 的宽度为 100%\n if (!isMixedNav.value || props.sidebarHidden) {\n width = '100%'\n } else if (sidebarEnable.value) {\n // 鼠标在侧边栏上时,且侧边栏展开时的宽度\n const onHoveringWidth = sidebarExpandOnHover.value\n ? props.sidebarWidth\n : getSideCollapseWidth.value\n\n // 设置 marginLeft,根据侧边栏是否折叠来决定\n marginLeft = sidebarCollapse.value ? getSideCollapseWidth.value : onHoveringWidth\n\n // 设置 tabbar 的宽度,计算方式为 100% 减去侧边栏的宽度\n width = `calc(100% - ${sidebarCollapse.value ? getSidebarWidth.value : onHoveringWidth}px)`\n } else {\n // 默认情况下,tabbar 的宽度为 100%\n width = '100%'\n }\n\n return {\n marginLeft: `${marginLeft}px`,\n width,\n }\n})\n\nconst contentOffsetTop = computed(() => {\n const fixed = headerFixed.value\n return fixed &&\n !isFullContent.value &&\n !headerIsHidden.value &&\n (!isHeaderAutoMode.value || scrollY.value < headerWrapperHeight.value)\n ? headerWrapperHeight.value\n : 0\n})\n\nconst contentStyle = computed((): CSSProperties => {\n const { footerEnable, footerFixed, footerHeight } = props\n return {\n marginTop: `${contentOffsetTop.value}px`,\n paddingBottom: `${footerEnable && footerFixed ? footerHeight : 0}px`,\n }\n})\n\nconst headerZIndex = computed(() => {\n const { zIndex } = props\n const offset = isMixedNav.value ? 1 : 0\n return zIndex + offset\n})\n\nconst layoutStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n if (fixed) {\n return {\n overflow: 'hidden',\n height: '100%',\n }\n }\n return {\n minHeight: '100%',\n }\n})\n\nconst wrapperStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n return {\n overflow: fixed ? 'auto' : 'hidden',\n }\n})\n\nconst headerWrapperStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n return {\n height: isFullContent.value ? '0' : `${headerWrapperHeight.value}px`,\n left: isMixedNav.value ? 0 : mainStyle.value.sidebarAndExtraWidth,\n position: fixed ? 'fixed' : 'static',\n top: headerIsHidden.value || isFullContent.value ? `-${headerWrapperHeight.value}px` : 0,\n width: mainStyle.value.width,\n 'z-index': headerZIndex.value,\n }\n})\n\n/**\n * 侧边栏z-index\n */\nconst sidebarZIndex = computed(() => {\n const { isMobile, zIndex } = props\n let offset = isMobile || isSideMode.value ? 1 : -1\n\n if (isMixedNav.value) {\n offset += 1\n }\n\n return zIndex + offset\n})\n\nconst footerWidth = computed(() => {\n if (!props.footerFixed) {\n return '100%'\n }\n\n return mainStyle.value.width\n})\n\nconst maskStyle = computed((): CSSProperties => {\n return { zIndex: props.zIndex }\n})\n\nconst showHeaderToggleButton = computed(() => {\n return (\n props.isMobile ||\n (props.headerToggleSidebarButton &&\n isSideMode.value &&\n !isSidebarMixedNav.value &&\n !isMixedNav.value &&\n !props.isMobile)\n )\n})\n\nconst showHeaderLogo = computed(() => {\n return !isSideMode.value || isMixedNav.value || props.isMobile\n})\n\nwatch(\n () => props.isMobile,\n (val) => {\n if (val) {\n sidebarCollapse.value = true\n }\n },\n {\n immediate: true,\n },\n)\n\nwatch(\n [() => headerWrapperHeight.value, () => isFullContent.value],\n ([height]) => {\n setLayoutHeaderHeight(isFullContent.value ? 0 : height)\n },\n {\n immediate: true,\n },\n)\n\nwatch(\n () => props.footerHeight,\n (height: number) => {\n setLayoutFooterHeight(height)\n },\n {\n immediate: true,\n },\n)\n\nconst mouseMove = () => {\n mouseY.value > headerWrapperHeight.value\n ? (headerIsHidden.value = true)\n : (headerIsHidden.value = false)\n}\nwatch(\n [() => props.headerMode, () => mouseY.value],\n () => {\n if (!isHeaderAutoMode.value || isMixedNav.value || isFullContent.value) {\n if (props.headerMode !== 'auto-scroll') {\n headerIsHidden.value = false\n }\n return\n }\n headerIsHidden.value = true\n mouseMove()\n },\n {\n immediate: true,\n },\n)\n\nconst checkHeaderIsHidden = useThrottleFn((top, bottom, topArrived) => {\n if (scrollY.value < headerWrapperHeight.value) {\n headerIsHidden.value = false\n return\n }\n if (topArrived) {\n headerIsHidden.value = false\n return\n }\n\n if (top) {\n headerIsHidden.value = false\n } else if (bottom) {\n headerIsHidden.value = true\n }\n}, 300)\n\nwatch(\n () => scrollY.value,\n () => {\n if (props.headerMode !== 'auto-scroll' || isMixedNav.value || isFullContent.value) {\n return\n }\n if (isScrolling.value) {\n checkHeaderIsHidden(directions.top, directions.bottom, arrivedState.top)\n }\n },\n)\n\nconst { setContentOffsetTop } = useProConfigInject()\nwatch(\n () => contentOffsetTop.value,\n (newValue) => {\n setContentOffsetTop?.(newValue)\n },\n {\n immediate: true,\n },\n)\n\nfunction handleClickMask() {\n sidebarCollapse.value = true\n}\n\nfunction handleHeaderToggle() {\n if (props.isMobile) {\n sidebarCollapse.value = false\n } else {\n emit('toggleSidebar')\n }\n}\n\nconst idMainContent = ELEMENT_ID_MAIN_CONTENT\n\nuseProLayoutProvide({\n contentOffsetTop,\n})\n</script>\n\n<template>\n <div :class=\"prefixCls\" :style=\"layoutStyle\">\n <LayoutSidebar\n v-if=\"sidebarEnableState\"\n v-model:collapse=\"sidebarCollapse\"\n v-model:expand-on-hover=\"sidebarExpandOnHover\"\n v-model:expand-on-hovering=\"sidebarExpandOnHovering\"\n v-model:extra-collapse=\"sidebarExtraCollapse\"\n v-model:extra-visible=\"sidebarExtraVisible\"\n :show-collapse-button=\"sidebarCollapsedButton\"\n :show-fixed-button=\"sidebarFixedButton\"\n :collapse-width=\"getSideCollapseWidth\"\n :dom-visible=\"!isMobile\"\n :extra-width=\"sidebarExtraWidth\"\n :fixed-extra=\"sidebarExpandOnHover\"\n :header-height=\"isMixedNav ? 0 : headerHeight\"\n :is-sidebar-mixed=\"isSidebarMixedNav || isHeaderMixedNav\"\n :margin-top=\"sidebarMarginTop\"\n :mixed-width=\"sidebarMixedWidth\"\n :show=\"showSidebar\"\n :theme=\"sidebarTheme\"\n :width=\"getSidebarWidth\"\n :z-index=\"sidebarZIndex\"\n @leave=\"() => emit('sideMouseLeave')\"\n >\n <template v-if=\"isSideMode && !isMixedNav\" #logo>\n <slot name=\"logo\"></slot>\n </template>\n\n <template v-if=\"isSidebarMixedNav || isHeaderMixedNav\">\n <slot name=\"mixed-menu\"></slot>\n </template>\n <template v-else>\n <slot name=\"menu\"></slot>\n </template>\n\n <template #extra>\n <slot name=\"side-extra\"></slot>\n </template>\n <template #extra-title>\n <slot name=\"side-extra-title\"></slot>\n </template>\n </LayoutSidebar>\n <div ref=\"contentRef\" :class=\"`${prefixCls}-wrapper`\" :style=\"wrapperStyle\">\n <div\n :class=\"[\n `${prefixCls}-header-wrapper`,\n {\n [`${prefixCls}-header-wrapper--shadow`]: scrollY > 20,\n },\n SCROLL_FIXED_CLASS,\n ]\"\n :style=\"headerWrapperStyle\"\n >\n <LayoutHeader\n v-if=\"headerVisible\"\n :full-width=\"!isSideMode\"\n :height=\"headerHeight\"\n :is-mobile=\"isMobile\"\n :show=\"!isFullContent && !headerHidden\"\n :sidebar-width=\"sidebarWidth\"\n :theme=\"headerTheme\"\n :width=\"mainStyle.width\"\n :z-index=\"headerZIndex\"\n >\n <template v-if=\"showHeaderLogo\" #logo>\n <slot name=\"logo\"></slot>\n </template>\n\n <template #toggle-button>\n <Button\n v-if=\"showHeaderToggleButton\"\n type=\"text\"\n shape=\"circle\"\n style=\"margin-right: 4px; font-size: 14px; color: hsl(var(--pro-foreground))\"\n :icon=\"h(MenuIcon)\"\n @click=\"handleHeaderToggle\"\n />\n </template>\n <slot name=\"header\"></slot>\n </LayoutHeader>\n <LayoutTabbar v-if=\"tabbarEnable\" :height=\"tabbarHeight\" :style=\"tabbarStyle\">\n <slot name=\"tabbar\"></slot>\n </LayoutTabbar>\n </div>\n <LayoutContent\n :id=\"idMainContent\"\n :content-compact=\"contentCompact\"\n :content-compact-width=\"contentCompactWidth\"\n :padding=\"contentPadding\"\n :padding-bottom=\"contentPaddingBottom\"\n :padding-left=\"contentPaddingLeft\"\n :padding-right=\"contentPaddingRight\"\n :padding-top=\"contentPaddingTop\"\n :style=\"contentStyle\"\n >\n <slot name=\"content\"></slot>\n\n <template #overlay>\n <slot name=\"content-overlay\"></slot>\n </template>\n </LayoutContent>\n <LayoutFooter\n v-if=\"footerEnable\"\n :fixed=\"footerFixed\"\n :height=\"footerHeight\"\n :show=\"!isFullContent\"\n :width=\"footerWidth\"\n :z-index=\"zIndex\"\n >\n <slot name=\"footer\"></slot>\n </LayoutFooter>\n </div>\n <slot name=\"extra\"></slot>\n <div\n v-if=\"maskVisible\"\n :style=\"maskStyle\"\n :class=\"`${prefixCls}-mask`\"\n @click=\"handleClickMask\"\n ></div>\n </div>\n</template>\n"],"names":["usePrefixCls","_useModel","ref","useScroll","useLayoutHeaderStyle","useLayoutFooterStyle","useMouse","useLayout","computed","watch","useThrottleFn","useProConfigInject","ELEMENT_ID_MAIN_CONTENT","useProLayoutProvide","_createElementBlock","_unref","_createBlock","LayoutSidebar","sidebarCollapsedButton","sidebarFixedButton","isMobile","headerHeight","sidebarMixedWidth","sidebarTheme","_renderSlot","_createElementVNode","_normalizeClass","SCROLL_FIXED_CLASS","headerVisible","LayoutHeader","headerHidden","sidebarWidth","headerTheme","Button","h","MenuIcon","tabbarEnable","LayoutTabbar","tabbarHeight","_createVNode","LayoutContent","contentCompact","contentCompactWidth","contentPadding","contentPaddingBottom","contentPaddingLeft","contentPaddingRight","contentPaddingTop","footerEnable","LayoutFooter","footerFixed","footerHeight","zIndex"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"layout.vue2.js","sources":["../../../../../../packages/components/layout/src/layout.vue"],"sourcesContent":["<!--\n * @Author: shen\n * @Date: 2025-06-11 09:22:42\n * @LastEditors: shen\n * @LastEditTime: 2025-09-14 09:38:43\n * @Description:\n-->\n<script setup lang=\"ts\">\nimport type { CSSProperties } from 'vue'\nimport type { ProLayoutProps } from './typing'\n\nimport { computed, ref, watch, h } from 'vue'\nimport { useLayoutFooterStyle, useLayoutHeaderStyle } from './hooks/use-layout-style'\nimport { Button } from 'ant-design-vue'\nimport { ELEMENT_ID_MAIN_CONTENT, SCROLL_FIXED_CLASS } from '@pro-design-vue/constants'\nimport { MenuIcon } from './components/icons'\n\nimport { useMouse, useScroll, useThrottleFn } from '@vueuse/core'\n\nimport {\n LayoutContent,\n LayoutFooter,\n LayoutHeader,\n LayoutSidebar,\n LayoutTabbar,\n} from './components'\nimport { useLayout } from './hooks/use-layout'\nimport { usePrefixCls } from '@pro-design-vue/hooks'\nimport { useProLayoutProvide } from './context'\nimport { useProConfigInject } from '../../config-provider'\n\ninterface Props extends ProLayoutProps {}\n\ndefineOptions({\n name: 'ProLayout',\n})\n\nconst props = withDefaults(defineProps<Props>(), {\n contentCompact: 'wide',\n contentCompactWidth: 1200,\n contentPadding: 0,\n contentPaddingBottom: 0,\n contentPaddingLeft: 0,\n contentPaddingRight: 0,\n contentPaddingTop: 0,\n footerEnable: false,\n footerFixed: true,\n footerHeight: 32,\n headerHeight: 50,\n headerHidden: false,\n headerMode: 'fixed',\n headerToggleSidebarButton: true,\n headerVisible: true,\n isMobile: false,\n layout: 'sidebar-nav',\n sidebarCollapsedButton: true,\n sidebarCollapseShowTitle: false,\n sidebarExtraCollapsedWidth: 60,\n sidebarFixedButton: true,\n sidebarHidden: false,\n sidebarMixedWidth: 80,\n sidebarTheme: 'light',\n sidebarWidth: 200,\n sideCollapseWidth: 60,\n sidebarFixed: true,\n tabbarEnable: true,\n tabbarHeight: 40,\n zIndex: 200,\n})\n\nconst emit = defineEmits<{ sideMouseLeave: []; toggleSidebar: [] }>()\n\nconst prefixCls = usePrefixCls('layout')\nconst sidebarCollapse = defineModel<boolean>('sidebarCollapse', {\n default: false,\n})\nconst sidebarExtraVisible = defineModel<boolean>('sidebarExtraVisible')\nconst sidebarExtraCollapse = defineModel<boolean>('sidebarExtraCollapse', {\n default: false,\n})\nconst sidebarExpandOnHover = defineModel<boolean>('sidebarExpandOnHover', {\n default: true,\n})\nconst sidebarEnable = defineModel<boolean>('sidebarEnable', { default: true })\n\n// side是否处于hover状态展开菜单中\nconst sidebarExpandOnHovering = ref(false)\nconst headerIsHidden = ref(false)\nconst contentRef = ref()\n\nconst { arrivedState, directions, isScrolling, y: scrollY } = useScroll(contentRef)\n\nconst { setLayoutHeaderHeight } = useLayoutHeaderStyle()\nconst { setLayoutFooterHeight } = useLayoutFooterStyle()\n\nconst { y: mouseY } = useMouse({ target: contentRef, type: 'client' })\n\nconst {\n currentLayout,\n isFullContent,\n isHeaderMixedNav,\n isHeaderNav,\n isMixedNav,\n isSidebarMixedNav,\n} = useLayout(props)\n\n/**\n * 顶栏是否自动隐藏\n */\nconst isHeaderAutoMode = computed(() => props.headerMode === 'auto')\n\nconst headerWrapperHeight = computed(() => {\n let height = 0\n if (props.headerVisible && !props.headerHidden) {\n height += props.headerHeight\n }\n if (props.tabbarEnable) {\n height += props.tabbarHeight\n }\n return height\n})\n\nconst getSideCollapseWidth = computed(() => {\n const { sidebarCollapseShowTitle, sidebarMixedWidth, sideCollapseWidth } = props\n\n return sidebarCollapseShowTitle || isSidebarMixedNav.value || isHeaderMixedNav.value\n ? sidebarMixedWidth\n : sideCollapseWidth\n})\n\n/**\n * 动态获取侧边区域是否可见\n */\nconst sidebarEnableState = computed(() => {\n return !isHeaderNav.value && sidebarEnable.value\n})\n\n/**\n * 侧边区域离顶部高度\n */\nconst sidebarMarginTop = computed(() => {\n const { headerHeight, isMobile } = props\n return isMixedNav.value && !isMobile ? headerHeight : 0\n})\n\n/**\n * 动态获取侧边宽度\n */\nconst getSidebarWidth = computed(() => {\n const { isMobile, sidebarHidden, sidebarMixedWidth, sidebarWidth } = props\n let width = 0\n\n if (sidebarHidden) {\n return width\n }\n\n if (\n !sidebarEnableState.value ||\n (sidebarHidden && !isSidebarMixedNav.value && !isMixedNav.value && !isHeaderMixedNav.value)\n ) {\n return width\n }\n\n if ((isHeaderMixedNav.value || isSidebarMixedNav.value) && !isMobile) {\n width = sidebarMixedWidth\n } else if (sidebarCollapse.value) {\n width = isMobile ? 0 : getSideCollapseWidth.value\n } else {\n width = sidebarWidth\n }\n return width\n})\n\n/**\n * 获取扩展区域宽度\n */\nconst sidebarExtraWidth = computed(() => {\n const { sidebarExtraCollapsedWidth, sidebarWidth } = props\n\n return sidebarExtraCollapse.value ? sidebarExtraCollapsedWidth : sidebarWidth\n})\n\n/**\n * 是否侧边栏模式,包含混合侧边\n */\nconst isSideMode = computed(\n () =>\n currentLayout.value === 'mixed-nav' ||\n currentLayout.value === 'sidebar-mixed-nav' ||\n currentLayout.value === 'sidebar-nav' ||\n currentLayout.value === 'header-mixed-nav' ||\n currentLayout.value === 'header-sidebar-nav',\n)\n\n/**\n * header fixed值\n */\nconst headerFixed = computed(() => {\n const { headerMode } = props\n return (\n isMixedNav.value ||\n headerMode === 'fixed' ||\n headerMode === 'auto-scroll' ||\n headerMode === 'auto'\n )\n})\n\nconst showSidebar = computed(() => {\n return isSideMode.value && sidebarEnable.value && !props.sidebarHidden\n})\n\n/**\n * 遮罩可见性\n */\nconst maskVisible = computed(() => !sidebarCollapse.value && props.isMobile)\n\nconst mainStyle = computed(() => {\n let width = '100%'\n let sidebarAndExtraWidth = 'unset'\n if (\n headerFixed.value &&\n currentLayout.value !== 'header-nav' &&\n currentLayout.value !== 'mixed-nav' &&\n currentLayout.value !== 'header-sidebar-nav' &&\n showSidebar.value &&\n !props.isMobile\n ) {\n // fixed模式下生效\n const isSideNavEffective =\n (isSidebarMixedNav.value || isHeaderMixedNav.value) &&\n sidebarExpandOnHover.value &&\n sidebarExtraVisible.value\n\n if (isSideNavEffective) {\n const sideCollapseWidth = sidebarCollapse.value\n ? getSideCollapseWidth.value\n : props.sidebarMixedWidth\n const sideWidth = sidebarExtraCollapse.value\n ? props.sidebarExtraCollapsedWidth\n : props.sidebarWidth\n\n // 100% - 侧边菜单混合宽度 - 菜单宽度\n sidebarAndExtraWidth = `${sideCollapseWidth + sideWidth}px`\n width = `calc(100% - ${sidebarAndExtraWidth})`\n } else {\n sidebarAndExtraWidth =\n sidebarExpandOnHovering.value && !sidebarExpandOnHover.value\n ? `${getSideCollapseWidth.value}px`\n : `${getSidebarWidth.value}px`\n width = `calc(100% - ${sidebarAndExtraWidth})`\n }\n }\n return {\n sidebarAndExtraWidth,\n width,\n }\n})\n\n// 计算 tabbar 的样式\nconst tabbarStyle = computed((): CSSProperties => {\n let width = ''\n let marginLeft = 0\n\n // 如果不是混合导航,tabbar 的宽度为 100%\n if (!isMixedNav.value || props.sidebarHidden) {\n width = '100%'\n } else if (sidebarEnable.value) {\n // 鼠标在侧边栏上时,且侧边栏展开时的宽度\n const onHoveringWidth = sidebarExpandOnHover.value\n ? props.sidebarWidth\n : getSideCollapseWidth.value\n\n // 设置 marginLeft,根据侧边栏是否折叠来决定\n marginLeft = sidebarCollapse.value ? getSideCollapseWidth.value : onHoveringWidth\n\n // 设置 tabbar 的宽度,计算方式为 100% 减去侧边栏的宽度\n width = `calc(100% - ${sidebarCollapse.value ? getSidebarWidth.value : onHoveringWidth}px)`\n } else {\n // 默认情况下,tabbar 的宽度为 100%\n width = '100%'\n }\n\n return {\n marginLeft: `${marginLeft}px`,\n width,\n }\n})\n\nconst contentOffsetTop = computed(() => {\n const fixed = headerFixed.value\n return fixed &&\n !isFullContent.value &&\n !headerIsHidden.value &&\n (!isHeaderAutoMode.value || scrollY.value < headerWrapperHeight.value)\n ? headerWrapperHeight.value\n : 0\n})\n\nconst contentStyle = computed((): CSSProperties => {\n const { footerEnable, footerFixed, footerHeight } = props\n return {\n marginTop: `${contentOffsetTop.value}px`,\n paddingBottom: `${footerEnable && footerFixed ? footerHeight : 0}px`,\n }\n})\n\nconst headerZIndex = computed(() => {\n const { zIndex } = props\n const offset = isMixedNav.value ? 1 : 0\n return zIndex + offset\n})\n\nconst layoutStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n if (fixed) {\n return {\n overflow: 'hidden',\n height: '100%',\n }\n }\n return {\n minHeight: '100%',\n }\n})\n\nconst wrapperStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n return {\n overflow: fixed ? 'auto' : 'hidden',\n }\n})\n\nconst headerWrapperStyle = computed((): CSSProperties => {\n const fixed = headerFixed.value\n return {\n height: isFullContent.value ? '0' : `${headerWrapperHeight.value}px`,\n left: isMixedNav.value ? 0 : mainStyle.value.sidebarAndExtraWidth,\n position: fixed ? 'fixed' : 'static',\n top: headerIsHidden.value || isFullContent.value ? `-${headerWrapperHeight.value}px` : 0,\n width: mainStyle.value.width,\n 'z-index': headerZIndex.value,\n }\n})\n\n/**\n * 侧边栏z-index\n */\nconst sidebarZIndex = computed(() => {\n const { isMobile, zIndex } = props\n let offset = isMobile || isSideMode.value ? 1 : -1\n\n if (isMixedNav.value) {\n offset += 1\n }\n\n return zIndex + offset\n})\n\nconst footerWidth = computed(() => {\n if (!props.footerFixed) {\n return '100%'\n }\n\n return mainStyle.value.width\n})\n\nconst maskStyle = computed((): CSSProperties => {\n return { zIndex: props.zIndex }\n})\n\nconst showHeaderToggleButton = computed(() => {\n return (\n props.isMobile ||\n (props.headerToggleSidebarButton &&\n isSideMode.value &&\n !isSidebarMixedNav.value &&\n !isMixedNav.value &&\n !props.isMobile)\n )\n})\n\nconst showHeaderLogo = computed(() => {\n return !isSideMode.value || isMixedNav.value || props.isMobile\n})\n\nwatch(\n () => props.isMobile,\n (val) => {\n if (val) {\n sidebarCollapse.value = true\n }\n },\n {\n immediate: true,\n },\n)\n\nwatch(\n [() => headerWrapperHeight.value, () => isFullContent.value],\n ([height]) => {\n setLayoutHeaderHeight(isFullContent.value ? 0 : height)\n },\n {\n immediate: true,\n },\n)\n\nwatch(\n () => props.footerHeight,\n (height: number) => {\n setLayoutFooterHeight(height)\n },\n {\n immediate: true,\n },\n)\n\nconst mouseMove = () => {\n mouseY.value > headerWrapperHeight.value\n ? (headerIsHidden.value = true)\n : (headerIsHidden.value = false)\n}\nwatch(\n [() => props.headerMode, () => mouseY.value],\n () => {\n if (!isHeaderAutoMode.value || isMixedNav.value || isFullContent.value) {\n if (props.headerMode !== 'auto-scroll') {\n headerIsHidden.value = false\n }\n return\n }\n headerIsHidden.value = true\n mouseMove()\n },\n {\n immediate: true,\n },\n)\n\nconst checkHeaderIsHidden = useThrottleFn((top, bottom, topArrived) => {\n if (scrollY.value < headerWrapperHeight.value) {\n headerIsHidden.value = false\n return\n }\n if (topArrived) {\n headerIsHidden.value = false\n return\n }\n\n if (top) {\n headerIsHidden.value = false\n } else if (bottom) {\n headerIsHidden.value = true\n }\n}, 300)\n\nwatch(\n () => scrollY.value,\n () => {\n if (props.headerMode !== 'auto-scroll' || isMixedNav.value || isFullContent.value) {\n return\n }\n if (isScrolling.value) {\n checkHeaderIsHidden(directions.top, directions.bottom, arrivedState.top)\n }\n },\n)\n\nconst { setContentOffsetTop } = useProConfigInject()\nwatch(\n () => contentOffsetTop.value,\n (newValue) => {\n setContentOffsetTop?.(newValue)\n },\n {\n immediate: true,\n },\n)\n\nfunction handleClickMask() {\n sidebarCollapse.value = true\n}\n\nfunction handleHeaderToggle() {\n if (props.isMobile) {\n sidebarCollapse.value = false\n } else {\n emit('toggleSidebar')\n }\n}\n\nconst idMainContent = ELEMENT_ID_MAIN_CONTENT\n\nuseProLayoutProvide({\n contentOffsetTop,\n})\n</script>\n\n<template>\n <div :class=\"prefixCls\" :style=\"layoutStyle\">\n <LayoutSidebar\n v-if=\"sidebarEnableState\"\n v-model:collapse=\"sidebarCollapse\"\n v-model:expand-on-hover=\"sidebarExpandOnHover\"\n v-model:expand-on-hovering=\"sidebarExpandOnHovering\"\n v-model:extra-collapse=\"sidebarExtraCollapse\"\n v-model:extra-visible=\"sidebarExtraVisible\"\n :show-collapse-button=\"sidebarCollapsedButton\"\n :show-fixed-button=\"sidebarFixedButton\"\n :collapse-width=\"getSideCollapseWidth\"\n :dom-visible=\"!isMobile\"\n :extra-width=\"sidebarExtraWidth\"\n :fixed-extra=\"sidebarExpandOnHover\"\n :header-height=\"isMixedNav ? 0 : headerHeight\"\n :is-sidebar-mixed=\"isSidebarMixedNav || isHeaderMixedNav\"\n :margin-top=\"sidebarMarginTop\"\n :mixed-width=\"sidebarMixedWidth\"\n :show=\"showSidebar\"\n :fixed=\"sidebarFixed\"\n :theme=\"sidebarTheme\"\n :width=\"getSidebarWidth\"\n :z-index=\"sidebarZIndex\"\n @leave=\"() => emit('sideMouseLeave')\"\n >\n <template v-if=\"isSideMode && !isMixedNav\" #logo>\n <slot name=\"logo\"></slot>\n </template>\n\n <template v-if=\"isSidebarMixedNav || isHeaderMixedNav\">\n <slot name=\"mixed-menu\"></slot>\n </template>\n <template v-else>\n <slot name=\"menu\"></slot>\n </template>\n\n <template #extra>\n <slot name=\"side-extra\"></slot>\n </template>\n <template #extra-title>\n <slot name=\"side-extra-title\"></slot>\n </template>\n </LayoutSidebar>\n <div ref=\"contentRef\" :class=\"`${prefixCls}-wrapper`\" :style=\"wrapperStyle\">\n <div\n :class=\"[\n `${prefixCls}-header-wrapper`,\n {\n [`${prefixCls}-header-wrapper--shadow`]: scrollY > 20,\n },\n SCROLL_FIXED_CLASS,\n ]\"\n :style=\"headerWrapperStyle\"\n >\n <LayoutHeader\n v-if=\"headerVisible\"\n :full-width=\"!isSideMode\"\n :height=\"headerHeight\"\n :is-mobile=\"isMobile\"\n :show=\"!isFullContent && !headerHidden\"\n :sidebar-width=\"sidebarWidth\"\n :theme=\"headerTheme\"\n :width=\"mainStyle.width\"\n :z-index=\"headerZIndex\"\n >\n <template v-if=\"showHeaderLogo\" #logo>\n <slot name=\"logo\"></slot>\n </template>\n\n <template #toggle-button>\n <Button\n v-if=\"showHeaderToggleButton\"\n type=\"text\"\n shape=\"circle\"\n style=\"margin-right: 4px; font-size: 14px; color: hsl(var(--pro-foreground))\"\n :icon=\"h(MenuIcon)\"\n @click=\"handleHeaderToggle\"\n />\n </template>\n <slot name=\"header\"></slot>\n </LayoutHeader>\n <LayoutTabbar v-if=\"tabbarEnable\" :height=\"tabbarHeight\" :style=\"tabbarStyle\">\n <slot name=\"tabbar\"></slot>\n </LayoutTabbar>\n </div>\n <LayoutContent\n :id=\"idMainContent\"\n :content-compact=\"contentCompact\"\n :content-compact-width=\"contentCompactWidth\"\n :padding=\"contentPadding\"\n :padding-bottom=\"contentPaddingBottom\"\n :padding-left=\"contentPaddingLeft\"\n :padding-right=\"contentPaddingRight\"\n :padding-top=\"contentPaddingTop\"\n :style=\"contentStyle\"\n >\n <slot name=\"content\"></slot>\n\n <template #overlay>\n <slot name=\"content-overlay\"></slot>\n </template>\n </LayoutContent>\n <LayoutFooter\n v-if=\"footerEnable\"\n :fixed=\"footerFixed\"\n :height=\"footerHeight\"\n :show=\"!isFullContent\"\n :width=\"footerWidth\"\n :z-index=\"zIndex\"\n >\n <slot name=\"footer\"></slot>\n </LayoutFooter>\n </div>\n <slot name=\"extra\"></slot>\n <div\n v-if=\"maskVisible\"\n :style=\"maskStyle\"\n :class=\"`${prefixCls}-mask`\"\n @click=\"handleClickMask\"\n ></div>\n </div>\n</template>\n"],"names":["usePrefixCls","_useModel","ref","useScroll","useLayoutHeaderStyle","useLayoutFooterStyle","useMouse","useLayout","computed","watch","useThrottleFn","useProConfigInject","ELEMENT_ID_MAIN_CONTENT","useProLayoutProvide","_createElementBlock","_unref","_createBlock","LayoutSidebar","sidebarCollapsedButton","sidebarFixedButton","isMobile","headerHeight","sidebarMixedWidth","sidebarFixed","sidebarTheme","_renderSlot","_createElementVNode","_normalizeClass","SCROLL_FIXED_CLASS","headerVisible","LayoutHeader","headerHidden","sidebarWidth","headerTheme","Button","h","MenuIcon","tabbarEnable","LayoutTabbar","tabbarHeight","_createVNode","LayoutContent","contentCompact","contentCompactWidth","contentPadding","contentPaddingBottom","contentPaddingLeft","contentPaddingRight","contentPaddingTop","footerEnable","LayoutFooter","footerFixed","footerHeight","zIndex"],"mappings":"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"}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import type { PropType } from 'vue';
|
2
|
-
import type { Bordered,
|
3
|
-
import type { ProQueryFilterProps } from 'pro-design-vue/es/components/form';
|
2
|
+
import type { Bordered, SearchConfig } from '../interface';
|
3
|
+
import type { ProFormItemType, ProQueryFilterProps } from 'pro-design-vue/es/components/form';
|
4
4
|
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
5
5
|
prefixCls: StringConstructor;
|
6
|
-
|
7
|
-
type: PropType<
|
6
|
+
items: {
|
7
|
+
type: PropType<ProFormItemType[]>;
|
8
8
|
default: () => never[];
|
9
9
|
};
|
10
10
|
search: {
|
@@ -39,8 +39,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
39
39
|
};
|
40
40
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
41
41
|
prefixCls: StringConstructor;
|
42
|
-
|
43
|
-
type: PropType<
|
42
|
+
items: {
|
43
|
+
type: PropType<ProFormItemType[]>;
|
44
44
|
default: () => never[];
|
45
45
|
};
|
46
46
|
search: {
|
@@ -78,8 +78,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
78
78
|
search: SearchConfig;
|
79
79
|
onReset: ((formData?: import("pro-design-vue").Entity | undefined) => void) | undefined;
|
80
80
|
onSubmit: ((formData: import("pro-design-vue").Entity) => Promise<boolean | void> | boolean | void) | undefined;
|
81
|
+
items: ProFormItemType[];
|
81
82
|
manual: boolean;
|
82
|
-
columns: ColumnsType;
|
83
83
|
beforeSearchSubmit: (params: Partial<any>) => any;
|
84
84
|
cardBordered: Bordered;
|
85
85
|
onFormSearchSubmit: (params: any) => void;
|
@@ -11,25 +11,10 @@ var omit = require('../../../../../utils/omit.js');
|
|
11
11
|
function _isSlot(s) {
|
12
12
|
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
|
13
13
|
}
|
14
|
-
const flatColumnsHandle = (columns) => {
|
15
|
-
const flatColumns = [];
|
16
|
-
const loopColumns = (columns2) => {
|
17
|
-
columns2.forEach((column) => {
|
18
|
-
var _a;
|
19
|
-
if ((_a = column == null ? void 0 : column.children) == null ? void 0 : _a.length) {
|
20
|
-
loopColumns(column == null ? void 0 : column.children);
|
21
|
-
} else {
|
22
|
-
flatColumns.push(column);
|
23
|
-
}
|
24
|
-
});
|
25
|
-
};
|
26
|
-
loopColumns(columns);
|
27
|
-
return flatColumns;
|
28
|
-
};
|
29
14
|
var FormRender = /* @__PURE__ */ vue.defineComponent({
|
30
15
|
props: {
|
31
16
|
prefixCls: String,
|
32
|
-
|
17
|
+
items: {
|
33
18
|
type: Array,
|
34
19
|
default: () => []
|
35
20
|
},
|
@@ -67,25 +52,6 @@ var FormRender = /* @__PURE__ */ vue.defineComponent({
|
|
67
52
|
setup: (props) => {
|
68
53
|
var _a, _b, _c;
|
69
54
|
const activeTabKey = vue.ref(((_a = props.search) == null ? void 0 : _a.cardProps) !== false ? (_c = (_b = props.search) == null ? void 0 : _b.cardProps) == null ? void 0 : _c.activeTabKey : "");
|
70
|
-
const formItems = vue.computed(() => {
|
71
|
-
var _a2, _b2, _c2;
|
72
|
-
if ((_b2 = (_a2 = props.search) == null ? void 0 : _a2.items) == null ? void 0 : _b2.length) {
|
73
|
-
return (_c2 = props.search) == null ? void 0 : _c2.items;
|
74
|
-
}
|
75
|
-
return flatColumnsHandle(props.columns).filter((item) => {
|
76
|
-
if (item.hideInSearch) {
|
77
|
-
return false;
|
78
|
-
}
|
79
|
-
return true;
|
80
|
-
}).map((item) => {
|
81
|
-
return {
|
82
|
-
...item,
|
83
|
-
width: void 0,
|
84
|
-
tooltip: item.headerTooltip,
|
85
|
-
name: item.dataIndex
|
86
|
-
};
|
87
|
-
});
|
88
|
-
});
|
89
55
|
const cardProps = vue.computed(() => {
|
90
56
|
var _a2, _b2;
|
91
57
|
if (!((_a2 = props.search) == null ? void 0 : _a2.cardProps)) {
|
@@ -120,7 +86,7 @@ var FormRender = /* @__PURE__ */ vue.defineComponent({
|
|
120
86
|
const searchDom = vue.createVNode(index.ProQueryFilter, vue.mergeProps({
|
121
87
|
"class": `${props.prefixCls}-form`
|
122
88
|
}, omit.omit(props.search || {}, ["cardProps", "tabName"]), {
|
123
|
-
"items":
|
89
|
+
"items": props.items,
|
124
90
|
"loading": props.loading,
|
125
91
|
"style": {
|
126
92
|
marginBlockEnd: ((_a2 = props.search) == null ? void 0 : _a2.cardProps) !== false ? 0 : "40px"
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Form.js","sources":["../../../../../../../../packages/components/table/src/components/Form/Form.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-08-27 13:45:47\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { Bordered, ColumnGroupType, ColumnsType, SearchConfig } from '../interface'\nimport type { ProFormItemType, ProQueryFilterProps } from '@pro-design-vue/components/form'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { ProQueryFilter } from '@pro-design-vue/components/form'\nimport { Card } from 'ant-design-vue'\nimport { isBordered } from '../../utils/util'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\n\nconst flatColumnsHandle = (columns: ColumnsType) => {\n const flatColumns: ColumnsType = []\n const loopColumns = (columns: ColumnsType) => {\n columns.forEach((column: ColumnGroupType) => {\n if (column?.children?.length) {\n loopColumns(column?.children)\n } else {\n flatColumns.push(column)\n }\n })\n }\n loopColumns(columns)\n return flatColumns\n}\n\nexport default defineComponent({\n props: {\n prefixCls: String,\n columns: {\n type: Array as PropType<ColumnsType>,\n default: () => [],\n },\n search: {\n type: Object as PropType<SearchConfig>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n loading: Boolean,\n manual: Boolean,\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<any>) => any>,\n default: (searchParams: Partial<any>) => searchParams,\n },\n onSubmit: {\n type: Function as PropType<ProQueryFilterProps['onFinish']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProQueryFilterProps['onReset']>,\n default: undefined,\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onSearchTabChange: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup: (props) => {\n const activeTabKey = ref(\n props.search?.cardProps !== false ? props.search?.cardProps?.activeTabKey : '',\n )\n const formItems = computed(() => {\n if (props.search?.items?.length) {\n return props.search?.items\n }\n return flatColumnsHandle(props.columns)\n .filter((item) => {\n if (item.hideInSearch) {\n return false\n }\n return true\n })\n .map((item) => {\n return {\n ...item,\n width: undefined,\n tooltip: item.headerTooltip,\n name: item.dataIndex,\n } as ProFormItemType\n })\n })\n\n const cardProps = computed(() => {\n if (!props.search?.cardProps) {\n return {}\n }\n return props.search?.cardProps\n })\n\n /** 提交表单,根据两种模式不同,方法不相同 */\n const submit = async (values: any, firstLoad: boolean) => {\n const tabParams = cardProps.value?.tabList?.length\n ? {\n [props.search?.tabName ?? 'tab']:\n cardProps.value.activeTabKey || cardProps.value?.tabList?.[0]?.key,\n }\n : {}\n const submitParams = omitUndefined(\n props.beforeSearchSubmit({\n ...values,\n ...tabParams,\n }),\n )\n props.onFormSearchSubmit?.(submitParams)\n if (props.onSubmit && !firstLoad) {\n props.onSubmit(submitParams)\n }\n }\n\n const onTabChange = (key: string) => {\n activeTabKey.value = key\n props.onSearchTabChange?.({\n [props.search?.tabName ?? 'tab']: key,\n })\n cardProps.value?.onTabChange?.(key)\n }\n\n return () => {\n const searchDom = (\n <ProQueryFilter\n class={`${props.prefixCls}-form`}\n {...omit(props.search || {}, ['cardProps', 'tabName'])}\n items={formItems.value}\n loading={props.loading}\n style={{ marginBlockEnd: props.search?.cardProps !== false ? 0 : '40px' }}\n onReset={props.onReset}\n onFinish={(values) => {\n submit(values, false)\n }}\n onValuesChange={(values) => {\n if (props.search?.submitter === false) {\n submit(values, true)\n }\n props.search?.onValuesChange?.(values)\n }}\n onInit={(values) => {\n submit(values, true)\n }}\n />\n )\n if (props.search?.cardProps !== false) {\n return (\n <Card\n class={`${props.prefixCls}-search`}\n activeTabKey={activeTabKey.value}\n bordered={isBordered('search', props.cardBordered)}\n style={{ marginBlockEnd: '16px' }}\n {...omit(cardProps.value ?? {}, ['onTabChange', 'activeTabKey'])}\n onTabChange={onTabChange}\n >\n {searchDom}\n </Card>\n )\n }\n return searchDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","flatColumnsHandle","columns","flatColumns","loopColumns","forEach","column","children","length","push","props","prefixCls","String","type","Array","default","search","undefined","cardBordered","Boolean","loading","manual","beforeSearchSubmit","Function","searchParams","onSubmit","onReset","onFormSearchSubmit","onSearchTabChange","setup","activeTabKey","ref","cardProps","formItems","computed","_a","_b","_c","items","filter","item","hideInSearch","map","width","tooltip","headerTooltip","name","dataIndex","submit","values","firstLoad","tabParams","value","tabList","tabName","key","submitParams","omitUndefined","onTabChange","searchDom","_createVNode","ProQueryFilter","_mergeProps","omit","marginBlockEnd","submitter","onValuesChange","Card","isBordered"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Form.js","sources":["../../../../../../../../packages/components/table/src/components/Form/Form.tsx"],"sourcesContent":["/*\n * @Author: shen\n * @Date: 2023-11-07 15:07:59\n * @LastEditors: shen\n * @LastEditTime: 2025-09-14 22:12:43\n * @Description:\n */\nimport type { PropType } from 'vue'\nimport type { Bordered, SearchConfig } from '../interface'\nimport type { ProFormItemType, ProQueryFilterProps } from '@pro-design-vue/components/form'\n\nimport { computed, defineComponent, ref } from 'vue'\nimport { ProQueryFilter } from '@pro-design-vue/components/form'\nimport { Card } from 'ant-design-vue'\nimport { isBordered } from '../../utils/util'\nimport { omit, omitUndefined } from '@pro-design-vue/utils'\n\nexport default defineComponent({\n props: {\n prefixCls: String,\n items: {\n type: Array as PropType<ProFormItemType[]>,\n default: () => [],\n },\n search: {\n type: Object as PropType<SearchConfig>,\n default: undefined,\n },\n cardBordered: {\n type: [Boolean, Object] as PropType<Bordered>,\n default: undefined,\n },\n loading: Boolean,\n manual: Boolean,\n beforeSearchSubmit: {\n type: Function as PropType<(params: Partial<any>) => any>,\n default: (searchParams: Partial<any>) => searchParams,\n },\n onSubmit: {\n type: Function as PropType<ProQueryFilterProps['onFinish']>,\n default: undefined,\n },\n onReset: {\n type: Function as PropType<ProQueryFilterProps['onReset']>,\n default: undefined,\n },\n onFormSearchSubmit: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n onSearchTabChange: {\n type: Function as PropType<(params: any) => void>,\n default: undefined,\n },\n },\n setup: (props) => {\n const activeTabKey = ref(\n props.search?.cardProps !== false ? props.search?.cardProps?.activeTabKey : '',\n )\n\n const cardProps = computed(() => {\n if (!props.search?.cardProps) {\n return {}\n }\n return props.search?.cardProps\n })\n\n /** 提交表单,根据两种模式不同,方法不相同 */\n const submit = async (values: any, firstLoad: boolean) => {\n const tabParams = cardProps.value?.tabList?.length\n ? {\n [props.search?.tabName ?? 'tab']:\n cardProps.value.activeTabKey || cardProps.value?.tabList?.[0]?.key,\n }\n : {}\n const submitParams = omitUndefined(\n props.beforeSearchSubmit({\n ...values,\n ...tabParams,\n }),\n )\n props.onFormSearchSubmit?.(submitParams)\n if (props.onSubmit && !firstLoad) {\n props.onSubmit(submitParams)\n }\n }\n\n const onTabChange = (key: string) => {\n activeTabKey.value = key\n props.onSearchTabChange?.({\n [props.search?.tabName ?? 'tab']: key,\n })\n cardProps.value?.onTabChange?.(key)\n }\n\n return () => {\n const searchDom = (\n <ProQueryFilter\n class={`${props.prefixCls}-form`}\n {...omit(props.search || {}, ['cardProps', 'tabName'])}\n items={props.items}\n loading={props.loading}\n style={{ marginBlockEnd: props.search?.cardProps !== false ? 0 : '40px' }}\n onReset={props.onReset}\n onFinish={(values) => {\n submit(values, false)\n }}\n onValuesChange={(values) => {\n if (props.search?.submitter === false) {\n submit(values, true)\n }\n props.search?.onValuesChange?.(values)\n }}\n onInit={(values) => {\n submit(values, true)\n }}\n />\n )\n if (props.search?.cardProps !== false) {\n return (\n <Card\n class={`${props.prefixCls}-search`}\n activeTabKey={activeTabKey.value}\n bordered={isBordered('search', props.cardBordered)}\n style={{ marginBlockEnd: '16px' }}\n {...omit(cardProps.value ?? {}, ['onTabChange', 'activeTabKey'])}\n onTabChange={onTabChange}\n >\n {searchDom}\n </Card>\n )\n }\n return searchDom\n }\n },\n})\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","props","prefixCls","String","items","type","Array","default","search","undefined","cardBordered","Boolean","loading","manual","beforeSearchSubmit","Function","searchParams","onSubmit","onReset","onFormSearchSubmit","onSearchTabChange","setup","activeTabKey","ref","cardProps","computed","_a","_b","submit","values","firstLoad","_c","tabParams","value","tabList","length","tabName","key","submitParams","omitUndefined","onTabChange","searchDom","_createVNode","ProQueryFilter","_mergeProps","omit","marginBlockEnd","submitter","onValuesChange","Card","isBordered"],"mappings":"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"}
|
@@ -13,6 +13,7 @@ var useFetchData = require('../hooks/useFetchData.js');
|
|
13
13
|
var useContainer = require('../hooks/useContainer.js');
|
14
14
|
var genProColumnToColumn = require('../utils/genProColumnToColumn.js');
|
15
15
|
var columnSort = require('../utils/columnSort.js');
|
16
|
+
var flatColumnsHandle = require('../utils/flatColumnsHandle.js');
|
16
17
|
var useMergedState = require('../hooks/useMergedState.js');
|
17
18
|
var InteralTable = require('./InteralTable.vue.js');
|
18
19
|
var ToolBar = require('./ToolBar/ToolBar.vue.js');
|
@@ -152,6 +153,28 @@ var Table = /* @__PURE__ */ vue.defineComponent({
|
|
152
153
|
};
|
153
154
|
return loopFilter(tableColumn.value);
|
154
155
|
});
|
156
|
+
const formItems = vue.computed(() => {
|
157
|
+
var _a2, _b, _c;
|
158
|
+
if (!props.search) {
|
159
|
+
return [];
|
160
|
+
}
|
161
|
+
if ((_b = (_a2 = props.search) == null ? void 0 : _a2.items) == null ? void 0 : _b.length) {
|
162
|
+
return (_c = props.search) == null ? void 0 : _c.items;
|
163
|
+
}
|
164
|
+
return flatColumnsHandle.flatColumnsHandle(props.columns).filter((item) => {
|
165
|
+
if (item.hideInSearch) {
|
166
|
+
return false;
|
167
|
+
}
|
168
|
+
return true;
|
169
|
+
}).map((item) => {
|
170
|
+
return {
|
171
|
+
...item,
|
172
|
+
width: void 0,
|
173
|
+
tooltip: item.headerTooltip,
|
174
|
+
name: item.dataIndex
|
175
|
+
};
|
176
|
+
});
|
177
|
+
});
|
155
178
|
const preserveRecordsRef = vue.ref(/* @__PURE__ */ new Map());
|
156
179
|
const getRowKey = vue.computed(() => typeof props.rowKey == "function" ? props.rowKey : (record) => {
|
157
180
|
return record == null ? void 0 : record[props.rowKey || "id"];
|
@@ -199,7 +222,8 @@ var Table = /* @__PURE__ */ vue.defineComponent({
|
|
199
222
|
};
|
200
223
|
const hideToolbar = vue.computed(() => props.options === false && !props.title && !slots.title && !slots.toolbar && !slots.searchExtra && !slots.toolbarActions);
|
201
224
|
const notNeedCardDom = vue.computed(() => {
|
202
|
-
|
225
|
+
var _a2;
|
226
|
+
if ((props.search === false || !((_a2 = formItems.value) == null ? void 0 : _a2.length)) && props.toolBar === false) {
|
203
227
|
return true;
|
204
228
|
}
|
205
229
|
return false;
|
@@ -266,7 +290,7 @@ var Table = /* @__PURE__ */ vue.defineComponent({
|
|
266
290
|
reset
|
267
291
|
});
|
268
292
|
return () => {
|
269
|
-
var _a2, _b;
|
293
|
+
var _a2, _b, _c;
|
270
294
|
const {
|
271
295
|
expandIcon = slots.expandIcon,
|
272
296
|
expandedRowRender = slots.expandedRowRender
|
@@ -335,9 +359,9 @@ var Table = /* @__PURE__ */ vue.defineComponent({
|
|
335
359
|
}, attrs, {
|
336
360
|
"class": [`${mergedPrefixCls.value}-wrapper ${props.bordered ? mergedPrefixCls.value + "-wrapper-bordered" : ""} ${"dark" === config.theme.value ? mergedPrefixCls.value + "-wrapper-dark" : ""} ${pollingLoading.value ? mergedPrefixCls.value + "-wrapper-polling" : ""}`, attrs.class],
|
337
361
|
"onKeydown": onKeydown
|
338
|
-
}), [props.search !== false && vue.createVNode(Form.default, {
|
362
|
+
}), [props.search !== false && !!((_c = formItems.value) == null ? void 0 : _c.length) && vue.createVNode(Form.default, {
|
339
363
|
"prefixCls": mergedPrefixCls.value,
|
340
|
-
"
|
364
|
+
"items": formItems.value,
|
341
365
|
"cardBordered": props.cardBordered,
|
342
366
|
"search": props.search,
|
343
367
|
"loading": formSubmitLoading.value,
|