@element-plus/nightly 0.0.20220710 → 0.0.20220713
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.css +1 -1
- package/dist/index.full.js +126 -208
- package/dist/index.full.min.js +15 -15
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +15 -15
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +126 -208
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/cascader/src/index.mjs +10 -9
- package/es/components/cascader/src/index.mjs.map +1 -1
- package/es/components/form/src/form-item2.mjs +1 -1
- package/es/components/form/src/form-item2.mjs.map +1 -1
- package/es/components/popconfirm/index.d.ts +0 -1
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +0 -1
- package/es/components/popconfirm/src/popconfirm2.mjs +2 -5
- package/es/components/popconfirm/src/popconfirm2.mjs.map +1 -1
- package/es/components/popper/src/content2.mjs +4 -4
- package/es/components/popper/src/content2.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar2.mjs +3 -1
- package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
- package/es/components/table/index.d.ts +21 -31
- package/es/components/table/src/table/style-helper.d.ts +21 -31
- package/es/components/table/src/table/style-helper.mjs +68 -95
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/table/src/table-layout.d.ts +1 -5
- package/es/components/table/src/table-layout.mjs +3 -52
- package/es/components/table/src/table-layout.mjs.map +1 -1
- package/es/components/table/src/table.mjs +29 -34
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.vue.d.ts +21 -31
- package/es/components/table/src/util.mjs +6 -11
- package/es/components/table/src/util.mjs.map +1 -1
- package/es/components/table-v2/index.d.ts +1 -1
- package/es/components/table-v2/src/components/header.d.ts +1 -1
- package/es/components/table-v2/src/table-grid.d.ts +1 -1
- package/es/components/table-v2/src/table-v2.d.ts +1 -1
- package/es/components/tree/src/model/useDragNode.mjs.map +1 -1
- package/es/components/tree/src/tree.type.d.ts +3 -2
- package/es/utils/dom/aria.d.ts +2 -3
- package/es/utils/dom/aria.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/cascader/src/index.js +10 -9
- package/lib/components/cascader/src/index.js.map +1 -1
- package/lib/components/form/src/form-item2.js +1 -1
- package/lib/components/form/src/form-item2.js.map +1 -1
- package/lib/components/popconfirm/index.d.ts +0 -1
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +0 -1
- package/lib/components/popconfirm/src/popconfirm2.js +2 -5
- package/lib/components/popconfirm/src/popconfirm2.js.map +1 -1
- package/lib/components/popper/src/content2.js +4 -4
- package/lib/components/popper/src/content2.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar2.js +3 -1
- package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
- package/lib/components/table/index.d.ts +21 -31
- package/lib/components/table/src/table/style-helper.d.ts +21 -31
- package/lib/components/table/src/table/style-helper.js +67 -94
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/table/src/table-layout.d.ts +1 -5
- package/lib/components/table/src/table-layout.js +3 -52
- package/lib/components/table/src/table-layout.js.map +1 -1
- package/lib/components/table/src/table.js +29 -34
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.vue.d.ts +21 -31
- package/lib/components/table/src/util.js +6 -11
- package/lib/components/table/src/util.js.map +1 -1
- package/lib/components/table-v2/index.d.ts +1 -1
- package/lib/components/table-v2/src/components/header.d.ts +1 -1
- package/lib/components/table-v2/src/table-grid.d.ts +1 -1
- package/lib/components/table-v2/src/table-v2.d.ts +1 -1
- package/lib/components/tree/src/model/useDragNode.js.map +1 -1
- package/lib/components/tree/src/tree.type.d.ts +3 -2
- package/lib/utils/dom/aria.d.ts +2 -3
- package/lib/utils/dom/aria.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/theme-chalk/el-table.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table.scss +7 -1
- package/web-types.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popconfirm2.js","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n trigger=\"click\"\n effect=\"light\"\n :popper-class=\"`${ns.namespace.value}-popover`\"\n :teleported=\"teleported\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :hide-after=\"hideAfter\"\n :persistent=\"persistent\"\n >\n <template #content>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('main')\">\n <el-icon\n v-if=\"!hideIcon && icon\"\n :class=\"ns.e('icon')\"\n :style=\"{ color: iconColor }\"\n >\n <component :is=\"icon\" />\n </el-icon>\n {{ title }}\n </div>\n <div :class=\"ns.e('action')\">\n <el-button\n size=\"small\"\n :type=\"cancelButtonType === 'text' ? '' : cancelButtonType\"\n :text=\"cancelButtonType === 'text'\"\n @click=\"cancel\"\n >\n {{ finalCancelButtonText }}\n </el-button>\n <el-button\n size=\"small\"\n :type=\"confirmButtonType === 'text' ? '' : confirmButtonType\"\n :text=\"confirmButtonType === 'text'\"\n @click=\"confirm\"\n >\n {{ finalConfirmButtonText }}\n </el-button>\n </div>\n </div>\n </template>\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { popconfirmProps } from './popconfirm'\n\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElPopconfirm',\n})\n\nconst props = defineProps(popconfirmProps)\n\nconst { t } = useLocale()\nconst ns = useNamespace('popconfirm')\nconst tooltipRef = ref<TooltipInstance>()\n\nconst hidePopper = () => {\n tooltipRef.value?.onClose?.()\n}\n\nconst
|
|
1
|
+
{"version":3,"file":"popconfirm2.js","sources":["../../../../../../packages/components/popconfirm/src/popconfirm.vue"],"sourcesContent":["<template>\n <el-tooltip\n ref=\"tooltipRef\"\n trigger=\"click\"\n effect=\"light\"\n :popper-class=\"`${ns.namespace.value}-popover`\"\n :teleported=\"teleported\"\n :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n :hide-after=\"hideAfter\"\n :persistent=\"persistent\"\n >\n <template #content>\n <div :class=\"ns.b()\">\n <div :class=\"ns.e('main')\">\n <el-icon\n v-if=\"!hideIcon && icon\"\n :class=\"ns.e('icon')\"\n :style=\"{ color: iconColor }\"\n >\n <component :is=\"icon\" />\n </el-icon>\n {{ title }}\n </div>\n <div :class=\"ns.e('action')\">\n <el-button\n size=\"small\"\n :type=\"cancelButtonType === 'text' ? '' : cancelButtonType\"\n :text=\"cancelButtonType === 'text'\"\n @click=\"cancel\"\n >\n {{ finalCancelButtonText }}\n </el-button>\n <el-button\n size=\"small\"\n :type=\"confirmButtonType === 'text' ? '' : confirmButtonType\"\n :text=\"confirmButtonType === 'text'\"\n @click=\"confirm\"\n >\n {{ finalConfirmButtonText }}\n </el-button>\n </div>\n </div>\n </template>\n <template v-if=\"$slots.reference\">\n <slot name=\"reference\" />\n </template>\n </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, ref } from 'vue'\nimport ElButton from '@element-plus/components/button'\nimport ElIcon from '@element-plus/components/icon'\nimport ElTooltip from '@element-plus/components/tooltip'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { popconfirmProps } from './popconfirm'\n\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\n\ndefineOptions({\n name: 'ElPopconfirm',\n})\n\nconst props = defineProps(popconfirmProps)\n\nconst { t } = useLocale()\nconst ns = useNamespace('popconfirm')\nconst tooltipRef = ref<TooltipInstance>()\n\nconst hidePopper = () => {\n tooltipRef.value?.onClose?.()\n}\n\nconst confirm = (e: Event) => {\n props.onConfirm?.(e)\n hidePopper()\n}\nconst cancel = (e: Event) => {\n props.onCancel?.(e)\n hidePopper()\n}\n\nconst finalConfirmButtonText = computed(\n () => props.confirmButtonText || t('el.popconfirm.confirmButtonText')\n)\nconst finalCancelButtonText = computed(\n () => props.cancelButtonText || t('el.popconfirm.cancelButtonText')\n)\n</script>\n"],"names":["useLocale","useNamespace","ref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAiEA,IAAA,MAAA,EAAA,MAAAA,eAAA,EAAA,CAAA;AACA,IAAA,MAAA,EAAA,GAAAC,qBAAA,YAAA,CAAA,CAAA;AACA,IAAA,MAAA,aAAAC,OAAA,EAAA,CAAA;AAEA,IAAA,MAAA,aAAA,MAAA;AACA,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAAA,MACA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,UAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AAEA,KAAA,CAAA;AACA,IAAA,MAAA,iBAAA;AACA,MAAA,IAAA,EAAA,CAAA;AAAA,MACA,CAAA,EAAA,GAAA,KAAA,CAAA,SAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAA,CAAA,CAAA,CAAA;AACA,MAAA,UAAA,EAAA,CAAA;AACA,KAAA,CAAA;AACA,IAAA,MAAA,MAAA,GAAA,CAAA,CAAA,KAAA;AAAA,MACA,IAAA,EAAA,CAAA;AAEA,MAAA,CAAA,EAAA,0BAAA,GACA,KAAA,CAAA,GAAA,EAAA,CAAA,UAAA,EAAA,CAAA,CAAA,CAAA;AAEA,MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -98,14 +98,14 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
98
98
|
const onFocusInTrap = (event) => {
|
|
99
99
|
var _a;
|
|
100
100
|
if (props.visible && !trapped.value) {
|
|
101
|
-
if (event.relatedTarget) {
|
|
102
|
-
;
|
|
103
|
-
(_a = event.relatedTarget) == null ? void 0 : _a.focus();
|
|
104
|
-
}
|
|
105
101
|
if (event.target) {
|
|
106
102
|
focusStartRef.value = event.target;
|
|
107
103
|
}
|
|
108
104
|
trapped.value = true;
|
|
105
|
+
if (event.relatedTarget) {
|
|
106
|
+
;
|
|
107
|
+
(_a = event.relatedTarget) == null ? void 0 : _a.focus();
|
|
108
|
+
}
|
|
109
109
|
}
|
|
110
110
|
};
|
|
111
111
|
const onFocusoutPrevented = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content2.js","sources":["../../../../../../packages/components/popper/src/content.vue"],"sourcesContent":["<template>\n <div\n ref=\"popperContentRef\"\n :style=\"contentStyle\"\n :class=\"contentClass\"\n tabindex=\"-1\"\n @mouseenter=\"(e) => $emit('mouseenter', e)\"\n @mouseleave=\"(e) => $emit('mouseleave', e)\"\n >\n <el-focus-trap\n :trapped=\"trapped\"\n :trap-on-focus-in=\"true\"\n :focus-trap-el=\"popperContentRef\"\n :focus-start-el=\"focusStartRef\"\n @focus-after-trapped=\"onFocusAfterTrapped\"\n @focus-after-released=\"onFocusAfterReleased\"\n @focusin=\"onFocusInTrap\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onReleaseRequested\"\n >\n <slot />\n </el-focus-trap>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// @ts-nocheck\nimport {\n computed,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n toRefs,\n unref,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { isNil } from 'lodash-unified'\nimport { createPopper } from '@popperjs/core'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport { useNamespace, useZIndex } from '@element-plus/hooks'\nimport {\n POPPER_CONTENT_INJECTION_KEY,\n POPPER_INJECTION_KEY,\n formItemContextKey,\n} from '@element-plus/tokens'\nimport { isElement } from '@element-plus/utils'\nimport { usePopperContentEmits, usePopperContentProps } from './content'\nimport { buildPopperOptions, unwrapMeasurableEl } from './utils'\n\nimport type { WatchStopHandle } from 'vue'\n\ndefineOptions({\n name: 'ElPopperContent',\n})\n\nconst emit = defineEmits(usePopperContentEmits)\n\nconst props = defineProps(usePopperContentProps)\n\nconst { popperInstanceRef, contentRef, triggerRef, role } = inject(\n POPPER_INJECTION_KEY,\n undefined\n)!\nconst formItemContext = inject(formItemContextKey, undefined)\nconst { nextZIndex } = useZIndex()\nconst ns = useNamespace('popper')\nconst popperContentRef = ref<HTMLElement>()\nconst focusStartRef = ref<string | HTMLElement>('first')\nconst arrowRef = ref<HTMLElement>()\nconst arrowOffset = ref<number>()\nprovide(POPPER_CONTENT_INJECTION_KEY, {\n arrowRef,\n arrowOffset,\n})\n\nif (\n formItemContext &&\n (formItemContext.addInputId || formItemContext.removeInputId)\n) {\n // disallow auto-id from inside popper content\n provide(formItemContextKey, {\n ...formItemContext,\n addInputId: NOOP,\n removeInputId: NOOP,\n })\n}\n\nconst contentZIndex = ref<number>(props.zIndex || nextZIndex())\nconst trapped = ref<boolean>(false)\n\nlet triggerTargetAriaStopWatch: WatchStopHandle | undefined = undefined\n\nconst computedReference = computed(\n () => unwrapMeasurableEl(props.referenceEl) || unref(triggerRef)\n)\n\nconst contentStyle = computed(\n () => [{ zIndex: unref(contentZIndex) }, props.popperStyle] as any\n)\n\nconst contentClass = computed(() => [\n ns.b(),\n ns.is('pure', props.pure),\n ns.is(props.effect),\n props.popperClass,\n])\n\nconst ariaModal = computed<string | undefined>(() => {\n return role && role.value === 'dialog' ? 'false' : undefined\n})\n\nconst createPopperInstance = ({ referenceEl, popperContentEl, arrowEl }) => {\n const options = buildPopperOptions(props, {\n arrowEl,\n arrowOffset: unref(arrowOffset),\n })\n\n return createPopper(referenceEl, popperContentEl, options)\n}\n\nconst updatePopper = (shouldUpdateZIndex = true) => {\n unref(popperInstanceRef)?.update()\n shouldUpdateZIndex && (contentZIndex.value = props.zIndex || nextZIndex())\n}\n\nconst togglePopperAlive = () => {\n const monitorable = { name: 'eventListeners', enabled: props.visible }\n unref(popperInstanceRef)?.setOptions?.((options) => ({\n ...options,\n modifiers: [...(options.modifiers || []), monitorable],\n }))\n updatePopper(false)\n if (props.visible && props.focusOnShow) {\n trapped.value = true\n } else if (props.visible === false) {\n trapped.value = false\n }\n}\n\nconst onFocusAfterTrapped = () => {\n emit('focus')\n}\n\nconst onFocusAfterReleased = () => {\n focusStartRef.value = 'first'\n emit('blur')\n}\n\nconst onFocusInTrap = (event: FocusEvent) => {\n if (props.visible && !trapped.value) {\n if (event.relatedTarget) {\n ;(event.relatedTarget as HTMLElement)?.focus()\n }\n if (event.target) {\n focusStartRef.value = event.target as typeof focusStartRef.value\n }\n trapped.value = true\n }\n}\n\nconst onFocusoutPrevented = () => {\n if (!props.trapping) {\n trapped.value = false\n }\n}\n\nconst onReleaseRequested = () => {\n trapped.value = false\n emit('close')\n}\n\nonMounted(() => {\n let updateHandle: WatchStopHandle\n watch(\n computedReference,\n (referenceEl) => {\n updateHandle?.()\n const popperInstance = unref(popperInstanceRef)\n popperInstance?.destroy?.()\n if (referenceEl) {\n const popperContentEl = unref(popperContentRef)!\n contentRef.value = popperContentEl\n\n popperInstanceRef.value = createPopperInstance({\n referenceEl,\n popperContentEl,\n arrowEl: unref(arrowRef),\n })\n\n updateHandle = watch(\n () => referenceEl.getBoundingClientRect(),\n () => updatePopper(),\n {\n immediate: true,\n }\n )\n } else {\n popperInstanceRef.value = undefined\n }\n },\n {\n immediate: true,\n }\n )\n\n watch(\n () => props.triggerTargetEl,\n (triggerTargetEl, prevTriggerTargetEl) => {\n triggerTargetAriaStopWatch?.()\n triggerTargetAriaStopWatch = undefined\n\n const el = unref(triggerTargetEl || popperContentRef.value)\n const prevEl = unref(prevTriggerTargetEl || popperContentRef.value)\n\n if (isElement(el)) {\n const { ariaLabel, id } = toRefs(props)\n triggerTargetAriaStopWatch = watch(\n [role, ariaLabel, ariaModal, id],\n (watches) => {\n ;['role', 'aria-label', 'aria-modal', 'id'].forEach((key, idx) => {\n isNil(watches[idx])\n ? el.removeAttribute(key)\n : el.setAttribute(key, watches[idx])\n })\n },\n { immediate: true }\n )\n }\n if (isElement(prevEl)) {\n ;['role', 'aria-label', 'aria-modal', 'id'].forEach((key) => {\n prevEl.removeAttribute(key)\n })\n }\n },\n { immediate: true }\n )\n\n watch(() => props.visible, togglePopperAlive, { immediate: true })\n\n watch(\n () =>\n buildPopperOptions(props, {\n arrowEl: unref(arrowRef),\n arrowOffset: unref(arrowOffset),\n }),\n (option) => popperInstanceRef.value?.setOptions(option)\n )\n})\n\nonBeforeUnmount(() => {\n triggerTargetAriaStopWatch?.()\n triggerTargetAriaStopWatch = undefined\n})\n\ndefineExpose({\n /**\n * @description popper content element\n */\n popperContentRef,\n /**\n * @description popperjs instance\n */\n popperInstanceRef,\n /**\n * @description method for updating popper\n */\n updatePopper,\n\n /**\n * @description content style\n */\n contentStyle,\n})\n</script>\n"],"names":["inject","POPPER_INJECTION_KEY","formItemContextKey","useZIndex","useNamespace","ref","provide","POPPER_CONTENT_INJECTION_KEY","NOOP","computed","unwrapMeasurableEl","unref","buildPopperOptions","createPopper","onMounted","watch","isElement","toRefs","isNil","onBeforeUnmount"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"content2.js","sources":["../../../../../../packages/components/popper/src/content.vue"],"sourcesContent":["<template>\n <div\n ref=\"popperContentRef\"\n :style=\"contentStyle\"\n :class=\"contentClass\"\n tabindex=\"-1\"\n @mouseenter=\"(e) => $emit('mouseenter', e)\"\n @mouseleave=\"(e) => $emit('mouseleave', e)\"\n >\n <el-focus-trap\n :trapped=\"trapped\"\n :trap-on-focus-in=\"true\"\n :focus-trap-el=\"popperContentRef\"\n :focus-start-el=\"focusStartRef\"\n @focus-after-trapped=\"onFocusAfterTrapped\"\n @focus-after-released=\"onFocusAfterReleased\"\n @focusin=\"onFocusInTrap\"\n @focusout-prevented=\"onFocusoutPrevented\"\n @release-requested=\"onReleaseRequested\"\n >\n <slot />\n </el-focus-trap>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// @ts-nocheck\nimport {\n computed,\n inject,\n onBeforeUnmount,\n onMounted,\n provide,\n ref,\n toRefs,\n unref,\n watch,\n} from 'vue'\nimport { NOOP } from '@vue/shared'\nimport { isNil } from 'lodash-unified'\nimport { createPopper } from '@popperjs/core'\nimport ElFocusTrap from '@element-plus/components/focus-trap'\nimport { useNamespace, useZIndex } from '@element-plus/hooks'\nimport {\n POPPER_CONTENT_INJECTION_KEY,\n POPPER_INJECTION_KEY,\n formItemContextKey,\n} from '@element-plus/tokens'\nimport { isElement } from '@element-plus/utils'\nimport { usePopperContentEmits, usePopperContentProps } from './content'\nimport { buildPopperOptions, unwrapMeasurableEl } from './utils'\n\nimport type { WatchStopHandle } from 'vue'\n\ndefineOptions({\n name: 'ElPopperContent',\n})\n\nconst emit = defineEmits(usePopperContentEmits)\n\nconst props = defineProps(usePopperContentProps)\n\nconst { popperInstanceRef, contentRef, triggerRef, role } = inject(\n POPPER_INJECTION_KEY,\n undefined\n)!\nconst formItemContext = inject(formItemContextKey, undefined)\nconst { nextZIndex } = useZIndex()\nconst ns = useNamespace('popper')\nconst popperContentRef = ref<HTMLElement>()\nconst focusStartRef = ref<string | HTMLElement>('first')\nconst arrowRef = ref<HTMLElement>()\nconst arrowOffset = ref<number>()\nprovide(POPPER_CONTENT_INJECTION_KEY, {\n arrowRef,\n arrowOffset,\n})\n\nif (\n formItemContext &&\n (formItemContext.addInputId || formItemContext.removeInputId)\n) {\n // disallow auto-id from inside popper content\n provide(formItemContextKey, {\n ...formItemContext,\n addInputId: NOOP,\n removeInputId: NOOP,\n })\n}\n\nconst contentZIndex = ref<number>(props.zIndex || nextZIndex())\nconst trapped = ref<boolean>(false)\n\nlet triggerTargetAriaStopWatch: WatchStopHandle | undefined = undefined\n\nconst computedReference = computed(\n () => unwrapMeasurableEl(props.referenceEl) || unref(triggerRef)\n)\n\nconst contentStyle = computed(\n () => [{ zIndex: unref(contentZIndex) }, props.popperStyle] as any\n)\n\nconst contentClass = computed(() => [\n ns.b(),\n ns.is('pure', props.pure),\n ns.is(props.effect),\n props.popperClass,\n])\n\nconst ariaModal = computed<string | undefined>(() => {\n return role && role.value === 'dialog' ? 'false' : undefined\n})\n\nconst createPopperInstance = ({ referenceEl, popperContentEl, arrowEl }) => {\n const options = buildPopperOptions(props, {\n arrowEl,\n arrowOffset: unref(arrowOffset),\n })\n\n return createPopper(referenceEl, popperContentEl, options)\n}\n\nconst updatePopper = (shouldUpdateZIndex = true) => {\n unref(popperInstanceRef)?.update()\n shouldUpdateZIndex && (contentZIndex.value = props.zIndex || nextZIndex())\n}\n\nconst togglePopperAlive = () => {\n const monitorable = { name: 'eventListeners', enabled: props.visible }\n unref(popperInstanceRef)?.setOptions?.((options) => ({\n ...options,\n modifiers: [...(options.modifiers || []), monitorable],\n }))\n updatePopper(false)\n if (props.visible && props.focusOnShow) {\n trapped.value = true\n } else if (props.visible === false) {\n trapped.value = false\n }\n}\n\nconst onFocusAfterTrapped = () => {\n emit('focus')\n}\n\nconst onFocusAfterReleased = () => {\n focusStartRef.value = 'first'\n emit('blur')\n}\n\nconst onFocusInTrap = (event: FocusEvent) => {\n if (props.visible && !trapped.value) {\n if (event.target) {\n focusStartRef.value = event.target as typeof focusStartRef.value\n }\n trapped.value = true\n if (event.relatedTarget) {\n ;(event.relatedTarget as HTMLElement)?.focus()\n }\n }\n}\n\nconst onFocusoutPrevented = () => {\n if (!props.trapping) {\n trapped.value = false\n }\n}\n\nconst onReleaseRequested = () => {\n trapped.value = false\n emit('close')\n}\n\nonMounted(() => {\n let updateHandle: WatchStopHandle\n watch(\n computedReference,\n (referenceEl) => {\n updateHandle?.()\n const popperInstance = unref(popperInstanceRef)\n popperInstance?.destroy?.()\n if (referenceEl) {\n const popperContentEl = unref(popperContentRef)!\n contentRef.value = popperContentEl\n\n popperInstanceRef.value = createPopperInstance({\n referenceEl,\n popperContentEl,\n arrowEl: unref(arrowRef),\n })\n\n updateHandle = watch(\n () => referenceEl.getBoundingClientRect(),\n () => updatePopper(),\n {\n immediate: true,\n }\n )\n } else {\n popperInstanceRef.value = undefined\n }\n },\n {\n immediate: true,\n }\n )\n\n watch(\n () => props.triggerTargetEl,\n (triggerTargetEl, prevTriggerTargetEl) => {\n triggerTargetAriaStopWatch?.()\n triggerTargetAriaStopWatch = undefined\n\n const el = unref(triggerTargetEl || popperContentRef.value)\n const prevEl = unref(prevTriggerTargetEl || popperContentRef.value)\n\n if (isElement(el)) {\n const { ariaLabel, id } = toRefs(props)\n triggerTargetAriaStopWatch = watch(\n [role, ariaLabel, ariaModal, id],\n (watches) => {\n ;['role', 'aria-label', 'aria-modal', 'id'].forEach((key, idx) => {\n isNil(watches[idx])\n ? el.removeAttribute(key)\n : el.setAttribute(key, watches[idx])\n })\n },\n { immediate: true }\n )\n }\n if (isElement(prevEl)) {\n ;['role', 'aria-label', 'aria-modal', 'id'].forEach((key) => {\n prevEl.removeAttribute(key)\n })\n }\n },\n { immediate: true }\n )\n\n watch(() => props.visible, togglePopperAlive, { immediate: true })\n\n watch(\n () =>\n buildPopperOptions(props, {\n arrowEl: unref(arrowRef),\n arrowOffset: unref(arrowOffset),\n }),\n (option) => popperInstanceRef.value?.setOptions(option)\n )\n})\n\nonBeforeUnmount(() => {\n triggerTargetAriaStopWatch?.()\n triggerTargetAriaStopWatch = undefined\n})\n\ndefineExpose({\n /**\n * @description popper content element\n */\n popperContentRef,\n /**\n * @description popperjs instance\n */\n popperInstanceRef,\n /**\n * @description method for updating popper\n */\n updatePopper,\n\n /**\n * @description content style\n */\n contentStyle,\n})\n</script>\n"],"names":["inject","POPPER_INJECTION_KEY","formItemContextKey","useZIndex","useNamespace","ref","provide","POPPER_CONTENT_INJECTION_KEY","NOOP","computed","unwrapMeasurableEl","unref","buildPopperOptions","createPopper","onMounted","watch","isElement","toRefs","isNil","onBeforeUnmount"],"mappings":"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"}
|
|
@@ -117,7 +117,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
117
117
|
}));
|
|
118
118
|
vue.onMounted(() => {
|
|
119
119
|
if (!props.native)
|
|
120
|
-
vue.nextTick(() =>
|
|
120
|
+
vue.nextTick(() => {
|
|
121
|
+
update();
|
|
122
|
+
});
|
|
121
123
|
});
|
|
122
124
|
vue.onUpdated(() => update());
|
|
123
125
|
expose({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollbar2.js","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.vue"],"sourcesContent":["<template>\n <div ref=\"scrollbar$\" :class=\"ns.b()\">\n <div\n ref=\"wrap$\"\n :class=\"[\n wrapClass,\n ns.e('wrap'),\n { [ns.em('wrap', 'hidden-default')]: !native },\n ]\"\n :style=\"style\"\n @scroll=\"handleScroll\"\n >\n <component\n :is=\"tag\"\n ref=\"resize$\"\n :class=\"[ns.e('view'), viewClass]\"\n :style=\"viewStyle\"\n >\n <slot />\n </component>\n </div>\n <template v-if=\"!native\">\n <bar\n ref=\"barRef\"\n :height=\"sizeHeight\"\n :width=\"sizeWidth\"\n :always=\"always\"\n :ratio-x=\"ratioX\"\n :ratio-y=\"ratioY\"\n />\n </template>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n onUpdated,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { useEventListener, useResizeObserver } from '@vueuse/core'\nimport { addUnit, debugWarn, isNumber, isObject } from '@element-plus/utils'\nimport { scrollbarContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { GAP } from './util'\nimport Bar from './bar.vue'\nimport { scrollbarEmits, scrollbarProps } from './scrollbar'\nimport type { BarInstance } from './bar'\nimport type { CSSProperties, StyleValue } from 'vue'\n\ndefineOptions({\n name: 'ElScrollbar',\n})\n\nconst props = defineProps(scrollbarProps)\nconst emit = defineEmits(scrollbarEmits)\n\nconst ns = useNamespace('scrollbar')\n\nlet stopResizeObserver: (() => void) | undefined = undefined\nlet stopResizeListener: (() => void) | undefined = undefined\n\nconst scrollbar$ = ref<HTMLDivElement>()\nconst wrap$ = ref<HTMLDivElement>()\nconst resize$ = ref<HTMLElement>()\n\nconst sizeWidth = ref('0')\nconst sizeHeight = ref('0')\nconst barRef = ref<BarInstance>()\nconst ratioY = ref(1)\nconst ratioX = ref(1)\nconst SCOPE = 'ElScrollbar'\n\nconst style = computed<StyleValue>(() => {\n const style: CSSProperties = {}\n if (props.height) style.height = addUnit(props.height)\n if (props.maxHeight) style.maxHeight = addUnit(props.maxHeight)\n return [props.wrapStyle, style]\n})\n\nconst handleScroll = () => {\n if (wrap$.value) {\n barRef.value?.handleScroll(wrap$.value)\n\n emit('scroll', {\n scrollTop: wrap$.value.scrollTop,\n scrollLeft: wrap$.value.scrollLeft,\n })\n }\n}\n\n// TODO: refactor method overrides, due to script setup dts\n// @ts-nocheck\nfunction scrollTo(xCord: number, yCord?: number): void\nfunction scrollTo(options: ScrollToOptions): void\nfunction scrollTo(arg1: unknown, arg2?: number) {\n if (isObject(arg1)) {\n wrap$.value!.scrollTo(arg1)\n } else if (isNumber(arg1) && isNumber(arg2)) {\n wrap$.value!.scrollTo(arg1, arg2)\n }\n}\n\nconst setScrollTop = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(SCOPE, 'value must be a number')\n return\n }\n wrap$.value!.scrollTop = value\n}\n\nconst setScrollLeft = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(SCOPE, 'value must be a number')\n return\n }\n wrap$.value!.scrollLeft = value\n}\n\nconst update = () => {\n if (!wrap$.value) return\n const offsetHeight = wrap$.value.offsetHeight - GAP\n const offsetWidth = wrap$.value.offsetWidth - GAP\n\n const originalHeight = offsetHeight ** 2 / wrap$.value.scrollHeight\n const originalWidth = offsetWidth ** 2 / wrap$.value.scrollWidth\n const height = Math.max(originalHeight, props.minSize)\n const width = Math.max(originalWidth, props.minSize)\n\n ratioY.value =\n originalHeight /\n (offsetHeight - originalHeight) /\n (height / (offsetHeight - height))\n ratioX.value =\n originalWidth /\n (offsetWidth - originalWidth) /\n (width / (offsetWidth - width))\n\n sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : ''\n sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : ''\n}\n\nwatch(\n () => props.noresize,\n (noresize) => {\n if (noresize) {\n stopResizeObserver?.()\n stopResizeListener?.()\n } else {\n ;({ stop: stopResizeObserver } = useResizeObserver(resize$, update))\n stopResizeListener = useEventListener('resize', update)\n }\n },\n { immediate: true }\n)\n\nwatch(\n () => [props.maxHeight, props.height],\n () => {\n if (!props.native)\n nextTick(() => {\n update()\n if (wrap$.value) {\n barRef.value?.handleScroll(wrap$.value)\n }\n })\n }\n)\n\nprovide(\n scrollbarContextKey,\n reactive({\n scrollbarElement: scrollbar$,\n wrapElement: wrap$,\n })\n)\n\nonMounted(() => {\n if (!props.native)
|
|
1
|
+
{"version":3,"file":"scrollbar2.js","sources":["../../../../../../packages/components/scrollbar/src/scrollbar.vue"],"sourcesContent":["<template>\n <div ref=\"scrollbar$\" :class=\"ns.b()\">\n <div\n ref=\"wrap$\"\n :class=\"[\n wrapClass,\n ns.e('wrap'),\n { [ns.em('wrap', 'hidden-default')]: !native },\n ]\"\n :style=\"style\"\n @scroll=\"handleScroll\"\n >\n <component\n :is=\"tag\"\n ref=\"resize$\"\n :class=\"[ns.e('view'), viewClass]\"\n :style=\"viewStyle\"\n >\n <slot />\n </component>\n </div>\n <template v-if=\"!native\">\n <bar\n ref=\"barRef\"\n :height=\"sizeHeight\"\n :width=\"sizeWidth\"\n :always=\"always\"\n :ratio-x=\"ratioX\"\n :ratio-y=\"ratioY\"\n />\n </template>\n </div>\n</template>\n<script lang=\"ts\" setup>\nimport {\n computed,\n nextTick,\n onMounted,\n onUpdated,\n provide,\n reactive,\n ref,\n watch,\n} from 'vue'\nimport { useEventListener, useResizeObserver } from '@vueuse/core'\nimport { addUnit, debugWarn, isNumber, isObject } from '@element-plus/utils'\nimport { scrollbarContextKey } from '@element-plus/tokens'\nimport { useNamespace } from '@element-plus/hooks'\nimport { GAP } from './util'\nimport Bar from './bar.vue'\nimport { scrollbarEmits, scrollbarProps } from './scrollbar'\nimport type { BarInstance } from './bar'\nimport type { CSSProperties, StyleValue } from 'vue'\n\ndefineOptions({\n name: 'ElScrollbar',\n})\n\nconst props = defineProps(scrollbarProps)\nconst emit = defineEmits(scrollbarEmits)\n\nconst ns = useNamespace('scrollbar')\n\nlet stopResizeObserver: (() => void) | undefined = undefined\nlet stopResizeListener: (() => void) | undefined = undefined\n\nconst scrollbar$ = ref<HTMLDivElement>()\nconst wrap$ = ref<HTMLDivElement>()\nconst resize$ = ref<HTMLElement>()\n\nconst sizeWidth = ref('0')\nconst sizeHeight = ref('0')\nconst barRef = ref<BarInstance>()\nconst ratioY = ref(1)\nconst ratioX = ref(1)\nconst SCOPE = 'ElScrollbar'\n\nconst style = computed<StyleValue>(() => {\n const style: CSSProperties = {}\n if (props.height) style.height = addUnit(props.height)\n if (props.maxHeight) style.maxHeight = addUnit(props.maxHeight)\n return [props.wrapStyle, style]\n})\n\nconst handleScroll = () => {\n if (wrap$.value) {\n barRef.value?.handleScroll(wrap$.value)\n\n emit('scroll', {\n scrollTop: wrap$.value.scrollTop,\n scrollLeft: wrap$.value.scrollLeft,\n })\n }\n}\n\n// TODO: refactor method overrides, due to script setup dts\n// @ts-nocheck\nfunction scrollTo(xCord: number, yCord?: number): void\nfunction scrollTo(options: ScrollToOptions): void\nfunction scrollTo(arg1: unknown, arg2?: number) {\n if (isObject(arg1)) {\n wrap$.value!.scrollTo(arg1)\n } else if (isNumber(arg1) && isNumber(arg2)) {\n wrap$.value!.scrollTo(arg1, arg2)\n }\n}\n\nconst setScrollTop = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(SCOPE, 'value must be a number')\n return\n }\n wrap$.value!.scrollTop = value\n}\n\nconst setScrollLeft = (value: number) => {\n if (!isNumber(value)) {\n debugWarn(SCOPE, 'value must be a number')\n return\n }\n wrap$.value!.scrollLeft = value\n}\n\nconst update = () => {\n if (!wrap$.value) return\n const offsetHeight = wrap$.value.offsetHeight - GAP\n const offsetWidth = wrap$.value.offsetWidth - GAP\n\n const originalHeight = offsetHeight ** 2 / wrap$.value.scrollHeight\n const originalWidth = offsetWidth ** 2 / wrap$.value.scrollWidth\n const height = Math.max(originalHeight, props.minSize)\n const width = Math.max(originalWidth, props.minSize)\n\n ratioY.value =\n originalHeight /\n (offsetHeight - originalHeight) /\n (height / (offsetHeight - height))\n ratioX.value =\n originalWidth /\n (offsetWidth - originalWidth) /\n (width / (offsetWidth - width))\n\n sizeHeight.value = height + GAP < offsetHeight ? `${height}px` : ''\n sizeWidth.value = width + GAP < offsetWidth ? `${width}px` : ''\n}\n\nwatch(\n () => props.noresize,\n (noresize) => {\n if (noresize) {\n stopResizeObserver?.()\n stopResizeListener?.()\n } else {\n ;({ stop: stopResizeObserver } = useResizeObserver(resize$, update))\n stopResizeListener = useEventListener('resize', update)\n }\n },\n { immediate: true }\n)\n\nwatch(\n () => [props.maxHeight, props.height],\n () => {\n if (!props.native)\n nextTick(() => {\n update()\n if (wrap$.value) {\n barRef.value?.handleScroll(wrap$.value)\n }\n })\n }\n)\n\nprovide(\n scrollbarContextKey,\n reactive({\n scrollbarElement: scrollbar$,\n wrapElement: wrap$,\n })\n)\n\nonMounted(() => {\n if (!props.native)\n nextTick(() => {\n update()\n })\n})\nonUpdated(() => update())\n\ndefineExpose({\n /** @description scrollbar wrap ref */\n wrap$,\n /** @description update scrollbar state manually */\n update,\n /** @description scrolls to a particular set of coordinates */\n scrollTo,\n /** @description set distance to scroll top */\n setScrollTop,\n /** @description set distance to scroll left */\n setScrollLeft,\n /** @description handle scroll event */\n handleScroll,\n})\n</script>\n"],"names":["useNamespace","ref","style","computed","addUnit","isObject","isNumber","debugWarn","GAP","watch","useResizeObserver","useEventListener","nextTick","provide","scrollbarContextKey","reactive","onMounted","onUpdated"],"mappings":"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"}
|
|
@@ -134,20 +134,10 @@ export declare const ElTable: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
134
134
|
resizeState: import("vue").Ref<{
|
|
135
135
|
width: number | null;
|
|
136
136
|
height: number | null;
|
|
137
|
+
headerHeight: number | null;
|
|
137
138
|
}>;
|
|
138
139
|
isGroup: import("vue").Ref<boolean>;
|
|
139
140
|
bodyWidth: import("vue").ComputedRef<string>;
|
|
140
|
-
bodyHeight: import("vue").ComputedRef<{
|
|
141
|
-
height: string;
|
|
142
|
-
'max-height'?: undefined;
|
|
143
|
-
} | {
|
|
144
|
-
'max-height': string;
|
|
145
|
-
height?: undefined;
|
|
146
|
-
} | {
|
|
147
|
-
height?: undefined;
|
|
148
|
-
'max-height'?: undefined;
|
|
149
|
-
}>;
|
|
150
|
-
height: import("vue").ComputedRef<string | number | undefined>;
|
|
151
141
|
tableBodyStyles: import("vue").ComputedRef<{
|
|
152
142
|
width: string;
|
|
153
143
|
}>;
|
|
@@ -157,26 +147,6 @@ export declare const ElTable: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
157
147
|
} | null>;
|
|
158
148
|
debouncedUpdateLayout: import("lodash").DebouncedFunc<() => void>;
|
|
159
149
|
handleFixedMousewheel: (event: any, data: any) => void;
|
|
160
|
-
fixedHeight: import("vue").ComputedRef<{
|
|
161
|
-
bottom: number;
|
|
162
|
-
height?: undefined;
|
|
163
|
-
} | {
|
|
164
|
-
bottom: string;
|
|
165
|
-
height?: undefined;
|
|
166
|
-
} | {
|
|
167
|
-
height: string;
|
|
168
|
-
bottom?: undefined;
|
|
169
|
-
}>;
|
|
170
|
-
fixedBodyHeight: import("vue").ComputedRef<{
|
|
171
|
-
height: string;
|
|
172
|
-
'max-height'?: undefined;
|
|
173
|
-
} | {
|
|
174
|
-
'max-height': string;
|
|
175
|
-
height?: undefined;
|
|
176
|
-
} | {
|
|
177
|
-
height?: undefined;
|
|
178
|
-
'max-height'?: undefined;
|
|
179
|
-
}>;
|
|
180
150
|
setCurrentRow: (row: any) => void;
|
|
181
151
|
getSelectionRows: () => any;
|
|
182
152
|
toggleRowSelection: (row: any, selected: boolean) => void;
|
|
@@ -197,6 +167,26 @@ export declare const ElTable: import("element-plus/es/utils").SFCWithInstall<imp
|
|
|
197
167
|
display: string;
|
|
198
168
|
verticalAlign: string;
|
|
199
169
|
};
|
|
170
|
+
tableInnerStyle: import("vue").ComputedRef<{
|
|
171
|
+
height: string | number;
|
|
172
|
+
maxHeight?: undefined;
|
|
173
|
+
} | {
|
|
174
|
+
maxHeight: string | number;
|
|
175
|
+
height?: undefined;
|
|
176
|
+
} | {
|
|
177
|
+
height?: undefined;
|
|
178
|
+
maxHeight?: undefined;
|
|
179
|
+
}>;
|
|
180
|
+
scrollbarStyle: import("vue").ComputedRef<{
|
|
181
|
+
height: string;
|
|
182
|
+
maxHeight?: undefined;
|
|
183
|
+
} | {
|
|
184
|
+
maxHeight: string;
|
|
185
|
+
height?: undefined;
|
|
186
|
+
} | {
|
|
187
|
+
height?: undefined;
|
|
188
|
+
maxHeight?: undefined;
|
|
189
|
+
}>;
|
|
200
190
|
scrollBarRef: import("vue").Ref<any>;
|
|
201
191
|
scrollTo: (options: number | ScrollToOptions, yCoord?: number | undefined) => void;
|
|
202
192
|
setScrollLeft: (left?: number | undefined) => void;
|
|
@@ -9,47 +9,17 @@ declare function useStyle<T>(props: TableProps<T>, layout: TableLayout<T>, store
|
|
|
9
9
|
handleMouseLeave: () => void;
|
|
10
10
|
handleHeaderFooterMousewheel: (event: any, data: any) => void;
|
|
11
11
|
tableSize: import("vue").ComputedRef<"" | "default" | "small" | "large">;
|
|
12
|
-
bodyHeight: import("vue").ComputedRef<{
|
|
13
|
-
height: string;
|
|
14
|
-
'max-height'?: undefined;
|
|
15
|
-
} | {
|
|
16
|
-
'max-height': string;
|
|
17
|
-
height?: undefined;
|
|
18
|
-
} | {
|
|
19
|
-
height?: undefined;
|
|
20
|
-
'max-height'?: undefined;
|
|
21
|
-
}>;
|
|
22
|
-
height: import("vue").ComputedRef<string | number | undefined>;
|
|
23
12
|
emptyBlockStyle: import("vue").ComputedRef<{
|
|
24
13
|
width: string;
|
|
25
14
|
height: string;
|
|
26
15
|
} | null>;
|
|
27
16
|
handleFixedMousewheel: (event: any, data: any) => void;
|
|
28
|
-
fixedHeight: import("vue").ComputedRef<{
|
|
29
|
-
bottom: number;
|
|
30
|
-
height?: undefined;
|
|
31
|
-
} | {
|
|
32
|
-
bottom: string;
|
|
33
|
-
height?: undefined;
|
|
34
|
-
} | {
|
|
35
|
-
height: string;
|
|
36
|
-
bottom?: undefined;
|
|
37
|
-
}>;
|
|
38
|
-
fixedBodyHeight: import("vue").ComputedRef<{
|
|
39
|
-
height: string;
|
|
40
|
-
'max-height'?: undefined;
|
|
41
|
-
} | {
|
|
42
|
-
'max-height': string;
|
|
43
|
-
height?: undefined;
|
|
44
|
-
} | {
|
|
45
|
-
height?: undefined;
|
|
46
|
-
'max-height'?: undefined;
|
|
47
|
-
}>;
|
|
48
17
|
resizeProxyVisible: import("vue").Ref<boolean>;
|
|
49
18
|
bodyWidth: import("vue").ComputedRef<string>;
|
|
50
19
|
resizeState: import("vue").Ref<{
|
|
51
20
|
width: null | number;
|
|
52
21
|
height: null | number;
|
|
22
|
+
headerHeight: null | number;
|
|
53
23
|
}>;
|
|
54
24
|
doLayout: () => void;
|
|
55
25
|
tableBodyStyles: import("vue").ComputedRef<{
|
|
@@ -60,5 +30,25 @@ declare function useStyle<T>(props: TableProps<T>, layout: TableLayout<T>, store
|
|
|
60
30
|
display: string;
|
|
61
31
|
verticalAlign: string;
|
|
62
32
|
};
|
|
33
|
+
tableInnerStyle: import("vue").ComputedRef<{
|
|
34
|
+
height: string | number;
|
|
35
|
+
maxHeight?: undefined;
|
|
36
|
+
} | {
|
|
37
|
+
maxHeight: string | number;
|
|
38
|
+
height?: undefined;
|
|
39
|
+
} | {
|
|
40
|
+
height?: undefined;
|
|
41
|
+
maxHeight?: undefined;
|
|
42
|
+
}>;
|
|
43
|
+
scrollbarStyle: import("vue").ComputedRef<{
|
|
44
|
+
height: string;
|
|
45
|
+
maxHeight?: undefined;
|
|
46
|
+
} | {
|
|
47
|
+
maxHeight: string;
|
|
48
|
+
height?: undefined;
|
|
49
|
+
} | {
|
|
50
|
+
height?: undefined;
|
|
51
|
+
maxHeight?: undefined;
|
|
52
|
+
}>;
|
|
63
53
|
};
|
|
64
54
|
export default useStyle;
|
|
@@ -4,11 +4,8 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var vue = require('vue');
|
|
6
6
|
var core = require('@vueuse/core');
|
|
7
|
-
require('../../../../utils/index.js');
|
|
8
7
|
require('../../../../hooks/index.js');
|
|
9
|
-
var util = require('../util.js');
|
|
10
8
|
var index = require('../../../../hooks/use-common-props/index.js');
|
|
11
|
-
var shared = require('@vue/shared');
|
|
12
9
|
|
|
13
10
|
function useStyle(props, layout, store, table) {
|
|
14
11
|
const isHidden = vue.ref(false);
|
|
@@ -19,14 +16,18 @@ function useStyle(props, layout, store, table) {
|
|
|
19
16
|
};
|
|
20
17
|
const resizeState = vue.ref({
|
|
21
18
|
width: null,
|
|
22
|
-
height: null
|
|
19
|
+
height: null,
|
|
20
|
+
headerHeight: null
|
|
23
21
|
});
|
|
24
22
|
const isGroup = vue.ref(false);
|
|
25
23
|
const scrollbarViewStyle = {
|
|
26
|
-
display: "block",
|
|
24
|
+
display: "inline-block",
|
|
27
25
|
verticalAlign: "middle"
|
|
28
26
|
};
|
|
29
27
|
const tableWidth = vue.ref();
|
|
28
|
+
const tableScrollHeight = vue.ref(0);
|
|
29
|
+
const bodyScrollHeight = vue.ref(0);
|
|
30
|
+
const headerScrollHeight = vue.ref(0);
|
|
30
31
|
vue.watchEffect(() => {
|
|
31
32
|
layout.setHeight(props.height);
|
|
32
33
|
});
|
|
@@ -83,12 +84,14 @@ function useStyle(props, layout, store, table) {
|
|
|
83
84
|
bindEvents();
|
|
84
85
|
requestAnimationFrame(doLayout);
|
|
85
86
|
const el = table.vnode.el;
|
|
87
|
+
const tableHeader = table.refs.headerWrapper;
|
|
86
88
|
if (props.flexible && el && el.parentElement) {
|
|
87
89
|
el.parentElement.style.minWidth = "0";
|
|
88
90
|
}
|
|
89
91
|
resizeState.value = {
|
|
90
92
|
width: tableWidth.value = el.offsetWidth,
|
|
91
|
-
height: el.offsetHeight
|
|
93
|
+
height: el.offsetHeight,
|
|
94
|
+
headerHeight: props.showHeader && tableHeader ? tableHeader.offsetHeight : null
|
|
92
95
|
};
|
|
93
96
|
store.states.columns.value.forEach((column) => {
|
|
94
97
|
if (column.filteredValue && column.filteredValue.length) {
|
|
@@ -159,23 +162,36 @@ function useStyle(props, layout, store, table) {
|
|
|
159
162
|
}
|
|
160
163
|
};
|
|
161
164
|
const resizeListener = () => {
|
|
165
|
+
var _a;
|
|
162
166
|
if (!table.$ready)
|
|
163
167
|
return;
|
|
164
168
|
let shouldUpdateLayout = false;
|
|
165
169
|
const el = table.vnode.el;
|
|
166
|
-
const {
|
|
170
|
+
const {
|
|
171
|
+
width: oldWidth,
|
|
172
|
+
height: oldHeight,
|
|
173
|
+
headerHeight: oldHeaderHeight
|
|
174
|
+
} = resizeState.value;
|
|
167
175
|
const width = tableWidth.value = el.offsetWidth;
|
|
168
176
|
if (oldWidth !== width) {
|
|
169
177
|
shouldUpdateLayout = true;
|
|
170
178
|
}
|
|
171
|
-
const
|
|
172
|
-
if ((props.height || shouldUpdateHeight.value) && oldHeight !==
|
|
179
|
+
const height = el.offsetHeight;
|
|
180
|
+
if ((props.height || shouldUpdateHeight.value) && oldHeight !== height) {
|
|
173
181
|
shouldUpdateLayout = true;
|
|
174
182
|
}
|
|
183
|
+
const tableHeader = table.refs.headerWrapper;
|
|
184
|
+
if (props.showHeader && tableHeader.offsetHeight !== oldHeaderHeight) {
|
|
185
|
+
shouldUpdateLayout = true;
|
|
186
|
+
}
|
|
187
|
+
tableScrollHeight.value = table.refs.tableWrapper.scrollHeight;
|
|
188
|
+
headerScrollHeight.value = ((_a = table.refs.headerWrapper) == null ? void 0 : _a.scrollHeight) || 0;
|
|
189
|
+
bodyScrollHeight.value = tableScrollHeight.value - headerScrollHeight.value;
|
|
175
190
|
if (shouldUpdateLayout) {
|
|
176
191
|
resizeState.value = {
|
|
177
192
|
width,
|
|
178
|
-
height
|
|
193
|
+
height,
|
|
194
|
+
headerHeight: props.showHeader ? tableHeader.offsetHeight : null
|
|
179
195
|
};
|
|
180
196
|
doLayout();
|
|
181
197
|
}
|
|
@@ -190,57 +206,57 @@ function useStyle(props, layout, store, table) {
|
|
|
190
206
|
return "fixed";
|
|
191
207
|
return props.tableLayout;
|
|
192
208
|
});
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
return `calc(${parsedMaxHeight} - ${footerHeight}px - ${tableHeaderHeight}px)`;
|
|
209
|
+
const emptyBlockStyle = vue.computed(() => {
|
|
210
|
+
if (props.data && props.data.length)
|
|
211
|
+
return null;
|
|
212
|
+
let height = "100%";
|
|
213
|
+
if (bodyScrollHeight.value) {
|
|
214
|
+
height = `${bodyScrollHeight.value}px`;
|
|
200
215
|
}
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
216
|
+
const width = tableWidth.value;
|
|
217
|
+
return {
|
|
218
|
+
width: width ? `${width}px` : "",
|
|
219
|
+
height
|
|
220
|
+
};
|
|
221
|
+
});
|
|
222
|
+
const tableInnerStyle = vue.computed(() => {
|
|
207
223
|
if (props.height) {
|
|
208
|
-
return
|
|
209
|
-
|
|
210
|
-
|
|
224
|
+
return {
|
|
225
|
+
height: !Number.isNaN(Number(props.height)) ? `${props.height}px` : props.height
|
|
226
|
+
};
|
|
211
227
|
}
|
|
212
|
-
|
|
228
|
+
if (props.maxHeight) {
|
|
229
|
+
return {
|
|
230
|
+
maxHeight: !Number.isNaN(Number(props.maxHeight)) ? `${props.maxHeight}px` : props.maxHeight
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
return {};
|
|
213
234
|
});
|
|
214
|
-
const
|
|
215
|
-
|
|
216
|
-
const bodyHeight2 = layout.bodyHeight.value;
|
|
217
|
-
const footerHeight = layout.footerHeight.value || 0;
|
|
235
|
+
const scrollbarStyle = vue.computed(() => {
|
|
236
|
+
var _a;
|
|
218
237
|
if (props.height) {
|
|
219
238
|
return {
|
|
220
|
-
height:
|
|
239
|
+
height: "100%"
|
|
221
240
|
};
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
if (maxHeight
|
|
241
|
+
}
|
|
242
|
+
if (props.maxHeight) {
|
|
243
|
+
if (!Number.isNaN(Number(props.maxHeight))) {
|
|
244
|
+
const headerHeight = ((_a = table.refs.headerWrapper) == null ? void 0 : _a.scrollHeight) || 0;
|
|
245
|
+
const maxHeight = props.maxHeight;
|
|
246
|
+
const reachMaxHeight = tableScrollHeight.value >= Number(maxHeight);
|
|
247
|
+
if (reachMaxHeight) {
|
|
248
|
+
return {
|
|
249
|
+
maxHeight: `${tableScrollHeight.value - headerHeight}px`
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
} else {
|
|
225
253
|
return {
|
|
226
|
-
|
|
254
|
+
maxHeight: `calc(${props.maxHeight} - ${headerScrollHeight.value}px)`
|
|
227
255
|
};
|
|
228
256
|
}
|
|
229
257
|
}
|
|
230
258
|
return {};
|
|
231
259
|
});
|
|
232
|
-
const emptyBlockStyle = vue.computed(() => {
|
|
233
|
-
if (props.data && props.data.length)
|
|
234
|
-
return null;
|
|
235
|
-
let height2 = "100%";
|
|
236
|
-
if (layout.appendHeight.value) {
|
|
237
|
-
height2 = `calc(100% - ${layout.appendHeight.value}px)`;
|
|
238
|
-
}
|
|
239
|
-
return {
|
|
240
|
-
width: tableWidth.value ? `${tableWidth.value}px` : "",
|
|
241
|
-
height: height2
|
|
242
|
-
};
|
|
243
|
-
});
|
|
244
260
|
const handleFixedMousewheel = (event, data) => {
|
|
245
261
|
const bodyWrapper = table.refs.bodyWrapper;
|
|
246
262
|
if (Math.abs(data.spinY) > 0) {
|
|
@@ -256,47 +272,6 @@ function useStyle(props, layout, store, table) {
|
|
|
256
272
|
bodyWrapper.scrollLeft += Math.ceil(data.pixelX / 5);
|
|
257
273
|
}
|
|
258
274
|
};
|
|
259
|
-
const fixedHeight = vue.computed(() => {
|
|
260
|
-
if (props.maxHeight) {
|
|
261
|
-
if (props.showSummary) {
|
|
262
|
-
return {
|
|
263
|
-
bottom: 0
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
return {
|
|
267
|
-
bottom: layout.scrollX.value && props.data.length ? `${layout.gutterWidth}px` : ""
|
|
268
|
-
};
|
|
269
|
-
} else {
|
|
270
|
-
if (props.showSummary) {
|
|
271
|
-
return {
|
|
272
|
-
height: layout.tableHeight.value ? `${layout.tableHeight.value}px` : ""
|
|
273
|
-
};
|
|
274
|
-
}
|
|
275
|
-
return {
|
|
276
|
-
height: layout.viewportHeight.value ? `${layout.viewportHeight.value}px` : ""
|
|
277
|
-
};
|
|
278
|
-
}
|
|
279
|
-
});
|
|
280
|
-
const fixedBodyHeight = vue.computed(() => {
|
|
281
|
-
if (props.height) {
|
|
282
|
-
return {
|
|
283
|
-
height: layout.fixedBodyHeight.value ? `${layout.fixedBodyHeight.value}px` : ""
|
|
284
|
-
};
|
|
285
|
-
} else if (props.maxHeight) {
|
|
286
|
-
let maxHeight = util.parseHeight(props.maxHeight);
|
|
287
|
-
if (typeof maxHeight === "number") {
|
|
288
|
-
maxHeight = layout.scrollX.value ? maxHeight - layout.gutterWidth : maxHeight;
|
|
289
|
-
if (props.showHeader) {
|
|
290
|
-
maxHeight -= layout.headerHeight.value;
|
|
291
|
-
}
|
|
292
|
-
maxHeight -= layout.footerHeight.value;
|
|
293
|
-
return {
|
|
294
|
-
"max-height": `${maxHeight}px`
|
|
295
|
-
};
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
return {};
|
|
299
|
-
});
|
|
300
275
|
return {
|
|
301
276
|
isHidden,
|
|
302
277
|
renderExpanded,
|
|
@@ -305,19 +280,17 @@ function useStyle(props, layout, store, table) {
|
|
|
305
280
|
handleMouseLeave,
|
|
306
281
|
handleHeaderFooterMousewheel,
|
|
307
282
|
tableSize,
|
|
308
|
-
bodyHeight,
|
|
309
|
-
height,
|
|
310
283
|
emptyBlockStyle,
|
|
311
284
|
handleFixedMousewheel,
|
|
312
|
-
fixedHeight,
|
|
313
|
-
fixedBodyHeight,
|
|
314
285
|
resizeProxyVisible,
|
|
315
286
|
bodyWidth,
|
|
316
287
|
resizeState,
|
|
317
288
|
doLayout,
|
|
318
289
|
tableBodyStyles,
|
|
319
290
|
tableLayout,
|
|
320
|
-
scrollbarViewStyle
|
|
291
|
+
scrollbarViewStyle,
|
|
292
|
+
tableInnerStyle,
|
|
293
|
+
scrollbarStyle
|
|
321
294
|
};
|
|
322
295
|
}
|
|
323
296
|
|