@cimom/ci-web-plugins-commom 1.0.7 → 1.0.8
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/README.md +1 -1
- package/dist/CI.Web.Plugins.Commom.css +2 -2
- package/dist/SearchPro/README.md +164 -0
- package/dist/SearchPro/index.js +1 -0
- package/dist/_virtual/_commonjsHelpers/index.js +1 -0
- package/dist/_virtual/dayjs.min/index.js +1 -0
- package/dist/_virtual/dayjs.min/index2.js +1 -0
- package/dist/_virtual/index/index.js +1 -0
- package/dist/components/SearchPro/index.vue/index.js +1 -0
- package/dist/components/SearchPro/index.vue/index2.js +1 -0
- package/dist/components/SearchPro/innerComponents/minxin/index.js +1 -0
- package/dist/components/SearchPro/innerComponents/reportCustomMulSelect.vue/index.js +1 -0
- package/dist/components/SearchPro/innerComponents/reportCustomMulSelect.vue/index2.js +1 -0
- package/dist/components/SearchPro/innerComponents/reportCustomSelect.vue/index.js +1 -0
- package/dist/components/SearchPro/innerComponents/reportCustomSelect.vue/index2.js +1 -0
- package/dist/components/SearchPro/innerComponents/reportMulSelect.vue/index.js +1 -0
- package/dist/components/SearchPro/innerComponents/reportMulSelect.vue/index2.js +1 -0
- package/dist/components/SearchPro/innerComponents/reportSelect.vue/index.js +1 -0
- package/dist/components/SearchPro/innerComponents/reportSelect.vue/index2.js +1 -0
- package/dist/components/SearchPro/innerComponents/reportSelectTable.vue/index.js +1 -0
- package/dist/components/SearchPro/innerComponents/reportSelectTable.vue/index2.js +1 -0
- package/dist/components/SearchPro/tableTemplate/index.vue/index.js +1 -0
- package/dist/components/SearchPro/tableTemplate/index.vue/index2.js +1 -0
- package/dist/components/SearchPro/tableTemplate/second.vue/index.js +1 -0
- package/dist/components/SearchPro/tableTemplate/second.vue/index2.js +1 -0
- package/dist/components/VxeGridPro/index.vue/index2.js +1 -1
- package/dist/index/index.js +1 -1
- package/dist/node_modules/@vxe-ui/core/es/index.esm/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/clipboard/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/commands/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/config/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/configStore/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/core/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/dataStore/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/event/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/formats/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/hooks/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/i18n/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/i18nStore/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/icon/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/iconStore/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/interceptor/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/log/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/menus/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/permission/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/renderer/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/resize/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/store/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/theme/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/themeStore/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/useFns/index.js +1 -0
- package/dist/node_modules/@vxe-ui/core/es/src/validators/index.js +1 -0
- package/dist/node_modules/dayjs/dayjs.min/index.js +1 -0
- package/dist/node_modules/dom-zindex/es/index.esm/index.js +1 -0
- package/dist/node_modules/vxe-table/es/colgroup/index/index.js +1 -0
- package/dist/node_modules/vxe-table/es/column/index/index.js +1 -0
- package/dist/node_modules/vxe-table/es/components/index.js +1 -0
- package/dist/node_modules/vxe-table/es/grid/index/index.js +1 -0
- package/dist/node_modules/vxe-table/es/grid/src/grid/index.js +1 -0
- package/dist/node_modules/vxe-table/es/index.esm/index.js +1 -0
- package/dist/node_modules/vxe-table/es/locale/lang/zh-CN/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/index/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/custom/hook/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/custom/panel/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/edit/hook/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/export/export-panel/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/export/hook/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/export/import-panel/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/export/util/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/filter/hook/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/filter/panel/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/keyboard/hook/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/menu/hook/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/menu/panel/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/module/validator/hook/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/render/index/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/src/body/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/src/cell/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/src/column/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/src/columnInfo/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/src/emits/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/src/footer/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/src/group/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/src/header/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/src/props/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/src/table/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/src/use/cell-view/index.js +1 -0
- package/dist/node_modules/vxe-table/es/table/src/util/index.js +1 -0
- package/dist/node_modules/vxe-table/es/toolbar/index/index.js +1 -0
- package/dist/node_modules/vxe-table/es/toolbar/src/toolbar/index.js +1 -0
- package/dist/node_modules/vxe-table/es/ui/index/index.js +1 -0
- package/dist/node_modules/vxe-table/es/ui/src/dom/index.js +1 -0
- package/dist/node_modules/vxe-table/es/ui/src/log/index.js +1 -0
- package/dist/node_modules/vxe-table/es/ui/src/utils/index.js +1 -0
- package/dist/node_modules/vxe-table/es/ui/src/vn/index.js +1 -0
- package/dist/node_modules/xe-utils/add/index.js +1 -0
- package/dist/node_modules/xe-utils/after/index.js +1 -0
- package/dist/node_modules/xe-utils/arrayEach/index.js +1 -0
- package/dist/node_modules/xe-utils/arrayIndexOf/index.js +1 -0
- package/dist/node_modules/xe-utils/arrayLastIndexOf/index.js +1 -0
- package/dist/node_modules/xe-utils/assign/index.js +1 -0
- package/dist/node_modules/xe-utils/before/index.js +1 -0
- package/dist/node_modules/xe-utils/bind/index.js +1 -0
- package/dist/node_modules/xe-utils/browse/index.js +1 -0
- package/dist/node_modules/xe-utils/camelCase/index.js +1 -0
- package/dist/node_modules/xe-utils/ceil/index.js +1 -0
- package/dist/node_modules/xe-utils/chunk/index.js +1 -0
- package/dist/node_modules/xe-utils/clear/index.js +1 -0
- package/dist/node_modules/xe-utils/clone/index.js +1 -0
- package/dist/node_modules/xe-utils/commafy/index.js +1 -0
- package/dist/node_modules/xe-utils/cookie/index.js +1 -0
- package/dist/node_modules/xe-utils/copyWithin/index.js +1 -0
- package/dist/node_modules/xe-utils/countBy/index.js +1 -0
- package/dist/node_modules/xe-utils/ctor/index.js +1 -0
- package/dist/node_modules/xe-utils/debounce/index.js +1 -0
- package/dist/node_modules/xe-utils/delay/index.js +1 -0
- package/dist/node_modules/xe-utils/destructuring/index.js +1 -0
- package/dist/node_modules/xe-utils/divide/index.js +1 -0
- package/dist/node_modules/xe-utils/each/index.js +1 -0
- package/dist/node_modules/xe-utils/eachTree/index.js +1 -0
- package/dist/node_modules/xe-utils/endsWith/index.js +1 -0
- package/dist/node_modules/xe-utils/entries/index.js +1 -0
- package/dist/node_modules/xe-utils/eqNull/index.js +1 -0
- package/dist/node_modules/xe-utils/escape/index.js +1 -0
- package/dist/node_modules/xe-utils/every/index.js +1 -0
- package/dist/node_modules/xe-utils/filter/index.js +1 -0
- package/dist/node_modules/xe-utils/filterTree/index.js +1 -0
- package/dist/node_modules/xe-utils/find/index.js +1 -0
- package/dist/node_modules/xe-utils/findIndexOf/index.js +1 -0
- package/dist/node_modules/xe-utils/findKey/index.js +1 -0
- package/dist/node_modules/xe-utils/findLast/index.js +1 -0
- package/dist/node_modules/xe-utils/findLastIndexOf/index.js +1 -0
- package/dist/node_modules/xe-utils/findTree/index.js +1 -0
- package/dist/node_modules/xe-utils/first/index.js +1 -0
- package/dist/node_modules/xe-utils/flatten/index.js +1 -0
- package/dist/node_modules/xe-utils/floor/index.js +1 -0
- package/dist/node_modules/xe-utils/forOf/index.js +1 -0
- package/dist/node_modules/xe-utils/get/index.js +1 -0
- package/dist/node_modules/xe-utils/getBaseURL/index.js +1 -0
- package/dist/node_modules/xe-utils/getDateDiff/index.js +1 -0
- package/dist/node_modules/xe-utils/getDayOfMonth/index.js +1 -0
- package/dist/node_modules/xe-utils/getDayOfYear/index.js +1 -0
- package/dist/node_modules/xe-utils/getMonthWeek/index.js +1 -0
- package/dist/node_modules/xe-utils/getSize/index.js +1 -0
- package/dist/node_modules/xe-utils/getType/index.js +1 -0
- package/dist/node_modules/xe-utils/getWhatDay/index.js +1 -0
- package/dist/node_modules/xe-utils/getWhatMonth/index.js +1 -0
- package/dist/node_modules/xe-utils/getWhatQuarter/index.js +1 -0
- package/dist/node_modules/xe-utils/getWhatWeek/index.js +1 -0
- package/dist/node_modules/xe-utils/getWhatYear/index.js +1 -0
- package/dist/node_modules/xe-utils/getYearDay/index.js +1 -0
- package/dist/node_modules/xe-utils/getYearWeek/index.js +1 -0
- package/dist/node_modules/xe-utils/groupBy/index.js +1 -0
- package/dist/node_modules/xe-utils/has/index.js +1 -0
- package/dist/node_modules/xe-utils/hasOwnProp/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCheckCopyKey/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCreateGetDateWeek/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCreateGetObjects/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCreateInInObjectString/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCreateInTypeof/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCreateIndexOf/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCreateIterateHandle/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCreateMathNumber/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCreateMinMax/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCreatePickOmit/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCreateToNumber/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCreateTreeFunc/index.js +1 -0
- package/dist/node_modules/xe-utils/helperCreateiterateIndexOf/index.js +1 -0
- package/dist/node_modules/xe-utils/helperDefaultCompare/index.js +1 -0
- package/dist/node_modules/xe-utils/helperDeleteProperty/index.js +1 -0
- package/dist/node_modules/xe-utils/helperEqualCompare/index.js +1 -0
- package/dist/node_modules/xe-utils/helperFormatEscaper/index.js +1 -0
- package/dist/node_modules/xe-utils/helperGetDateFullYear/index.js +1 -0
- package/dist/node_modules/xe-utils/helperGetDateMonth/index.js +1 -0
- package/dist/node_modules/xe-utils/helperGetDateTime/index.js +1 -0
- package/dist/node_modules/xe-utils/helperGetHGSKeys/index.js +1 -0
- package/dist/node_modules/xe-utils/helperGetLocatOrigin/index.js +1 -0
- package/dist/node_modules/xe-utils/helperGetUTCDateTime/index.js +1 -0
- package/dist/node_modules/xe-utils/helperGetYMD/index.js +1 -0
- package/dist/node_modules/xe-utils/helperGetYMDTime/index.js +1 -0
- package/dist/node_modules/xe-utils/helperMultiply/index.js +1 -0
- package/dist/node_modules/xe-utils/helperNewDate/index.js +1 -0
- package/dist/node_modules/xe-utils/helperNumberAdd/index.js +1 -0
- package/dist/node_modules/xe-utils/helperNumberDecimal/index.js +1 -0
- package/dist/node_modules/xe-utils/helperNumberDivide/index.js +1 -0
- package/dist/node_modules/xe-utils/helperNumberOffsetPoint/index.js +1 -0
- package/dist/node_modules/xe-utils/helperStringLowerCase/index.js +1 -0
- package/dist/node_modules/xe-utils/helperStringRepeat/index.js +1 -0
- package/dist/node_modules/xe-utils/helperStringSubstring/index.js +1 -0
- package/dist/node_modules/xe-utils/helperStringUpperCase/index.js +1 -0
- package/dist/node_modules/xe-utils/includeArrays/index.js +1 -0
- package/dist/node_modules/xe-utils/includes/index.js +1 -0
- package/dist/node_modules/xe-utils/index/index.js +1 -0
- package/dist/node_modules/xe-utils/indexOf/index.js +1 -0
- package/dist/node_modules/xe-utils/invoke/index.js +1 -0
- package/dist/node_modules/xe-utils/isArguments/index.js +1 -0
- package/dist/node_modules/xe-utils/isArray/index.js +1 -0
- package/dist/node_modules/xe-utils/isBoolean/index.js +1 -0
- package/dist/node_modules/xe-utils/isDate/index.js +1 -0
- package/dist/node_modules/xe-utils/isDateSame/index.js +1 -0
- package/dist/node_modules/xe-utils/isDocument/index.js +1 -0
- package/dist/node_modules/xe-utils/isElement/index.js +1 -0
- package/dist/node_modules/xe-utils/isEmpty/index.js +1 -0
- package/dist/node_modules/xe-utils/isEqual/index.js +1 -0
- package/dist/node_modules/xe-utils/isEqualWith/index.js +1 -0
- package/dist/node_modules/xe-utils/isError/index.js +1 -0
- package/dist/node_modules/xe-utils/isFinite/index.js +1 -0
- package/dist/node_modules/xe-utils/isFloat/index.js +1 -0
- package/dist/node_modules/xe-utils/isFormData/index.js +1 -0
- package/dist/node_modules/xe-utils/isFunction/index.js +1 -0
- package/dist/node_modules/xe-utils/isInteger/index.js +1 -0
- package/dist/node_modules/xe-utils/isLeapYear/index.js +1 -0
- package/dist/node_modules/xe-utils/isMap/index.js +1 -0
- package/dist/node_modules/xe-utils/isMatch/index.js +1 -0
- package/dist/node_modules/xe-utils/isNaN/index.js +1 -0
- package/dist/node_modules/xe-utils/isNull/index.js +1 -0
- package/dist/node_modules/xe-utils/isNumber/index.js +1 -0
- package/dist/node_modules/xe-utils/isObject/index.js +1 -0
- package/dist/node_modules/xe-utils/isPlainObject/index.js +1 -0
- package/dist/node_modules/xe-utils/isRegExp/index.js +1 -0
- package/dist/node_modules/xe-utils/isSet/index.js +1 -0
- package/dist/node_modules/xe-utils/isString/index.js +1 -0
- package/dist/node_modules/xe-utils/isSymbol/index.js +1 -0
- package/dist/node_modules/xe-utils/isTypeError/index.js +1 -0
- package/dist/node_modules/xe-utils/isUndefined/index.js +1 -0
- package/dist/node_modules/xe-utils/isValidDate/index.js +1 -0
- package/dist/node_modules/xe-utils/isWeakMap/index.js +1 -0
- package/dist/node_modules/xe-utils/isWeakSet/index.js +1 -0
- package/dist/node_modules/xe-utils/isWindow/index.js +1 -0
- package/dist/node_modules/xe-utils/kebabCase/index.js +1 -0
- package/dist/node_modules/xe-utils/keys/index.js +1 -0
- package/dist/node_modules/xe-utils/last/index.js +1 -0
- package/dist/node_modules/xe-utils/lastArrayEach/index.js +1 -0
- package/dist/node_modules/xe-utils/lastEach/index.js +1 -0
- package/dist/node_modules/xe-utils/lastForOf/index.js +1 -0
- package/dist/node_modules/xe-utils/lastIndexOf/index.js +1 -0
- package/dist/node_modules/xe-utils/lastObjectEach/index.js +1 -0
- package/dist/node_modules/xe-utils/locat/index.js +1 -0
- package/dist/node_modules/xe-utils/map/index.js +1 -0
- package/dist/node_modules/xe-utils/mapTree/index.js +1 -0
- package/dist/node_modules/xe-utils/max/index.js +1 -0
- package/dist/node_modules/xe-utils/mean/index.js +1 -0
- package/dist/node_modules/xe-utils/merge/index.js +1 -0
- package/dist/node_modules/xe-utils/min/index.js +1 -0
- package/dist/node_modules/xe-utils/multiply/index.js +1 -0
- package/dist/node_modules/xe-utils/noop/index.js +1 -0
- package/dist/node_modules/xe-utils/now/index.js +1 -0
- package/dist/node_modules/xe-utils/objectEach/index.js +1 -0
- package/dist/node_modules/xe-utils/objectMap/index.js +1 -0
- package/dist/node_modules/xe-utils/omit/index.js +1 -0
- package/dist/node_modules/xe-utils/once/index.js +1 -0
- package/dist/node_modules/xe-utils/orderBy/index.js +1 -0
- package/dist/node_modules/xe-utils/padEnd/index.js +1 -0
- package/dist/node_modules/xe-utils/padStart/index.js +1 -0
- package/dist/node_modules/xe-utils/parseUrl/index.js +1 -0
- package/dist/node_modules/xe-utils/pick/index.js +1 -0
- package/dist/node_modules/xe-utils/pluck/index.js +1 -0
- package/dist/node_modules/xe-utils/property/index.js +1 -0
- package/dist/node_modules/xe-utils/random/index.js +1 -0
- package/dist/node_modules/xe-utils/range/index.js +1 -0
- package/dist/node_modules/xe-utils/reduce/index.js +1 -0
- package/dist/node_modules/xe-utils/remove/index.js +1 -0
- package/dist/node_modules/xe-utils/repeat/index.js +1 -0
- package/dist/node_modules/xe-utils/round/index.js +1 -0
- package/dist/node_modules/xe-utils/sample/index.js +1 -0
- package/dist/node_modules/xe-utils/searchTree/index.js +1 -0
- package/dist/node_modules/xe-utils/serialize/index.js +1 -0
- package/dist/node_modules/xe-utils/set/index.js +1 -0
- package/dist/node_modules/xe-utils/setupDefaults/index.js +1 -0
- package/dist/node_modules/xe-utils/shuffle/index.js +1 -0
- package/dist/node_modules/xe-utils/slice/index.js +1 -0
- package/dist/node_modules/xe-utils/some/index.js +1 -0
- package/dist/node_modules/xe-utils/sortBy/index.js +1 -0
- package/dist/node_modules/xe-utils/startsWith/index.js +1 -0
- package/dist/node_modules/xe-utils/staticDayTime/index.js +1 -0
- package/dist/node_modules/xe-utils/staticDecodeURIComponent/index.js +1 -0
- package/dist/node_modules/xe-utils/staticDocument/index.js +1 -0
- package/dist/node_modules/xe-utils/staticEncodeURIComponent/index.js +1 -0
- package/dist/node_modules/xe-utils/staticEscapeMap/index.js +1 -0
- package/dist/node_modules/xe-utils/staticHGKeyRE/index.js +1 -0
- package/dist/node_modules/xe-utils/staticLocation/index.js +1 -0
- package/dist/node_modules/xe-utils/staticObjectToString/index.js +1 -0
- package/dist/node_modules/xe-utils/staticParseInt/index.js +1 -0
- package/dist/node_modules/xe-utils/staticStrFirst/index.js +1 -0
- package/dist/node_modules/xe-utils/staticStrLast/index.js +1 -0
- package/dist/node_modules/xe-utils/staticStrUndefined/index.js +1 -0
- package/dist/node_modules/xe-utils/staticWeekTime/index.js +1 -0
- package/dist/node_modules/xe-utils/staticWindow/index.js +1 -0
- package/dist/node_modules/xe-utils/subtract/index.js +1 -0
- package/dist/node_modules/xe-utils/sum/index.js +1 -0
- package/dist/node_modules/xe-utils/template/index.js +1 -0
- package/dist/node_modules/xe-utils/throttle/index.js +1 -0
- package/dist/node_modules/xe-utils/timestamp/index.js +1 -0
- package/dist/node_modules/xe-utils/toArray/index.js +1 -0
- package/dist/node_modules/xe-utils/toArrayTree/index.js +1 -0
- package/dist/node_modules/xe-utils/toDateString/index.js +1 -0
- package/dist/node_modules/xe-utils/toFixed/index.js +1 -0
- package/dist/node_modules/xe-utils/toFormatString/index.js +1 -0
- package/dist/node_modules/xe-utils/toInteger/index.js +1 -0
- package/dist/node_modules/xe-utils/toJSONString/index.js +1 -0
- package/dist/node_modules/xe-utils/toNumber/index.js +1 -0
- package/dist/node_modules/xe-utils/toNumberString/index.js +1 -0
- package/dist/node_modules/xe-utils/toStringDate/index.js +1 -0
- package/dist/node_modules/xe-utils/toStringJSON/index.js +1 -0
- package/dist/node_modules/xe-utils/toTreeArray/index.js +1 -0
- package/dist/node_modules/xe-utils/toValueString/index.js +1 -0
- package/dist/node_modules/xe-utils/trim/index.js +1 -0
- package/dist/node_modules/xe-utils/trimLeft/index.js +1 -0
- package/dist/node_modules/xe-utils/trimRight/index.js +1 -0
- package/dist/node_modules/xe-utils/unescape/index.js +1 -0
- package/dist/node_modules/xe-utils/union/index.js +1 -0
- package/dist/node_modules/xe-utils/uniq/index.js +1 -0
- package/dist/node_modules/xe-utils/uniqueId/index.js +1 -0
- package/dist/node_modules/xe-utils/unserialize/index.js +1 -0
- package/dist/node_modules/xe-utils/unzip/index.js +1 -0
- package/dist/node_modules/xe-utils/values/index.js +1 -0
- package/dist/node_modules/xe-utils/zip/index.js +1 -0
- package/dist/node_modules/xe-utils/zipObject/index.js +1 -0
- package/package.json +16 -8
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e,reactive as t,ref as o,computed as r,nextTick as a,watch as s,onMounted as n,onUnmounted as i,provide as l,h as c}from"vue";import g from"../../../../../../_virtual/index/index.js";import{isEnableConf as d,getLastZIndex as u,nextZIndex as m}from"../../../ui/src/utils/index.js";import{toCssUnit as p,getDomNode as f,getPaddingTopBottomSize as v,getOffsetHeight as x}from"../../../ui/src/dom/index.js";import"../../../ui/index/index.js";import b from"../../../table/src/table/index.js";import h from"../../../toolbar/src/toolbar/index.js";import C from"../../../table/src/props/index.js";import y from"../../../table/src/emits/index.js";import{getSlotVNs as R}from"../../../ui/src/vn/index.js";import{errLog as w}from"../../../ui/src/log/index.js";import{VxeUI as E}from"../../../../../@vxe-ui/core/es/index.esm/index.js";const{getConfig:j,getI18n:O,commands:P,hooks:k,useFns:S,createEvent:T,globalEvents:I,GLOBAL_EVENT_KEYS:D,renderEmptyElement:F}=E,M=Object.keys(C),$=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","sort","setSort","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect"],z=[...y,"page-change","form-submit","form-submit-invalid","form-reset","form-collapse","form-toggle-collapse","proxy-query","proxy-delete","proxy-save","toolbar-button-click","toolbar-tool-click","zoom"];var B=e({name:"VxeGrid",props:Object.assign(Object.assign({},C),{layouts:Array,columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,size:{type:String,default:()=>j().grid.size||j().size}}),emits:z,setup(e,C){var z;const{slots:B,emit:q}=C,L=g.uniqueId(),A=E.getComponent("VxeForm"),Z=E.getComponent("VxePager"),_=[["Form"],["Toolbar","Top","Table","Bottom","Pager"]],{computeSize:K}=S.useSize(e),H=t({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null===(z=j().pager)||void 0===z?void 0:z.pageSize)||10,currentPage:1}}),V=o(),G=o(),N=o(),U=o(),Q=o(),W=o(),Y=o(),J=o(),X=o(),ee=o(),te=e=>{const t={};return e.forEach((e=>{t[e]=(...t)=>{const o=G.value;if(o&&o[e])return o[e](...t)}})),t},oe=te($);$.forEach((e=>{oe[e]=(...t)=>{const o=G.value;if(o&&o[e])return o&&o[e](...t)}}));const re=r((()=>g.merge({},g.clone(j().grid.proxyConfig,!0),e.proxyConfig))),ae=r((()=>{const e=re.value;return g.isBoolean(e.message)?e.message:e.showResponseMsg})),se=r((()=>re.value.showActiveMsg)),ne=r((()=>Object.assign({},j().grid.pagerConfig,e.pagerConfig))),ie=r((()=>Object.assign({},j().grid.formConfig,e.formConfig))),le=r((()=>Object.assign({},j().grid.toolbarConfig,e.toolbarConfig))),ce=r((()=>Object.assign({},j().grid.zoomConfig,e.zoomConfig))),ge=r((()=>{const{height:t,maxHeight:o}=e,{isZMax:r,tZindex:a}=H,s={};return r?s.zIndex=a:(t&&(s.height="auto"===t||"100%"===t?"100%":p(t)),o&&(s.maxHeight="auto"===o||"100%"===o?"100%":p(o))),s})),de=r((()=>{const t={},o=e;return M.forEach((e=>{t[e]=o[e]})),t})),ue=r((()=>{const{seqConfig:t,pagerConfig:o,loading:r,editConfig:a,proxyConfig:s}=e,{isZMax:n,tableLoading:i,tablePage:l}=H,c=de.value,g=re.value,u=ne.value,m=Object.assign({},c);return n&&(c.maxHeight?m.maxHeight="100%":m.height="100%"),s&&d(g)&&(m.loading=r||i,o&&g.seq&&d(u)&&(m.seqConfig=Object.assign({},t,{startIndex:(l.currentPage-1)*l.pageSize}))),a&&(m.editConfig=Object.assign({},a)),m})),me=r((()=>{const{layouts:t}=e;let o=[];o=t&&t.length?t:j().grid.layouts||_;let r=[],a=[],s=[];return o.length&&(g.isArray(o[0])?(r=o[0],a=o[1]||[],s=o[2]||[]):a=o),{headKeys:r,bodyKeys:a,footKeys:s}})),pe=r((()=>ne.value.currentPage)),fe=r((()=>ne.value.pageSize)),ve=r((()=>ne.value.total)),xe={refElem:V,refTable:G,refForm:N,refToolbar:U,refPager:Q},be={computeProxyOpts:re,computePagerOpts:ne,computeFormOpts:ie,computeToolbarOpts:le,computeZoomOpts:ce},he={xID:L,props:e,context:C,reactData:H,getRefMaps:()=>xe,getComputeMaps:()=>be},Ce=()=>{const t=le.value;e.toolbarConfig&&d(t)&&a((()=>{const e=G.value,t=U.value;e&&t&&e.connect(t)}))},ye=()=>{const{proxyConfig:t}=e,{formData:o}=H,r=re.value,a=ie.value;return t&&d(r)&&r.form?o:a.data},Re=t=>{const{tablePage:o}=H,{pagerConfig:r}=e,a=ne.value;if(r&&d(a))if(t)a[t]&&(o[t]=g.toNumber(a[t]));else{const{currentPage:e,pageSize:t,total:r}=a;e&&(o.currentPage=e),t&&(o.pageSize=t),r&&(o.pageSize=r)}},we=(e,t)=>{const o=re.value,r=(o.response||o.props||{}).message;let a;return e&&r&&(a=g.isFunction(r)?r({data:e,$grid:he}):g.get(e,r)),a||O(t)},Ee=(e,t,o)=>{const r=se.value,a=oe.getCheckboxRecords();if(r)if(a.length){if(E.modal)return E.modal.confirm({id:`cfm_${e}`,content:O(t),escClosable:!0}).then((e=>{if("confirm"===e)return o()}))}else E.modal&&E.modal.message({id:`msg_${e}`,content:O("vxe.grid.selectOneRecord"),status:"warning"});else a.length&&o();return Promise.resolve()},je=t=>{const{proxyConfig:o}=e,{tablePage:r}=H,{$event:a,currentPage:s,pageSize:n}=t,i=re.value;r.currentPage=s,r.pageSize=n,he.dispatchEvent("page-change",t,a),o&&d(i)&&he.commitProxy("query").then((e=>{he.dispatchEvent("proxy-query",e,a)}))},Oe=t=>{const o=G.value,{proxyConfig:r}=e,{computeSortOpts:a}=o.getComputeMaps(),s=re.value;a.value.remote&&(H.sortData=t.sortList,r&&d(s)&&(H.tablePage.currentPage=1,_e.commitProxy("query").then((e=>{_e.dispatchEvent("proxy-query",e,t.$event)})))),_e.dispatchEvent("sort-change",t,t.$event)},Pe=t=>{const o=G.value,{proxyConfig:r}=e,{computeFilterOpts:a}=o.getComputeMaps(),s=re.value;a.value.remote&&(H.filterData=t.filterList,r&&d(s)&&(H.tablePage.currentPage=1,_e.commitProxy("query").then((e=>{_e.dispatchEvent("proxy-query",e,t.$event)})))),_e.dispatchEvent("filter-change",t,t.$event)},ke=t=>{const{proxyConfig:o}=e,r=re.value;H.tableLoading||(o&&d(r)&&_e.commitProxy("reload").then((e=>{_e.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)})),_e.dispatchEvent("form-submit",t,t.$event))},Se=t=>{const{proxyConfig:o}=e,{$event:r}=t,a=re.value,s=G.value;o&&d(a)&&(s.clearScroll(),_e.commitProxy("reload").then((e=>{_e.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),r)}))),_e.dispatchEvent("form-reset",t,r)},Te=e=>{_e.dispatchEvent("form-submit-invalid",e,e.$event)},Ie=e=>{const{$event:t}=e;_e.dispatchEvent("form-toggle-collapse",e,t),_e.dispatchEvent("form-collapse",e,t)},De=e=>{const{isZMax:t}=H;return(e?!t:t)&&(H.isZMax=!t,H.tZindex<u()&&(H.tZindex=m())),a().then((()=>oe.recalculate(!0))).then((()=>(setTimeout((()=>oe.recalculate(!0)),15),H.isZMax)))},Fe=(e,t)=>{const o=e[t];if(o){if(!g.isString(o))return o;if(B[o])return B[o];w("vxe.error.notSlot",[o])}return null},Me=e=>{const t={};return g.objectMap(e,((e,o)=>{e&&(g.isString(e)?B[e]?t[o]=B[e]:w("vxe.error.notSlot",[e]):t[o]=e)})),t},$e=()=>{const e=B.left;return e?c("div",{class:"vxe-grid--left-wrapper"},e({$grid:he})):F(he)},ze=()=>{const e=B.right;return e?c("div",{class:"vxe-grid--right-wrapper"},e({$grid:he})):F(he)},Be=()=>{const{proxyConfig:t}=e,o=ue.value,r=re.value,a=Object.assign({},Le),s=B.empty,n=B.loading,i=B.rowDragIcon||B["row-drag-icon"],l=B.columnDragIcon||B["column-drag-icon"];t&&d(r)&&(r.sort&&(a.onSortChange=Oe),r.filter&&(a.onFilterChange=Pe));const g={};return s&&(g.empty=s),n&&(g.loading=n),i&&(g.rowDragIcon=i),l&&(g.columnDragIcon=l),c("div",{class:"vxe-grid--table-wrapper"},[c(b,Object.assign(Object.assign({ref:G},o),a),g)])},qe=t=>{const o=[];return t.forEach((t=>{switch(t){case"Form":o.push((()=>{const{formConfig:t,proxyConfig:o}=e,{formData:r}=H,a=re.value,s=ie.value;if(t&&d(s)||B.form){let e=[];if(B.form)e=B.form({$grid:he});else if(s.items){const t={};if(!s.inited){s.inited=!0;const e=a.beforeItem;a&&e&&s.items.forEach((t=>{e({$grid:he,item:t})}))}s.items.forEach((e=>{g.each(e.slots,(e=>{g.isFunction(e)||B[e]&&(t[e]=B[e])}))})),A&&e.push(c(A,Object.assign(Object.assign({ref:N},Object.assign({},s,{data:o&&d(a)&&a.form?r:s.data})),{onSubmit:ke,onReset:Se,onSubmitInvalid:Te,onCollapse:Ie}),t))}return c("div",{ref:W,key:"form",class:"vxe-grid--form-wrapper"},e)}return F(he)})());break;case"Toolbar":o.push((()=>{const{toolbarConfig:t}=e,o=le.value;if(t&&d(o)||B.toolbar){let e=[];if(B.toolbar)e=B.toolbar({$grid:he});else{const t=o.slots;let r,a;const s={};t&&(r=Fe(t,"buttons"),a=Fe(t,"tools"),r&&(s.buttons=r),a&&(s.tools=a)),e.push(c(h,Object.assign(Object.assign({ref:U},o),{slots:void 0}),s))}return c("div",{ref:Y,key:"toolbar",class:"vxe-grid--toolbar-wrapper"},e)}return F(he)})());break;case"Top":o.push(B.top?c("div",{ref:J,key:"top",class:"vxe-grid--top-wrapper"},B.top({$grid:he})):F(he));break;case"Table":o.push(c("div",{key:"table",class:"vxe-grid--table-container"},[$e(),Be(),ze()]));break;case"Bottom":o.push(B.bottom?c("div",{ref:X,key:"bottom",class:"vxe-grid--bottom-wrapper"},B.bottom({$grid:he})):F(he));break;case"Pager":o.push((()=>{const{proxyConfig:t,pagerConfig:o}=e,r=re.value,a=ne.value,s=B.pager;return o&&d(a)||B.pager?c("div",{ref:ee,key:"pager",class:"vxe-grid--pager-wrapper"},s?s({$grid:he}):[Z?c(Z,Object.assign(Object.assign(Object.assign({ref:Q},a),t&&d(r)?H.tablePage:{}),{onPageChange:je}),Me(a.slots)):F(he)]):F(he)})());break;default:w("vxe.error.notProp",[`layouts -> ${t}`])}})),o},Le={};y.forEach((e=>{const t=g.camelCase(`on-${e}`);Le[t]=(...t)=>q(e,...t)}));const Ae=()=>{const{proxyConfig:t,formConfig:o}=e,{proxyInited:r}=H,s=re.value,n=ie.value;if(t&&d(s)){if(o&&d(n)&&s.form&&n.items){const e={};n.items.forEach((t=>{const{field:o,itemRender:r}=t;if(o){let a=null;if(r){const{defaultValue:e}=r;g.isFunction(e)?a=e({item:t}):g.isUndefined(e)||(a=e)}e[o]=a}})),H.formData=e}r||(H.proxyInited=!0,!1!==s.autoLoad&&a().then((()=>_e.commitProxy("_init"))).then((e=>{_e.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("init"))})))}},Ze=e=>{const t=ce.value;I.hasKey(e,D.ESCAPE)&&H.isZMax&&!1!==t.escRestore&&Ke.triggerZoomEvent(e)},_e={dispatchEvent:(e,t,o)=>{q(e,T(o,{$grid:he},t))},getEl:()=>V.value,commitProxy(t,...o){const{toolbarConfig:r,pagerConfig:s,editRules:n,validConfig:i}=e,{tablePage:l}=H,c=se.value,u=ae.value,m=re.value,p=ne.value,f=le.value,{beforeQuery:v,afterQuery:x,beforeDelete:b,afterDelete:h,beforeSave:C,afterSave:y,ajax:R={}}=m,j=m.response||m.props||{},k=G.value,S=ye();let T=null,I=null;if(g.isString(t)){const{buttons:e}=f,o=r&&d(f)&&e?g.findTree(e,(e=>e.code===t),{children:"dropdowns"}):null;T=o?o.item:null,I=t}else T=t,I=T.code;const D=T?T.params:null;switch(I){case"insert":return k.insert({});case"insert_edit":case"insert_actived":return k.insert({}).then((({row:e})=>k.setEditRow(e)));case"mark_cancel":(e=>{const t=se.value,o=G.value,r=o.getCheckboxRecords();r.length?(o.togglePendingRow(r),oe.clearCheckboxRow()):t&&E.modal&&E.modal.message({id:e,content:O("vxe.grid.selectOneRecord"),status:"warning"})})(I);break;case"remove":return Ee(I,"vxe.grid.removeSelectRecord",(()=>k.removeCheckboxRow()));case"import":k.importData(D);break;case"open_import":k.openImport(D);break;case"export":k.exportData(D);break;case"open_export":k.openExport(D);break;case"reset_custom":return k.resetCustom(!0);case"_init":case"reload":case"query":{const e=R.query,t=R.querySuccess,r=R.queryError;if(e){const n="_init"===I,i="reload"===I;if(!n&&H.tableLoading)return a();let c=[],u=[],m={};if(s&&((n||i)&&(l.currentPage=1),d(p)&&(m=Object.assign({},l))),n){let e=null;if(k){const{computeSortOpts:t}=k.getComputeMaps();e=t.value.defaultSort}e&&(g.isArray(e)||(e=[e]),c=e.map((e=>({field:e.field,property:e.field,order:e.order})))),k&&(u=k.getCheckedFilters())}else k&&(i?k.clearAll():(c=k.getSortColumns(),u=k.getCheckedFilters()));const f={code:I,button:T,isInited:n,isReload:i,$grid:he,page:m,sort:c.length?c[0]:{},sorts:c,filters:u,form:S,options:e};return H.sortData=c,H.filterData=u,H.tableLoading=!0,Promise.resolve((v||e)(f,...o)).then((e=>{let r=[];if(H.tableLoading=!1,e)if(s&&d(p)){const t=j.total,o=(g.isFunction(t)?t({data:e,$grid:he}):g.get(e,t||"page.total"))||0;l.total=g.toNumber(o);const a=j.result;r=(g.isFunction(a)?a({data:e,$grid:he}):g.get(e,a||"result"))||[];const s=Math.max(Math.ceil(o/l.pageSize),1);l.currentPage>s&&(l.currentPage=s)}else{const t=j.list;r=(t?g.isFunction(t)?t({data:e,$grid:he}):g.get(e,t):e)||[]}return k?k.loadData(r):a((()=>{k&&k.loadData(r)})),x&&x(f,...o),t&&t(Object.assign(Object.assign({},f),{response:e})),{status:!0}})).catch((e=>(H.tableLoading=!1,r&&r(Object.assign(Object.assign({},f),{response:e})),{status:!1})))}w("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{const e=R.delete,t=R.deleteSuccess,r=R.deleteError;if(e){const a=oe.getCheckboxRecords(),s=a.filter((e=>!k.isInsertByRow(e))),n={$grid:he,code:I,button:T,body:{removeRecords:s},form:S,options:e};if(a.length)return Ee(I,"vxe.grid.deleteSelectRecord",(()=>s.length?(H.tableLoading=!0,Promise.resolve((b||e)(n,...o)).then((e=>(H.tableLoading=!1,k.setPendingRow(s,!1),u&&E.modal&&E.modal.message({content:we(e,"vxe.grid.delSuccess"),status:"success"}),h?h(n,...o):_e.commitProxy("query"),t&&t(Object.assign(Object.assign({},n),{response:e})),{status:!0}))).catch((e=>(H.tableLoading=!1,u&&E.modal&&E.modal.message({id:I,content:we(e,"vxe.grid.operError"),status:"error"}),r&&r(Object.assign(Object.assign({},n),{response:e})),{status:!1})))):k.remove(a)));c&&E.modal&&E.modal.message({id:I,content:O("vxe.grid.selectOneRecord"),status:"warning"})}else w("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{const e=R.save,t=R.saveSuccess,r=R.saveError;if(e){const a=k.getRecordset(),{insertRecords:s,removeRecords:l,updateRecords:g,pendingRecords:d}=a,m={$grid:he,code:I,button:T,body:a,form:S,options:e};s.length&&(a.pendingRecords=d.filter((e=>-1===k.findRowIndexOf(s,e)))),d.length&&(a.insertRecords=s.filter((e=>-1===k.findRowIndexOf(d,e))));let p=Promise.resolve();return n&&(p=k[i&&"full"===i.msgMode?"fullValidate":"validate"](a.insertRecords.concat(g))),p.then((s=>{if(!s)return a.insertRecords.length||l.length||g.length||a.pendingRecords.length?(H.tableLoading=!0,Promise.resolve((C||e)(m,...o)).then((e=>(H.tableLoading=!1,k.clearPendingRow(),u&&E.modal&&E.modal.message({content:we(e,"vxe.grid.saveSuccess"),status:"success"}),y?y(m,...o):_e.commitProxy("query"),t&&t(Object.assign(Object.assign({},m),{response:e})),{status:!0}))).catch((e=>(H.tableLoading=!1,u&&E.modal&&E.modal.message({id:I,content:we(e,"vxe.grid.operError"),status:"error"}),r&&r(Object.assign(Object.assign({},m),{response:e})),{status:!1})))):void(c&&E.modal&&E.modal.message({id:I,content:O("vxe.grid.dataUnchanged"),status:"info"}))}))}w("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:{const e=P.get(I);if(e){const t=e.tableCommandMethod||e.commandMethod;t?t({code:I,button:T,$grid:he,$table:k},...o):w("vxe.error.notCommands",[I])}}}return a()},zoom:()=>H.isZMax?_e.revert():_e.maximize(),isMaximized:()=>H.isZMax,maximize:()=>De(!0),revert:()=>De(),getFormData:ye,getFormItems(t){const o=ie.value,{formConfig:r}=e,{items:a}=o,s=[];return g.eachTree(r&&d(o)&&a?a:[],(e=>{s.push(e)}),{children:"children"}),g.isUndefined(t)?s:s[t]},getProxyInfo(){const t=G.value;if(e.proxyConfig){const{sortData:e}=H;return{data:t?t.getFullData():[],filter:H.filterData,form:ye(),sort:e.length?e[0]:{},sorts:e,pager:H.tablePage,pendingRecords:t?t.getPendingRecords():[]}}return null}},Ke={extendTableMethods:te,callSlot:(e,t)=>e&&(g.isString(e)&&(e=B[e]||null),g.isFunction(e))?R(e(t)):[],getExcludeHeight(){const{isZMax:e}=H,t=V.value;if(t){const o=W.value,r=Y.value,a=J.value,s=X.value,n=ee.value,i=t.parentElement;return(e?0:i?v(i):0)+v(t)+x(o)+x(r)+x(a)+x(s)+x(n)}return 0},getParentHeight(){const e=V.value;if(e){const t=e.parentElement;return(H.isZMax?f().visibleHeight:t?g.toNumber(getComputedStyle(t).height):0)-Ke.getExcludeHeight()}return 0},triggerToolbarCommitEvent(e,t){const{code:o}=e;return _e.commitProxy(e,t).then((e=>{o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&_e.dispatchEvent("delete"===o||"save"===o?`proxy-${o}`:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===o}),t)}))},triggerToolbarBtnEvent(e,t){Ke.triggerToolbarCommitEvent(e,t),_e.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){Ke.triggerToolbarCommitEvent(e,t),_e.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){_e.zoom(),_e.dispatchEvent("zoom",{type:H.isZMax?"max":"revert"},e)}};Object.assign(he,oe,_e,Ke,{loadColumn(e){const t=G.value;return g.eachTree(e,(e=>{e.slots&&g.each(e.slots,(e=>{g.isFunction(e)||B[e]||w("vxe.error.notSlot",[e])}))})),t?t.loadColumn(e):a()},reloadColumn:e=>(he.clearAll(),he.loadColumn(e))});const He=o(0);s((()=>e.columns?e.columns.length:-1),(()=>{He.value++})),s((()=>e.columns),(()=>{He.value++})),s(He,(()=>{a((()=>he.loadColumn(e.columns||[])))})),s((()=>e.toolbarConfig),(()=>{Ce()})),s(pe,(()=>{Re("currentPage")})),s(fe,(()=>{Re("pageSize")})),s(ve,(()=>{Re("total")})),s((()=>e.proxyConfig),(()=>{Ae()})),k.forEach((e=>{const{setupGrid:t}=e;if(t){const e=t(he);e&&g.isObject(e)&&Object.assign(he,e)}})),Re(),n((()=>{a((()=>{const{columns:t}=e;e.formConfig&&(A||w("vxe.error.reqComp",["vxe-form"])),e.pagerConfig&&(Z||w("vxe.error.reqComp",["vxe-pager"])),t&&t.length&&he.loadColumn(t),Ce(),Ae()})),I.on(he,"keydown",Ze)})),i((()=>{I.off(he,"keydown")}));return he.renderVN=()=>{const t=K.value,o=ge.value;return c("div",{ref:V,class:["vxe-grid",{[`size--${t}`]:t,"is--animat":!!e.animat,"is--round":e.round,"is--maximize":H.isZMax,"is--loading":e.loading||H.tableLoading}],style:o},(()=>{const e=me.value,{headKeys:t,bodyKeys:o,footKeys:r}=e,a=B.asideLeft||B["aside-left"],s=B.asideRight||B["aside-right"];return[c("div",{class:"vxe-grid--layout-header-wrapper"},qe(t)),c("div",{class:"vxe-grid--layout-body-wrapper"},[a?c("div",{class:"vxe-grid--layout-aside-left-wrapper"},a({})):F(he),c("div",{class:"vxe-grid--layout-body-content-wrapper"},qe(o)),s?c("div",{class:"vxe-grid--layout-aside-right-wrapper"},s({})):F(he)]),c("div",{class:"vxe-grid--layout-footer-wrapper"},qe(r))]})())},l("$xeGrid",he),he},render(){return this.renderVN()}});export{B as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as o from"../components/index.js";export{install}from"../components/index.js";export{o as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={vxe:{base:{pleaseInput:"请输入",pleaseSelect:"请选择",comma:",",fullStop:"。"},loading:{text:"加载中..."},error:{downErr:"下载失败",errLargeData:"当绑定的数据量过大时,应该请使用 {0},否则可能会出现卡顿",groupFixed:"如果使用分组表头,冻结列必须按组设置",groupMouseRange:'分组表头与 "{0}" 不能同时使用,这可能会出现错误',groupTag:'分组列头应该使用 "{0}" 而不是 "{1}",这可能会出现错误',scrollErrProp:'启用虚拟滚动后不支持该参数 "{0}"',errConflicts:'参数 "{0}" 与 "{1}" 有冲突',notSupportProp:'当启用参数 "{0}" 时不支持 "{1}",应该为 "{2}",否则将会出现错误',notConflictProp:'当使用 "{0}" 时,应该设置 "{1}",否则可能会存在功能冲突',unableInsert:"无法插入到指定位置,请检查参数是否正确",useErr:'安装 "{0}" 模块时发生错误,可能顺序不正确,依赖的模块需要在 Table 之前安装',barUnableLink:"工具栏无法关联表格",expandContent:'展开行的插槽应该是 "content",请检查是否正确',reqComp:'缺少 "{0}" 组件,请检查是否正确安装。 https://vxeui.com/#/start/useGlobal',reqModule:'缺少 "{0}" 模块',reqProp:'缺少必要的 "{0}" 参数,这可能会导致出现错误',emptyProp:'参数 "{0}" 不允许为空',errProp:'不支持的参数 "{0}",可能为 "{1}"',colRepet:'column.{0}="{1}" 重复了,这可能会导致某些功能无法使用',notFunc:'方法 "{0}" 不存在',errFunc:'参数 "{0}" 不是一个方法',notValidators:'全局校验 "{0}" 不存在',notFormats:'全局格式化 "{0}" 不存在',notCommands:'全局指令 "{0}" 不存在',notSlot:'插槽 "{0}" 不存在',noTree:'树结构不支持 "{0}"',notProp:'不支持的参数 "{0}"',checkProp:'当数据量过大时可能会导致复选框卡顿,建议设置参数 "{0}" 提升渲染速度',coverProp:'"{0}" 的参数 "{1}" 重复定义,这可能会出现错误',uniField:'字段名 "{0}" 重复定义,这可能会出现错误',repeatKey:'主键重复 {0}="{1}",这可能会出现错误',delFunc:'方法 "{0}" 已废弃,请使用 "{1}"',delProp:'参数 "{0}" 已废弃,请使用 "{1}"',delEvent:'事件 "{0}" 已废弃,请使用 "{1}"',removeProp:'参数 "{0}" 已废弃,不建议使用,这可能会导致出现错误',errFormat:'全局的格式化内容应该使用 "VXETable.formats" 定义,挂载 "formatter={0}" 的方式已不建议使用',notType:'不支持的文件类型 "{0}"',notExp:"该浏览器不支持导入/导出功能",impFields:"导入失败,请检查字段名和数据格式是否正确",treeNotImp:"树表格不支持导入",treeCrossDrag:"只能拖拽第一层级",treeDragChild:"父级不能拖拽到自己的子级中",reqPlugin:'扩展插件未安装 "{1}" https://vxeui.com/other{0}/#/{1}/install',errMaxRow:"超过支持的最大数据量 {0} 行,这可能会导致出现错误"},table:{emptyText:"暂无数据",allTitle:"全选/取消",seqTitle:"序号",actionTitle:"操作",confirmFilter:"筛选",resetFilter:"重置",allFilter:"全部",sortAsc:"升序:最低到最高",sortDesc:"降序:最高到最低",filter:"对所选的列启用筛选",impSuccess:"成功导入 {0} 条记录",expLoading:"正在导出中",expSuccess:"导出成功",expError:"导出失败",expFilename:"导出_{0}",expOriginFilename:"导出_源_{0}",customTitle:"列设置",customAll:"全部",customConfirm:"确认",customClose:"关闭",customCancel:"取消",customRestore:"恢复默认",maxFixedCol:"最大冻结列的数量不能超过 {0} 个",dragTip:"移动:{0}",resizeColTip:"宽:{0} 像素",resizeRowTip:"高:{0} 像素",rowGroupContentTotal:"{0}({1})"},grid:{selectOneRecord:"请至少选择一条记录!",deleteSelectRecord:"您确定要删除所选记录吗?",removeSelectRecord:"您确定要移除所选记录吗?",dataUnchanged:"数据未改动!",delSuccess:"成功删除所选记录!",saveSuccess:"保存成功!",operError:"发生错误,操作失败!"},select:{search:"搜索",loadingText:"加载中",emptyText:"暂无数据"},pager:{goto:"前往",gotoTitle:"页数",pagesize:"{0}条/页",total:"共 {0} 条记录",pageClassifier:"页",homePage:"首页",homePageTitle:"首页",prevPage:"上一页",prevPageTitle:"上一页",nextPage:"下一页",nextPageTitle:"下一页",prevJump:"向上跳页",prevJumpTitle:"向上跳页",nextJump:"向下跳页",nextJumpTitle:"向下跳页",endPage:"末页",endPageTitle:"末页"},alert:{title:"系统提示"},button:{confirm:"确认",cancel:"取消",clear:"清除"},filter:{search:"搜索"},custom:{cstmTitle:"列设置",cstmRestore:"恢复默认",cstmCancel:"取消",cstmConfirm:"确定",cstmConfirmRestore:"请确认是否恢复成默认列配置?",cstmDragTarget:"移动:{0}",setting:{colSort:"排序",sortHelpTip:"点击并拖动图标可以调整列的排序",colTitle:"列标题",colResizable:"列宽(像素)",colVisible:"是否显示",colFixed:"冻结列",colFixedMax:"冻结列(最多 {0} 列)",fixedLeft:"左侧",fixedUnset:"不设置",fixedRight:"右侧"}},import:{modes:{covering:"覆盖方式(直接覆盖表格数据)",insert:"底部追加(在表格的底部追加新数据)",insertTop:"顶部追加(在表格的顶部追加新数据)",insertBottom:"底部追加(在表格的底部追加新数据)"},impTitle:"导入数据",impFile:"文件名",impSelect:"选择文件",impType:"文件类型",impOpts:"参数设置",impMode:"导入模式",impConfirm:"导入",impCancel:"取消"},export:{types:{csv:"CSV (逗号分隔)(*.csv)",html:"网页(*.html)",xml:"XML 数据(*.xml)",txt:"文本文件(制表符分隔)(*.txt)",xls:"Excel 97-2003 工作簿(*.xls)",xlsx:"Excel 工作簿(*.xlsx)",pdf:"PDF (*.pdf)"},modes:{empty:"空数据",current:"当前数据(当前页的数据)",selected:"选中数据(当前页选中的数据)",all:"全量数据(包括所有分页的数据)"},printTitle:"打印数据",expTitle:"导出数据",expName:"文件名",expNamePlaceholder:"请输入文件名",expSheetName:"标题",expSheetNamePlaceholder:"请输入标题",expType:"保存类型",expMode:"选择数据",expCurrentColumn:"全部字段",expColumn:"选择字段",expOpts:"参数设置",expOptHeader:"表头",expHeaderTitle:"是否需要表头",expOptFooter:"表尾",expFooterTitle:"是否需要表尾",expOptColgroup:"分组表头",expOptTitle:"列标题",expTitleTitle:"是否为列标题,否则显示为列的字段名",expColgroupTitle:"如果存在,则支持带有分组结构的表头",expOptMerge:"合并",expMergeTitle:"如果存在,则支持带有合并结构的单元格",expOptAllExpand:"展开树",expAllExpandTitle:"如果存在,则支持将带有层级结构的数据全部展开",expOptUseStyle:"样式",expUseStyleTitle:"如果存在,则支持带样式的单元格",expOptOriginal:"源数据",expOriginalTitle:"如果为源数据,则支持导入到表格中",expPrint:"打印",expConfirm:"导出",expCancel:"取消"},modal:{errTitle:"错误提示",zoomMin:"最小化",zoomIn:"最大化",zoomOut:"还原",close:"关闭",miniMaxSize:"最小化窗口的数量不能超过 {0} 个",footPropErr:"show-footer 仅用于启用表尾,需配合 show-confirm-button | show-cancel-button | 插槽使用"},drawer:{close:"关闭"},form:{folding:"收起",unfolding:"展开"},toolbar:{import:"导入",export:"导出",print:"打印",refresh:"刷新",zoomIn:"全屏",zoomOut:"还原",custom:"列设置",customAll:"全部",customConfirm:"确认",customRestore:"重置",fixedLeft:"冻结在左侧",fixedRight:"冻结在右侧",cancelFixed:"取消冻结列"},datePicker:{yearTitle:"{0} 年"},dateRangePicker:{pleaseRange:"请选择开始日期与结束日期"},input:{date:{m1:"01 月",m2:"02 月",m3:"03 月",m4:"04 月",m5:"05 月",m6:"06 月",m7:"07 月",m8:"08 月",m9:"09 月",m10:"10 月",m11:"11 月",m12:"12 月",quarterLabel:"{0} 年",monthLabel:"{0} 年",dayLabel:"{0} 年 {1}",labelFormat:{date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss",week:"yyyy 年第 WW 周",month:"yyyy-MM",quarter:"yyyy 年第 q 季度",year:"yyyy"},weeks:{w:"",w0:"周日",w1:"周一",w2:"周二",w3:"周三",w4:"周四",w5:"周五",w6:"周六"},months:{m0:"一月",m1:"二月",m2:"三月",m3:"四月",m4:"五月",m5:"六月",m6:"七月",m7:"八月",m8:"九月",m9:"十月",m10:"十一月",m11:"十二月"},quarters:{q1:"第一季度",q2:"第二季度",q3:"第三季度",q4:"第四季度"}}},numberInput:{currencySymbol:"¥"},imagePreview:{popupTitle:"预览",operBtn:{zoomOut:"缩小",zoomIn:"放大",pctFull:"等比例缩放",pct11:"显示原始尺寸",rotateLeft:"向左旋转",rotateRight:"向右旋转",print:"点击打印图片",download:"点击下载图片"}},upload:{fileBtnText:"点击或拖拽上传",imgBtnText:"点击或拖拽上传",dragPlaceholder:"请把文件拖放到这个区域即可上传",imgSizeHint:"单张{0}",imgCountHint:"最多{0}张",fileTypeHint:"支持 {0} 文件类型",fileSizeHint:"单个文件大小不超过{0}",fileCountHint:"最多可上传{0}个文件",uploadTypeErr:"文件类型不匹配!",overCountErr:"最多只能选择{0}个文件!",overCountExtraErr:"已超出最大数量{0}个,超出的{1}个文件将被忽略!",overSizeErr:"文件大小最大不能超过{0}!",reUpload:"重新上传",uploadProgress:"上传中 {0}%",uploadErr:"上传失败",uploadSuccess:"上传成功",moreBtnText:"更多({0})",viewItemTitle:"点击查看",morePopup:{readTitle:"查看列表",imageTitle:"上传图片",fileTitle:"上传文件"}},empty:{defText:"暂无数据"},colorPicker:{clear:"清除",confirm:"确认",copySuccess:"已复制到剪贴板:{0}"},formDesign:{formName:"表单名称",defFormTitle:"未命名的表单",widgetPropTab:"控件属性",widgetFormTab:"表单属性",error:{wdFormUni:"该类型的控件在表单中只允许添加一个",wdSubUni:"该类型的控件在子表中只允许添加一个"},styleSetting:{btn:"样式设置",title:"表单的样式设置",layoutTitle:"控件布局",verticalLayout:"上下布局",horizontalLayout:"横向布局",styleTitle:"标题样式",boldTitle:"标题加粗",fontBold:"加粗",fontNormal:"常规",colonTitle:"显示冒号",colonVisible:"显示",colonHidden:"隐藏",alignTitle:"对齐方式",widthTitle:"标题宽度",alignLeft:"居左",alignRight:"居右",unitPx:"像素",unitPct:"百分比"},widget:{group:{base:"基础控件",layout:"布局控件",system:"系统控件",module:"模块控件",chart:"图表控件",advanced:"高级控件"},copyTitle:"副本_{0}",component:{input:"输入框",textarea:"文本域",select:"下拉选择",row:"一行多列",title:"标题",text:"文本",subtable:"子表",VxeSwitch:"是/否",VxeInput:"输入框",VxeNumberInput:"数字",VxeDatePicker:"日期",VxeTextarea:"文本域",VxeSelect:"下拉选择",VxeTreeSelect:"树形选择",VxeRadioGroup:"单选框",VxeCheckboxGroup:"复选框",VxeUploadFile:"文件",VxeUploadImage:"图片",VxeRate:"评分",VxeSlider:"滑块"}},widgetProp:{name:"控件名称",placeholder:"提示语",required:"必填校验",multiple:"允许多选",displaySetting:{name:"显示设置",pc:"电脑端",mobile:"手机端",visible:"显示",hidden:"隐藏"},dataSource:{name:"数据源",defValue:"选项{0}",addOption:"添加选项",batchEditOption:"批量编辑",batchEditTip:"每行对应一个选项,支持从表格、Excel、WPS 中直接复制粘贴。",batchEditSubTip:"每行对应一个选项,如果是分组,子项可以是空格或制表键开头,支持从表格、Excel、WPS 中直接复制粘贴。",buildOption:"生成选项"},rowProp:{colSize:"列数",col2:"两列",col3:"三列",col4:"四列",col6:"六列",layout:"布局"},textProp:{name:"内容",alignTitle:"对齐方式",alignLeft:"居左",alignCenter:"居中",alignRight:"居右",colorTitle:"字体颜色",sizeTitle:"字体大小",boldTitle:"字体加粗",fontNormal:"常规",fontBold:"加粗"},subtableProp:{seqTitle:"序号",showSeq:"显示序号",showCheckbox:"允许多选",errSubDrag:"子表不支持该控件,请使用其他控件",colPlace:"将控件拖拽进来"},uploadProp:{limitFileCount:"文件数量限制",limitFileSize:"文件大小限制",multiFile:"允许上传多个文件",limitImgCount:"图片数量限制",limitImgSize:"图片大小限制",multiImg:"允许上传多张图片"}}},listDesign:{fieldSettingTab:"字段设置",listSettingTab:"参数设置",searchTitle:"查询条件",listTitle:"列表字段",searchField:"查询字段",listField:"列表字段",activeBtn:{ActionButtonUpdate:"编辑",ActionButtonDelete:"删除"},search:{addBtn:"编辑",emptyText:"未配置查询条件",editPopupTitle:"编辑查询字段"},searchPopup:{colTitle:"标题",saveBtn:"保存"}},text:{copySuccess:"已复制到剪贴板",copyError:"当前环境不支持该操作"},countdown:{formats:{yyyy:"年",MM:"月",dd:"天",HH:"时",mm:"分",ss:"秒"}},plugins:{extendCellArea:{area:{mergeErr:"无法对合并单元格进行该操作",multiErr:"无法对多重选择区域进行该操作",selectErr:"无法操作指定区域的单元格",extendErr:"如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同",pasteMultiErr:"无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作",cpInvalidErr:"该操作无法进行,您选择的区域中存在被禁止的列({0})"},fnr:{title:"查找和替换",findLabel:"查找",replaceLabel:"替换",findTitle:"查找内容:",replaceTitle:"替换为:",tabs:{find:"查找",replace:"替换"},filter:{re:"正则表达式",whole:"全词匹配",sensitive:"区分大小写"},btns:{findNext:"查找下一个",findAll:"查找全部",replace:"替换",replaceAll:"替换全部",cancel:"取消"},header:{seq:"#",cell:"单元格",value:"值"},body:{row:"行:{0}",col:"列:{0}"},empty:"(空值)",reError:"无效的正则表达式",recordCount:"已找到 {0} 个单元格",notCell:"找不到匹配的单元格",replaceSuccess:"成功替换 {0} 个单元格"}},filterComplexInput:{menus:{fixedColumn:"冻结列",fixedGroup:"冻结分组",cancelFixed:"取消冻结",fixedLeft:"冻结左侧",fixedRight:"冻结右侧"},cases:{equal:"等于",gt:"大于",lt:"小于",begin:"开头是",endin:"结尾是",include:"包含",isSensitive:"区分大小写"}},filterCombination:{menus:{sort:"排序",clearSort:"清除排序",sortAsc:"升序",sortDesc:"降序",fixedColumn:"冻结列",fixedGroup:"冻结分组",cancelFixed:"取消冻结",fixedLeft:"冻结左侧",fixedRight:"冻结右侧",clearFilter:"清除筛选",textOption:"文本筛选",numberOption:"数值筛选"},popup:{title:"自定义筛选的方式",currColumnTitle:"当前列:",and:"与",or:"或",describeHtml:"可用 ? 代表单个字符<br/>用 * 代表任意多个字符"},cases:{equal:"等于",unequal:"不等于",gt:"大于",ge:"大于或等于",lt:"小于",le:"小于或等于",begin:"开头是",notbegin:"开头不是",endin:"结尾是",notendin:"结尾不是",include:"包含",exclude:"不包含",between:"介于",custom:"自定义筛选",insensitive:"不区分大小写",isSensitive:"区分大小写"},empty:"(空白)",notData:"无匹配项"}},pro:{area:{mergeErr:"无法对合并单元格进行该操作",multiErr:"无法对多重选择区域进行该操作",extendErr:"如果延伸的区域包含被合并的单元格,所有合并的单元格需大小相同",pasteMultiErr:"无法粘贴,需要相同大小的复制的区域和粘贴的区域才能执行此操作"},fnr:{title:"查找和替换",findLabel:"查找",replaceLabel:"替换",findTitle:"查找内容:",replaceTitle:"替换为:",tabs:{find:"查找",replace:"替换"},filter:{re:"正则表达式",whole:"全词匹配",sensitive:"区分大小写"},btns:{findNext:"查找下一个",findAll:"查找全部",replace:"替换",replaceAll:"替换全部",cancel:"取消"},header:{seq:"#",cell:"单元格",value:"值"},empty:"(空值)",reError:"无效的正则表达式",recordCount:"已找到 {0} 个单元格",notCell:"找不到匹配的单元格",replaceSuccess:"成功替换 {0} 个单元格"}},renderer:{search:"搜索",cases:{equal:"等于",unequal:"不等于",gt:"大于",ge:"大于或等于",lt:"小于",le:"小于或等于",begin:"开头是",notbegin:"开头不是",endin:"结尾是",notendin:"结尾不是",include:"包含",exclude:"不包含",between:"介于",custom:"自定义筛选",insensitive:"不区分大小写",isSensitive:"区分大小写"},combination:{menus:{sort:"排序",clearSort:"清除排序",sortAsc:"升序",sortDesc:"降序",fixedColumn:"冻结列",fixedGroup:"冻结分组",cancelFixed:"取消冻结",fixedLeft:"冻结到左侧",fixedRight:"冻结到右侧",clearFilter:"清除筛选",textOption:"文本筛选",numberOption:"数值筛选"},popup:{title:"自定义筛选的方式",currColumnTitle:"当前列:",and:"与",or:"或",describeHtml:"可用 ? 代表单个字符<br/>用 * 代表任意多个字符"},empty:"(空白)",notData:"无匹配项"}}}};export{e as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"../../ui/index/index.js";import e from"../src/table/index.js";import{useCellView as o}from"../src/use/cell-view/index.js";import"../module/filter/hook/index.js";import"../module/menu/hook/index.js";import"../module/edit/hook/index.js";import"../module/export/hook/index.js";import"../module/keyboard/hook/index.js";import"../module/validator/hook/index.js";import"../module/custom/hook/index.js";import"../render/index/index.js";import{VxeUI as i}from"../../../../@vxe-ui/core/es/index.esm/index.js";const m=Object.assign({},e,{install(o){o.component(e.name,e)}}),n={useCellView:o};i.dynamicApp&&i.dynamicApp.component(e.name,e),i.component(e),i.tableHandle=n;const d=m;export{d as Table,m as VxeTable,m as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{nextTick as e}from"vue";import"../../../../ui/index/index.js";import t from"../../../../../../../_virtual/index/index.js";import{VxeUI as s}from"../../../../../../@vxe-ui/core/es/index.esm/index.js";const o=["openCustom","closeCustom","saveCustom","cancelCustom","resetCustom","toggleCustomAllCheckbox","setCustomAllCheckbox"];s.hooks.add("tableCustomModule",{setupTable(s){const{reactData:o,internalData:i}=s,{computeCustomOpts:l}=s.getComputeMaps(),{refElem:r}=s.getRefMaps(),n=s.xeGrid,u=()=>{const{customStore:e}=o,t=r.value;let s=0;t&&(s=t.clientHeight-28),e.maxHeight=Math.max(88,s)},a=()=>{const{initStore:t,customStore:s}=o;return s.visible=!0,t.custom=!0,c(),h(),u(),e().then((()=>u()))},c=()=>{const{customStore:e}=o,{collectColumn:s}=i;if(e.visible){const i={},l={},r={};t.eachTree(s,(e=>{const t=e.getKey();e.renderFixed=e.fixed,e.renderVisible=e.visible,e.renderResizeWidth=e.renderWidth,i[t]=e.renderSortNumber,l[t]=e.fixed,r[t]=e.visible})),e.oldSortMaps=i,e.oldFixedMaps=l,e.oldVisibleMaps=r,o.customColumnList=s.slice(0)}},m=()=>{const{customStore:t}=o,i=l.value;return t.visible&&(t.visible=!1,i.immediate||s.handleCustom()),e()},d=i=>{const{customStore:r}=o,{customColumnList:n}=o,u=l.value,{checkMethod:a,visibleMethod:c}=u,m=!!i;return u.immediate?(t.eachTree(n,(e=>{c&&!c({$table:s,column:e})||a&&!a({$table:s,column:e})||(e.visible=m,e.renderVisible=m,e.halfVisible=!1)})),r.isAll=m,o.isCustomStatus=!0,s.handleCustom(),s.saveCustomStore("update:visible")):(t.eachTree(n,(e=>{c&&!c({$table:s,column:e})||a&&!a({$table:s,column:e})||(e.renderVisible=m,e.halfVisible=!1)})),r.isAll=m),s.checkCustomStatus(),e()},b={openCustom:a,closeCustom:m,saveCustom:()=>{const{customColumnList:e}=o,i=l.value,{allowVisible:r,allowSort:n,allowFixed:u,allowResizable:a}=i;return t.eachTree(e,((e,t,s,o,i)=>{if(i)e.fixed=i.fixed;else{if(n){const s=t+1;e.renderSortNumber=s}u&&(e.fixed=e.renderFixed)}a&&(!e.renderVisible||e.children&&!e.children.length||e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth)),r&&(e.visible=e.renderVisible)})),o.isCustomStatus=!0,o.isDragColMove=!0,setTimeout((()=>{o.isDragColMove=!1}),1e3),s.saveCustomStore("confirm")},cancelCustom:()=>{const{customColumnList:s,customStore:i}=o,{oldSortMaps:r,oldFixedMaps:n,oldVisibleMaps:u}=i,a=l.value,{allowVisible:c,allowSort:m,allowFixed:d,allowResizable:b}=a;return t.eachTree(s,(e=>{const t=e.getKey(),s=!!u[t],o=n[t]||"";c&&(e.renderVisible=s,e.visible=s),d&&(e.renderFixed=o,e.fixed=o),m&&(e.renderSortNumber=r[t]||0),b&&(e.renderResizeWidth=e.renderWidth)}),{children:"children"}),e()},resetCustom(e){const{collectColumn:r}=i,n=l.value,{checkMethod:u}=n,a=Object.assign({visible:!0,resizable:!0===e,fixed:!0===e,sort:!0===e},e);return t.eachTree(r,(e=>{a.resizable&&(e.resizeWidth=0),a.fixed&&(e.fixed=e.defaultFixed),a.sort&&(e.renderSortNumber=e.sortNumber),u&&!u({$table:s,column:e})||(e.visible=e.defaultVisible),e.renderResizeWidth=e.renderWidth})),o.isCustomStatus=!1,s.saveCustomStore("reset"),s.handleCustom()},toggleCustomAllCheckbox(){const{customStore:e}=o,t=!e.isAll;return d(t)},setCustomAllCheckbox:d},h=()=>{const{customStore:e}=o,{collectColumn:t}=i,r=l.value,{checkMethod:n}=r;e.isAll=t.every((e=>!!n&&!n({$table:s,column:e})||e.renderVisible)),e.isIndeterminate=!e.isAll&&t.some((e=>(!n||n({$table:s,column:e}))&&(e.renderVisible||e.halfVisible)))},C=(e,t)=>{(n||s).dispatchEvent("custom",{type:e},t)},v={checkCustomStatus:h,emitCustomEvent:C,triggerCustomEvent(e){const t=s.reactData,{customStore:o}=t;o.visible?(m(),C("close",e)):(o.btnEl=e.target,a(),C("open",e))},customOpenEvent(e){const t=s.reactData,{customStore:o}=t;o.visible||(o.activeBtn=!0,o.btnEl=e.target,s.openCustom(),s.emitCustomEvent("open",e))},customCloseEvent(e){const t=s.reactData,{customStore:o}=t;o.visible&&(o.activeBtn=!1,s.closeCustom(),s.emitCustomEvent("close",e))},handleUpdateCustomColumn:c};return Object.assign(Object.assign({},b),v)},setupGrid:e=>e.extendTableMethods(o)});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e,inject as t,ref as l,nextTick as o,h as s,createCommentVNode as i,TransitionGroup as a}from"vue";import"../../../../ui/index/index.js";import{formatText as n}from"../../../../ui/src/utils/index.js";import{hasControlKey as c,removeClass as r,getTpImg as d,addClass as m}from"../../../../ui/src/dom/index.js";import{errLog as u}from"../../../../ui/src/log/index.js";import p from"../../../../../../../_virtual/index/index.js";import{VxeUI as v}from"../../../../../../@vxe-ui/core/es/index.esm/index.js";const{getI18n:x,getIcon:b,renderEmptyElement:h}=v;var C=e({name:"TableCustomPanel",props:{customStore:{type:Object,default:()=>({})}},setup(e){const C=v.getComponent("VxeModal"),g=v.getComponent("VxeDrawer"),f=v.getComponent("VxeButton"),T=v.getComponent("VxeNumberInput"),E=v.getComponent("VxeRadioGroup"),k=t("$xeTable",{}),{props:_,reactData:y,internalData:A}=k,{computeCustomOpts:B,computeColumnDragOpts:O,computeColumnOpts:S,computeIsMaxFixedColumn:w,computeResizableOpts:I}=k.getComputeMaps(),D=l(),F=l(),L=l(),M=l(),V=l();let H,R,$=!1;const z=t=>{const{customStore:l}=e;l.activeWrapper=!0,k.customOpenEvent(t)},N=t=>{const{customStore:l}=e;l.activeWrapper=!1,setTimeout((()=>{l.activeBtn||l.activeWrapper||k.customCloseEvent(t)}),300)},W=({$event:e})=>{y.isCustomStatus=!0,k.saveCustom(),k.closeCustom(),k.emitCustomEvent("confirm",e)},K=({$event:e})=>{k.closeCustom(),k.emitCustomEvent("close",e)},X=({$event:e})=>{k.cancelCustom(),k.closeCustom(),k.emitCustomEvent("cancel",e)},j=e=>{k.resetCustom(!0),k.closeCustom(),k.emitCustomEvent("reset",e)},U=({$event:e})=>{v.modal?v.modal.confirm({content:x("vxe.custom.cstmConfirmRestore"),className:"vxe-table--ignore-clear",escClosable:!0}).then((t=>{"confirm"===t&&j(e)})):j(e)},G=e=>{const{customColumnList:t}=y,l=p.findTree(t,(t=>t===e));if(l&&l.parent){const{parent:e}=l;e.children&&e.children.length&&(e.renderVisible=e.children.every((e=>e.renderVisible)),e.halfVisible=!e.renderVisible&&e.children.some((e=>e.renderVisible||e.halfVisible)),G(e))}},q=e=>{const t=!e.renderVisible;B.value.immediate?(p.eachTree([e],(e=>{e.visible=t,e.renderVisible=t,e.halfVisible=!1})),y.isCustomStatus=!0,k.handleCustom(),k.saveCustomStore("update:visible")):p.eachTree([e],(e=>{e.renderVisible=t,e.halfVisible=!1})),G(e),k.checkCustomStatus()},P=(e,t)=>{const l=w.value;B.value.immediate?(e.renderFixed===t?p.eachTree([e],(e=>{e.fixed="",e.renderFixed=""})):l&&!e.renderFixed||p.eachTree([e],(e=>{e.fixed=t,e.renderFixed=t})),y.isCustomStatus=!0,k.handleCustom(),k.saveCustomStore("update:fixed")):e.renderFixed===t?p.eachTree([e],(e=>{e.renderFixed=""})):l&&!e.renderFixed||p.eachTree([e],(e=>{e.renderFixed=t}))},Y=()=>{k.toggleCustomAllCheckbox()},Z=(e,t,l,o)=>{const s=F.value;if(!s)return;const i=s.getBoundingClientRect();if(t){const e=L.value;if(e)if(l){const l=t.getBoundingClientRect();e.style.display="block",e.style.top=`${Math.max(1,l.y+s.scrollTop-i.y)}px`,e.style.height=`${l.height}px`,e.style.width=`${l.width}px`,e.setAttribute("drag-pos",o),e.setAttribute("drag-to-child",$?"y":"n")}else e.style.display=""}const a=M.value;a&&(a.style.display="block",a.style.top=`${Math.min(s.clientHeight+s.scrollTop-a.clientHeight,e.clientY+s.scrollTop-i.y)}px`,a.style.left=`${Math.min(s.clientWidth+s.scrollLeft-a.clientWidth,e.clientX+s.scrollLeft-i.x)}px`,a.setAttribute("drag-status",l?$?"sub":"normal":"disabled"))},J=()=>{const e=M.value,t=L.value;e&&(e.style.display=""),t&&(t.style.display="")},Q=e=>{const t=e.currentTarget.parentElement.parentElement.parentElement,l=t.getAttribute("colid"),o=k.getColumnById(l);t.draggable=!0,V.value=o,m(t,"active--drag-origin")},ee=e=>{const t=e.currentTarget.parentElement.parentElement.parentElement;J(),t.draggable=!1,V.value=null,r(t,"active--drag-origin")},te=e=>{e.dataTransfer&&e.dataTransfer.setDragImage(d(),0,0)},le=e=>{const{mouseConfig:t}=_,{customColumnList:l}=y,{collectColumn:o}=A,s=B.value,{immediate:i}=s,a=e.currentTarget,n=V.value,c=O.value,{isCrossDrag:d,isSelfToChildDrag:m,isToChildDrag:u,dragEndMethod:b}=c,h="bottom"===R?1:0;if(H&&n&&H!==n){const s=n,a=H;Promise.resolve(!b||b({oldColumn:s,newColumn:a,dragColumn:s,dragPos:R,dragToChild:!!$,offsetIndex:h})).then((n=>{if(!n)return;let c=-1,r=-1;const b={};p.eachTree([s],(e=>{b[e.id]=e}));let C=!1;if(i){if(s.parentId&&a.parentId){if(!d)return;if(b[a.id]&&(C=!0,!d||!m))return void(v.modal&&v.modal.message({status:"error",content:x("vxe.error.treeDragChild")}))}else if(s.parentId){if(!d)return}else if(a.parentId){if(!d)return;if(b[a.id]&&(C=!0,!d||!m))return void(v.modal&&v.modal.message({status:"error",content:x("vxe.error.treeDragChild")}))}const e=p.findTree(o,(e=>e.id===s.id));if(C&&d&&m){if(e){const{items:t,index:l}=e,o=s.children||[];o.forEach((e=>{e.parentId=s.parentId})),t.splice(l,1,...o),s.children=[]}}else if(e){const{items:t,index:l,parent:o}=e;t.splice(l,1),o||(c=l)}const t=p.findTree(o,(e=>e.id===a.id));if(t){const{items:e,index:l,parent:o}=t;d&&u&&$?(s.parentId=a.id,a.children=(a.children||[]).concat([s])):(s.parentId=a.parentId,e.splice(l+h,0,s)),o||(r=l)}p.eachTree(o,((e,t,l,o,s)=>{if(!s){const l=t+1;e.renderSortNumber=l}}))}else c=p.findIndexOf(l,(e=>e.id===s.id)),l.splice(c,1),r=p.findIndexOf(l,(e=>e.id===a.id)),l.splice(r+h,0,s);y.isDragColMove=!0,t&&(k.clearSelected&&k.clearSelected(),k.clearCellAreas&&(k.clearCellAreas(),k.clearCopyCellArea())),k.dispatchEvent("column-dragend",{oldColumn:s,newColumn:a,dragColumn:s,dragPos:R,offsetIndex:h,_index:{newIndex:r,oldIndex:c}},e),i&&(y.customColumnList=o.slice(0),k.handleColDragSwapColumn())})).catch((()=>{}))}J(),V.value=null,a.draggable=!1,a.removeAttribute("drag-pos"),r(a,"active--drag-target"),r(a,"active--drag-origin")},oe=e=>{const t=B.value,{immediate:l}=t,o=O.value,{isCrossDrag:s,isToChildDrag:i}=o,a=e.currentTarget,n=c(e),r=a.getAttribute("colid"),d=k.getColumnById(r),m=V.value;if(d&&(s||1===d.level)){e.preventDefault();const t=e.clientY-a.getBoundingClientRect().y<a.clientHeight/2?"top":"bottom";if(m&&m.id===d.id||!s&&d.level>1||!l&&d.level>1||d.renderFixed)return void Z(e,a,!1,t);$=!!(s&&i&&n&&l),H=d,R=t,Z(e,a,!0,t)}},se=()=>{const e=V.value,t=O.value;return s("div",{},[s("div",{ref:L,class:["vxe-table-custom-popup--drag-line",{"is--guides":t.showGuidesStatus}]}),s("div",{ref:M,class:"vxe-table-custom-popup--drag-tip"},[s("div",{class:"vxe-table-custom-popup--drag-tip-wrapper"},[s("div",{class:"vxe-table-custom-popup--drag-tip-status"},[s("span",{class:["vxe-table-custom-popup--drag-tip-normal-status",b().TABLE_DRAG_STATUS_ROW]}),s("span",{class:["vxe-table-custom-popup--drag-tip-sub-status",b().TABLE_DRAG_STATUS_SUB_ROW]}),s("span",{class:["vxe-table-custom-popup--drag-tip-disabled-status",b().TABLE_DRAG_DISABLED]})]),s("div",{class:"vxe-table-custom-popup--drag-tip-content"},x("vxe.custom.cstmDragTarget",[e&&"html"!==e.type?e.getTitle():""]))])])])},ie=()=>{const t=k.xeGrid,{customStore:l}=e,{resizable:o}=_,{isCustomStatus:c,customColumnList:r}=y,d=B.value,{immediate:m}=d,u=O.value,{mode:v,modalOptions:A,drawerOptions:D,allowVisible:L,allowSort:M,allowFixed:V,allowResizable:H,checkMethod:R,visibleMethod:$}=d,z=S.value,{maxFixedSize:N}=z,j=I.value,{minWidth:G,maxWidth:Z}=j,J=Object.assign({},A),ie=Object.assign({},D),ae=w.value,{isCrossDrag:ne}=u,ce=d.slots||{},re=ce.header,de=ce.top,me=ce.bottom,ue=ce.default,pe=ce.footer,ve=[],xe=l.isAll,be=l.isIndeterminate,he={$table:k,$grid:t,columns:r,isAllChecked:xe,isAllIndeterminate:be,isCustomStatus:c};p.eachTree(r,((e,t,l,a,c)=>{if(!$||$({$table:k,column:e})){let l=0,a=0;if(H){const o={$table:k,column:e,columnIndex:t,$columnIndex:t,$rowIndex:-1};G&&(l=p.toNumber(p.isFunction(G)?G(o):G)),Z&&(a=p.toNumber(p.isFunction(Z)?Z(o):Z))}const r=e.renderVisible,d=e.halfVisible,u=n(e.getTitle(),1),v=e.children&&e.children.length,h=!!R&&!R({$table:k,column:e}),C=!r;ve.push(s("tr",{key:e.id,colid:e.id,class:[`vxe-table-custom-popup--row level--${e.level}`,{"is--group":v}],onDragstart:te,onDragend:le,onDragover:oe},[L?s("td",{class:"vxe-table-custom-popup--column-item col--visible"},[s("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":r,"is--indeterminate":d,"is--disabled":h}],title:x("vxe.custom.setting.colVisible"),onClick:()=>{h||q(e)}},[s("span",{class:["vxe-checkbox--icon",d?b().TABLE_CHECKBOX_INDETERMINATE:r?b().TABLE_CHECKBOX_CHECKED:b().TABLE_CHECKBOX_UNCHECKED]})])]):i(),s("td",{class:"vxe-table-custom-popup--column-item col--name"},[s("div",{class:"vxe-table-custom-popup--name"},[M?ne&&m||1===e.level?s("div",Object.assign({class:["vxe-table-custom-popup--column-sort-btn",{"is--disabled":h||C||e.renderFixed}],title:x("vxe.custom.setting.sortHelpTip")},h||C||e.renderFixed?{}:{onMousedown:Q,onMouseup:ee}),[s("i",{class:b().TABLE_CUSTOM_SORT})]):s("div",{class:"vxe-table-custom-popup--column-sort-placeholder"}):i(),"html"===e.type?s("div",{key:"1",class:"vxe-table-custom-popup--title",innerHTML:u}):s("div",{key:"0",class:"vxe-table-custom-popup--title",title:u},u)])]),H?s("td",{class:"vxe-table-custom-popup--column-item col--resizable"},[e.children&&e.children.length||!(p.isBoolean(e.resizable)?e.resizable:z.resizable||o)?s("span","-"):T?s(T,{type:"integer",immediate:!1,disabled:h||C,modelValue:e.renderResizeWidth,min:l||void 0,max:a||void 0,"onUpdate:modelValue"(t){const l=Math.max(0,Number(t));e.renderResizeWidth=l},onChange(){(e=>{B.value.immediate&&e.renderResizeWidth!==e.renderWidth&&(e.resizeWidth=e.renderResizeWidth,e.renderWidth=e.renderResizeWidth,y.isCustomStatus=!0,k.handleCustom(),k.saveCustomStore("update:width"))})(e)}}):i()]):i(),V?s("td",{class:"vxe-table-custom-popup--column-item col--fixed"},[c?s("span","-"):E?s(E,{modelValue:e.renderFixed||"",type:"button",size:"mini",disabled:h||C,options:[{label:x("vxe.custom.setting.fixedLeft"),value:"left",disabled:h||C||ae},{label:x("vxe.custom.setting.fixedUnset"),value:"",disabled:h||C},{label:x("vxe.custom.setting.fixedRight"),value:"right",disabled:h||C||ae}],"onUpdate:modelValue"(t){P(e,t)}}):i()]):i()]))}}));const Ce={default:()=>ue?k.callSlot(ue,he):s("div",{ref:F,class:"vxe-table-custom-popup--body"},[de?s("div",{class:"vxe-table-custom-popup--table-top"},k.callSlot(de,he)):h(k),s("div",{class:"vxe-table-custom-popup--table-wrapper"},[s("table",{},[s("colgroup",{},[L?s("col",{class:"vxe-table-custom-popup--table-col-seq"}):i(),s("col",{class:"vxe-table-custom-popup--table-col-title"}),H?s("col",{class:"vxe-table-custom-popup--table-col-width"}):i(),V?s("col",{class:"vxe-table-custom-popup--table-col-fixed"}):i()]),s("thead",{},[s("tr",{},[L?s("th",{},[s("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":xe,"is--indeterminate":be}],title:x("vxe.table.allTitle"),onClick:Y},[s("span",{class:["vxe-checkbox--icon",be?b().TABLE_CHECKBOX_INDETERMINATE:xe?b().TABLE_CHECKBOX_CHECKED:b().TABLE_CHECKBOX_UNCHECKED]}),s("span",{class:"vxe-checkbox--label"},x("vxe.toolbar.customAll"))])]):i(),s("th",{},x("vxe.custom.setting.colTitle")),H?s("th",{},x("vxe.custom.setting.colResizable")):i(),V?s("th",{},x("vxe.custom.setting."+(N?"colFixedMax":"colFixed"),[N])):i()])]),s(a,{class:"vxe-table-custom--panel-list",tag:"tbody",name:"vxe-table-custom--list"},{default:()=>ve})])]),me?s("div",{class:"vxe-table-custom-popup--table-bottom"},k.callSlot(me,he)):h(k),se()]),footer:()=>pe?k.callSlot(pe,he):s("div",{class:"vxe-table-custom-popup--footer"},[f?s(f,{content:d.resetButtonText||x("vxe.custom.cstmRestore"),disabled:!c,onClick:U}):i(),m?f?s(f,{content:d.closeButtonText||x("vxe.table.customClose"),onClick:K}):i():f?s(f,{content:d.cancelButtonText||x("vxe.table.customCancel"),onClick:X}):i(),m?i():f?s(f,{status:"primary",content:d.confirmButtonText||x("vxe.custom.cstmConfirm"),onClick:W}):i()])};return re&&(Ce.header=()=>k.callSlot(re,he)),"drawer"===v?g?s(g,{key:"drawer",className:["vxe-table-custom-drawer-wrapper","vxe-table--ignore-clear",ie.className||""].join(" "),modelValue:l.visible,title:ie.title||x("vxe.custom.cstmTitle"),width:ie.width||Math.min(880,Math.floor(.6*document.documentElement.clientWidth)),position:ie.position,resize:!!ie.resize,escClosable:!!ie.escClosable,maskClosable:!!ie.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){l.visible=e}},Ce):i():C?s(C,{key:"modal",className:["vxe-table-custom-modal-wrapper","vxe-table--ignore-clear",J.className||""].join(" "),modelValue:l.visible,title:J.title||x("vxe.custom.cstmTitle"),width:J.width||Math.min(880,document.documentElement.clientWidth),minWidth:J.minWidth||700,height:J.height||Math.min(680,document.documentElement.clientHeight),minHeight:J.minHeight||400,showZoom:J.showZoom,showMaximize:J.showMaximize,showMinimize:J.showMinimize,mask:J.mask,lockView:J.lockView,resize:J.resize,escClosable:!!J.escClosable,maskClosable:!!J.maskClosable,destroyOnClose:!0,showFooter:!0,"onUpdate:modelValue"(e){l.visible=e}},Ce):i()};return o((()=>{const e=B.value,{mode:t}=e;C||"modal"!==t||u("vxe.error.reqComp",["vxe-modal"]),g||"drawer"!==t||u("vxe.error.reqComp",["vxe-drawer"]),f||u("vxe.error.reqComp",["vxe-button"]),T||u("vxe.error.reqComp",["vxe-number-input"]),E||u("vxe.error.reqComp",["vxe-radio-group"])})),()=>{const t=B.value;return["modal","drawer","popup"].includes(`${t.mode}`)?ie():(()=>{const t=k.xeGrid,{customStore:l}=e,{isCustomStatus:o,customColumnList:c}=y,r=B.value,{immediate:d}=r,m=O.value,{maxHeight:u}=l,{checkMethod:v,visibleMethod:C,allowVisible:g,allowSort:T,allowFixed:E,trigger:_,placement:A}=r,S=w.value,{isCrossDrag:I}=m,L=r.slots||{},M=L.header,V=L.top,H=L.bottom,R=L.default,$=L.footer,j=[],G={},Z=l.isAll,J=l.isIndeterminate;"hover"===_&&(G.onMouseenter=z,G.onMouseleave=N);const ie={$table:k,$grid:t,columns:c,isAllChecked:Z,isAllIndeterminate:J,isCustomStatus:o};return p.eachTree(c,((e,t,l,o,a)=>{if(!C||C({$table:k,column:e})){const t=e.renderVisible,l=e.halfVisible,o=e.children&&e.children.length,c=n(e.getTitle(),1),r=!!v&&!v({$table:k,column:e}),m=!t;j.push(s("li",{key:e.id,colid:e.id,class:["vxe-table-custom--option",`level--${e.level}`,{"is--hidden":r||m,"is--group":o}],onDragstart:te,onDragend:le,onDragover:oe},[g?s("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":t,"is--indeterminate":l,"is--disabled":r}],title:x("vxe.custom.setting.colVisible"),onClick:()=>{r||q(e)}},[s("span",{class:["vxe-checkbox--icon",l?b().TABLE_CHECKBOX_INDETERMINATE:t?b().TABLE_CHECKBOX_CHECKED:b().TABLE_CHECKBOX_UNCHECKED]})]):i(),s("div",{class:"vxe-table-custom--name-option"},[T&&(I&&d||1===e.level)?s("div",{class:"vxe-table-custom--sort-option"},[s("span",Object.assign({class:["vxe-table-custom--sort-btn",{"is--disabled":r||m||e.renderFixed}],title:x("vxe.custom.setting.sortHelpTip")},r||m||e.renderFixed?{}:{onMousedown:Q,onMouseup:ee}),[s("i",{class:b().TABLE_CUSTOM_SORT})])]):i(),"html"===e.type?s("div",{key:"1",class:"vxe-table-custom--checkbox-label",innerHTML:c}):s("div",{key:"0",class:"vxe-table-custom--checkbox-label"},c)]),!a&&E?s("div",{class:"vxe-table-custom--fixed-option"},[f?s(f,{mode:"text",icon:"left"===e.renderFixed?b().TOOLBAR_TOOLS_FIXED_LEFT_ACTIVE:b().TOOLBAR_TOOLS_FIXED_LEFT,status:"left"===e.renderFixed?"primary":"",disabled:r||m||S&&!e.renderFixed,title:x("left"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedLeft"),onClick:()=>{P(e,"left")}}):i(),f?s(f,{mode:"text",icon:"right"===e.renderFixed?b().TOOLBAR_TOOLS_FIXED_RIGHT_ACTIVE:b().TOOLBAR_TOOLS_FIXED_RIGHT,status:"right"===e.renderFixed?"primary":"",disabled:r||m||S&&!e.renderFixed,title:x("right"===e.renderFixed?"vxe.toolbar.cancelFixed":"vxe.toolbar.fixedRight"),onClick:()=>{P(e,"right")}}):i()]):i()]))}})),s("div",{ref:D,key:"simple",class:["vxe-table-custom-wrapper",`placement--${A}`,{"is--active":l.visible}],style:u&&!["left","right"].includes(A)?{maxHeight:`${u}px`}:{}},l.visible?[s("div",{class:"vxe-table-custom--header"},M?k.callSlot(M,ie):[s("ul",{class:"vxe-table-custom--panel-list"},[s("li",{class:"vxe-table-custom--option"},[g?s("div",{class:["vxe-table-custom--checkbox-option",{"is--checked":Z,"is--indeterminate":J}],title:x("vxe.table.allTitle"),onClick:Y},[s("span",{class:["vxe-checkbox--icon",J?b().TABLE_CHECKBOX_INDETERMINATE:Z?b().TABLE_CHECKBOX_CHECKED:b().TABLE_CHECKBOX_UNCHECKED]}),s("span",{class:"vxe-checkbox--label"},x("vxe.toolbar.customAll"))]):s("span",{class:"vxe-checkbox--label"},x("vxe.table.customTitle"))])])]),s("div",{ref:F,class:"vxe-table-custom--body"},[V?s("div",{class:"vxe-table-custom--panel-top"},k.callSlot(V,ie)):h(k),R?s("div",{class:"vxe-table-custom--panel-body"},k.callSlot(R,ie)):s(a,Object.assign({class:"vxe-table-custom--panel-list",name:"vxe-table-custom--list",tag:"ul"},G),{default:()=>j}),H?s("div",{class:"vxe-table-custom--panel-bottom"},k.callSlot(H,ie)):h(k),se()]),r.showFooter?s("div",{class:"vxe-table-custom--footer"},$?k.callSlot($,ie):[s("div",{class:"vxe-table-custom--footer-buttons"},[f?s(f,{mode:"text",content:r.resetButtonText||x("vxe.table.customRestore"),disabled:!o,onClick:U}):i(),d?f?s(f,{mode:"text",content:r.closeButtonText||x("vxe.table.customClose"),onClick:K}):i():f?s(f,{mode:"text",content:r.cancelButtonText||x("vxe.table.customCancel"),onClick:X}):i(),d?i():f?s(f,{mode:"text",status:"primary",content:r.confirmButtonText||x("vxe.table.customConfirm"),onClick:W}):i()])]):null]:[])})()}}});export{C as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{nextTick as e,reactive as t}from"vue";import l from"../../../../../../../_virtual/index/index.js";import"../../../../ui/index/index.js";import{isEnableConf as o}from"../../../../ui/src/utils/index.js";import{getRowid as r,setCellValue as n,getCellValue as d}from"../../../src/util/index.js";import{addClass as i,removeClass as c}from"../../../../ui/src/dom/index.js";import{warnLog as a,errLog as s}from"../../../../ui/src/log/index.js";import{VxeUI as u}from"../../../../../../@vxe-ui/core/es/index.esm/index.js";const{getConfig:g,renderer:w,hooks:m,getI18n:h}=u,p=["insert","insertAt","insertNextAt","insertChild","insertChildAt","insertChildNextAt","remove","removeCheckboxRow","removeRadioRow","removeCurrentRow","getRecordset","getInsertRecords","getRemoveRecords","getUpdateRecords","getEditRecord","getActiveRecord","getSelectedCell","clearEdit","clearActived","clearSelected","isEditByRow","isActiveByRow","setEditRow","setActiveRow","setEditCell","setActiveCell","setSelectCell"];m.add("tableEditModule",{setupTable(u){const{props:m,reactData:p,internalData:f}=u,{refElem:x}=u.getRefMaps(),{computeMouseOpts:R,computeEditOpts:v,computeCheckboxOpts:C,computeTreeOpts:I,computeValidOpts:E}=u.getComputeMaps(),F=l.browse();let A={},b={};const S=(e,t)=>{const{model:l,editRender:o}=t;o&&(l.value=d(e,t),l.update=!1)},y=(e,t)=>{const{model:l,editRender:o}=t;o&&l.update&&(n(e,t,l.value),l.update=!1,l.value=null)},D=()=>{const e=x.value;if(e){const t=e.querySelector(".col--selected");t&&c(t,"col--selected")}},M=()=>{const{editStore:e,tableColumn:t}=p,l=v.value,{actived:o}=e,{row:r,column:n}=o;(r||n)&&("row"===l.mode?t.forEach((e=>y(r,e))):y(r,n))},T=(e,t)=>{const{tableFullTreeData:o,afterFullData:n,fullDataRowIdData:d,fullAllDataRowIdData:i}=f,c=I.value,{rowField:s,parentField:g,mapChildrenField:w}=c,m=c.children||c.childrenField,h=t?"push":"unshift";e.forEach((e=>{const t=e[g],c=r(u,e),p=t?l.findTree(o,(e=>t===e[s]),{children:w}):null;if(p){const{item:t}=p,o=i[r(u,t)],n=o?o.level:0;let a=t[m],s=t[w];l.isArray(a)||(a=t[m]=[]),l.isArray(s)||(s=t[m]=[]),a[h](e),s[h](e);const g={row:e,rowid:c,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:a,parent:t,level:n+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[c]=g,i[c]=g}else{t&&a("vxe.error.unableInsert"),n[h](e),o[h](e);const l={row:e,rowid:c,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};d[c]=l,i[c]=l}}))},O=(o,n,d)=>{const{treeConfig:i}=m,{tableFullTreeData:c,afterFullData:g,mergeBodyList:w,tableFullData:x,fullDataRowIdData:R,fullAllDataRowIdData:v,insertRowMaps:C}=f,E=I.value,{transform:F,rowField:A,mapChildrenField:b}=E,S=E.children||E.childrenField;l.isArray(o)||(o=[o]);const y=t(u.defineField(o.map((e=>Object.assign(i&&F?{[b]:[],[S]:[]}:{},e)))));if(l.eqNull(n))i&&F?T(y,!1):(y.forEach((e=>{const t=r(u,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:g,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};R[t]=l,v[t]=l,g.unshift(e),x.unshift(e)})),w.forEach((e=>{const{row:t}=e;t>0&&(e.row=t+y.length)})));else if(-1===n)i&&F?T(y,!0):(y.forEach((e=>{const t=r(u,e),l={row:e,rowid:t,seq:-1,index:-1,_index:-1,treeIndex:-1,$index:-1,items:g,parent:null,level:0,height:0,resizeHeight:0,oTop:0,expandHeight:0};R[t]=l,v[t]=l,g.push(e),x.push(e)})),w.forEach((e=>{const{row:t,rowspan:l}=e;t+l>g.length&&(e.rowspan=l+y.length)})));else if(i&&F){const e=l.findTree(c,(e=>n[A]===e[A]),{children:b});if(e){const{parent:t}=e,o=t?t[b]:c,i=v[r(u,t)],a=i?i.level:0;if(y.forEach(((l,n)=>{const i=r(u,l);l[E.parentField]&&t&&l[E.parentField]!==t[A]&&s("vxe.error.errProp",[`${E.parentField}=${l[E.parentField]}`,`${E.parentField}=${t[A]}`]),t&&(l[E.parentField]=t[A]);let c=e.index+n;d&&(c+=1),o.splice(c,0,l);const g={row:l,rowid:i,seq:-1,index:-1,_index:-1,$index:-1,treeIndex:-1,items:o,parent:t,level:a+1,height:0,resizeHeight:0,oTop:0,expandHeight:0};R[i]=g,v[i]=g})),t){const e=l.findTree(c,(e=>n[A]===e[A]),{children:S});if(e){const t=e.items;let l=e.index;d&&(l+=1),t.splice(l,0,...y)}}}else a("vxe.error.unableInsert"),T(y,!0)}else{if(i)throw new Error(h("vxe.error.noTree",["insert"]));let e=-1;if(l.isNumber(n)?n<g.length&&(e=n):e=u.findRowIndexOf(g,n),d&&(e=Math.min(g.length,e+1)),-1===e)throw new Error(h("vxe.error.unableInsert"));g.splice(e,0,...y);const t=u.findRowIndexOf(x,n);t>-1?x.splice(t+(d?1:0),0,...y):x.push(...y),w.forEach((t=>{const{row:l,rowspan:o}=t;l>e?t.row=l+y.length:l+o>e&&(t.rowspan=o+y.length)}))}return y.forEach((e=>{const t=r(u,e);C[t]=e})),p.insertRowFlag++,u.cacheRowMap(!1),u.updateScrollYStatus(),u.handleTableData(i&&F),i&&F||u.updateAfterDataIndex(),u.updateFooter(),u.handleUpdateBodyMerge(),u.checkSelectionStatus(),p.scrollYLoad&&u.updateScrollYSpace(),e().then((()=>(u.updateCellAreas(),u.recalculate()))).then((()=>({row:y.length?y[y.length-1]:null,rows:y})))},$=(e,t,o,r)=>{const{treeConfig:n}=m,d=I.value,{transform:i,rowField:c,parentField:a}=d;return n&&i?(l.isArray(e)||(e=[e]),O(e.map((e=>Object.assign({},e,{[a]:t[c]}))),o,r)):(s("vxe.error.errProp",["tree-config.transform=false","tree-config.transform=true"]),Promise.resolve({row:null,rows:[]}))},B=(t,l)=>{const{editStore:o}=p,{actived:n,focused:d}=o,{row:i,column:c}=n,a=E.value;if(i||c){if(l&&r(u,l)!==r(u,i))return e();M(),n.args=null,n.row=null,n.column=null,u.updateFooter(),u.dispatchEvent("edit-closed",{row:i,rowIndex:u.getRowIndex(i),$rowIndex:u.getVMRowIndex(i),column:c,columnIndex:u.getColumnIndex(c),$columnIndex:u.getVMColumnIndex(c)},t||null)}return d.row=null,d.column=null,a.autoClear&&("full"!==a.msgMode||"obsolete"===g().cellVaildMode)&&u.clearValidate?u.clearValidate():e().then((()=>u.updateCellAreas()))},j=(t,l,r,d)=>{const i=u.xeGrid,{editConfig:c,mouseConfig:a}=m,{editStore:s,tableColumn:g}=p,w=v.value,{mode:h}=w,{actived:f,focused:x}=s,{row:R,column:C}=t,{editRender:I}=C,E=t.cell||u.getCellElement(R,C),F=w.beforeEditMethod||w.activeMethod;if(t.cell=E,E&&o(c)&&o(I)&&!u.isPendingByRow(R)&&!u.isAggregateRecord(R)){if(f.row!==R||"cell"===h&&f.column!==C){let o="edit-disabled";if(!F||F(Object.assign(Object.assign({},t),{$table:u,$grid:i}))){a&&(u.clearSelected(),u.clearCellAreas&&(u.clearCellAreas(),u.clearCopyCellArea())),u.closeTooltip(),f.column&&B(l),o="edit-activated",C.renderHeight=E.offsetHeight,f.args=t,f.row=R,f.column=C,"row"===h?g.forEach((e=>S(R,e))):S(R,C);const n=w.afterEditMethod;e((()=>{r&&u.handleFocus(t,l),n&&n(Object.assign(Object.assign({},t),{$table:u,$grid:i}))}))}u.dispatchEvent(o,{row:R,rowIndex:u.getRowIndex(R),$rowIndex:u.getVMRowIndex(R),column:C,columnIndex:u.getColumnIndex(C),$columnIndex:u.getVMColumnIndex(C)},l),"edit-activated"===o&&u.dispatchEvent("edit-actived",{row:R,rowIndex:u.getRowIndex(R),$rowIndex:u.getVMRowIndex(R),column:C,columnIndex:u.getColumnIndex(C),$columnIndex:u.getVMColumnIndex(C)},l)}else{const{column:e}=f;if(a&&(u.clearSelected(),u.clearCellAreas&&(u.clearCellAreas(),u.clearCopyCellArea())),e!==C){const{model:t}=e;t.update&&n(R,e,t.value),u.clearValidate&&u.clearValidate(R,C)}C.renderHeight=E.offsetHeight,f.args=t,f.column=C,d&&setTimeout((()=>{u.handleFocus(t,l)}))}x.column=null,x.row=null,u.focus()}return e()},H=(t,r,n)=>{const{editConfig:d}=m,i=l.isString(r)?u.getColumnByField(r):r;return t&&i&&o(d)&&o(i.editRender)&&!u.isAggregateRecord(t)?Promise.resolve(n?u.scrollToRow(t,i):null).then((()=>{const l=u.getCellElement(t,i);return l&&(j({row:t,rowIndex:u.getRowIndex(t),column:i,columnIndex:u.getColumnIndex(i),cell:l,$table:u},null,n,n),f._lastCallTime=Date.now()),e()})):e()};return A={insert:e=>O(e,null),insertAt:(e,t)=>O(e,t),insertNextAt:(e,t)=>O(e,t,!0),insertChild:(e,t)=>$(e,t,null),insertChildAt:(e,t,l)=>$(e,t,l),insertChildNextAt:(e,t,l)=>$(e,t,l,!0),remove(t){const{treeConfig:o}=m,{editStore:n}=p,{tableFullTreeData:d,selectCheckboxMaps:i,afterFullData:c,mergeBodyList:a,tableFullData:s,pendingRowMaps:g,insertRowMaps:w,removeRowMaps:h}=f,x=C.value,R=I.value,{transform:v,mapChildrenField:E}=R,F=R.children||R.childrenField,{actived:b}=n,{checkField:S}=x;let y=[];return t?l.isArray(t)||(t=[t]):t=s,t.forEach((e=>{if(!u.isInsertByRow(e)){const t=r(u,e);h[t]=e}})),S||(t.forEach((e=>{const t=r(u,e);i[t]&&delete i[t]})),p.updateCheckboxFlag++),s===t?(t=y=s.slice(0),f.tableFullData=[],f.afterFullData=[],u.clearMergeCells()):o&&v?t.forEach((e=>{const t=r(u,e),o=l.findTree(d,(e=>t===r(u,e)),{children:E});if(o){const e=o.items.splice(o.index,1);y.push(e[0])}const n=l.findTree(d,(e=>t===r(u,e)),{children:F});n&&n.items.splice(n.index,1);const i=u.findRowIndexOf(c,e);i>-1&&c.splice(i,1)})):t.forEach((e=>{const t=u.findRowIndexOf(s,e);if(t>-1){const e=s.splice(t,1);y.push(e[0])}const l=u.findRowIndexOf(c,e);l>-1&&(a.forEach((e=>{const{row:t,rowspan:o}=e;t>l?e.row=t-1:t+o>l&&(e.rowspan=o-1)})),c.splice(l,1))})),b.row&&u.findRowIndexOf(t,b.row)>-1&&A.clearEdit(),t.forEach((e=>{const t=r(u,e);w[t]&&delete w[t],g[t]&&delete g[t]})),p.removeRowFlag++,p.insertRowFlag++,p.pendingRowFlag++,u.cacheRowMap(!1),u.handleTableData(o&&v),u.updateFooter(),u.handleUpdateBodyMerge(),o&&v||u.updateAfterDataIndex(),u.checkSelectionStatus(),p.scrollYLoad&&u.updateScrollYSpace(),e().then((()=>(u.updateCellAreas(),u.recalculate()))).then((()=>({row:y.length?y[y.length-1]:null,rows:y})))},removeCheckboxRow:()=>A.remove(u.getCheckboxRecords()).then((e=>(u.clearCheckboxRow(),e))),removeRadioRow(){const e=u.getRadioRecord();return A.remove(e||[]).then((e=>(u.clearRadioRow(),e)))},removeCurrentRow(){const e=u.getCurrentRecord();return A.remove(e||[]).then((e=>(u.clearCurrentRow(),e)))},getRecordset(){const e=A.getRemoveRecords(),t=u.getPendingRecords(),l=e.concat(t),o=A.getUpdateRecords().filter((e=>!l.some((t=>u.eqRow(t,e)))));return{insertRecords:A.getInsertRecords(),removeRecords:e,updateRecords:o,pendingRecords:t}},getInsertRecords(){const{fullAllDataRowIdData:e,insertRowMaps:t}=f,o=[];return l.each(t,((t,l)=>{e[l]&&o.push(t)})),o},getRemoveRecords(){const{removeRowMaps:e}=f,t=[];return l.each(e,(e=>{t.push(e)})),t},getUpdateRecords(){const{keepSource:e,treeConfig:t}=m,{tableFullData:o}=f,r=I.value;return e?(M(),t?l.filterTree(o,(e=>u.isUpdateByRow(e)),r):o.filter((e=>u.isUpdateByRow(e)))):[]},getActiveRecord:()=>(a("vxe.error.delFunc",["getActiveRecord","getEditRecord"]),u.getEditRecord()),getEditRecord(){const{editStore:e}=p,{afterFullData:t}=f,l=x.value,{args:o,row:r}=e.actived;return o&&u.findRowIndexOf(t,r)>-1&&l.querySelectorAll(".vxe-body--column.col--active").length?Object.assign({},o):null},getSelectedCell(){const{editStore:e}=p,{args:t,column:l}=e.selected;return t&&l?Object.assign({},t):null},clearActived:e=>(a("vxe.error.delFunc",["clearActived","clearEdit"]),u.clearEdit(e)),clearEdit:e=>B(null,e),clearSelected(){const{editStore:t}=p,{selected:l}=t;return l.row=null,l.column=null,D(),e()},isActiveByRow:e=>(a("vxe.error.delFunc",["isActiveByRow","isEditByRow"]),u.isEditByRow(e)),isEditByRow(e){const{editStore:t}=p;return t.actived.row===e},setActiveRow:e=>(a("vxe.error.delFunc",["setActiveRow","setEditRow"]),A.setEditRow(e)),setEditRow(e,t){const{visibleColumn:r}=f;let n=l.find(r,(e=>o(e.editRender))),d=!1;return t&&(d=!0,!0!==t&&(n=l.isString(t)?u.getColumnByField(t):t)),H(e,n,d)},setActiveCell:(e,t)=>(a("vxe.error.delFunc",["setActiveCell","setEditCell"]),A.setEditCell(e,t)),setEditCell:(e,t)=>H(e,t,!0),setSelectCell(t,o){const{tableData:r}=p,n=v.value,d=l.isString(o)?u.getColumnByField(o):o;if(t&&d&&"manual"!==n.trigger){const e=u.findRowIndexOf(r,t);if(e>-1&&d){const l=u.getCellElement(t,d),o={row:t,rowIndex:e,column:d,columnIndex:u.getColumnIndex(d),cell:l};u.handleSelected(o,{})}}return e()}},b={handleEdit:(e,t)=>j(e,t,!0,!0),handleActived:(e,t)=>b.handleEdit(e,t),handleClearEdit:B,handleFocus(e){const{row:t,column:r,cell:n}=e,{editRender:d}=r,i=v.value;if(o(d)){const o=w.get(d.name);let c,a=d.autofocus||d.autoFocus,s=d.autoSelect||d.autoselect;if(i.autoFocus&&(!a&&o&&(a=o.tableAutoFocus||o.tableAutofocus||o.autofocus),!s&&o&&(s=o.tableAutoSelect||o.autoselect),l.isFunction(a)?c=a(e):a&&(c=!0===a?n.querySelector("input,textarea"):n.querySelector(a),c&&c.focus())),c){if(s)c.select();else if(F.msie){const e=c.createTextRange();e.collapse(!1),e.select()}}else i.autoPos&&(r.fixed||u.scrollToRow(t,r))}},handleSelected(t,l){const{mouseConfig:o}=m,{editStore:r}=p,n=R.value,d=v.value,{actived:i,selected:c}=r,{row:a,column:s}=t,g=o&&n.selected;return!g||c.row===a&&c.column===s||(i.row!==a||"cell"===d.mode&&i.column!==s)&&(B(l),u.clearSelected(),u.clearCellAreas&&(u.clearCellAreas(),u.clearCopyCellArea()),c.args=t,c.row=a,c.column=s,g&&b.addCellSelectedClass(),u.focus(),l&&u.dispatchEvent("cell-selected",t,l)),e()},addCellSelectedClass(){const{editStore:e}=p,{selected:t}=e,{row:l,column:o}=t;if(D(),l&&o){const e=u.getCellElement(l,o);e&&i(e,"col--selected")}}},Object.assign(Object.assign({},A),b)},setupGrid:e=>e.extendTableMethods(p)});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e,inject as t,reactive as l,ref as o,computed as a,nextTick as r,h as n,createCommentVNode as s}from"vue";import"../../../../ui/index/index.js";import i from"../../../../../../../_virtual/index/index.js";import{formatText as p}from"../../../../ui/src/utils/index.js";import{errLog as d}from"../../../../ui/src/log/index.js";import{VxeUI as x}from"../../../../../../@vxe-ui/core/es/index.esm/index.js";const{getI18n:c,getIcon:m}=x;var u=e({name:"VxeTableExportPanel",props:{defaultOptions:Object,storeData:Object},setup(e){const u=x.getComponent("VxeModal"),v=x.getComponent("VxeButton"),h=x.getComponent("VxeSelect"),b=x.getComponent("VxeInput"),C=x.getComponent("VxeCheckbox"),g=t("$xeTable",{}),{computeExportOpts:k,computePrintOpts:T}=g.getComputeMaps(),f=l({isAll:!1,isIndeterminate:!1,loading:!1}),O=o(),E=o(),V=o(),y=a((()=>{const{storeData:t}=e;return t.columns.every((e=>e.checked))})),D=a((()=>{const{defaultOptions:t}=e;return["html","xml","xlsx","pdf"].indexOf(t.type)>-1})),A=a((()=>{const{storeData:t,defaultOptions:l}=e;return!l.original&&"current"===l.mode&&(t.isPrint||["html","xlsx"].indexOf(l.type)>-1)})),U=a((()=>{const{defaultOptions:t}=e;return!t.original&&["xlsx"].indexOf(t.type)>-1})),H=t=>{const{storeData:l}=e,o=i.findTree(l.columns,(e=>e===t));if(o&&o.parent){const{parent:e}=o;e.children&&e.children.length&&(e.checked=e.children.every((e=>e.checked)),e.halfChecked=!e.checked&&e.children.some((e=>e.checked||e.halfChecked)),H(e))}},M=()=>{const{storeData:t}=e,l=t.columns;f.isAll=l.every((e=>e.disabled||e.checked)),f.isIndeterminate=!f.isAll&&l.some((e=>!e.disabled&&(e.checked||e.halfChecked)))},_=()=>{const{storeData:t}=e,l=!f.isAll;i.eachTree(t.columns,(e=>{e.disabled||(e.checked=l,e.halfChecked=!1)})),f.isAll=l,M()},N=()=>{r((()=>{const e=E.value,t=V.value,l=O.value,o=e||t||l;o&&o.focus()})),M()},B=()=>{const{storeData:t,defaultOptions:l}=e,{hasMerge:o,columns:a}=t,r=y.value,n=A.value,s=i.searchTree(a,(e=>e.checked),{children:"children",mapChildren:"childNodes",original:!0});return Object.assign({},l,{columns:s,isMerge:!!(o&&n&&r)&&l.isMerge})},S=()=>{const{storeData:t}=e;t.visible=!1},j=()=>{const{storeData:t}=e;t.isPrint?(()=>{const{storeData:t}=e,l=T.value;t.visible=!1,g.print(Object.assign({},l,B()))})():(()=>{const{storeData:t}=e,l=k.value;f.loading=!0,g.exportData(Object.assign({},l,B())).then((()=>{f.loading=!1,t.visible=!1})).catch((()=>{f.loading=!1}))})()};return r((()=>{u||d("vxe.error.reqComp",["vxe-modal"]),v||d("vxe.error.reqComp",["vxe-button"]),h||d("vxe.error.reqComp",["vxe-select"]),b||d("vxe.error.reqComp",["vxe-input"]),C||d("vxe.error.reqComp",["vxe-checkbox"])})),()=>{const t=g.xeGrid,{defaultOptions:l,storeData:o}=e,{isAll:a,isIndeterminate:r}=f,{hasTree:d,hasMerge:x,isPrint:k,hasColgroup:T,columns:B}=o,{isHeader:w}=l,I=[],K=y.value,L=D.value,P=A.value,X=U.value,F=l.slots||{},$=F.top,q=F.bottom,R=F.default,z=F.footer,G=F.parameter;return i.eachTree(B,(e=>{const t=p(e.getTitle(),1),l=e.children&&e.children.length,o=e.checked,a=e.halfChecked,r="html"===e.type;I.push(n("li",{key:e.id,class:["vxe-table-export--panel-column-option",`level--${e.level}`,{"is--group":l,"is--checked":o,"is--indeterminate":a,"is--disabled":e.disabled}],title:r?"":t,onClick:()=>{e.disabled||(e=>{const t=!e.checked;i.eachTree([e],(e=>{e.checked=t,e.halfChecked=!1})),H(e),M()})(e)}},[n("span",{class:["vxe-checkbox--icon",a?m().TABLE_CHECKBOX_INDETERMINATE:o?m().TABLE_CHECKBOX_CHECKED:m().TABLE_CHECKBOX_UNCHECKED]}),r?n("span",{key:"1",class:"vxe-checkbox--label",innerHTML:t}):n("span",{key:"0",class:"vxe-checkbox--label"},t)]))})),u?n(u,{id:"VXE_EXPORT_MODAL",modelValue:o.visible,title:c(k?"vxe.export.printTitle":"vxe.export.expTitle"),className:"vxe-table-export-popup-wrapper",width:660,minWidth:500,minHeight:400,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:f.loading,"onUpdate:modelValue"(e){o.visible=e},onShow:N},{default:()=>{const e={$table:g,$grid:t,options:l,columns:B,params:l.params},i="empty"===l.mode;return n("div",{class:"vxe-table-export--panel"},[$?n("div",{class:"vxe-table-export--panel-top"},g.callSlot($,e)):s(),n("div",{class:"vxe-table-export--panel-body"},R?g.callSlot(R,e):[n("table",{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0},[n("tbody",[[k?s():n("tr",[n("td",c("vxe.export.expName")),n("td",[b?n(b,{ref:E,modelValue:l.filename,type:"text",clearable:!0,placeholder:c("vxe.export.expNamePlaceholder"),"onUpdate:modelValue"(e){l.filename=e}}):s()])]),k?s():n("tr",[n("td",c("vxe.export.expType")),n("td",[h?n(h,{modelValue:l.type,options:o.typeList,"onUpdate:modelValue"(e){l.type=e}}):s()])]),k||L?n("tr",[n("td",c("vxe.export.expSheetName")),n("td",[b?n(b,{ref:V,modelValue:l.sheetName,type:"text",clearable:!0,placeholder:c("vxe.export.expSheetNamePlaceholder"),"onUpdate:modelValue"(e){l.sheetName=e}}):s()])]):s(),n("tr",[n("td",c("vxe.export.expMode")),n("td",[h?n(h,{modelValue:l.mode,options:o.modeList.map((e=>({value:e.value,label:c(e.label)}))),"onUpdate:modelValue"(e){l.mode=e}}):s()])]),n("tr",[n("td",[c("vxe.export.expColumn")]),n("td",[n("div",{class:"vxe-table-export--panel-column"},[n("ul",{class:"vxe-table-export--panel-column-header"},[n("li",{class:["vxe-table-export--panel-column-option",{"is--checked":a,"is--indeterminate":r}],title:c("vxe.table.allTitle"),onClick:_},[n("span",{class:["vxe-checkbox--icon",r?m().TABLE_CHECKBOX_INDETERMINATE:a?m().TABLE_CHECKBOX_CHECKED:m().TABLE_CHECKBOX_UNCHECKED]}),n("span",{class:"vxe-checkbox--label"},c("vxe.export.expCurrentColumn"))])]),n("ul",{class:"vxe-table-export--panel-column-body"},I)])])]),n("tr",[n("td",c("vxe.export.expOpts")),n("td",G?[n("div",{class:"vxe-table-export--panel-option-row"},g.callSlot(G,e))]:[n("div",{class:"vxe-table-export--panel-option-row"},[C?n(C,{modelValue:i||w,disabled:i,title:c("vxe.export.expHeaderTitle"),content:c("vxe.export.expOptHeader"),"onUpdate:modelValue"(e){l.isHeader=e}}):s(),C?n(C,{modelValue:!!w&&l.isTitle,disabled:!w,title:c("vxe.export.expTitleTitle"),content:c("vxe.export.expOptTitle"),"onUpdate:modelValue"(e){l.isTitle=e}}):s(),C?n(C,{modelValue:!!(w&&T&&P)&&l.isColgroup,title:c("vxe.export.expColgroupTitle"),disabled:!w||!T||!P,content:c("vxe.export.expOptColgroup"),"onUpdate:modelValue"(e){l.isColgroup=e}}):s()]),n("div",{class:"vxe-table-export--panel-option-row"},[C?n(C,{modelValue:!i&&l.original,disabled:i,title:c("vxe.export.expOriginalTitle"),content:c("vxe.export.expOptOriginal"),"onUpdate:modelValue"(e){l.original=e}}):s(),C?n(C,{modelValue:!!(x&&P&&K)&&l.isMerge,title:c("vxe.export.expMergeTitle"),disabled:i||!x||!P||!K,content:c("vxe.export.expOptMerge"),"onUpdate:modelValue"(e){l.isMerge=e}}):s(),k||!C?s():n(C,{modelValue:!!X&&l.useStyle,disabled:!X,title:c("vxe.export.expUseStyleTitle"),content:c("vxe.export.expOptUseStyle"),"onUpdate:modelValue"(e){l.useStyle=e}}),C?n(C,{modelValue:!!d&&l.isAllExpand,disabled:i||!d,title:c("vxe.export.expAllExpandTitle"),content:c("vxe.export.expOptAllExpand"),"onUpdate:modelValue"(e){l.isAllExpand=e}}):s()]),n("div",{class:"vxe-table-export--panel-option-row"},[C?n(C,{modelValue:l.isFooter,disabled:!o.hasFooter,title:c("vxe.export.expFooterTitle"),content:c("vxe.export.expOptFooter"),"onUpdate:modelValue"(e){l.isFooter=e}}):s()])])])]])])]),q?n("div",{class:"vxe-table-export--panel-bottom"},g.callSlot(q,e)):s()])},footer(){const e={$table:g,$grid:t,options:l,columns:B,params:l.params};return n("div",{class:"vxe-table-export--panel-footer"},z?g.callSlot(z,e):[n("div",{class:"vxe-table-export--panel-btns"},[v?n(v,{content:c("vxe.export.expCancel"),onClick:S}):s(),v?n(v,{ref:O,status:"primary",content:c(k?"vxe.export.expPrint":"vxe.export.expConfirm"),onClick:j}):s()])])}}):s()}}});export{u as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{inject as e,nextTick as t}from"vue";import o from"../../../../../../../_virtual/index/index.js";import"../../../../ui/index/index.js";import{isColumnInfo as r,getCellValue as l}from"../../../src/util/index.js";import{parseFile as s,formatText as n,eqEmptyValue as i}from"../../../../ui/src/utils/index.js";import{hasClass as a}from"../../../../ui/src/dom/index.js";import{getExportBlobByContent as c,createHtmlPage as d}from"../util/index.js";import{errLog as p,warnLog as h}from"../../../../ui/src/log/index.js";import{VxeUI as u}from"../../../../../../@vxe-ui/core/es/index.esm/index.js";const{getI18n:m,hooks:f,renderer:g}=u;let b;const x="\r\n";function $(e){return!!e.field||-1===["seq","checkbox","radio"].indexOf(e.type||"")}const v=e=>{const t=[];return e.forEach((e=>{e.childNodes&&e.childNodes.length?(t.push(e),t.push(...v(e.childNodes))):t.push(e)})),t};function y(e){return!0===e?"full":e||"default"}function w(e){return"TRUE"===e||"true"===e||!0===e}function k(e,t,o){const{footerFilterMethod:r}=t;return r?o.filter(((t,o)=>r({$table:e,items:t,$rowIndex:o}))):o}function _(e){return/[",\s\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e}function j(e,t){return e.getElementsByTagName(t)}function M(e){return`#${e}@${o.uniqueId()}`}function C(e,t){return e.replace(/#\d+@\d+/g,(e=>o.hasOwnProp(t,e)?t[e]:e))}function F(e,t){return C(e,t).replace(/^"+$/g,(e=>'"'.repeat(Math.ceil(e.length/2))))}function E(e,t){const{fieldMaps:o,titleMaps:r}=e;if(!o[t]){const e=r[t];e&&e.field&&(t=e.field)}return t}function T(e,t,o){const r=t.split(x),l=[];let s=[];if(r.length){const t={},n=Date.now();r.forEach((r=>{if(r){const i={},a=(r=r.replace(/("")|(\n)/g,((e,o)=>{const r=M(n);return t[r]=o?'"':"\n",r})).replace(/"(.*?)"/g,((e,o)=>{const r=M(n);return t[r]=C(o,t),r}))).split(o);s.length?(a.forEach(((e,o)=>{o<s.length&&(i[s[o]]=F(e.trim(),t))})),l.push(i)):s=a.map((o=>E(e,F(o.trim(),t))))}}))}return{fields:s,rows:l}}function O(e){o.eachTree(e,(e=>{delete e._level,delete e._colSpan,delete e._rowSpan,delete e._children,delete e.childNodes}),{children:"children"})}const D=["exportData","importByFile","importData","saveFile","readFile","print","getPrintHtml","openImport","closeImport","openExport","closeExport","openPrint","closePrint"];f.add("tableExportModule",{setupTable(f){const{props:M,reactData:C,internalData:F}=f,{computeTreeOpts:D,computePrintOpts:P,computeExportOpts:R,computeImportOpts:N,computeCustomOpts:S,computeSeqOpts:W,computeRadioOpts:I,computeCheckboxOpts:L,computeColumnOpts:A}=f.getComputeMaps(),q=e("$xeGrid",null),H=(e,t,o,r,l)=>{const s=W.value.seqMethod||r.seqMethod;return s?s({$table:f,row:t,rowIndex:f.getRowIndex(t),$rowIndex:o,column:r,columnIndex:f.getColumnIndex(r),$columnIndex:l}):e};function B(e,t){const o=A.value,r=t.headerExportMethod||o.headerExportMethod;return r?r({column:t,options:e,$table:f}):(e.isTitle?t.getTitle():t.field)||""}const V=e=>o.isBoolean(e)?e?"TRUE":"FALSE":e,X=e=>i(e)?"":`${e}`,G=(e,t,r)=>{const{isAllExpand:s,mode:n}=e,{treeConfig:i}=M,c=I.value,d=L.value,p=D.value,h=A.value;if(b||(b=document.createElement("div")),i){const i=p.children||p.childrenField,u=[],m=new Map;return o.eachTree(r,((r,i,p,x,$,v)=>{const y=r._row||r,w=$&&$._row?$._row:$;if(s||!w||m.has(w)&&f.isTreeExpandByRow(w)){const r=(e=>{const t=D.value,o=t.children||t.childrenField;return e[o]&&e[o].length})(y),s={_row:y,_level:v.length-1,_hasChild:r,_expand:r&&f.isTreeExpandByRow(y)};t.forEach(((t,r)=>{let p="";const u=t.editRender||t.cellRender;let m=t.exportMethod||h.exportMethod;if(!m&&u&&u.name){const e=g.get(u.name);e&&(m=e.tableExportMethod||e.exportMethod)}if(m||(m=h.exportMethod),m)p=m({$table:f,row:y,column:t,options:e});else switch(t.type){case"seq":{const e=x.map(((e,t)=>t%2==0?Number(e)+1:".")).join("");p="all"===n?e:H(e,y,i,t,r);break}case"checkbox":p=V(f.isCheckedByCheckboxRow(y)),s._checkboxLabel=d.labelField?o.get(y,d.labelField):"",s._checkboxDisabled=d.checkMethod&&!d.checkMethod({$table:f,row:y});break;case"radio":p=V(f.isCheckedByRadioRow(y)),s._radioLabel=c.labelField?o.get(y,c.labelField):"",s._radioDisabled=c.checkMethod&&!c.checkMethod({$table:f,row:y});break;default:if(e.original)p=l(y,t);else if(p=f.getCellLabel(y,t),"html"===t.type)b.innerHTML=p,p=b.innerText.trim();else{const e=f.getCellElement(y,t);e&&!a(e,"is--progress")&&(p=e.innerText.trim())}}s[t.id]=X(p)})),m.set(y,1),u.push(Object.assign(s,y))}}),{children:i}),u}return r.map(((r,s)=>{const i={_row:r};return t.forEach(((t,p)=>{let u="";const m=t.editRender||t.cellRender;let x=t.exportMethod||h.exportMethod;if(!x&&m&&m.name){const e=g.get(m.name);e&&(x=e.tableExportMethod||e.exportMethod)}if(x)u=x({$table:f,row:r,column:t,options:e});else switch(t.type){case"seq":{const e=s+1;u="all"===n?e:H(e,r,s,t,p);break}case"checkbox":u=V(f.isCheckedByCheckboxRow(r)),i._checkboxLabel=d.labelField?o.get(r,d.labelField):"",i._checkboxDisabled=d.checkMethod&&!d.checkMethod({$table:f,row:r});break;case"radio":u=V(f.isCheckedByRadioRow(r)),i._radioLabel=c.labelField?o.get(r,c.labelField):"",i._radioDisabled=c.checkMethod&&!c.checkMethod({$table:f,row:r});break;default:if(e.original)u=l(r,t);else if(u=f.getCellLabel(r,t),"html"===t.type)b.innerHTML=u,u=b.innerText.trim();else{const e=f.getCellElement(r,t);e&&!a(e,"is--progress")&&(u=e.innerText.trim())}}i[t.id]=X(u)})),i}))},U=(e,t,r)=>{const l=A.value,s=r.editRender||r.cellRender;let n=r.footerExportMethod;if(!n&&s&&s.name){const e=g.get(s.name);e&&(n=e.tableFooterExportMethod||e.footerExportMethod)}n||(n=l.footerExportMethod);const i=f.getVTColumnIndex(r);return n?n({$table:f,items:t,itemIndex:i,row:t,_columnIndex:i,column:r,options:e}):o.isArray(t)?o.toValueString(t[i]):o.get(t,r.field)},Y=(e,t,o,r)=>{let l="\ufeff";if(t.isHeader&&(l+=o.map((e=>_(B(t,e)))).join(",")+x),r.forEach((e=>{l+=o.map((t=>_(function(e,t){if(t){if("seq"===e.type)return`\t${t}`;switch(e.cellType){case"string":if(!isNaN(t))return`\t${t}`;break;case"number":break;default:if(t.length>=12&&!isNaN(t))return`\t${t}`}}return t}(t,e[t.id])))).join(",")+x})),t.isFooter){const{footerTableData:r}=C;k(e,t,r).forEach((e=>{l+=o.map((o=>_(U(t,e,o)))).join(",")+x}))}return l},Q=(e,t,r)=>{const l=e[t],s=o.isUndefined(l)||o.isNull(l)?r:l;let n="title"===s||(!0===s||"tooltip"===s)||"ellipsis"===s;const{scrollXLoad:i,scrollYLoad:a}=C;return!i&&!a||n||(n=!0),n},z=(e,t,r)=>{const{id:l,border:s,treeConfig:i,headerAlign:a,align:c,footerAlign:p,showOverflow:h,showHeaderOverflow:u}=M,{isAllSelected:m,isIndeterminate:g}=C,{mergeBodyCellMaps:b}=F,x=D.value,{print:$,isHeader:v,isFooter:_,isColgroup:j,isMerge:E,colgroups:T,original:O}=e,P="check-all",R=[`<table class="${["vxe-table",`border--${y(s)}`,$?"is--print":"",v?"is--header":""].filter((e=>e)).join(" ")}" border="0" cellspacing="0" cellpadding="0">`,`<colgroup>${t.map((e=>`<col style="width:${e.renderWidth}px">`)).join("")}</colgroup>`];if(v&&(R.push("<thead>"),j&&!O?T.forEach((t=>{R.push(`<tr>${t.map((t=>{const r=t.headerAlign||t.align||a||c,l=Q(t,"showHeaderOverflow",u)?["col--ellipsis"]:[],s=B(e,t);let i=0,d=0;o.eachTree([t],(e=>{e.childNodes&&t.childNodes.length||d++,i+=e.renderWidth}),{children:"childNodes"});const p=i-d;return r&&l.push(`col--${r}`),"checkbox"===t.type?`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}"><div ${$?"":`style="width: ${p}px"`}><input type="checkbox" class="${P}" ${m?"checked":""}><span>${s}</span></div></th>`:`<th class="${l.join(" ")}" colspan="${t._colSpan}" rowspan="${t._rowSpan}" title="${s}"><div ${$?"":`style="width: ${p}px"`}><span>${n(s,!0)}</span></div></th>`})).join("")}</tr>`)})):R.push(`<tr>${t.map((t=>{const o=t.headerAlign||t.align||a||c,r=Q(t,"showHeaderOverflow",u)?["col--ellipsis"]:[],l=B(e,t);return o&&r.push(`col--${o}`),"checkbox"===t.type?`<th class="${r.join(" ")}"><div ${$?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" class="${P}" ${m?"checked":""}><span>${l}</span></div></th>`:`<th class="${r.join(" ")}" title="${l}"><div ${$?"":`style="width: ${t.renderWidth}px"`}><span>${n(l,!0)}</span></div></th>`})).join("")}</tr>`),R.push("</thead>")),r.length&&(R.push("<tbody>"),i?r.forEach((e=>{R.push("<tr>"+t.map((t=>{const o=t.id,r=t.align||c,s=Q(t,"showOverflow",h)?["col--ellipsis"]:[],i=e[o];if(r&&s.push(`col--${r}`),t.treeNode){let o="";return e._hasChild&&(o=`<i class="${e._expand?"vxe-table--tree-fold-icon":"vxe-table--tree-unfold-icon"}"></i>`),s.push("vxe-table--tree-node"),"radio"===t.type?`<td class="${s.join(" ")}" title="${i}"><div ${$?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${e._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${o}</div><div class="vxe-table--tree-cell"><input type="radio" name="radio_${l}" ${e._radioDisabled?"disabled ":""}${w(i)?"checked":""}><span>${e._radioLabel}</span></div></div></div></td>`:"checkbox"===t.type?`<td class="${s.join(" ")}" title="${i}"><div ${$?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${e._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${o}</div><div class="vxe-table--tree-cell"><input type="checkbox" ${e._checkboxDisabled?"disabled ":""}${w(i)?"checked":""}><span>${e._checkboxLabel}</span></div></div></div></td>`:`<td class="${s.join(" ")}" title="${i}"><div ${$?"":`style="width: ${t.renderWidth}px"`}><div class="vxe-table--tree-node-wrapper" style="padding-left: ${e._level*x.indent}px"><div class="vxe-table--tree-icon-wrapper">${o}</div><div class="vxe-table--tree-cell">${i}</div></div></div></td>`}return"radio"===t.type?`<td class="${s.join(" ")}"><div ${$?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${l}" ${e._radioDisabled?"disabled ":""}${w(i)?"checked":""}><span>${e._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${s.join(" ")}"><div ${$?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${e._checkboxDisabled?"disabled ":""}${w(i)?"checked":""}><span>${e._checkboxLabel}</span></div></td>`:`<td class="${s.join(" ")}" title="${i}"><div ${$?"":`style="width: ${t.renderWidth}px"`}>${n(i,!0)}</div></td>`})).join("")+"</tr>")})):r.forEach((e=>{R.push("<tr>"+t.map((t=>{const o=t.align||c,r=Q(t,"showOverflow",h)?["col--ellipsis"]:[],s=e[t.id];let i=1,a=1;if(E){const o=f.getVTRowIndex(e._row),r=f.getVTColumnIndex(t),l=b[`${o}:${r}`];if(l){const{rowspan:e,colspan:t}=l;if(!e||!t)return"";e>1&&(i=e),t>1&&(a=t)}}return o&&r.push(`col--${o}`),"radio"===t.type?`<td class="${r.join(" ")}" rowspan="${i}" colspan="${a}"><div ${$?"":`style="width: ${t.renderWidth}px"`}><input type="radio" name="radio_${l}" ${e._radioDisabled?"disabled ":""}${w(s)?"checked":""}><span>${e._radioLabel}</span></div></td>`:"checkbox"===t.type?`<td class="${r.join(" ")}" rowspan="${i}" colspan="${a}"><div ${$?"":`style="width: ${t.renderWidth}px"`}><input type="checkbox" ${e._checkboxDisabled?"disabled ":""}${w(s)?"checked":""}><span>${e._checkboxLabel}</span></div></td>`:`<td class="${r.join(" ")}" rowspan="${i}" colspan="${a}" title="${s}"><div ${$?"":`style="width: ${t.renderWidth}px"`}>${n(s,!0)}</div></td>`})).join("")+"</tr>")})),R.push("</tbody>")),_){const{footerTableData:o}=C,r=k(f,e,o);r.length&&(R.push("<tfoot>"),r.forEach((o=>{R.push(`<tr>${t.map((t=>{const r=t.footerAlign||t.align||p||c,l=Q(t,"showOverflow",h)?["col--ellipsis"]:[],s=U(e,o,t);return r&&l.push(`col--${r}`),`<td class="${l.join(" ")}" title="${s}"><div ${$?"":`style="width: ${t.renderWidth}px"`}>${n(s,!0)}</div></td>`})).join("")}</tr>`)})),R.push("</tfoot>"))}const N=!m&&g?`<script>(function(){var a=document.querySelector(".${P}");if(a){a.indeterminate=true}})()<\/script>`:"";return R.push("</table>",N),$?R.join(""):d(e,R.join(""))},J=(e,t,o)=>{let r=['<?xml version="1.0"?>','<?mso-application progid="Excel.Sheet"?>','<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40">','<DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">',"<Version>16.00</Version>","</DocumentProperties>",'<ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">',"<WindowHeight>7920</WindowHeight>","<WindowWidth>21570</WindowWidth>","<WindowTopX>32767</WindowTopX>","<WindowTopY>32767</WindowTopY>","<ProtectStructure>False</ProtectStructure>","<ProtectWindows>False</ProtectWindows>","</ExcelWorkbook>",`<Worksheet ss:Name="${e.sheetName}">`,"<Table>",t.map((e=>`<Column ss:Width="${e.renderWidth}"/>`)).join("")].join("");if(e.isHeader&&(r+=`<Row>${t.map((t=>`<Cell><Data ss:Type="String">${B(e,t)}</Data></Cell>`)).join("")}</Row>`),o.forEach((e=>{r+="<Row>"+t.map((t=>`<Cell><Data ss:Type="String">${e[t.id]}</Data></Cell>`)).join("")+"</Row>"})),e.isFooter){const{footerTableData:o}=C;k(f,e,o).forEach((o=>{r+=`<Row>${t.map((t=>`<Cell><Data ss:Type="String">${U(e,o,t)}</Data></Cell>`)).join("")}</Row>`}))}return`${r}</Table></Worksheet></Workbook>`},K=(e,t,o,r)=>{if(o.length)switch(t.type){case"csv":return Y(e,t,o,r);case"txt":return((e,t,o,r)=>{let l="";if(t.isHeader&&(l+=o.map((e=>_(B(t,e)))).join("\t")+x),r.forEach((e=>{l+=o.map((t=>_(e[t.id]))).join("\t")+x})),t.isFooter){const{footerTableData:r}=C;k(e,t,r).forEach((e=>{l+=o.map((o=>_(U(t,e,o)))).join("\t")+x}))}return l})(e,t,o,r);case"html":return z(t,o,r);case"xml":return J(t,o,r)}return""},Z=e=>{const{remote:t,columns:o,colgroups:r,exportMethod:l,afterExportMethod:s}=e;return new Promise((s=>{if(t){const t={options:e,$table:f,$grid:q};s(l?l(t):t)}else{const t=(e=>{const{columns:t,dataFilterMethod:o}=e;let r=e.data;return o&&(r=r.filter(((e,t)=>o({$table:f,row:e,$rowIndex:t})))),G(e,t,r)})(e);s(f.preventEvent(null,"event.export",{options:e,columns:o,colgroups:r,datas:t},(()=>((e,t)=>{const{filename:o,type:r,download:l}=e;if(!l){const o=c(t,e);return Promise.resolve({type:r,content:t,blob:o})}u.saveFile&&u.saveFile({filename:o,type:r,content:t}).then((()=>{!1!==e.message&&u.modal&&u.modal.message({content:m("vxe.table.expSuccess"),status:"success"})}))})(e,K(f,e,o,t)))))}})).then((t=>(O(o),e.print||s&&s({status:!0,options:e,$table:f,$grid:q}),Object.assign({status:!0},t)))).catch((()=>{O(o),e.print||s&&s({status:!1,options:e,$table:f,$grid:q});return Promise.reject({status:!1})}))},ee=(e,t)=>{const{tableFullColumn:r,_importResolve:l,_importReject:s}=F;let n={fields:[],rows:[]};const i={},a={};r.forEach((e=>{const t=e.field,o=e.getTitle();t&&(i[t]=e),o&&(a[e.getTitle()]=e)}));const c={fieldMaps:i,titleMaps:a};switch(t.type){case"csv":n=function(e,t){return T(e,t,",")}(c,e);break;case"txt":n=function(e,t){return T(e,t,"\t")}(c,e);break;case"html":n=function(e,t){const r=j((new DOMParser).parseFromString(t,"text/html"),"body"),l=[],s=[];if(r.length){const t=j(r[0],"table");if(t.length){const r=j(t[0],"thead");if(r.length){o.arrayEach(j(r[0],"tr"),(t=>{o.arrayEach(j(t,"th"),(t=>{s.push(E(e,t.textContent||""))}))}));const n=j(t[0],"tbody");n.length&&o.arrayEach(j(n[0],"tr"),(e=>{const t={};o.arrayEach(j(e,"td"),((e,o)=>{s[o]&&(t[s[o]]=e.textContent||"")})),l.push(t)}))}}}return{fields:s,rows:l}}(c,e);break;case"xml":n=function(e,t){const r=j((new DOMParser).parseFromString(t,"application/xml"),"Worksheet"),l=[],s=[];if(r.length){const t=j(r[0],"Table");if(t.length){const r=j(t[0],"Row");r.length&&(o.arrayEach(j(r[0],"Cell"),(t=>{s.push(E(e,t.textContent||""))})),o.arrayEach(r,((e,t)=>{if(t){const t={},r=j(e,"Cell");o.arrayEach(r,((e,o)=>{s[o]&&(t[s[o]]=e.textContent)})),l.push(t)}})))}}return{fields:s,rows:l}}(c,e)}const{fields:d,rows:p}=n;d.some((e=>i[e]||a[e]))?f.createData(p).then((e=>{let o;return"insert"!==t.mode&&"insertBottom"!==t.mode||(o=f.insertAt(e,-1)),o="insertTop"===t.mode?f.insert(e):f.reloadData(e),!1!==t.message&&u.modal&&u.modal.message({content:m("vxe.table.impSuccess",[p.length]),status:"success"}),o.then((()=>{l&&l({status:!0})}))})):!1!==t.message&&(u.modal&&u.modal.message({content:m("vxe.error.impFields"),status:"error"}),s&&s({status:!1}))},te=(e,t)=>{const{importMethod:r,afterImportMethod:l}=t,{type:n,filename:i}=s(e),a=N.value;if(!r&&!o.includes(o.keys(a._typeMaps),n)){!1!==t.message&&u.modal&&u.modal.message({content:m("vxe.error.notType",[n]),status:"error"});const e={status:!1};return Promise.reject(e)}return new Promise(((o,l)=>{const s=e=>{o(e),F._importResolve=null,F._importReject=null},a=e=>{l(e),F._importResolve=null,F._importReject=null};if(F._importResolve=s,F._importReject=a,window.FileReader){const o=Object.assign({mode:"insertTop"},t,{type:n,filename:i});if(o.remote)r?Promise.resolve(r({file:e,options:o,$table:f})).then((()=>{s({status:!0})})).catch((()=>{s({status:!0})})):s({status:!0});else{const{tableFullColumn:t}=F;f.preventEvent(null,"event.import",{file:e,options:o,columns:t},(()=>{const t=new FileReader;t.onerror=()=>{p("vxe.error.notType",[n]),a({status:!1})},t.onload=e=>{ee(e.target.result,o)},t.readAsText(e,o.encoding||"UTF-8")}))}}else p("vxe.error.notExp"),s({status:!0})})).then((()=>{l&&l({status:!0,options:t,$table:f})})).catch((e=>(l&&l({status:!1,options:t,$table:f}),Promise.reject(e))))},oe=(e,t,l)=>l.some((e=>{if(r(e))return t.id===e.id;if(o.isString(e))return t.field===e;{const o=e.id||e.colId,r=e.type,l=e.field;if(o)return t.id===o;if(l&&r)return t.field===l&&t.type===r;if(l)return t.field===l;if(r)return t.type===r}return!1})),re=(e,t,r,l)=>(!l||!o.includes(l,t.field))&&(r?!!o.includes(r,t.field):e.original?!!t.field:$(t)),le=(e,r)=>{const{treeConfig:l,showHeader:s,showFooter:n}=M,{initStore:i,isGroup:a,footerTableData:c,exportStore:d,exportParams:p}=C,{collectColumn:h,mergeBodyList:u,mergeFooterList:g}=F,b=R.value,x=l,v=S.value,y=f.getCheckboxRecords(),w=q?q.getComputeMaps().computeProxyOpts.value:{},k=!!c.length,_=!(!u.length&&!g.length),j=Object.assign({message:!0,isHeader:s,isTitle:s,isFooter:n,isColgroup:a,isMerge:_,useStyle:!0,current:"current",modes:(w.ajax&&w.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"])},e),E=j.types||o.keys(b._typeMaps),T=j.modes||[],O=v.checkMethod,D=h.slice(0),{columns:P,excludeFields:N,includeFields:W}=j,I=E.map((e=>({value:e,label:m(`vxe.export.types.${e}`)}))),L=T.map((e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:m(`vxe.export.modes.${e}`)}));o.eachTree(D,((e,t,o,r,l)=>{const s=e.children&&e.children.length>0;let n=!1;n=P&&P.length?oe(0,e,P):N||W?re(j,e,W,N):e.visible&&(s||$(e)),e.checked=n,e.halfChecked=!1,e.disabled=l&&l.disabled||!!O&&!O({$table:f,column:e})})),Object.assign(d,{columns:D,typeList:I,modeList:L,hasFooter:k,hasMerge:_,hasTree:x,isPrint:r,hasColgroup:a,visible:!0}),Object.assign(p,{mode:y.length?"selected":"current"},j);const{filename:A,sheetName:H,mode:B,type:V}=p;return A&&(o.isFunction(A)?p.filename=A({options:j,$table:f,$grid:q}):p.filename=`${A}`),H&&(o.isFunction(H)?p.sheetName=H({options:j,$table:f,$grid:q}):p.sheetName=`${H}`),L.some((e=>e.value===B))||(p.mode=L[0].value),I.some((e=>e.value===V))||(p.type=I[0].value),i.export=!0,t()},se=()=>u.modal?u.modal.close("VXE_EXPORT_MODAL"):Promise.resolve(),ne={exportData(e){const{treeConfig:t,showHeader:l,showFooter:s}=M,{isGroup:n}=C,{tableFullColumn:i,afterFullData:a,collectColumn:c,mergeBodyList:d,mergeFooterList:u}=F,g=R.value,b=D.value,x=q?q.getComputeMaps().computeProxyOpts.value:{},y=!(!d.length&&!u.length),w=Object.assign({message:!0,isHeader:l,isTitle:l,isFooter:s,isColgroup:n,isMerge:y,useStyle:!0,current:"current",modes:(x.ajax&&x.ajax.queryAll?["all"]:[]).concat(["current","selected","empty"]),download:!0,type:"csv"},g,e);let{filename:k,sheetName:_,type:j,mode:E,columns:T,original:O,columnFilterMethod:P,beforeExportMethod:N,includeFields:S,excludeFields:W}=w,I=[];const L=f.getCheckboxRecords();E||(E=L.length?"selected":"current");let A=!1,H=[];T&&T.length?(A=!0,H=T):H=o.searchTree(c,(e=>{const t=e.children&&e.children.length>0;let o=!1;return o=T&&T.length?oe(0,e,T):W||S?re(w,e,S,W):e.visible&&(t||$(e)),o}),{children:"children",mapChildren:"childNodes",original:!0});const B=Object.assign({},w,{filename:"",sheetName:""});A||P||(P=({column:e})=>(!W||!o.includes(W,e.field))&&(S?!!o.includes(S,e.field):O?!!e.field:$(e)),B.columnFilterMethod=P),H?(B._isCustomColumn=!0,I=o.searchTree(o.mapTree(H,(e=>{let t;if(e){if(r(e))t=e;else if(o.isString(e))t=f.getColumnByField(e);else{const o=e.id||e.colId,r=e.type,l=e.field;o?t=f.getColumnById(o):l&&r?t=i.find((e=>e.field===l&&e.type===r)):l?t=f.getColumnByField(l):r&&(t=i.find((e=>e.type===r)))}return t||{}}}),{children:"childNodes",mapChildren:"_children"}),((e,t)=>r(e)&&(!P||P({$table:f,column:e,$columnIndex:t}))),{children:"_children",mapChildren:"childNodes",original:!0})):I=o.searchTree(n?c:i,((e,t)=>e.visible&&(!P||P({$table:f,column:e,$columnIndex:t}))),{children:"children",mapChildren:"childNodes",original:!0});const V=[];if(o.eachTree(I,(e=>{e.children&&e.children.length||V.push(e)}),{children:"childNodes"}),B.columns=V,B.colgroups=(e=>{let t=1;const o=(e,r)=>{if(r&&(e._level=r._level+1,t<e._level&&(t=e._level)),e.childNodes&&e.childNodes.length){let t=0;e.childNodes.forEach((r=>{o(r,e),t+=r._colSpan})),e._colSpan=t}else e._colSpan=1};e.forEach((e=>{e._level=1,o(e)}));const r=[];for(let e=0;e<t;e++)r.push([]);return v(e).forEach((e=>{e.childNodes&&e.childNodes.length?e._rowSpan=1:e._rowSpan=t-e._level+1,r[e._level-1].push(e)})),r})(I),k&&(o.isFunction(k)?B.filename=k({options:w,$table:f,$grid:q}):B.filename=`${k}`),B.filename||(B.filename=m(B.original?"vxe.table.expOriginFilename":"vxe.table.expFilename",[o.toDateString(Date.now(),"yyyyMMddHHmmss")])),_&&(o.isFunction(_)?B.sheetName=_({options:w,$table:f,$grid:q}):B.sheetName=`${_}`),B.sheetName||(B.sheetName=document.title||""),!B.exportMethod&&!o.includes(o.keys(g._typeMaps),j)){p("vxe.error.notType",[j]),["xlsx","pdf"].includes(j)&&h("vxe.error.reqPlugin",[4,"plugin-export-xlsx"]);const e={status:!1};return Promise.reject(e)}if(B.print||N&&N({options:B,$table:f,$grid:q}),!B.data){if(B.data=[],"selected"===E)["html","pdf"].indexOf(j)>-1&&t?B.data=o.searchTree(f.getTableData().fullData,(e=>f.findRowIndexOf(L,e)>-1),Object.assign({},b,{data:"_row"})):B.data=L;else if("all"===E&&(q||p("vxe.error.errProp",["all","mode=current,selected"]),q&&!B.remote)){const e=q.reactData,{computeProxyOpts:t}=q.getComputeMaps(),r=t.value,{sortData:l}=e,{beforeQueryAll:s,afterQueryAll:n,ajax:i={}}=r,a=r.response||r.props||{},c=i.queryAll,d=i.queryAllSuccess,h=i.queryAllError;if(c||p("vxe.error.notFunc",["proxy-config.ajax.queryAll"]),c){const t={$table:f,$grid:q,sort:l.length?l[0]:{},sorts:l,filters:e.filterData,form:e.formData,options:B};return Promise.resolve((s||c)(t)).then((e=>{const r=a.list;return B.data=(r?o.isFunction(r)?r({data:e,$grid:q}):o.get(e,r):e)||[],n&&n(t),d&&d(Object.assign(Object.assign({},t),{response:e})),Z(B)})).catch((e=>{h&&h(Object.assign(Object.assign({},t),{response:e}))}))}}"current"===E&&(B.data=a)}return Z(B)},importByFile(e,t){const o=Object.assign({},t),{beforeImportMethod:r}=o;return r&&r({options:o,$table:f}),te(e,o)},importData(e){const t=N.value,r=Object.assign({types:o.keys(t._typeMaps)},t,e),{beforeImportMethod:l,afterImportMethod:s}=r;return l&&l({options:r,$table:f}),u.readFile(r).catch((e=>(s&&s({status:!1,options:r,$table:f}),Promise.reject(e)))).then((e=>{const{file:t}=e;return te(t,r)}))},saveFile:e=>u.saveFile(e),readFile:e=>u.readFile(e),print(e){const t=P.value,r=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0}),{sheetName:l}=r;let s="";l&&(s=o.isFunction(l)?l({options:r,$table:f,$grid:q}):`${l}`),s||(s=document.title||"");const n=r.beforePrintMethod,i=r.html||r.content;return new Promise(((e,t)=>{if(u.print)e(i?u.print({title:s,html:i,customStyle:r.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:r,$table:f}):void 0}):ne.exportData(r).then((({content:e})=>u.print({title:s,html:e,customStyle:r.style,beforeMethod:n?({html:e})=>n({html:e,content:e,options:r,$table:f}):void 0}))));else{t({status:!1})}}))},getPrintHtml(e){const t=P.value,o=Object.assign({original:!1},t,e,{type:"html",download:!1,remote:!1,print:!0});return f.exportData(o).then((({content:e})=>({html:e})))},closeImport:()=>u.modal?u.modal.close("VXE_IMPORT_MODAL"):Promise.resolve(),openImport(e){const{treeConfig:t,importConfig:r}=M,{initStore:l,importStore:s,importParams:n}=C,i=N.value,a=Object.assign({mode:"insertTop",message:!0,types:o.keys(i._typeMaps),modes:["insertTop","covering"]},i,e),c=a.types||[],d=a.modes||[];if(!!t)return void(a.message&&u.modal&&u.modal.message({content:m("vxe.error.treeNotImp"),status:"error"}));r||p("vxe.error.reqProp",["import-config"]);const h=c.map((e=>({value:e,label:m(`vxe.export.types.${e}`)}))),f=d.map((e=>e&&e.value?{value:e.value,label:e.label||e.value}:{value:e,label:m(`vxe.import.modes.${e}`)}));Object.assign(s,{file:null,type:"",filename:"",modeList:f,typeList:h,visible:!0}),Object.assign(n,a),f.some((e=>e.value===n.mode))||(n.mode=f[0].value),l.import=!0},closeExport:se,openExport(e){const t=R.value,r=Object.assign({message:!0,types:o.keys(t._typeMaps)},t,e);return M.exportConfig||p("vxe.error.reqProp",["export-config"]),le(r)},closePrint:se,openPrint(e){const t=P.value,o=Object.assign({message:!0},t,e);return M.printConfig||p("vxe.error.reqProp",["print-config"]),le(o,!0)}};return ne},setupGrid:e=>e.extendTableMethods(D)});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e,inject as t,reactive as o,ref as a,computed as l,nextTick as i,h as s,createCommentVNode as r}from"vue";import"../../../../ui/index/index.js";import n from"../../../../../../../_virtual/index/index.js";import{parseFile as p}from"../../../../ui/src/utils/index.js";import{errLog as m}from"../../../../ui/src/log/index.js";import{VxeUI as d}from"../../../../../../@vxe-ui/core/es/index.esm/index.js";const{getI18n:c,getIcon:x}=d;var v=e({name:"VxeTableImportPanel",props:{defaultOptions:Object,storeData:Object},setup(e){const v=d.getComponent("VxeModal"),u=d.getComponent("VxeButton"),b=d.getComponent("VxeSelect"),f=t("$xeTable",{}),{computeImportOpts:g}=f.getComputeMaps(),C=o({loading:!1}),O=a(),h=l((()=>{const{storeData:t}=e;return`${t.filename}.${t.type}`})),j=l((()=>{const{storeData:t}=e;return t.file&&t.type})),y=l((()=>{const{storeData:t}=e,{type:o,typeList:a}=t;if(o){const e=n.find(a,(e=>o===e.value));return e?e.label:"*.*"}return`*.${a.map((e=>e.value)).join(", *.")}`})),D=()=>{const{storeData:t}=e;Object.assign(t,{filename:"",sheetName:"",type:""})},V=()=>{const{storeData:t,defaultOptions:o}=e;f.readFile(o).then((e=>{const{file:o}=e;Object.assign(t,p(o),{file:o})})).catch((e=>e))},$=()=>{i((()=>{const e=O.value;e&&e.focus()}))},k=()=>{const{storeData:t}=e;t.visible=!1},S=()=>{const{storeData:t,defaultOptions:o}=e,a=g.value;C.loading=!0,f.importByFile(t.file,Object.assign({},a,o)).then((()=>{C.loading=!1,t.visible=!1})).catch((()=>{C.loading=!1}))};return i((()=>{v||m("vxe.error.reqComp",["vxe-modal"]),u||m("vxe.error.reqComp",["vxe-button"]),b||m("vxe.error.reqComp",["vxe-select"])})),()=>{const t=f.xeGrid,{defaultOptions:o,storeData:a}=e,l=h.value,i=j.value,n=y.value,p=o.slots||{},m=p.top,d=p.bottom,g=p.default,w=p.footer;return v?s(v,{id:"VXE_IMPORT_MODAL",modelValue:a.visible,title:c("vxe.import.impTitle"),className:"vxe-table-export-popup-wrapper",width:540,minWidth:360,minHeight:240,mask:!0,lockView:!0,showFooter:!0,escClosable:!0,maskClosable:!0,showMaximize:!0,resize:!0,loading:C.loading,"onUpdate:modelValue"(e){a.visible=e},onShow:$},{default:()=>{const e={$table:f,$grid:t,options:o,params:o.params};return s("div",{class:"vxe-table-export--panel"},[m?s("div",{class:"vxe-table-export--panel-top"},f.callSlot(m,e)):r(),s("div",{class:"vxe-table-export--panel-body"},g?f.callSlot(g,e):[s("table",{class:"vxe-table-export--panel-table",cellspacing:0,cellpadding:0,border:0},[s("tbody",[s("tr",[s("td",c("vxe.import.impFile")),s("td",[i?s("div",{class:"vxe-table-export--selected--file",title:l},[s("span",l),s("i",{class:x().INPUT_CLEAR,onClick:D})]):s("button",{ref:O,class:"vxe-table-export--select--file",onClick:V},c("vxe.import.impSelect"))])]),s("tr",[s("td",c("vxe.import.impType")),s("td",n)]),s("tr",[s("td",c("vxe.import.impMode")),s("td",[b?s(b,{modelValue:o.mode,options:a.modeList,"onUpdate:modelValue"(e){o.mode=e}}):r()])])])])]),d?s("div",{class:"vxe-table-export--panel-bottom"},f.callSlot(d,e)):r()])},footer(){const e={$table:f,$grid:t,options:o,params:o.params};return s("div",{class:"vxe-table-export--panel-footer"},w?f.callSlot(w,e):[s("div",{class:"vxe-table-export--panel-btns"},[u?s(u,{content:c("vxe.import.impCancel"),onClick:k}):r(),u?s(u,{status:"primary",disabled:!i||C.loading,content:c("vxe.import.impConfirm"),onClick:S}):r()])])}}):r()}}});export{v as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function e(e,t){return new Blob([e],{type:`text/${t.type};charset=utf-8;`})}function t(e,t){const{style:r}=e;return["<!DOCTYPE html><html>","<head>",'<meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no,minimal-ui">',`<title>${e.sheetName}</title>`,'<style media="print">.vxe-page-break-before{page-break-before:always;}.vxe-page-break-after{page-break-after:always;}</style>','<style>body{margin:0;padding: 0 1px;color:#333333;font-size:14px;font-family:"Microsoft YaHei",微软雅黑,"MicrosoftJhengHei",华文细黑,STHeiti,MingLiu}body *{-webkit-box-sizing:border-box;box-sizing:border-box}.vxe-table{border-collapse:collapse;text-align:left;border-spacing:0}.vxe-table:not(.is--print){table-layout:fixed}.vxe-table,.vxe-table th,.vxe-table td,.vxe-table td{border-color:#D0D0D0;border-style:solid;border-width:0}.vxe-table.is--print{width:100%}.border--default,.border--full,.border--outer{border-top-width:1px}.border--default,.border--full,.border--outer{border-left-width:1px}.border--outer,.border--default th,.border--default td,.border--full th,.border--full td,.border--outer th,.border--inner th,.border--inner td{border-bottom-width:1px}.border--default,.border--outer,.border--full th,.border--full td{border-right-width:1px}.border--default th,.border--full th,.border--outer th{background-color:#f8f8f9}.vxe-table td>div,.vxe-table th>div{padding:.5em .4em}.col--center{text-align:center}.col--right{text-align:right}.vxe-table:not(.is--print) .col--ellipsis>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.vxe-table--tree-node{text-align:left}.vxe-table--tree-node-wrapper{position:relative}.vxe-table--tree-icon-wrapper{position:absolute;top:50%;width:1em;height:1em;text-align:center;-webkit-transform:translateY(-50%);transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.vxe-table--tree-unfold-icon,.vxe-table--tree-fold-icon{position:absolute;width:0;height:0;border-style:solid;border-width:.5em;border-right-color:transparent;border-bottom-color:transparent}.vxe-table--tree-unfold-icon{left:.3em;top:0;border-left-color:#939599;border-top-color:transparent}.vxe-table--tree-fold-icon{left:0;top:.3em;border-left-color:transparent;border-top-color:#939599}.vxe-table--tree-cell{display:block;padding-left:1.5em}.vxe-table input[type="checkbox"]{margin:0}.vxe-table input[type="checkbox"],.vxe-table input[type="radio"],.vxe-table input[type="checkbox"]+span,.vxe-table input[type="radio"]+span{vertical-align:middle;padding-left:0.4em}</style>',r?`<style>${r}</style>`:"","</head>",`<body>${t}</body>`,"</html>"].join("")}export{t as createHtmlPage,e as getExportBlobByContent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{nextTick as e}from"vue";import t from"../../../../../../../_virtual/index/index.js";import"../../../../ui/index/index.js";import{handleFieldOrColumn as l,toFilters as i,getRefElem as r}from"../../../src/util/index.js";import{triggerEvent as n,getDomNode as o,toCssUnit as c}from"../../../../ui/src/dom/index.js";import{isEnableConf as a}from"../../../../ui/src/utils/index.js";import{VxeUI as s}from"../../../../../../@vxe-ui/core/es/index.esm/index.js";const{renderer:d,hooks:h}=s,u=["openFilter","setFilter","clearFilter","saveFilterPanel","resetFilterPanel","getCheckedFilters","updateFilterOptionStatus"];h.add("tableFilterModule",{setupTable(s){const{props:h,reactData:u,internalData:f}=s,{refElem:p,refTableFilter:m}=s.getRefMaps(),{computeFilterOpts:F,computeMouseOpts:v}=s.getComputeMaps(),g=e=>{const{filterStore:t}=u;t.options.forEach((e=>{e.checked=e._checked})),s.confirmFilterEvent(e)},k=(e,t,l)=>{const{filterStore:i}=u;i.options.forEach((e=>{e._checked=!1})),l._checked=t,s.checkFilterOptions(),g(e)},b=(e,t,l)=>{l._checked=t,s.checkFilterOptions()},C=e=>{const{filterStore:t}=u;s.handleClearFilter(t.column),s.confirmFilterEvent(e),e&&s.dispatchEvent("clear-filter",{filterList:[]},e)},S={checkFilterOptions(){const{filterStore:e}=u;e.isAllSelected=e.options.every((e=>e._checked)),e.isIndeterminate=!e.isAllSelected&&e.options.some((e=>e._checked))},triggerFilterEvent(t,l,i){const{initStore:n,filterStore:h}=u,{elemStore:v}=f;if(h.column===l&&h.visible)h.visible=!1;else{const u=p.value,{scrollTop:g,scrollLeft:k,visibleHeight:b,visibleWidth:C}=o(),S=F.value,{transfer:E}=S,x=u.getBoundingClientRect(),M=t.currentTarget,{filters:O,filterMultiple:R,filterRender:y}=l,_=a(y)?d.get(y.name):null,j=l.filterRecoverMethod||(_?_.tableFilterRecoverMethod||_.filterRecoverMethod:null);f._currFilterParams=i,Object.assign(h,{multiple:R,options:O,column:l,style:null}),h.options.forEach((e=>{const{_checked:t,checked:i}=e;e._checked=i,i||t===i||j&&j({option:e,column:l,$table:s})})),this.checkFilterOptions(),h.visible=!0,n.filter=!0,e((()=>{if(!r(v["main-header-scroll"]))return;const e=m.value,t=e?e.getRefMaps().refElem.value:null;if(!t)return;const l=M.getBoundingClientRect(),i=t.querySelector(".vxe-table--filter-header"),n=t.querySelector(".vxe-table--filter-footer"),o=t.offsetWidth,a=o/2;let s=0,d=0,f=0;E?(s=l.left-a+k,d=l.top+M.clientHeight+g,f=Math.min(Math.max(x.height,Math.floor(b/2)),Math.max(80,b-d-(i?i.clientHeight:0)-(n?n.clientHeight:0)-28)),s<16?s=16:s>C-o-16&&(s=C-o-16)):(s=l.left-x.left-a,d=l.top-x.top+M.clientHeight,f=Math.max(40,u.clientHeight-d-(i?i.clientHeight:0)-(n?n.clientHeight:0)-14),s<1?s=1:s>u.clientWidth-o-1&&(s=u.clientWidth-o-1)),h.style={top:c(d),left:c(s)},h.maxHeight=f}))}s.dispatchEvent("filter-visible",{column:l,field:l.field,property:l.field,filterList:s.getCheckedFilters(),visible:h.visible},t)},handleClearFilter(e){if(e){const{filters:l,filterRender:i}=e;if(l){const r=a(i)?d.get(i.name):null,n=e.filterResetMethod||(r?r.tableFilterResetMethod||r.filterResetMethod:null);l.forEach((e=>{e._checked=!1,e.checked=!1,n||(e.data=t.clone(e.resetValue,!0))})),n&&n({options:l,column:e,$table:s})}}},handleColumnConfirmFilter(e,t){const{mouseConfig:l}=h,{scrollXLoad:i,scrollYLoad:r}=u,n=F.value,o=v.value,{field:c}=e,a=[],d=[];e.filters.forEach((e=>{e.checked&&(a.push(e.value),d.push(e.data))}));const f=s.getCheckedFilters(),p={$table:s,$event:t,column:e,field:c,property:c,values:a,datas:d,filters:f,filterList:f};return n.remote||(s.handleTableData(!0),s.checkSelectionStatus()),l&&o.area&&s.handleFilterEvent&&s.handleFilterEvent(t,p),t&&s.dispatchEvent("filter-change",p,t),s.closeFilter(),s.updateFooter().then((()=>{const{scrollXLoad:e,scrollYLoad:t}=u;if(i||e||r||t)return(i||e)&&s.updateScrollXSpace(),(r||t)&&s.updateScrollYSpace(),s.refreshScroll()})).then((()=>(s.updateCellAreas(),s.recalculate(!0)))).then((()=>{setTimeout((()=>s.recalculate()),50)}))},confirmFilterEvent(e){const{filterStore:t}=u,{column:l}=t;s.handleColumnConfirmFilter(l,e)},handleFilterChangeRadioOption:k,handleFilterChangeMultipleOption:b,handleFilterChangeOption(e,t,l){const{filterStore:i}=u;i.multiple?b(0,t,l):k(e,t,l)},handleFilterConfirmFilter:g,handleFilterResetFilter:C},E={openFilter(t){const i=l(s,t);if(i&&i.filters){const{elemStore:e}=f,{fixed:t}=i;return s.scrollToColumn(i).then((()=>{const l=r(e[`${t||"main"}-header-wrapper`]||e["main-header-wrapper"]);if(l){const e=l.querySelector(`.vxe-header--column.${i.id} .vxe-cell--filter`);n(e,"click")}}))}return e()},setFilter(t,r,n){const o=l(s,t);return o&&o.filters&&(o.filters=i(r||[]),n)?s.handleColumnConfirmFilter(o,new Event("click")):e()},clearFilter(t){const{filterStore:i}=u,{tableFullColumn:r}=f,n=F.value;let o;return t?(o=l(s,t),o&&s.handleClearFilter(o)):r.forEach(s.handleClearFilter),t&&o===i.column||Object.assign(i,{isAllSelected:!1,isIndeterminate:!1,style:null,options:[],column:null,multiple:!1,visible:!1}),n.remote?e():s.updateData()},saveFilterPanel:()=>(g(null),e()),saveFilterPanelByEvent:t=>(g(t),e()),resetFilterPanel:()=>(C(null),e()),resetFilterPanelByEvent:t=>(C(t),e()),getCheckedFilters(){const{tableFullColumn:e}=f,t=[];return e.forEach((e=>{const{field:l,filters:i}=e,r=[],n=[];i&&i.length&&(i.forEach((e=>{e.checked&&(r.push(e.value),n.push(e.data))})),r.length&&t.push({column:e,field:l,property:l,values:r,datas:n}))})),t},updateFilterOptionStatus:(t,l)=>(t._checked=l,t.checked=l,e())};return Object.assign(Object.assign({},E),S)},setupGrid:e=>e.extendTableMethods(u)});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e,inject as t,ref as l,computed as i,h as r,Teleport as n}from"vue";import"../../../../ui/index/index.js";import{isEnableConf as a,formatText as s}from"../../../../ui/src/utils/index.js";import{getPropClass as o}from"../../../../ui/src/dom/index.js";import{getSlotVNs as c}from"../../../../ui/src/vn/index.js";import d from"../../../../../../../_virtual/index/index.js";import{VxeUI as p}from"../../../../../../@vxe-ui/core/es/index.esm/index.js";const{getI18n:m,getIcon:u,renderer:x}=p;var f=e({name:"VxeTableFilterPanel",props:{filterStore:Object},setup(e,p){const f=d.uniqueId(),b=t("$xeTable",{}),{reactData:h,internalData:v,getComputeMaps:C}=b,{computeFilterOpts:F}=C(),E=l(),g={refElem:E},O={xID:f,props:e,context:p,getRefMaps:()=>g},_=i((()=>{const{filterStore:t}=e;return t&&t.options.some((e=>e.checked))})),k=e=>{b.handleFilterConfirmFilter(e)},S=e=>{b.handleFilterResetFilter(e)},T=(e,t,l)=>{b.handleFilterChangeOption(e,t,l)},H=(t,l)=>{const{filterStore:i}=e;i.multiple?((t,l)=>{const{filterStore:i}=e;i.options.forEach((e=>{e._checked=l,e.checked=l})),i.isAllSelected=l,i.isIndeterminate=!1})(0,l):S(t)},B={changeRadioOption:(e,t,l)=>{b.handleFilterChangeRadioOption(e,t,l)},changeMultipleOption:(e,t,l)=>{b.handleFilterChangeMultipleOption(e,t,l)},changeAllOption:H,changeOption:T,confirmFilter:k,resetFilter:S};Object.assign(O,B);const A=(t,l)=>{const{filterStore:i}=e,{column:n,multiple:a,maxHeight:o}=i,d=n?n.slots:null,p=d?d.filter:null,x=Object.assign({},v._currFilterParams,{$panel:O,$table:b}),f=l?l.renderTableFilter||l.renderFilter:null;if(p)return[r("div",{class:"vxe-table--filter-template",style:o?{maxHeight:`${o}px`}:{}},b.callSlot(p,x))];if(f)return[r("div",{class:"vxe-table--filter-template",style:o?{maxHeight:`${o}px`}:{}},c(f(t,x)))];const h=a?i.isAllSelected:!i.options.some((e=>e._checked)),C=a&&i.isIndeterminate;return[r("ul",{class:"vxe-table--filter-header"},[r("li",{class:["vxe-table--filter-option",{"is--checked":h,"is--indeterminate":C}],title:m(a?"vxe.table.allTitle":"vxe.table.allFilter"),onClick:e=>{H(e,!i.isAllSelected)}},(a?[r("span",{class:["vxe-checkbox--icon",C?u().TABLE_CHECKBOX_INDETERMINATE:h?u().TABLE_CHECKBOX_CHECKED:u().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([r("span",{class:"vxe-checkbox--label"},m("vxe.table.allFilter"))]))]),r("ul",{class:"vxe-table--filter-body",style:o?{maxHeight:`${o}px`}:{}},i.options.map((e=>{const t=e._checked;return r("li",{class:["vxe-table--filter-option",{"is--checked":e._checked}],title:e.label,onClick:t=>{T(t,!e._checked,e)}},(a?[r("span",{class:["vxe-checkbox--icon",t?u().TABLE_CHECKBOX_CHECKED:u().TABLE_CHECKBOX_UNCHECKED]})]:[]).concat([r("span",{class:"vxe-checkbox--label"},s(e.label,1))]))})))]},j=()=>{const{filterStore:t}=e,{column:l,multiple:i}=t,n=F.value,s=_.value,{filterRender:o}=l,c=a(o)?x.get(o.name):null,d=!s&&!t.isAllSelected&&!t.isIndeterminate;return i&&(!c||!1!==c.showTableFilterFooter&&!1!==c.showFilterFooter&&!1!==c.isFooter)?[r("div",{class:"vxe-table--filter-footer"},[r("button",{class:{"is--disabled":d},disabled:d,onClick:k},n.confirmButtonText||m("vxe.table.confirmFilter")),r("button",{onClick:S},n.resetButtonText||m("vxe.table.resetFilter"))])]:[]};return O.renderVN=()=>{const{filterStore:t}=e,{initStore:l}=h,{visible:i,multiple:s,column:c}=t,d=c?c.filterRender:null,p=a(d)?x.get(d.name):null,m=p?p.tableFilterClassName||p.filterClassName:"",u=Object.assign({},v._currFilterParams,{$panel:O,$table:b}),f=b.props,{computeSize:C}=b.getComputeMaps(),g=C.value,_=F.value,{transfer:k,destroyOnClose:S}=_;return r(n,{to:"body",disabled:!k},[r("div",{ref:E,class:["vxe-table--filter-wrapper","filter--prevent-default",o(m,u),{[`size--${g}`]:g,"is--animat":f.animat,"is--multiple":s,"is--active":i}],style:t.style},l.filter&&(!S||i)&&c?A(d,p).concat(j()):[])])},O},render(){return this.renderVN()}});export{f as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"../../../../../../../_virtual/index/index.js";import"../../../../ui/index/index.js";import{getRefElem as t}from"../../../src/util/index.js";import{addClass as o,getAbsolutePos as l,removeClass as n,hasClass as r,hasControlKey as i}from"../../../../ui/src/dom/index.js";import{VxeUI as c}from"../../../../../../@vxe-ui/core/es/index.esm/index.js";const{hooks:u}=c,s=e.browse();u.add("tableKeyboardModule",{setupTable(c){const{props:u,reactData:d,internalData:g}=c,{refElem:a}=c.getRefMaps(),{computeEditOpts:h,computeCheckboxOpts:m,computeMouseOpts:f,computeTreeOpts:C,computeRowOpts:p,computeColumnOpts:w,computeCellOpts:v,computeDefaultRowHeight:x,computeCurrentRowOpts:b,computeCurrentColumnOpts:R}=c.getComputeMaps();const T=(h,m)=>{const{elemStore:f}=g,C=t(f["main-body-scroll"]),w=t(f["left-body-scroll"]),b=t(f["right-body-scroll"]),{column:R,cell:T}=m;if("checkbox"===R.type){let t=C;if(w&&"left"===R.fixed?t=w:b&&"right"===R.fixed&&(t=b),!t)return;const f=a.value,I=h.clientX,E=h.clientY,S=t.querySelector(".vxe-table--checkbox-range"),M=T.parentElement,k=c.getCheckboxRecords();let y=[];const D=1,O=function(t,o){let l=0,n=0;const i=!s.firefox&&r(t,"vxe-checkbox--label");if(i){const o=getComputedStyle(t);l-=e.toNumber(o.paddingTop),n-=e.toNumber(o.paddingLeft)}for(;t&&t!==o;)if(l+=t.offsetTop,n+=t.offsetLeft,t=t.offsetParent,i){const o=getComputedStyle(t);l-=e.toNumber(o.paddingTop),n-=e.toNumber(o.paddingLeft)}return{offsetTop:l,offsetLeft:n}}(h.target,t),F=O.offsetTop+h.offsetY,H=O.offsetLeft+h.offsetX,$=t.scrollTop,V=M.offsetHeight,j=M.getBoundingClientRect(),L=E-j.y;let A=null,N=!1,Y=1;const z=(e,t)=>{c.dispatchEvent(`checkbox-range-${e}`,{records:()=>c.getCheckboxRecords(),reserves:()=>c.getCheckboxReserveRecords()},t)},X=e=>{const{clientX:o,clientY:l}=e,n=o-I,r=l-E+(t.scrollTop-$);let s=Math.abs(r),a=Math.abs(n),h=F,f=H;r<D?(h+=r,h<D&&(h=D,s=F)):s=Math.min(s,t.scrollHeight-F-D),n<D?(f+=n,a>H&&(f=D,a=H)):a=Math.min(a,t.clientWidth-H-D),S.style.height=`${s}px`,S.style.width=`${a}px`,S.style.left=`${f}px`,S.style.top=`${h}px`,S.style.display="block";const C=function(e,t,o,l,n,r){const{showOverflow:i}=u,{fullAllDataRowIdData:s,isResizeCellHeight:a}=g,h=p.value,m=v.value,f=x.value,{row:C}=t;let w=0,b=[],R=0;const T=r>0,{scrollYLoad:I}=d,{afterFullData:E}=g;if(R=T?n+r:l.height-n+Math.abs(r),I){const e=c.getVTRowIndex(C);if(a||m.height||h.height||!i)if(T)for(let t=e;t<E.length;t++){const e=E[t],o=s[c.getRowid(e)]||{};if(w+=o.resizeHeight||m.height||h.height||o.height||f,b.push(e),w>R)return b}else for(let t=e;t>=0;t--){const e=E[t],o=s[c.getRowid(e)]||{};if(w+=o.resizeHeight||m.height||h.height||o.height||f,b.push(e),w>R)return b}else b=T?E.slice(e,e+Math.ceil(R/f)):E.slice(e-Math.floor(R/f),e+1)}else{const e=T?"next":"previous";for(;o&&w<R;){const t=c.getRowNode(o);t&&(b.push(t.item),w+=o.offsetHeight,o=o[`${e}ElementSibling`])}}return b}(0,m,M,j,L,r<D?-s:s);if(s>10&&C.length!==y.length){const t=i(e);y=C,t?C.forEach((e=>{c.handleBatchSelectRows([e],-1===k.indexOf(e))})):(c.setAllCheckboxRow(!1),c.handleCheckedCheckboxRow(C,!0,!1)),z("change",e)}},B=()=>{clearTimeout(A),A=null},P=e=>{B(),A=setTimeout((()=>{if(A){const{scrollLeft:o,scrollTop:l,clientHeight:n,scrollHeight:r}=t,i=Math.ceil(50*Y/V);N?l+n<r?(c.scrollTo(o,l+i),P(e),X(e)):B():l?(c.scrollTo(o,l-i),P(e),X(e)):B()}}),50)};o(f,"drag--range"),document.onmousemove=e=>{e.preventDefault(),e.stopPropagation();const{clientY:o}=e,{boundingTop:n}=l(t);o<n?(N=!1,Y=n-o,A||P(e)):o>n+t.clientHeight?(N=!0,Y=o-n-t.clientHeight,A||P(e)):A&&B(),X(e)},document.onmouseup=e=>{B(),n(f,"drag--range"),S.removeAttribute("style"),document.onmousemove=null,document.onmouseup=null,z("end",e)},z("start",h)}},I=(e,t,o,l,n,r)=>{const{afterFullData:i,visibleColumn:u}=g,s=Object.assign({},t),d=c.getVTRowIndex(s.row),a=c.getVTColumnIndex(s.column);return e.preventDefault(),l&&d>0?(s.rowIndex=d-1,s.row=i[s.rowIndex]):r&&d<i.length-1?(s.rowIndex=d+1,s.row=i[s.rowIndex]):o&&a?(s.columnIndex=a-1,s.column=u[s.columnIndex]):n&&a<u.length-1&&(s.columnIndex=a+1,s.column=u[s.columnIndex]),c.scrollToRow(s.row,s.column).then((()=>{s.cell=c.getCellElement(s.row,s.column),c.handleSelected(s,e)})),s};return{moveTabSelected(e,t,o){const{editConfig:l}=u,{afterFullData:n,visibleColumn:r}=g,i=h.value,s=p.value,d=b.value,a=w.value,m=R.value;let f,C,v;const x=Object.assign({},e),T=c.getVTRowIndex(x.row),I=c.getVTColumnIndex(x.column);o.preventDefault(),t?I<=0?T>0&&(C=T-1,f=n[C],v=r.length-1):v=I-1:I>=r.length-1?T<n.length-1&&(C=T+1,f=n[C],v=0):v=I+1;const E=r[v];E&&(f?(x.rowIndex=C,x.row=f):x.rowIndex=T,x.columnIndex=v,x.column=E,x.cell=c.getCellElement(x.row,x.column),s.isCurrent&&d.isFollowSelected&&c.triggerCurrentRowEvent(o,x),a.isCurrent&&m.isFollowSelected&&c.triggerCurrentColumnEvent(o,x),l?"click"!==i.trigger&&"dblclick"!==i.trigger||("row"===i.mode?c.handleEdit(x,o):c.scrollToRow(x.row,x.column).then((()=>{c.handleSelected(x,o)}))):c.scrollToRow(x.row,x.column).then((()=>{c.handleSelected(x,o)})))},moveCurrentRow(t,o,l){const{treeConfig:n}=u,{currentRow:r}=d,{afterFullData:i}=g,s=C.value,a=s.children||s.childrenField;let h;if(r)if(n){const{index:l,items:n}=e.findTree(i,(e=>e===r),{children:a});t&&l>0?h=n[l-1]:o&&l<n.length-1&&(h=n[l+1])}else{const e=c.getVTRowIndex(r);t&&e>0?h=i[e-1]:o&&e<i.length-1&&(h=i[e+1])}else h=i[0];if(h){l.preventDefault();const e={$table:c,row:h,rowIndex:c.getRowIndex(h),$rowIndex:c.getVMRowIndex(h)};c.scrollToRow(h).then((()=>c.triggerCurrentRowEvent(l,e)))}},moveCurrentColumn(e,t,o){const{currentColumn:l}=d,{visibleColumn:n}=g;let r=null;if(l){const o=c.getVTColumnIndex(l);e&&o>0?r=n[o-1]:t&&o<n.length-1&&(r=n[o+1])}else r=n[0];if(r){o.preventDefault();const e={$table:c,column:r,columnIndex:c.getColumnIndex(r),$columnIndex:c.getVMColumnIndex(r)};c.scrollToColumn(r).then((()=>c.triggerCurrentColumnEvent(o,e)))}},moveArrowSelected(e,t,o,l,n,r){const{highlightCurrentRow:i,highlightCurrentColumn:s}=u,d=p.value,g=b.value,a=w.value,h=R.value,m=I(r,e,t,o,l,n);(d.isCurrent||i)&&(g.isFollowSelected?c.triggerCurrentRowEvent(r,m):(o||n)&&(d.isCurrent||i)&&c.moveCurrentRow(o,n,r)),(a.isCurrent||s)&&(h.isFollowSelected?c.triggerCurrentColumnEvent(r,m):(t||l)&&(a.isCurrent||s)&&c.moveCurrentColumn(t,l,r))},moveEnterSelected(e,t,o,l,n,r){const{highlightCurrentRow:i,highlightCurrentColumn:s}=u,d=p.value,g=b.value,a=w.value,h=R.value,m=I(r,e,t,o,l,n);(d.isCurrent||i)&&g.isFollowSelected&&c.triggerCurrentRowEvent(r,m),(a.isCurrent||s)&&h.isFollowSelected&&c.triggerCurrentColumnEvent(r,m)},moveSelected(e,t,o,l,n,r){I(r,e,t,o,l,n)},handleCellMousedownEvent:(e,t)=>{const{editConfig:o,checkboxConfig:l,mouseConfig:n}=u,r=m.value,i=f.value,s=h.value;if(n&&i.area&&c.triggerCellAreaMousedownEvent)return c.triggerCellAreaMousedownEvent(e,t);l&&r.range&&T(e,t),n&&i.selected&&(o&&"cell"!==s.mode||c.handleSelected(t,e))}}}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{nextTick as e}from"vue";import t from"../../../../../../../_virtual/index/index.js";import"../../../../ui/index/index.js";import{getAbsolutePos as l,getEventTargetNode as n,getDomNode as o}from"../../../../ui/src/dom/index.js";import{hasChildrenList as i,isEnableConf as s}from"../../../../ui/src/utils/index.js";import{VxeUI as u}from"../../../../../../@vxe-ui/core/es/index.esm/index.js";const{menus:r,hooks:c,globalEvents:d,GLOBAL_EVENT_KEYS:a}=u,f=["closeMenu"];c.add("tableMenuModule",{setupTable(u){const{xID:c,props:f,reactData:h,internalData:m}=u,{refElem:p,refTableFilter:v,refTableMenu:g}=u.getRefMaps(),{computeMouseOpts:b,computeIsMenu:x,computeMenuOpts:M}=u.getComputeMaps();let C={},E={};const w=(t,n,i)=>{const{ctxMenuStore:s}=h,r=x.value,c=M.value,d=c[n],a=c.visibleMethod;if(d){const{options:n,disabled:c}=d;c?t.preventDefault():r&&n&&n.length&&(i.options=n,u.preventEvent(t,"event.showMenu",i,(()=>{if(!a||a(i)){t.preventDefault(),u.updateZindex();const{scrollTop:r,scrollLeft:c,visibleHeight:d,visibleWidth:a}=o();let f=t.clientY+r,h=t.clientX+c;const p=()=>{m._currMenuParams=i,Object.assign(s,{visible:!0,list:n,selected:null,selectChild:null,showChild:!1,style:{zIndex:m.tZindex,top:`${f}px`,left:`${h}px`}}),e((()=>{const e=g.value.getRefMaps().refElem.value,t=e.clientHeight,n=e.clientWidth,{boundingTop:o,boundingLeft:i}=l(e),u=i+n-a;o+t-d>-10&&(s.style.top=`${Math.max(r+2,f-t-2)}px`),u>-10&&(s.style.left=`${Math.max(c+2,h-n-2)}px`)}))},{keyboard:v,row:b,column:x}=i;v&&b&&x?u.scrollToRow(b,x).then((()=>{const e=u.getCellElement(b,x);if(e){const{boundingTop:t,boundingLeft:n}=l(e);f=t+r+Math.floor(e.offsetHeight/2),h=n+c+Math.floor(e.offsetWidth/2)}p()})):p()}else C.closeMenu()})))}u.closeFilter()};return C={closeMenu:()=>(Object.assign(h.ctxMenuStore,{visible:!1,selected:null,selectChild:null,showChild:!1}),e())},E={moveCtxMenu(e,l,n,o,s,r){let c;const f=t.findIndexOf(r,(e=>l[n]===e));if(o)s&&i(l.selected)?l.showChild=!0:(l.showChild=!1,l.selectChild=null);else if(d.hasKey(e,a.ARROW_UP)){for(let e=f-1;e>=0;e--)if(!1!==r[e].visible){c=r[e];break}l[n]=c||r[r.length-1]}else if(d.hasKey(e,a.ARROW_DOWN)){for(let e=f+1;e<r.length;e++)if(!1!==r[e].visible){c=r[e];break}l[n]=c||r[0]}else l[n]&&(d.hasKey(e,a.ENTER)||d.hasKey(e,a.SPACEBAR))&&u.ctxMenuLinkEvent(e,l[n])},handleOpenMenuEvent:w,handleGlobalContextmenuEvent(e){const{mouseConfig:t,menuConfig:l}=f,{editStore:o,ctxMenuStore:i}=h,{visibleColumn:r}=m,d=v.value,a=g.value,x=b.value,E=M.value,y=p.value,{selected:$}=o,O=["header","body","footer"];if(s(l)){if(i.visible&&a&&n(e,a.getRefMaps().refElem.value).flag)return void e.preventDefault();if(m._keyCtx){const l="body",n={type:l,$table:u,keyboard:!0,columns:r.slice(0),$event:e};if(t&&x.area){const t=u.getActiveCellArea();if(t&&t.row&&t.column)return n.row=t.row,n.column=t.column,void w(e,l,n)}else if(t&&x.selected&&$.row&&$.column)return n.row=$.row,n.column=$.column,void w(e,l,n)}for(let t=0;t<O.length;t++){const l=O[t],o=n(e,y,`vxe-${l}--column`,(e=>e.parentNode.parentNode.parentNode.getAttribute("xid")===c)),i={type:l,$table:u,columns:r.slice(0),$event:e};if(o.flag){const t=o.targetElem,n=u.getColumnNode(t),s=n?n.item:null;let r=`${l}-`;if(s&&Object.assign(i,{column:s,columnIndex:u.getColumnIndex(s),cell:t}),"body"===l){const e=u.getRowNode(t.parentNode),l=e?e.item:null;r="",l&&(i.row=l,i.rowIndex=u.getRowIndex(l))}const c=`${r}cell-menu`;return w(e,l,i),void u.dispatchEvent(c,i,e)}if(n(e,y,`vxe-table--${l}-wrapper`,(e=>e.getAttribute("xid")===c)).flag)return void("cell"===E.trigger?e.preventDefault():w(e,l,i))}}d&&!n(e,d.getRefMaps().refElem.value).flag&&u.closeFilter(),C.closeMenu()},ctxMenuMouseoverEvent(t,n,o){const s=t.currentTarget,{ctxMenuStore:u}=h;t.preventDefault(),t.stopPropagation(),u.selected=n,u.selectChild=o,o||(u.showChild=i(n),u.showChild&&e((()=>{const e=s.nextElementSibling;if(e){const{boundingTop:t,boundingLeft:n,visibleHeight:o,visibleWidth:i}=l(s),u=t+s.offsetHeight;let r="",c="";n+s.offsetWidth+e.offsetWidth>i-10&&(r="auto",c=`${s.offsetWidth}px`);let d="",a="";u+e.offsetHeight>o-10&&(d="auto",a="0"),e.style.left=r,e.style.right=c,e.style.top=d,e.style.bottom=a}})))},ctxMenuMouseoutEvent(e,t){const{ctxMenuStore:l}=h;t.children||(l.selected=null),l.selectChild=null},ctxMenuLinkEvent(e,t){const l=u.xeGrid;if(!t.disabled&&(t.code||!t.children||!t.children.length)){const n=r.get(t.code),o=Object.assign({},m._currMenuParams,{menu:t,$table:u,$grid:l,$event:e}),i=n?n.tableMenuMethod||n.menuMethod:null;i&&i(o,e),u.dispatchEvent("menu-click",o,e),C.closeMenu()}}},Object.assign(Object.assign({},C),E)},setupGrid:e=>e.extendTableMethods(f)});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e,inject as n,ref as s,h as t,Teleport as i,createCommentVNode as c}from"vue";import"../../../../ui/index/index.js";import{getFuncText as l}from"../../../../ui/src/utils/index.js";import o from"../../../../../../../_virtual/index/index.js";import{VxeUI as a}from"../../../../../../@vxe-ui/core/es/index.esm/index.js";const{getIcon:u}=a;var r=e({name:"VxeTableMenuPanel",setup(e,a){const r=o.uniqueId(),x=n("$xeTable",{}),{reactData:v}=x,d=s(),m={refElem:d},p={xID:r,props:e,context:a,getRefMaps:()=>m};return p.renderVN=()=>{const{ctxMenuStore:e}=v,{computeMenuOpts:n}=x.getComputeMaps(),s=n.value;return t(i,{to:"body",disabled:!1},[t("div",{ref:d,class:["vxe-table--context-menu-wrapper",s.className,{"is--visible":e.visible}],style:e.style},e.list.map(((n,s)=>n.every((e=>!1===e.visible))?c():t("ul",{class:"vxe-context-menu--option-wrapper",key:s},n.map(((n,i)=>{const o=n.children&&n.children.some((e=>!1!==e.visible)),a=Object.assign({},n.prefixConfig),r=Object.assign({},n.suffixConfig),v=l(n.name);return!1===n.visible?null:t("li",{class:[n.className,{"link--disabled":n.disabled,"link--active":n===e.selected}],key:`${s}_${i}`},[t("a",{class:"vxe-context-menu--link",onClick(e){x.ctxMenuLinkEvent(e,n)},onMouseover(e){x.ctxMenuMouseoverEvent(e,n)},onMouseout(e){x.ctxMenuMouseoutEvent(e,n)}},[t("div",{class:["vxe-context-menu--link-prefix",a.className||""]},[t("i",{class:a.icon||n.prefixIcon}),a.content?t("span",{},`${a.content}`):c()]),t("div",{class:"vxe-context-menu--link-content",title:v},v),t("div",{class:["vxe-context-menu--link-suffix",r.className||""]},[t("i",{class:r.icon||n.suffixIcon||(o?u().TABLE_MENU_OPTIONS:"")}),r.content?t("span",`${r.content}`):c()])]),o?t("ul",{class:["vxe-table--context-menu-clild-wrapper",{"is--show":n===e.selected&&e.showChild}]},n.children.map(((o,a)=>{const u=Object.assign({},o.prefixConfig),r=Object.assign({},o.suffixConfig),v=l(o.name);return!1===o.visible?null:t("li",{class:[o.className,{"link--disabled":o.disabled,"link--active":o===e.selectChild}],key:`${s}_${i}_${a}`},[t("a",{class:"vxe-context-menu--link",onClick(e){x.ctxMenuLinkEvent(e,o)},onMouseover(e){x.ctxMenuMouseoverEvent(e,n,o)},onMouseout(e){x.ctxMenuMouseoutEvent(e,n)}},[t("div",{class:["vxe-context-menu--link-prefix",u.className||""]},[t("i",{class:u.icon||o.prefixIcon}),u.content?t("span",`${u.content}`):c()]),t("div",{class:"vxe-context-menu--link-content",title:v},v),t("div",{class:["vxe-context-menu--link-suffix",r.className||""]},[t("i",{class:r.icon}),r.content?t("span",`${r.content}`):c()])])])}))):null])}))))))])},p},render(){return this.renderVN()}});export{r as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{nextTick as e}from"vue";import t from"../../../../../../../_virtual/index/index.js";import"../../../../ui/index/index.js";import{getFuncText as r,eqEmptyValue as l}from"../../../../ui/src/utils/index.js";import{scrollToView as i}from"../../../../ui/src/dom/index.js";import{handleFieldOrColumn as n,getRowid as o}from"../../../src/util/index.js";import{warnLog as s,errLog as a}from"../../../../ui/src/log/index.js";import{VxeUI as u}from"../../../../../../@vxe-ui/core/es/index.esm/index.js";const{getConfig:c,validators:d,hooks:g}=u;class m{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.max,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return r(this.$options.content||this.$options.message)}get message(){return this.content}}function f(e,r){return!(!t.eqNull(e)&&r>t.toNumber(e))}function p(e,r){return!(!t.eqNull(e)&&r<t.toNumber(e))}function h(e,r,l){const{type:i,min:n,max:o,pattern:s}=e,a="array"===i,u="number"===i,c="string"===i,d=`${r}`;if(!function(e,r){return!(e&&!(t.isRegExp(e)?e:new RegExp(e)).test(r))}(s,d))return!1;if(a){if(!t.isArray(r))return!1;if(l&&!r.length)return!1;if(!p(n,r.length))return!1;if(!f(o,r.length))return!1}else if(u){const e=Number(r);if(isNaN(e))return!1;if(!p(n,e))return!1;if(!f(o,e))return!1}else{if(c&&!t.isString(r))return!1;if(l&&!d)return!1;if(!p(n,d.length))return!1;if(!f(o,d.length))return!1}return!0}const v=["fullValidate","validate","fullValidateField","validateField","clearValidate"];g.add("tableValidatorModule",{setupTable(r){const{props:u,reactData:g,internalData:f}=r,{refValidTooltip:p}=r.getRefMaps(),{computeValidOpts:v,computeTreeOpts:w,computeEditOpts:x,computeAggregateOpts:R}=r.getComputeMaps();let V,b={},E={};const M=(l,n,s,a)=>{const d={},{editRules:m,treeConfig:p}=u,{isRowGroupStatus:h}=g,{afterFullData:x,pendingRowMaps:M,removeRowMaps:j}=f,$=w.value,y=R.value,C=v.value;let O;!0===l?O=x:l&&(t.isFunction(l)?s=l:O=t.isArray(l)?l:[l]),O||(O=r.getInsertRecords?r.getInsertRecords().concat(r.getUpdateRecords()):[]);const P=[];f._lastCallTime=Date.now(),V=!1,b.clearValidate();const T={};if(m){const l=n&&n.length?n:r.getColumns(),u=e=>{const i=o(r,e);if(!j[i]&&!M[i]&&!r.isAggregateRecord(e)&&(a||!V)){const i=[];l.forEach((l=>{const n=t.isString(l)?l:l.field;!a&&V||!t.has(m,n)||i.push(E.validCellRules("all",e,l).catch((({rule:t,rules:i})=>{const s={rule:t,rules:i,rowIndex:r.getRowIndex(e),row:e,columnIndex:r.getColumnIndex(l),column:l,field:n,$table:r};if(d[n]||(d[n]=[]),T[`${o(r,e)}:${l.id}`]={column:l,row:e,rule:t,content:t.content},d[n].push(s),!a)return V=!0,Promise.reject(s)})))})),P.push(Promise.all(i))}};if(h)t.eachTree(O,u,{children:y.mapChildrenField});else if(p){const e=$.children||$.childrenField;t.eachTree(O,u,{children:e})}else O.forEach(u);return Promise.all(P).then((()=>{const t=Object.keys(d);return g.validErrorMaps=(e=>{if("single"===v.value.msgMode){const t=Object.keys(e),r={};if(t.length){const l=t[0];r[l]=e[l]}return r}return e})(T),e().then((()=>{if(t.length)return Promise.reject(d[t[0]][0]);s&&s()}))})).catch((t=>new Promise(((l,n)=>{const o=()=>{e((()=>{s?(s(d),l()):"obsolete"===c().validToReject?n(d):l(d)}))},a=()=>{var e;t.cell=r.getCellElement(t.row,t.column),i(t.cell),(e=t,new Promise((t=>{!1===v.value.autoPos?(r.dispatchEvent("valid-error",e,null),t()):r.handleEdit(e,{type:"valid-error",trigger:"call"}).then((()=>{t(E.showValidTooltip(e))}))}))).then(o)};if(!1===C.autoPos)o();else{const e=t.row,l=t.column;r.scrollToRow(e,l).then(a)}}))))}return g.validErrorMaps={},e().then((()=>{s&&s()}))};return b={fullValidate:(e,r)=>(t.isFunction(r)&&s("vxe.error.notValidators",["fullValidate(rows, callback)","fullValidate(rows)"]),M(e,null,r,!0)),validate:(e,t)=>M(e,null,t),fullValidateField(l,i){const o=(t.isArray(i)?i:i?[i]:[]).map((e=>n(r,e)));return o.length?M(l,o,null,!0):e()},validateField(l,i){const o=(t.isArray(i)?i:i?[i]:[]).map((e=>n(r,e)));return o.length?M(l,o,null):e()},clearValidate(l,i){const{validErrorMaps:s}=g,a=p.value,u=v.value,c=t.isArray(l)?l:l?[l]:[],d=(t.isArray(i)?i:i?[i]:[]).map((e=>n(r,e)));let m={};if(a&&a.reactData.visible&&a.close(),"single"===u.msgMode)return g.validErrorMaps={},e();if(c.length&&d.length)m=Object.assign({},s),c.forEach((e=>{d.forEach((t=>{const l=`${o(r,e)}:${t.id}`;m[l]&&delete m[l]}))}));else if(c.length){const e=c.map((e=>`${o(r,e)}`));t.each(s,((t,r)=>{e.indexOf(r.split(":")[0])>-1&&(m[r]=t)}))}else if(d.length){const e=d.map((e=>`${e.id}`));t.each(s,((t,r)=>{e.indexOf(r.split(":")[1])>-1&&(m[r]=t)}))}return g.validErrorMaps=m,e()}},E={validCellRules(e,i,n,o){const s=r.xeGrid,{editRules:c}=u,{field:g}=n,f=[],p=[];if(g&&c){const u=t.get(c,g);if(u){const c=t.isUndefined(o)?t.get(i,g):o;u.forEach((o=>{const{trigger:g,validator:v}=o;if("all"===e||!g||e===g)if(v){const e={cellValue:c,rule:o,rules:u,row:i,rowIndex:r.getRowIndex(i),column:n,columnIndex:r.getColumnIndex(n),field:n.field,$table:r,$grid:s};let l;if(t.isString(v)){const t=d.get(v);if(t){const r=t.tableCellValidatorMethod||t.cellValidatorMethod;r?l=r(e):a("vxe.error.notValidators",[v])}else a("vxe.error.notValidators",[v])}else l=v(e);l&&(t.isError(l)?(V=!0,f.push(new m({type:"custom",trigger:g,content:l.message,rule:new m(o)}))):l.catch&&p.push(l.catch((e=>{V=!0,f.push(new m({type:"custom",trigger:g,content:e&&e.message?e.message:o.content||o.message,rule:new m(o)}))}))))}else(function(e,r){const{required:i}=e,n=t.isArray(r)?!r.length:l(r);if(i){if(n)return!1;if(!h(e,r,i))return!1}else if(!n&&!h(e,r,i))return!1;return!0})(o,c)||(V=!0,f.push(new m(o)))}))}}return Promise.all(p).then((()=>{if(f.length){const e={rules:f,rule:f[0]};return Promise.reject(e)}}))},hasCellRules(e,r,l){const{editRules:i}=u,{field:n}=l;if(n&&i){const r=t.get(i,n);return r&&!!t.find(r,(t=>"all"===e||!t.trigger||e===t.trigger))}return!1},triggerValidate(e){const{editConfig:t,editRules:r}=u,{editStore:l}=g,{actived:i}=l,n=x.value,o=v.value;if(r&&"single"===o.msgMode&&(g.validErrorMaps={}),t&&r&&i.row){const{row:t,column:r,cell:l}=i.args;if(E.hasCellRules(e,t,r))return E.validCellRules(e,t,r).then((()=>{"row"===n.mode&&b.clearValidate(t,r)})).catch((({rule:i})=>{if(!i.trigger||e===i.trigger){const e={rule:i,row:t,column:r,cell:l};return E.showValidTooltip(e),Promise.reject(e)}return Promise.resolve()}))}return Promise.resolve()},showValidTooltip(t){const{height:l}=u,{tableData:i,validStore:n,validErrorMaps:s}=g,{rule:a,row:c,column:d,cell:m}=t,f=v.value,h=p.value,w=a.content;return n.visible=!0,"single"===f.msgMode?g.validErrorMaps={[`${o(r,c)}:${d.id}`]:{column:d,row:c,rule:a,content:w}}:g.validErrorMaps=Object.assign({},s,{[`${o(r,c)}:${d.id}`]:{column:d,row:c,rule:a,content:w}}),r.dispatchEvent("valid-error",t,null),h&&h&&("tooltip"===f.message||"default"===f.message&&!l&&i.length<2)?h.open(m,w):e()}},Object.assign(Object.assign({},b),E)},setupGrid:e=>e.extendTableMethods(v)});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as e,resolveComponent as t}from"vue";import n from"../../../../../../_virtual/index/index.js";import"../../../ui/index/index.js";import{getCellValue as o,setCellValue as r}from"../../src/util/index.js";import{getFuncText as l,isEmptyValue as a,formatText as u}from"../../../ui/src/utils/index.js";import{getModelEvent as i,getChangeEvent as s,getOnName as c}from"../../../ui/src/vn/index.js";import{errLog as d}from"../../../ui/src/log/index.js";import{VxeUI as p}from"../../../../../@vxe-ui/core/es/index.esm/index.js";const{getConfig:b,renderer:f,getI18n:m,getComponent:g}=p,x="modelValue",T={};function j(e,t,o){return n.eqNull(e)?n.eqNull(t)?o:t:e}function F(e,t,o){const{dateConfig:r={}}=t;return n.toDateString(function(e,t){return e&&t.valueFormat?n.toStringDate(e,t.valueFormat):e}(e,t),r.labelFormat||o)}function O(e,t){return F(e,t,m(`vxe.input.date.labelFormat.${t.type||"date"}`))}function h({name:e}){return g(e)}function v({name:e}){return t(function(e){return`vxe-${e.replace("$","")}`}(e))}function w(e,t,n){const{$panel:o}=e;o.changeOption({},t,n)}function y(e){let{name:t,attrs:n}=e;return"input"===t&&(n=Object.assign({type:"text"},n)),n}function D(e){const{name:t,immediate:n,props:o}=e;if(!n){if("VxeInput"===t||"$input"===t){const{type:e}=o||{};return!(!e||"text"===e||"number"===e||"integer"===e||"float"===e)}return"input"!==t&&"textarea"!==t&&"$textarea"!==t}return n}function V(e,t,o,r){return n.assign({immediate:D(e)},T,r,e.props,{[x]:o})}function $(e,t,o,r){return n.assign({},T,r,e.props,{[x]:o})}function E(e,t){return"cell"===t.$type||D(e)}function C(t,n,o,r){const{placeholder:i}=t;return[e("span",{class:["vxe-cell--label",r?r.class:""]},i&&a(o)?[e("span",{class:"vxe-cell--placeholder"},u(l(i),1))]:u(o,1))]}function P(e,t,o){const{events:r}=e,l=i(e),a=s(e),{model:u,change:d,blur:p}=o||{},b=a===l,f={};return r&&n.objectEach(r,((e,n)=>{f[c(n)]=function(...n){e(t,...n)}})),u&&(f[c(l)]=function(e){u(e),b&&d&&d(e),r&&r[l]&&r[l](t,e)}),!b&&d&&(f[c(a)]=function(e){d(e),r&&r[a]&&r[a](t,e)}),p&&(f[c(G)]=function(e){p(e),r&&r[G]&&r[G](t,e)}),f}const G="blur";function S(e,t,o,r){const{events:l}=e,a=i(e),u=s(e),{model:p,change:b,blur:f}=o||{},m={};return n.objectEach(l,((e,o)=>{m[c(o)]=function(...o){n.isFunction(e)||d("vxe.error.errFunc",[e]),e(t,...o)}})),p&&(m[c(a)]=function(e){p(e),l&&l[a]&&l[a](t,e)}),b&&(m[c(u)]=function(...e){b(...e),l&&l[u]&&l[u](t,...e)}),f&&(m[c(G)]=function(...e){f(...e),l&&l[G]&&l[G](t,...e)}),r?Object.assign(m,r):m}function k(e,t){const{$table:n,row:o,column:l}=t,{name:a}=e,{model:u}=l,i=E(e,t);return S(e,t,{model(e){u.update=!0,u.value=e,i&&r(o,l,e)},change(e){if(!i&&a&&["VxeInput","VxeNumberInput","VxeTextarea","$input","$textarea"].includes(a)){const o=e.value;u.update=!0,u.value=o,n.updateStatus(t,o)}else n.updateStatus(t)},blur(){i?n.handleCellRuleUpdateStatus("blur",t):n.handleCellRuleUpdateStatus("blur",t,u.value)}})}function A(e,t,o){return S(e,t,{model(e){o.data=e},change(){w(t,!n.eqNull(o.data),o)},blur(){w(t,!n.eqNull(o.data),o)}})}function M(e,t){const{$table:n,row:o,column:l}=t,{model:a}=l;return P(e,t,{model(n){const u=n.target;if(u){const n=u.value;E(e,t)?r(o,l,n):(a.update=!0,a.value=n)}},change(e){const o=e.target;if(o){const e=o.value;n.updateStatus(t,e)}},blur(e){const o=e.target;if(o){const e=o.value;n.updateStatus(t,e)}}})}function N(e,t,o){return P(e,t,{model(e){const t=e.target;t&&(o.data=t.value)},change(){w(t,!n.eqNull(o.data),o)},blur(){w(t,!n.eqNull(o.data),o)}})}function I(t,n){const{row:r,column:l}=n,{name:a}=t,u=E(t,n)?o(r,l):l.model.value;return[e(a,Object.assign(Object.assign(Object.assign({class:`vxe-default-${a}`},y(t)),{value:u}),M(t,n)))]}function R(t,n){const{row:r,column:l}=n,a=o(r,l);return[e(h(t),Object.assign(Object.assign({},V(t,0,a)),k(t,n)))]}function q(t,n){const{options:r}=t,{row:l,column:a}=n,u=o(l,a);return[e(h(t),Object.assign(Object.assign({options:r},V(t,0,u)),k(t,n)))]}function U(t,n){const{row:r,column:l}=n,a=o(r,l);return[e(v(t),Object.assign(Object.assign({},V(t,0,a)),k(t,n)))]}function B(t,n){return[e(g("vxe-button"),Object.assign(Object.assign({},V(t,0,null)),S(t,n)))]}function _(t,n,o){const{optionGroups:r,optionGroupProps:l={}}=t,a=l.options||"options",u=l.label||"label";return r?r.map(((r,l)=>e("optgroup",{key:l,label:r[u]},o(r[a],t,n)))):[]}function L(t,n,r){const{optionProps:l={}}=n,{row:a,column:u}=r,i=l.label||"label",s=l.value||"value",c=l.disabled||"disabled",d=E(n,r)?o(a,u):u.model.value;return t?t.map(((t,n)=>e("option",{key:n,value:t[s],disabled:t[c],selected:t[s]==d},t[i]))):[]}function z(t,n){const{column:o}=n;return o.filters.map(((o,r)=>{const l=o.data;return e(h(t),Object.assign(Object.assign({key:r},$(t,0,l)),A(t,n,o)))}))}function H({option:e,row:t,column:o}){const{data:r}=e;return n.get(t,o.field)==r}function J({option:e,row:t,column:o}){const{data:r}=e,l=n.get(t,o.field);return n.toValueString(l).indexOf(r)>-1}function K(t,n){return[e("select",Object.assign(Object.assign({class:"vxe-default-select"},y(t)),M(t,n)),t.optionGroups?_(t,n,L):L(t.options,t,n))]}function Q(t,n){const{row:r,column:l}=n,{options:a,optionProps:u,optionGroups:i,optionGroupProps:s}=t,c=o(r,l);return[e(h(t),Object.assign(Object.assign({},V(t,0,c,{options:a,optionProps:u,optionGroups:i,optionGroupProps:s})),k(t,n)))]}function W(t,n){const{row:r,column:l}=n,{options:a,optionProps:u}=t,i=o(r,l);return[e(h(t),Object.assign(Object.assign({},V(t,0,i,{options:a,optionProps:u})),k(t,n)))]}function X(t,n){const{row:r,column:l}=n,{options:a,optionProps:u,optionGroups:i,optionGroupProps:s}=t,c=o(r,l);return[e(v(t),Object.assign(Object.assign({},V(t,0,c,{options:a,optionProps:u,optionGroups:i,optionGroupProps:s})),k(t,n)))]}function Y(e,{row:t,column:o}){const{options:r,optionGroups:l,optionProps:a={},optionGroupProps:u={}}=e,i=n.get(t,o.field);let s;const c=a.label||"label",d=a.value||"value";return null!=i?n.map(n.isArray(i)?i:[i],l?e=>{const t=u.options||"options";for(let o=0;o<l.length&&(s=n.find(l[o][t],(t=>t[d]==e)),!s);o++);return s?s[c]:e}:e=>(s=n.find(r,(t=>t[d]==e)),s?s[c]:e)).join(", "):""}function Z(e){const{row:t,column:n,options:r}=e;return r.original?o(t,n):Y(n.editRender||n.cellRender,e)}function ee(e,{row:t,column:o}){const{options:r,optionProps:l={}}=e,a=n.get(t,o.field),u=l.label||"label",i=l.value||"value",s=l.children||"children";if(null!=a){const e={};return n.eachTree(r,(t=>{e[n.get(t,i)]=t}),{children:s}),n.map(n.isArray(a)?a:[a],(t=>{const o=e[t];return o?n.get(o,u):o})).join(", ")}return""}function te(e){const{row:t,column:n,options:r}=e;return r.original?o(t,n):ee(n.editRender||n.cellRender,e)}function ne(e,t){const{props:o={},showNegativeStatus:r}=e,{row:l,column:u}=t,{type:i}=o;let s=n.get(l,u.field),c=!1;if(!a(s)){const e=b().numberInput||{};if("float"===i){const t=j(o.autoFill,e.autoFill,!0),l=j(o.digits,e.digits,1);s=n.toFixed(n.floor(s,l),l),t||(s=n.toNumber(s)),r&&s<0&&(c=!0)}else if("amount"===i){const t=j(o.autoFill,e.autoFill,!0),l=j(o.digits,e.digits,2),a=j(o.showCurrency,e.showCurrency,!1);if(s=n.toNumber(s),r&&s<0&&(c=!0),s=n.commafy(s,{digits:l}),!t){const[e,t]=s.split(".");if(t){const n=t.replace(/0+$/,"");s=n?[e,".",n].join(""):e}}a&&(s=`${o.currencySymbol||e.currencySymbol||m("vxe.numberInput.currencySymbol")||""}${s}`)}else r&&n.toNumber(s)<0&&(c=!0)}return C(e,0,s,c?{class:"is--negative"}:{})}f.mixin({input:{tableAutoFocus:"input",renderTableEdit:I,renderTableDefault:I,renderTableFilter:function(t,n){const{column:o}=n,{name:r}=t,l=y(t);return o.filters.map(((o,a)=>e(r,Object.assign(Object.assign(Object.assign({key:a,class:`vxe-default-${r}`},l),{value:o.data}),N(t,n,o)))))},tableFilterDefaultMethod:J},textarea:{tableAutoFocus:"textarea",renderTableEdit:I},select:{renderTableEdit:K,renderTableDefault:K,renderTableCell:(e,t)=>C(e,0,Y(e,t)),renderTableFilter(t,n){const{column:o}=n;return o.filters.map(((o,r)=>e("select",Object.assign(Object.assign({key:r,class:"vxe-default-select"},y(t)),N(t,n,o)),t.optionGroups?_(t,n,L):L(t.options,t,n))))},tableFilterDefaultMethod:H,tableExportMethod:Z},VxeInput:{tableAutoFocus:"input",renderTableEdit:R,renderTableCell(e,t){const{props:o={}}=e,{row:r,column:l}=t,a=b().input||{},u=o.digits||a.digits||2;let i=n.get(r,l.field);if(i)switch(o.type){case"date":case"week":case"month":case"quarter":case"year":i=O(i,o);break;case"float":i=n.toFixed(n.floor(i,u),u)}return C(e,0,i)},renderTableDefault:R,renderTableFilter:z,tableFilterDefaultMethod:J},FormatNumberInput:{renderTableDefault:ne,tableFilterDefaultMethod:J,tableExportMethod(e){const{row:t,column:o}=e;return n.get(t,o.field)}},VxeNumberInput:{tableAutoFocus:"input",renderTableEdit:R,renderTableCell:ne,renderTableFooter(e,t){const{props:o={}}=e,{row:r,column:a,_columnIndex:u}=t,{type:i}=o,s=n.isArray(r)?r[u]:n.get(r,a.field);if(n.isNumber(s)){const e=b().numberInput||{};if("float"===i){const t=j(o.autoFill,e.autoFill,!0),r=j(o.digits,e.digits,1);let l=n.toFixed(n.floor(s,r),r);return t||(l=n.toNumber(l)),l}if("amount"===i){const t=j(o.autoFill,e.autoFill,!0),r=j(o.digits,e.digits,2),l=j(o.showCurrency,e.showCurrency,!1);let a=n.commafy(n.toNumber(s),{digits:r});if(!t){const[e,t]=a.split(".");if(t){const n=t.replace(/0+$/,"");a=n?[e,".",n].join(""):e}}return l&&(a=`${o.currencySymbol||e.currencySymbol||m("vxe.numberInput.currencySymbol")||""}${a}`),a}}return l(s,1)},renderTableDefault:R,renderTableFilter:z,tableFilterDefaultMethod:J,tableExportMethod(e){const{row:t,column:o}=e;return n.get(t,o.field)}},VxeDatePicker:{tableAutoFocus:"input",renderTableEdit:R,renderTableCell(e,t){const{props:o={}}=e,{row:r,column:l}=t;let a=n.get(r,l.field);return a&&"time"!==o.type&&(a=O(a,o)),C(e,0,a)},renderTableDefault:R,renderTableFilter:z,tableFilterDefaultMethod:H},VxeDateRangePicker:{tableAutoFocus:"input",renderTableEdit(t,l){const{startField:a,endField:u}=t,{$table:i,row:s,column:c}=l,{model:d}=c,p=o(s,c),b={},f={};return a&&u&&(b.startValue=n.get(s,a),b.endValue=n.get(s,u),f["onUpdate:startValue"]=e=>{a&&n.set(s,a,e)},f["onUpdate:endValue"]=e=>{u&&n.set(s,u,e)}),[e(h(t),Object.assign(Object.assign({},V(t,0,p,b)),S(t,l,{model(e){d.update=!0,d.value=e,r(s,c,e)},change(){i.updateStatus(l)},blur(){i.handleCellRuleUpdateStatus("blur",l)}},f)))]},renderTableCell(e,t){const{startField:o,endField:r}=e,{row:l,column:a}=t;let u="",i="";if(o&&r)u=n.get(l,o),i=n.get(l,r);else{const e=n.get(l,a.field);if(e)if(n.isArray(e))u=e[0],i=e[1];else{const t=`${e}`.split(",");u=t[0],i=t[1]}}let s="";return u&&i&&(s=`${u} ~ ${i}`),C(e,0,s)}},VxeTextarea:{tableAutoFocus:"textarea",renderTableEdit:R,renderTableCell(e,t){const{row:o,column:r}=t;return C(e,0,n.get(o,r.field))}},VxeButton:{renderTableDefault:function(t,n){return[e(h(t),Object.assign(Object.assign({},V(t,0,null)),S(t,n)))]}},VxeButtonGroup:{renderTableDefault(t,n){const{options:o}=t;return[e(h(t),Object.assign(Object.assign({options:o},V(t,0,null)),S(t,n)))]}},VxeSelect:{tableAutoFocus:"input",renderTableEdit:Q,renderTableDefault:Q,renderTableCell:(e,t)=>C(e,0,Y(e,t)),renderTableFilter(t,n){const{column:o}=n,{options:r,optionProps:l,optionGroups:a,optionGroupProps:u}=t;return o.filters.map(((o,i)=>{const s=o.data;return e(h(t),Object.assign(Object.assign({key:i},$(t,0,s,{options:r,optionProps:l,optionGroups:a,optionGroupProps:u})),A(t,n,o)))}))},tableFilterDefaultMethod:H,tableExportMethod:Z},formatOption:{renderTableDefault:(e,t)=>C(e,0,Y(e,t))},FormatSelect:{renderTableDefault:(e,t)=>C(e,0,Y(e,t)),tableFilterDefaultMethod:H,tableExportMethod:Z},VxeTreeSelect:{tableAutoFocus:"input",renderTableEdit:W,renderTableCell:(e,t)=>C(e,0,ee(e,t)),tableExportMethod:te},formatTree:{renderTableDefault:(e,t)=>C(e,0,ee(e,t))},FormatTreeSelect:{renderTableDefault:(e,t)=>C(e,0,ee(e,t)),tableExportMethod:te},VxeTableSelect:{tableAutoFocus:"input",renderTableEdit:W,renderTableCell:(e,t)=>C(e,0,ee(e,t)),tableExportMethod:te},VxeColorPicker:{tableAutoFocus:"input",renderTableEdit(t,n){const{row:r,column:l}=n,{options:a}=t,u=o(r,l);return[e(h(t),Object.assign(Object.assign({},V(t,0,u,{colors:a})),k(t,n)))]},renderTableCell(t,o){const{row:r,column:l}=o,a=n.get(r,l.field);return e("span",{class:"vxe-color-picker--readonly"},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:a}})])}},VxeIconPicker:{tableAutoFocus:"input",renderTableEdit(t,n){const{row:r,column:l}=n,{options:a}=t,u=o(r,l);return[e(h(t),Object.assign(Object.assign({},V(t,0,u,{icons:a})),k(t,n)))]},renderTableCell(t,o){const{row:r,column:l}=o,a=n.get(r,l.field);return e("i",{class:a})}},VxeRadioGroup:{renderTableDefault:q},VxeCheckbox:{renderTableDefault:function(t,n){const{row:r,column:l}=n,a=o(r,l);return[e(h(t),Object.assign(Object.assign({},V(t,0,a)),k(t,n)))]}},VxeCheckboxGroup:{renderTableDefault:q},VxeSwitch:{tableAutoFocus:"button",renderTableEdit:R,renderTableDefault:R},VxeUpload:{renderTableEdit:R,renderTableCell:R,renderTableDefault:R},VxeImage:{renderTableDefault(t,n){const{row:r,column:l}=n,{props:a}=t,u=o(r,l);return[e(h(t),Object.assign(Object.assign(Object.assign({},a),{src:u}),k(t,n)))]}},VxeImageGroup:{renderTableDefault(t,n){const{row:r,column:l}=n,{props:a}=t,u=o(r,l);return[e(h(t),Object.assign(Object.assign(Object.assign({},a),{urlList:u}),k(t,n)))]}},VxeTextEllipsis:{renderTableDefault(t,n){const{row:r,column:l}=n,{props:a}=t,u=o(r,l);return[e(h(t),Object.assign(Object.assign(Object.assign({},a),{content:u}),k(t,n)))]}},VxeRate:{renderTableDefault:R},VxeSlider:{renderTableDefault:R},$input:{tableAutoFocus:".vxe-input--inner",renderTableEdit:U,renderTableCell(e,t){var o;const{props:r={}}=e,{row:l,column:a}=t,u=r.digits||(null===(o=b().input)||void 0===o?void 0:o.digits)||2;let i=n.get(l,a.field);if(i)switch(r.type){case"date":case"week":case"month":case"year":i=O(i,r);break;case"float":i=n.toFixed(n.floor(i,u),u)}return C(e,0,i)},renderTableDefault:U,renderTableFilter:function(t,n){const{column:o}=n;return o.filters.map(((o,r)=>{const l=o.data;return e(v(t),Object.assign(Object.assign({key:r},$(t,0,l)),A(t,n,o)))}))},tableFilterDefaultMethod:J},$textarea:{tableAutoFocus:".vxe-textarea--inner"},$button:{renderTableDefault:B},$buttons:{renderTableDefault:function(e,t){return e.children.map((e=>B(e,t)[0]))}},$select:{tableAutoFocus:".vxe-input--inner",renderTableEdit:X,renderTableDefault:X,renderTableCell:(e,t)=>C(e,0,Y(e,t)),renderTableFilter(t,n){const{column:o}=n,{options:r,optionProps:l,optionGroups:a,optionGroupProps:u}=t;return o.filters.map(((o,i)=>{const s=o.data;return e(v(t),Object.assign(Object.assign({key:i},$(t,0,s,{options:r,optionProps:l,optionGroups:a,optionGroupProps:u})),A(t,n,o)))}))},tableFilterDefaultMethod:H,tableExportMethod:Z},$radio:{tableAutoFocus:".vxe-radio--input"},$checkbox:{tableAutoFocus:".vxe-checkbox--input"},$switch:{tableAutoFocus:".vxe-switch--button",renderTableEdit:U,renderTableDefault:U}});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as e,inject as l,ref as t,onMounted as o,nextTick as a,onUnmounted as s,h as i,TransitionGroup as n}from"vue";import r from"../../../../../../_virtual/index/index.js";import"../../../ui/index/index.js";import{getRowid as d,createHandleGetRowId as c,getCellRestHeight as p,calcTreeLine as u,getOffsetSize as g}from"../util/index.js";import{getPropClass as v,updateCellTitle as x}from"../../../ui/src/dom/index.js";import{isEnableConf as m}from"../../../ui/src/utils/index.js";import{getSlotVNs as w}from"../../../ui/src/vn/index.js";import{VxeUI as h}from"../../../../../@vxe-ui/core/es/index.esm/index.js";const{getI18n:b,renderer:f,renderEmptyElement:y}=h,C="body";var $=e({name:"VxeTableBody",props:{tableData:Array,tableColumn:Array,fixedColumn:Array,fixedType:{type:String,default:""}},setup(e){const h=l("$xeTable",{}),{xID:$,props:D,context:R,reactData:E,internalData:O}=h,{computeEditOpts:I,computeMouseOpts:S,computeCellOffsetWidth:M,computeAreaOpts:k,computeDefaultRowHeight:z,computeEmptyOpts:T,computeTooltipOpts:A,computeRadioOpts:j,computeExpandOpts:_,computeTreeOpts:F,computeCheckboxOpts:H,computeCellOpts:L,computeValidOpts:B,computeRowOpts:N,computeColumnOpts:q,computeRowDragOpts:W,computeColumnDragOpts:X,computeResizableOpts:G,computeVirtualXOpts:K,computeVirtualYOpts:V}=h.getComputeMaps(),Y=t(),U=t(),P=t(),J=t(),Q=t(),Z=t(),ee=t(),le=t(),te=()=>{const{delayHover:e}=D,{lastScrollTime:l,isDragResize:t}=E;return!!(t||l&&Date.now()<l+e)},oe=(e,l,t,o,a,s,n,c,w,b,y,$,R)=>{const T=h.xeGrid,{columnKey:j,resizable:_,showOverflow:X,border:Y,height:U,treeConfig:P,cellClassName:J,cellStyle:Q,align:Z,spanMethod:ee,mouseConfig:le,editConfig:oe,editRules:ae,tooltipConfig:se,padding:ie}=D,{tableData:ne,dragRow:re,overflowX:de,currentColumn:ce,scrollXLoad:pe,scrollYLoad:ue,mergeBodyFlag:ge,calcCellHeightFlag:ve,resizeHeightFlag:xe,resizeWidthFlag:me,editStore:we,isAllOverflow:he,validErrorMaps:be}=E,{fullAllDataRowIdData:fe,fullColumnIdData:ye,mergeBodyCellMaps:Ce,visibleColumn:$e,afterFullData:De,mergeBodyList:Re,scrollXStore:Ee,scrollYStore:Oe}=O,Ie=L.value,Se=B.value,Me=H.value,ke=I.value,ze=A.value,Te=G.value,Ae=K.value,je=V.value,{isAllColumnDrag:_e,isAllRowDrag:Fe}=Te,He=N.value,Le=W.value,Be=z.value,Ne=ve?Ie.height||He.height:0,{disabledMethod:qe,isCrossDrag:We,isPeerDrag:Xe}=Le,Ge=q.value,Ke=S.value,Ve=k.value,Ye=M.value,{selectCellToRow:Ue}=Ve,{type:Pe,cellRender:Je,editRender:Qe,align:Ze,showOverflow:el,className:ll,treeNode:tl,rowResize:ol,padding:al,verticalAlign:sl,slots:il}=b,{verticalAlign:nl}=Ie,{actived:rl}=we,dl=fe[l]||{},cl=b.id,pl=ye[cl]||{},ul=Qe||Je,gl=ul?f.get(ul.name):null,vl=gl?gl.tableCellClassName||gl.cellClassName:null,xl=gl?gl.tableCellStyle||gl.cellStyle:"",ml=ze.showAll,wl=pl.index,hl=pl._index,bl=m(Qe),fl=xe?dl.resizeHeight:0;let yl=t?b.fixed!==t:b.fixed&&de;const Cl=r.eqNull(al)?null===ie?Ie.padding:ie:al,$l=r.eqNull(el)?X:el,Dl="ellipsis"===$l,Rl="title"===$l,El=!0===$l||"tooltip"===$l,Ol=he||Rl||El||Dl,Il=r.isBoolean(b.resizable)?b.resizable:Ge.resizable||_,Sl=!!Ne,Ml=fl>0;let kl;const zl={},Tl=Ze||(gl?gl.tableCellAlign:"")||Z,Al=r.eqNull(sl)?nl:sl,jl=be[`${l}:${cl}`],_l=ae&&Se.showMessage&&("default"===Se.message?U||ne.length>1:"inline"===Se.message),Fl={colid:cl},Hl={$table:h,$grid:T,isEdit:!1,seq:e,rowid:l,row:s,rowIndex:n,$rowIndex:c,_rowIndex:w,column:b,columnIndex:wl,$columnIndex:y,_columnIndex:hl,fixed:t,type:C,isHidden:!!yl,level:a,visibleData:De,data:ne,items:R};let Ll=!1,Bl=!1;He.drag&&(Ll="row"===Le.trigger||b.dragSort&&"cell"===Le.trigger),Ll&&(Bl=!(!qe||!qe(Hl))),(Rl||El||ml||se)&&(zl.onMouseenter=e=>{te()||(Rl?x(e.currentTarget,b):(El||ml)&&h.triggerBodyTooltipEvent(e,Hl),h.dispatchEvent("cell-mouseenter",Object.assign({cell:e.currentTarget},Hl),e))}),(El||ml||se)&&(zl.onMouseleave=e=>{te()||((El||ml)&&h.handleTargetLeaveEvent(e),h.dispatchEvent("cell-mouseleave",Object.assign({cell:e.currentTarget},Hl),e))}),(Ll||Me.range||le)&&(zl.onMousedown=e=>{h.triggerCellMousedownEvent(e,Hl)}),Ll&&(zl.onMouseup=h.triggerCellMouseupEvent),zl.onClick=e=>{h.triggerCellClickEvent(e,Hl)},zl.onDblclick=e=>{h.triggerCellDblclickEvent(e,Hl)};let Nl=!1,ql=1;if(ge&&Re.length){const e=Ce[`${w}:${hl}`];if(e){const{rowspan:l,colspan:t}=e;if(!l||!t)return null;l>1&&(Nl=!0,ql=l,Fl.rowspan=l),t>1&&(Nl=!0,Fl.colspan=t)}}else if(ee){const{rowspan:e=1,colspan:l=1}=ee(Hl)||{};if(!e||!l)return null;e>1&&(Nl=!0,ql=e,Fl.rowspan=e),l>1&&(Nl=!0,Fl.colspan=l)}yl&&Nl&&(Fl.colspan>1||Fl.rowspan>1)&&(yl=!1),!yl&&oe&&(Qe||Je)&&(ke.showStatus||ke.showUpdateStatus)&&(kl=h.isUpdateByRow(s,b.field));const Wl=ue&&!Ol;let Xl=p(dl,Ie,He,Be);const Gl=y===$.length-1,Kl=!b.resizeWidth&&("auto"===b.minWidth||"auto"===b.width);let Vl=!1;if(Nl||re&&d(h,re)===l||(ue&&!P&&!je.immediate&&(w<Oe.visibleStartIndex-Oe.preloadSize||w>Oe.visibleEndIndex+Oe.preloadSize)||pe&&!Ae.immediate&&!b.fixed&&(hl<Ee.visibleStartIndex-Ee.preloadSize||hl>Ee.visibleEndIndex+Ee.preloadSize))&&(Vl=!0),ql>1){const e=De[w+ql-1];if(e){const l=fe[d(h,e)];l&&(Xl+=l.oTop-dl.oTop+p(l,Ie,He,Be))}}const Yl={};if(Ol&&me){let e=Fl.colspan||0;if(e>1)for(let l=1;l<e;l++){const t=$e[wl+l];t&&(e+=t.renderWidth)}Yl.width=b.renderWidth-Ye*e+"px"}ue||Ol||Sl||Ml?Yl.height=`${Xl}px`:Yl.minHeight=`${Xl}px`;const Ul=[];if(yl&&he)Ul.push(i("div",{key:"tc",class:["vxe-cell",{"c--title":Rl,"c--tooltip":El,"c--ellipsis":Dl}],style:Yl}));else if(P&&Ul.push(...((e,l,t)=>{const{row:o,column:a}=l,{afterFullData:s}=O,{treeConfig:n}=D,r=F.value,{slots:d,treeNode:c}=a,{fullAllDataRowIdData:p}=O;if(d&&d.line)return h.callSlot(d.line,l);const v=p[e];let x=0,m=null;return v&&(x=v.level,m=v.items[v.treeIndex-1]),n&&c&&(r.showLine||r.line)?[i("div",{key:"tl",class:"vxe-tree--line-wrapper"},[i("div",{class:"vxe-tree--line",style:{height:`${h.eqRow(s[0],o)?1:u(l,m)}px`,bottom:`-${Math.floor(t/2)}px`,left:x*r.indent+(x?2-g(h):0)+16+"px"}})])]:[]})(l,Hl,Xl)),Ul.push(i("div",{key:"tc",class:["vxe-cell",{"c--title":Rl,"c--tooltip":El,"c--ellipsis":Dl}],style:Yl,title:Rl?h.getCellLabel(s,b):null},Vl?[]:[i("div",{colid:cl,rowid:l,class:"vxe-cell--wrapper"},b.renderCell(Hl))])),_l&&jl){const e=jl.rule,l=il?il.valid:null,t=Object.assign(Object.assign(Object.assign({},Hl),jl),{rule:jl});Ul.push(i("div",{key:"tcv",class:["vxe-cell--valid-error-tip",v(Se.className,t)],style:e&&e.maxWidth?{width:`${e.maxWidth}px`}:null},[i("div",{class:`vxe-cell--valid-error-wrapper vxe-cell--valid-error-theme-${Se.theme||"normal"}`},[l?h.callSlot(l,t):[i("span",{class:"vxe-cell--valid-error-msg"},jl.content)]])]))}let Pl=!1;return le&&Ke.area&&Ue&&(!hl&&!0===Ue||Ue===b.field)&&(Pl=!0),!yl&&Il&&_e&&Ul.push(i("div",{key:"tcc",class:["vxe-cell--col-resizable",{"is--line":!Y||"none"===Y}],onMousedown:e=>h.handleColResizeMousedownEvent(e,t,Hl),onDblclick:e=>h.handleColResizeDblclickEvent(e,Hl)})),(ol||Fe)&&He.resizable&&Ul.push(i("div",{key:"tcr",class:"vxe-cell--row-resizable",onMousedown:e=>h.handleRowResizeMousedownEvent(e,Hl),onDblclick:e=>h.handleRowResizeDblclickEvent(e,Hl)})),i("td",Object.assign(Object.assign(Object.assign({class:["vxe-body--column",cl,Al?`col--vertical-${Al}`:"",Tl?`col--${Tl}`:"",Pe?`col--${Pe}`:"",{"col--last":Gl,"col--tree-node":tl,"col--edit":bl,"col--ellipsis":Ol,"col--cs-height":Sl,"col--rs-height":Ml,"col--to-row":Pl,"col--auto-height":Wl,"fixed--width":!Kl,"fixed--hidden":yl,"is--padding":Cl,"is--progress":yl&&he||Vl,"is--drag-cell":Ll&&(We||Xe||!a),"is--drag-disabled":Bl,"col--dirty":kl,"col--active":oe&&bl&&rl.row===s&&(rl.column===b||"row"===ke.mode),"col--valid-error":!!jl,"col--current":ce===b},v(vl,Hl),v(ll,Hl),v(J,Hl)],key:j||pe||ue||Ge.useKey||He.useKey||Ge.drag?cl:y},Fl),{style:Object.assign({},r.isFunction(xl)?xl(Hl):xl,r.isFunction(Q)?Q(Hl):Q)}),zl),o&&yl?[]:Ul)},ae=(e,l,t,o)=>{const a=h.xeGrid,{stripe:s,rowKey:d,highlightHoverRow:p,rowClassName:u,rowStyle:g,editConfig:x,treeConfig:m}=D,{hasFixedColumn:w,treeExpandedFlag:b,isColLoading:f,scrollXLoad:y,scrollYLoad:$,isAllOverflow:R,rowExpandedFlag:S,expandColumn:M,selectRadioRow:k,pendingRowFlag:z,isDragColMove:T,rowExpandHeightFlag:A,isRowGroupStatus:L}=E,{fullAllDataRowIdData:B,fullColumnIdData:W,treeExpandedMaps:G,pendingRowMaps:K,rowExpandedMaps:V}=O,Y=H.value,U=j.value,P=F.value,J=I.value,Q=N.value,Z=q.value,ee=X.value,{transform:le,seqMode:se}=P,ie=P.children||P.childrenField,ne=[],{handleGetRowId:re}=c(h),de=m||L;return t.forEach(((c,D)=>{const E=re(c),O=B[E]||{};let I=D,j=0,F=-1,H=-1;const N=L&&c.isAggregate,q={};(Q.isHover||p)&&(q.onMouseenter=e=>{te()||h.triggerHoverEvent(e,{row:c,rowIndex:I})},q.onMouseleave=()=>{te()||h.clearHoverRow()}),O&&(j=O.level,F=N||m&&le&&"increasing"===se?O._index+1:O.seq,I=O.index,H=O._index);const X={$table:h,seq:F,rowid:E,fixed:e,type:C,level:j,row:c,rowIndex:I,$rowIndex:D,_rowIndex:H},ce=M&&!!S&&!!V[E];let pe=!1,ue=[],ge=!1;x&&(ge=h.isInsertByRow(c)),!m||$||le||(ue=c[ie],pe=!!b&&ue&&ue.length>0&&!!G[E]),!Q.drag||L||m&&!le||(q.onDragstart=h.handleRowDragDragstartEvent,q.onDragend=h.handleRowDragDragendEvent,q.onDragover=h.handleRowDragDragoverEvent);const ve=["vxe-body--row",de?`row--level-${j}`:"",{"row--stripe":s&&(H+1)%2==0,"is--new":ge,"is--expand-row":ce,"is--expand-tree":pe,"row--new":ge&&(J.showStatus||J.showInsertStatus),"row--radio":U.highlight&&h.eqRow(k,c),"row--checked":Y.highlight&&h.isCheckedByCheckboxRow(c),"row--pending":!!z&&!!K[E],"row--group":N},v(u,X)],xe=o.map(((a,s)=>oe(F,E,e,l,j,c,I,D,H,a,s,o,t)));if(ne.push(!f&&Z.drag&&ee.animation?i(n,Object.assign({name:"vxe-header--col-list"+(T?"":"-disabled"),tag:"tr",class:ve,rowid:E,style:g?r.isFunction(g)?g(X):g:null,key:d||y||$||Q.useKey||Q.drag||Z.drag||L||m?E:D},q),{default:()=>xe}):i("tr",Object.assign({class:ve,rowid:E,style:g?r.isFunction(g)?g(X):g:null,key:d||y||$||Q.useKey||Q.drag||Z.drag||L||m?E:D},q),xe)),ce){const l=_.value,{height:t,padding:s,mode:n}=l;if("fixed"===n)ne.push(i("tr",{class:"vxe-body--row-expanded-place",key:`expand_${E}`,rowid:E},[i("td",{class:"vxe-body--row-expanded-place-column",colspan:o.length,style:{height:`${A?O.expandHeight||t:0}px`}})]));else{const l={};t&&(l.height=`${t}px`),m&&(l.paddingLeft=j*P.indent+30+"px");const{showOverflow:n}=M||{},d=M.id,p=W[d]||{},u=r.isUndefined(n)||r.isNull(n)?R:n;let g=-1,v=-1,x=-1;p&&(g=p.index,v=p.$index,x=p._index);const b={$grid:a,$table:h,seq:F,column:M,columnIndex:g,$columnIndex:v,_columnIndex:x,fixed:e,type:C,level:j,row:c,rowid:E,rowIndex:I,$rowIndex:D,_rowIndex:H,isHidden:!1,isEdit:!1,visibleData:[],data:[],items:[]};ne.push(i("tr",{class:["vxe-body--expanded-row",{"is--padding":s}],key:`expand_${E}`},[i("td",{class:["vxe-body--expanded-column",{"fixed--hidden":e&&!w,"col--ellipsis":u}],colspan:o.length},[i("div",{class:["vxe-body--expanded-cell",{"is--ellipsis":t}],style:l},[M.renderData(b)])])]))}}pe&&ne.push(...ae(e,l,ue,o))})),ne};o((()=>{a((()=>{const{fixedType:l}=e,{elemStore:t}=O,o=`${l||"main"}-body-`;t[`${o}wrapper`]=Y,t[`${o}scroll`]=U,t[`${o}table`]=P,t[`${o}colgroup`]=J,t[`${o}list`]=Q,t[`${o}xSpace`]=Z,t[`${o}ySpace`]=ee,t[`${o}emptyBlock`]=le}))})),s((()=>{const{fixedType:l}=e,{elemStore:t}=O,o=`${l||"main"}-body-`;t[`${o}wrapper`]=null,t[`${o}scroll`]=null,t[`${o}table`]=null,t[`${o}colgroup`]=null,t[`${o}list`]=null,t[`${o}xSpace`]=null,t[`${o}ySpace`]=null,t[`${o}emptyBlock`]=null}));return()=>{const{slots:l}=R,t=h.xeGrid,{fixedColumn:o,fixedType:a,tableColumn:s}=e,{spanMethod:r,footerSpanMethod:c,mouseConfig:p}=D,{isGroup:u,tableData:g,isRowLoading:v,isColLoading:x,overflowX:m,scrollXLoad:I,scrollYLoad:M,isAllOverflow:k,isDragRowMove:z,expandColumn:A,dragRow:j,dragCol:F}=E,{visibleColumn:H,fullAllDataRowIdData:L,fullColumnIdData:B}=O,q=N.value,X=T.value,G=S.value,K=W.value,V=_.value;let te,oe=g,se=s,ie=!1;if((I||M||k)&&(A&&"fixed"!==V.mode||r||c||(ie=!0)),x||!a&&m||(se=H),a&&ie&&(se=o||[]),M&&j&&oe.length>2){const e=L[d(h,j)];if(e){const l=e._index,t=oe[0],o=oe[oe.length-1],a=L[d(h,t)],s=L[d(h,o)];if(a&&s){const e=a._index,t=s._index;l<e?oe=[j].concat(oe):l>t&&(oe=oe.concat([j]))}}}if(!a&&!u&&I&&F&&se.length>2){const e=B[F.id];if(e){const l=e._index,t=se[0],o=se[se.length-1],a=B[t.id],s=B[o.id];if(a&&s){const e=a._index,t=s._index;l<e?se=[F].concat(se):l>t&&(se=se.concat([F]))}}}const ne=l?l.empty:null;if(ne)te=h.callSlot(ne,{$table:h,$grid:t});else{const e=X.name?f.get(X.name):null,l=e?e.renderTableEmpty||e.renderTableEmptyView||e.renderEmpty:null;te=l?w(l(X,{$table:h})):D.emptyText||b("vxe.table.emptyText")}const re={onScroll(e){h.triggerBodyScrollEvent(e,a)}};return i("div",{ref:Y,class:["vxe-table--body-wrapper",a?`fixed-${a}--wrapper`:"body--wrapper"],xid:$},[i("div",Object.assign({ref:U,class:"vxe-table--body-inner-wrapper"},re),[a?y(h):i("div",{ref:Z,class:"vxe-body--x-space"}),i("div",{ref:ee,class:"vxe-body--y-space"}),i("table",{ref:P,class:"vxe-table--body",xid:$,cellspacing:0,cellpadding:0,border:0,xvm:ie?"1":null},[i("colgroup",{ref:J},se.map(((e,l)=>i("col",{name:e.id,key:l,style:{width:`${e.renderWidth}px`}})))),!v&&!x&&q.drag&&K.animation?i(n,{ref:Q,name:"vxe-body--row-list"+(z?"":"-disabled"),tag:"tbody"},{default:()=>ae(a,ie,oe,se)}):i("tbody",{ref:Q},ae(a,ie,oe,se))]),i("div",{class:"vxe-table--checkbox-range"}),p&&G.area?i("div",{class:"vxe-table--cell-area"},[i("span",{class:"vxe-table--cell-main-area"},G.extension?[i("span",{class:"vxe-table--cell-main-area-btn",onMousedown(e){h.triggerCellAreaExtendMousedownEvent&&h.triggerCellAreaExtendMousedownEvent(e,{$table:h,fixed:a,type:C})}})]:[]),i("span",{class:"vxe-table--cell-copy-area"}),i("span",{class:"vxe-table--cell-extend-area"}),i("span",{class:"vxe-table--cell-multi-area"}),i("span",{class:"vxe-table--cell-active-area"}),i("span",{class:"vxe-table--cell-row-status-area"})]):y(h),a?y(h):i("div",{class:"vxe-table--empty-block",ref:le},[i("div",{class:"vxe-table--empty-content"},te)])])])}}});export{$ as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{h as e}from"vue";import t from"../../../../../../_virtual/index/index.js";import"../../../ui/index/index.js";import{isEnableConf as l,formatText as r,eqEmptyValue as n,getFuncText as o}from"../../../ui/src/utils/index.js";import{updateCellTitle as a}from"../../../ui/src/dom/index.js";import{getRowid as s,createColumn as c}from"../util/index.js";import{getSlotVNs as i}from"../../../ui/src/vn/index.js";import{VxeUI as d}from"../../../../../@vxe-ui/core/es/index.esm/index.js";const{getI18n:u,getIcon:p,renderer:g,formats:C,renderEmptyElement:b}=d;function m(t){const{$table:l,column:r}=t,n=r.titlePrefix||r.titleHelp;return n?e("span",{class:["vxe-cell-title-prefix-icon",n.iconStatus?`theme--${n.iconStatus}`:""],onMouseenter(e){l.triggerHeaderTitleEvent(e,n,t)},onMouseleave(e){l.handleTargetLeaveEvent(e)}},[e("i",{class:n.icon||p().TABLE_TITLE_PREFIX})]):b(l)}function E(t){const{$table:l,column:r}=t,n=r.titleSuffix;return n?e("span",{class:["vxe-cell-title-suffix-icon",n.iconStatus?`theme--${n.iconStatus}`:""],onMouseenter(e){l.triggerHeaderTitleEvent(e,n,t)},onMouseleave(e){l.handleTargetLeaveEvent(e)}},[e("i",{class:n.icon||p().TABLE_TITLE_SUFFIX})]):b(l)}function v(t){const{$table:l,column:r}=t,{context:n}=l,o=n.slots,a=l.props,{slots:s}=r,{dragConfig:c}=a,{computeRowDragOpts:i}=l.getComputeMaps(),d=i.value,{icon:u,trigger:g,disabledMethod:C}=d,b=C||(c?c.rowDisabledMethod:null),m=b&&b(t),E=(s?s.rowDragIcon||s["row-drag-icon"]:null)||o.rowDragIcon||o["row-drag-icon"],v={};return"cell"!==g&&(v.onMousedown=e=>{m||l.handleCellDragMousedownEvent(e,t)},v.onMouseup=l.handleCellDragMouseupEvent),e("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":m}]},v),E?l.callSlot(E,t):[e("i",{class:u||(c?c.rowIcon:"")||p().TABLE_DRAG_ROW})])}function h(e,l){const{$table:r,column:n,level:o}=e,{dragSort:a}=n,s=r.props,{treeConfig:c,dragConfig:i}=s,{computeRowOpts:d,computeRowDragOpts:u,computeTreeOpts:p}=r.getComputeMaps(),g=d.value,C=u.value,b=p.value,{showIcon:m,isPeerDrag:E,isCrossDrag:h,visibleMethod:x}=C,f=x||(i?i.rowVisibleMethod:null),D=[];return a&&g.drag&&(m||i&&i.showRowIcon)&&(!f||f(e))&&(c?b.transform&&(E||h||!o)&&D.push(v(e)):D.push(v(e))),D.concat(t.isArray(l)?l:[l])}function x(t){const{$table:l,column:r}=t,{context:n}=l,o=n.slots,{slots:a}=r,{computeColumnOpts:s,computeColumnDragOpts:c}=l.getComputeMaps(),i=s.value,d=c.value,{showIcon:u,icon:g,trigger:C,isPeerDrag:m,isCrossDrag:E,visibleMethod:v,disabledMethod:h}=d;if(i.drag&&u&&(!v||v(t))&&!r.fixed&&(m||E||!r.parentId)){const r=h&&h(t),n=(a?a.columnDragIcon||a["column-drag-icon"]:null)||o.columnDragIcon||o["column-drag-icon"],s={};return"cell"!==C&&(s.onMousedown=e=>{r||l.handleHeaderCellDragMousedownEvent(e,t)},s.onMouseup=l.handleHeaderCellDragMouseupEvent),e("span",Object.assign({key:"dg",class:["vxe-cell--drag-handle",{"is--disabled":r}]},s),n?l.callSlot(n,t):[e("i",{class:g||p().TABLE_DRAG_COLUMN})])}return b(l)}function f(e,l){return[m(e),x(e),...t.isArray(l)?l:[l],E(e)]}function D(l,r){const{$table:n,column:o}=l,s=n.props,c=n.reactData,{computeTooltipOpts:d}=n.getComputeMaps(),{showHeaderOverflow:u}=s,{type:p,showHeaderOverflow:g}=o,C=d.value.showAll,b=t.isUndefined(g)||t.isNull(g)?u:g,m="title"===b,E=!0===b||"tooltip"===b,v={};return(m||E||C)&&(v.onMouseenter=e=>{c.isDragResize||(m?a(e.currentTarget,o):(E||C)&&n.triggerHeaderTooltipEvent(e,l))}),(E||C)&&(v.onMouseleave=e=>{c.isDragResize||(E||C)&&n.handleTargetLeaveEvent(e)}),["html"===p&&t.isString(r)?e("span",Object.assign({class:"vxe-cell--title",innerHTML:r},v)):e("span",Object.assign({class:"vxe-cell--title"},v),i(r))]}function T(e){const{$table:t,row:l,column:n}=e;return r(t.getCellLabel(l,n),1)}function w(e){const{column:t,row:r,$table:n}=e,o=n.props,a=n.reactData,{isRowGroupStatus:s}=a,{editConfig:c}=o,{type:i,treeNode:d,rowGroupNode:u,editRender:p}=t,{computeEditOpts:g,computeCheckboxOpts:C,computeAggregateOpts:b}=n.getComputeMaps(),m=b.value,{mode:E}=m,v=C.value,h=g.value,x=d||s&&("column"===E?t.field===r.groupField:u);switch(i){case"seq":return x?R.renderDeepIndexCell(e):R.renderSeqCell(e);case"radio":return x?R.renderDeepRadioCell(e):R.renderRadioCell(e);case"checkbox":return v.checkField?x?R.renderDeepSelectionCellByProp(e):R.renderCheckboxCellByProp(e):x?R.renderDeepSelectionCell(e):R.renderCheckboxCell(e);case"expand":return R.renderExpandCell(e);case"html":return x?R.renderDeepHTMLCell(e):R.renderHTMLCell(e)}return l(c)&&p?"cell"===h.mode?x?R.renderDeepCellEdit(e):R.renderCellEdit(e):x?R.renderDeepRowEdit(e):R.renderRowEdit(e):x?R.renderDeepCell(e):R.renderDefaultCell(e)}function M(e){const{column:t,$table:l}=e,r=l.props,{editConfig:n}=r,{type:o,filters:a,sortable:s,editRender:c}=t;switch(o){case"seq":return R.renderSeqHeader(e);case"radio":return R.renderRadioHeader(e);case"checkbox":return R.renderCheckboxHeader(e);case"html":if(a&&s)return R.renderSortAndFilterHeader(e);if(s)return R.renderSortHeader(e);if(a)return R.renderFilterHeader(e)}return n&&c?R.renderEditHeader(e):a&&s?R.renderSortAndFilterHeader(e):s?R.renderSortHeader(e):a?R.renderFilterHeader(e):R.renderDefaultHeader(e)}function O(e){return R.renderDefaultFooter(e)}const R={createColumn(e,t){const{type:l}=t,r={renderHeader:M,renderCell:w,renderFooter:O};return"expand"===l&&(r.renderData=R.renderExpandData),c(e,t,r)},renderHeaderTitle(e){const{$table:t,column:l}=e,{slots:n,editRender:o,cellRender:a}=l,s=o||a,c=n?n.header:null;if(c)return D(e,t.callSlot(c,e));if(s){const t=g.get(s.name);if(t){const l=t.renderTableHeader||t.renderHeader;if(l)return D(e,i(l(s,e)))}}return D(e,r(l.getTitle(),1))},renderDefaultHeader:e=>f(e,R.renderHeaderTitle(e)),renderDefaultCell(t){const{$table:l,row:a,column:s}=t,c=l.reactData,d=l.internalData,{isRowGroupStatus:p}=c,{field:C,slots:b,editRender:m,cellRender:E,rowGroupNode:v,aggFunc:x}=s,f=m||E,D=b?b.default:null;if(D)return h(t,l.callSlot(D,t));if(f){const e=g.get(f.name);if(e){const l=e.renderTableCell||e.renderCell,r=e.renderTableDefault||e.renderDefault,n=m?l:r;if(n)return h(t,i(n(f,Object.assign({$type:m?"edit":"cell"},t))))}}let T="";if(p&&C&&a.isAggregate){const e=a,{fullColumnFieldData:r}=d,{computeAggregateOpts:n}=l.getComputeMaps(),o=n.value,{mode:c,showTotal:i,totalMethod:p,countFields:g,contentMethod:b,mapChildrenField:m}=o,E=o.aggregateMethod||o.countMethod,h=e.groupField,f=e.groupContent,D=m&&e[m]||[],w=e.childCount,M=r[h]||{},O={$table:l,groupField:h,groupColumn:M?M.column:null,column:s,groupValue:f,children:D,childCount:w,aggValue:null,totalValue:w};("column"===c?C===e.groupField:v)?(T=f,b&&(T=`${b(O)}`),i&&(T=u("vxe.table.rowGroupContentTotal",[T,p?p(O):w,w]))):l.getPivotTableAggregateCellAggValue?T=l.getPivotTableAggregateCellAggValue(t):(!0===x||g&&g.includes(C))&&E&&(O.aggValue=w,T=`${E(O)}`)}else T=l.getCellLabel(a,s);const w=m?m.placeholder:"";return h(t,[e("span",{class:"vxe-cell--label"},[m&&n(T)?e("span",{class:"vxe-cell--placeholder"},r(o(w),1)):e("span",r(T,1))])])},renderDeepCell:e=>R.renderDeepNodeBtn(e,R.renderDefaultCell(e)),renderDefaultFooter:l=>function(l){const{$table:n,column:o,_columnIndex:a,items:s,row:c}=l,{slots:d,editRender:u,cellRender:p,footerFormatter:b}=o,m=u||p,E=d?d.footer:null;if(E)return n.callSlot(E,l);let v="";v=t.isArray(s)?s[a]:t.get(c,o.field);const h=Object.assign(l,{itemValue:v});if(b){if(t.isFunction(b))return[e("span",{class:"vxe-cell--label"},`${b(h)}`)];const l=t.isArray(b),r=l?C.get(b[0]):C.get(b),n=r?r.tableFooterCellFormatMethod:null;return n?[e("span",{class:"vxe-cell--label"},`${l?n(h,...b.slice(1)):n(h)}`)]:[e("span",{class:"vxe-cell--label"},"")]}if(m){const e=g.get(m.name);if(e){const t=e.renderTableFooter||e.renderFooter;if(t)return i(t(m,h))}}return[e("span",{class:"vxe-cell--label"},r(v,1))]}(l),renderRowGroupBtn(t,l){const{$table:r}=t,n=r.reactData,o=r.internalData,{row:a,level:c}=t,{computeAggregateOpts:i}=r.getComputeMaps(),{rowGroupExpandedFlag:d}=n,{rowGroupExpandedMaps:u}=o,g=i.value,{padding:C,indent:m}=g,E=s(r,a),v=!!d&&!!u[E];return e("div",{class:["vxe-row-group--tree-node",{"is--expanded":v}],style:C&&m?{paddingLeft:c*m+"px"}:void 0},[a.isAggregate?e("span",{class:"vxe-row-group--node-btn",onClick(e){r.triggerRowGroupExpandEvent(e,t)}},[e("i",{class:v?p().TABLE_ROW_GROUP_OPEN:p().TABLE_ROW_GROUP_CLOSE})]):b(r),e("div",{class:"vxe-row-group-cell"},l)])},renderTreeNodeBtn(t,l){const{$table:r,isHidden:n}=t,o=r.reactData,a=r.internalData,{row:c,column:i,level:d}=t,{slots:u}=i,g=u?u.icon:null;if(g)return r.callSlot(g,t);const{computeTreeOpts:C}=r.getComputeMaps(),{treeExpandedFlag:b}=o,{fullAllDataRowIdData:m,treeExpandedMaps:E,treeExpandLazyLoadedMaps:v}=a,h=C.value,{padding:x,indent:f,lazy:D,trigger:T,iconLoaded:w,showIcon:M,iconOpen:O,iconClose:R}=h,S=h.children||h.childrenField,A=h.hasChild||h.hasChildField,H=c[S],L=H&&H.length;let k=!1,_=!1,B=!1,$=!1;const F={};if(!n){const e=s(r,c);if(_=!!b&&!!E[e],D){const t=m[e];B=!!v[e],k=c[A],$=!!t.treeLoaded}}return T&&"default"!==T||(F.onClick=e=>{r.triggerTreeExpandEvent(e,t)}),e("div",{class:["vxe-cell--tree-node",{"is--active":_}],style:x&&f?{paddingLeft:d*f+"px"}:void 0},[M&&(D?$?L:L||k:L)?[e("div",Object.assign({class:"vxe-cell--tree-btn"},F),[e("i",{class:B?w||p().TABLE_TREE_LOADED:_?O||p().TABLE_TREE_OPEN:R||p().TABLE_TREE_CLOSE})])]:null,e("div",{class:"vxe-tree-cell"},l)])},renderDeepNodeBtn(e,t){const{$table:l,row:r,column:n}=e,{rowGroupNode:o}=n,a=l.reactData,{rowGroupList:s}=a;if(s.length){const{computeAggregateOpts:a}=l.getComputeMaps(),s=a.value,{mode:c}=s;if("column"===c?n.field===r.groupField:o)return[R.renderRowGroupBtn(e,t)]}return[R.renderTreeNodeBtn(e,t)]},renderSeqHeader(e){const{$table:t,column:l}=e,{slots:n}=l,o=n?n.header:null;return f(e,D(e,o?t.callSlot(o,e):r(l.getTitle(),1)))},renderSeqCell(t){const{$table:l,column:n}=t,o=l.props,{treeConfig:a}=o,{computeSeqOpts:s}=l.getComputeMaps(),c=s.value,{slots:i}=n,d=i?i.default:null;if(d)return h(t,l.callSlot(d,t));const{seq:u}=t,p=c.seqMethod;return h(t,[e("span",`${r(p?p(t):a?u:(c.startIndex||0)+u,1)}`)])},renderDeepIndexCell:e=>R.renderDeepNodeBtn(e,R.renderSeqCell(e)),renderRadioHeader(t){const{$table:l,column:n}=t,{slots:o}=n,a=o?o.header:null,s=o?o.title:null;return f(t,D(t,a?l.callSlot(a,t):[e("span",{class:"vxe-radio--label"},s?l.callSlot(s,t):r(n.getTitle(),1))]))},renderRadioCell(l){const{$table:r,column:n,isHidden:o}=l,a=r.reactData,{computeRadioOpts:s}=r.getComputeMaps(),{selectRadioRow:c}=a,i=s.value,{slots:d}=n,{labelField:u,checkMethod:g,visibleMethod:C}=i,{row:b}=l,m=d?d.default:null,E=d?d.radio:null,v=r.eqRow(b,c),x=!C||C({$table:r,row:b});let f,D=!!g;o||(f={onClick(e){!D&&x&&r.triggerRadioRowEvent(e,l)}},g&&(D=!g({$table:r,row:b})));const T=Object.assign(Object.assign({},l),{checked:v,disabled:D,visible:x});if(E)return h(l,r.callSlot(E,T));const w=[];return x&&w.push(e("span",{class:["vxe-radio--icon",v?p().TABLE_RADIO_CHECKED:p().TABLE_RADIO_UNCHECKED]})),(m||u)&&w.push(e("span",{class:"vxe-radio--label"},m?r.callSlot(m,T):t.get(b,u))),h(l,[e("span",Object.assign({class:["vxe-cell--radio",{"is--checked":v,"is--disabled":D}]},f),w)])},renderDeepRadioCell:e=>R.renderDeepNodeBtn(e,R.renderRadioCell(e)),renderCheckboxHeader(l){const{$table:r,column:n,isHidden:o}=l,a=r.reactData,{computeIsAllCheckboxDisabled:s,computeCheckboxOpts:c}=r.getComputeMaps(),{isAllSelected:i,isIndeterminate:d}=a,g=s.value,{slots:C}=n,b=C?C.header:null,m=C?C.title:null,E=c.value,{checkStrictly:v,showHeader:h,headerTitle:x}=E,T=n.getTitle(),w={};o||(w.onClick=e=>{g||r.triggerCheckAllEvent(e,!i)});const M=Object.assign(Object.assign({},l),{checked:i,disabled:g,indeterminate:d});return f(l,D(M,b?r.callSlot(b,M):(v?h:!1!==h)?[e("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":i,"is--disabled":g,"is--indeterminate":d}],title:t.eqNull(x)?u("vxe.table.allTitle"):`${x||""}`},w),[e("span",{class:["vxe-checkbox--icon",d?p().TABLE_CHECKBOX_INDETERMINATE:i?p().TABLE_CHECKBOX_CHECKED:p().TABLE_CHECKBOX_UNCHECKED]})].concat(m||T?[e("span",{class:"vxe-checkbox--label"},m?r.callSlot(m,M):T)]:[]))]:[e("span",{class:"vxe-checkbox--label"},m?r.callSlot(m,M):T)]))},renderCheckboxCell(l){const{$table:r,row:n,column:o,isHidden:a}=l,c=r.props,i=r.reactData,d=r.internalData,{treeConfig:u}=c,{updateCheckboxFlag:g,isRowGroupStatus:C}=i,{selectCheckboxMaps:b,treeIndeterminateRowMaps:m}=d,{computeCheckboxOpts:E}=r.getComputeMaps(),v=E.value,{labelField:x,checkMethod:f,visibleMethod:D}=v,{slots:T}=o,w=T?T.default:null,M=T?T.checkbox:null;let O=!1,R=!1;const S=!D||D({$table:r,row:n});let A=!!f;const H={};if(!a){const e=s(r,n);R=!!g&&!!b[e],H.onClick=e=>{!A&&S&&r.triggerCheckRowEvent(e,l,!R)},f&&(A=!f({$table:r,row:n})),(u||C)&&(O=!!m[e])}const L=Object.assign(Object.assign({},l),{checked:R,disabled:A,visible:S,indeterminate:O});if(M)return h(l,r.callSlot(M,L));const k=[];return S&&k.push(e("span",{class:["vxe-checkbox--icon",O?p().TABLE_CHECKBOX_INDETERMINATE:R?p().TABLE_CHECKBOX_CHECKED:p().TABLE_CHECKBOX_UNCHECKED]})),(w||x)&&k.push(e("span",{class:"vxe-checkbox--label"},w?r.callSlot(w,L):t.get(n,x))),h(l,[e("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":R,"is--disabled":A,"is--indeterminate":O,"is--hidden":!S}]},H),k)])},renderDeepSelectionCell:e=>R.renderDeepNodeBtn(e,R.renderCheckboxCell(e)),renderCheckboxCellByProp(l){const{$table:r,row:n,column:o,isHidden:a}=l,c=r.props,i=r.reactData,d=r.internalData,{treeConfig:u}=c,{updateCheckboxFlag:g,isRowGroupStatus:C}=i,{treeIndeterminateRowMaps:b}=d,{computeCheckboxOpts:m}=r.getComputeMaps(),E=m.value,{labelField:v,checkField:x,checkMethod:f,visibleMethod:D}=E,T=E.indeterminateField||E.halfField,{slots:w}=o,M=w?w.default:null,O=w?w.checkbox:null;let R=!1,S=!1;const A=!D||D({$table:r,row:n});let H=!!f;const L={};if(!a){const e=s(r,n);S=!!g&&t.get(n,x),L.onClick=e=>{!H&&A&&r.triggerCheckRowEvent(e,l,!S)},f&&(H=!f({$table:r,row:n})),(u||C)&&(R=!!b[e])}const k=Object.assign(Object.assign({},l),{checked:S,disabled:H,visible:A,indeterminate:R});if(O)return h(l,r.callSlot(O,k));const _=[];return A&&(_.push(e("span",{class:["vxe-checkbox--icon",R?p().TABLE_CHECKBOX_INDETERMINATE:S?p().TABLE_CHECKBOX_CHECKED:p().TABLE_CHECKBOX_UNCHECKED]})),(M||v)&&_.push(e("span",{class:"vxe-checkbox--label"},M?r.callSlot(M,k):t.get(n,v)))),h(l,[e("span",Object.assign({class:["vxe-cell--checkbox",{"is--checked":S,"is--disabled":H,"is--indeterminate":T&&!S?n[T]:R,"is--hidden":!A}]},L),_)])},renderDeepSelectionCellByProp:e=>R.renderDeepNodeBtn(e,R.renderCheckboxCellByProp(e)),renderExpandCell(l){const{$table:r,isHidden:n,row:o,column:a}=l,c=r.reactData,i=r.internalData,{isRowGroupStatus:d}=c,{rowExpandedMaps:u,rowExpandLazyLoadedMaps:g}=i,{computeExpandOpts:C}=r.getComputeMaps(),m=C.value,{lazy:E,labelField:v,iconLoaded:x,showIcon:f,iconOpen:D,iconClose:T,visibleMethod:w}=m,{slots:M}=a,O=M?M.default:null,R=M?M.icon:null;let S=!1,A=!1;if(d&&o.isAggregate)return h(l,[]);if(R)return h(l,r.callSlot(R,l));if(!n){const e=s(r,o);S=!!u[e],E&&(A=!!g[e])}return h(l,[!f||w&&!w(l)?b(r):e("span",{class:["vxe-table--expanded",{"is--active":S}],onMousedown(e){e.stopPropagation()},onClick(e){r.triggerRowExpandEvent(e,l)}},[e("i",{class:["vxe-table--expand-btn",A?x||p().TABLE_EXPAND_LOADED:S?D||p().TABLE_EXPAND_OPEN:T||p().TABLE_EXPAND_CLOSE]})]),O||v?e("span",{class:"vxe-table--expand-label"},O?r.callSlot(O,l):t.get(o,v)):b(r)])},renderExpandData(e){const{$table:t,column:l}=e,{slots:r,contentRender:n}=l,o=r?r.content:null;if(o)return t.callSlot(o,e);if(n){const t=g.get(n.name);if(t){const l=t.renderTableExpand||t.renderExpand;if(l)return i(l(n,e))}}return[]},renderHTMLCell(t){const{$table:l,column:r}=t,{slots:n}=r,o=n?n.default:null;return h(t,o?l.callSlot(o,t):[e("span",{class:"vxe-cell--html",innerHTML:T(t)})])},renderDeepHTMLCell:e=>R.renderDeepNodeBtn(e,R.renderHTMLCell(e)),renderSortAndFilterHeader:e=>f(e,R.renderHeaderTitle(e).concat(R.renderSortIcon(e).concat(R.renderFilterIcon(e)))),renderSortHeader:e=>f(e,R.renderHeaderTitle(e).concat(R.renderSortIcon(e))),renderSortIcon(l){const{$table:r,column:n}=l,{computeSortOpts:o}=r.getComputeMaps(),a=o.value,{showIcon:s,allowBtn:c,ascTitle:i,descTitle:d,iconLayout:g,iconAsc:C,iconDesc:b,iconVisibleMethod:m}=a,{order:E}=n;return!s||m&&!m(l)?[]:[e("span",{class:["vxe-cell--sort",`vxe-cell--sort-${g}-layout`]},[e("i",{class:["vxe-sort--asc-btn",C||p().TABLE_SORT_ASC,{"sort--active":"asc"===E}],title:t.eqNull(i)?u("vxe.table.sortAsc"):`${i||""}`,onClick:c?e=>{e.stopPropagation(),r.triggerSortEvent(e,n,"asc")}:void 0}),e("i",{class:["vxe-sort--desc-btn",b||p().TABLE_SORT_DESC,{"sort--active":"desc"===E}],title:t.eqNull(d)?u("vxe.table.sortDesc"):`${d||""}`,onClick:c?e=>{e.stopPropagation(),r.triggerSortEvent(e,n,"desc")}:void 0})])]},renderFilterHeader:e=>f(e,R.renderHeaderTitle(e).concat(R.renderFilterIcon(e))),renderFilterIcon(t){const{$table:l,column:r,hasFilter:n}=t,o=l.reactData,{filterStore:a}=o,{computeFilterOpts:s}=l.getComputeMaps(),c=s.value,{showIcon:i,iconNone:d,iconMatch:g,iconVisibleMethod:C}=c;return!i||C&&!C(t)?[]:[e("span",{class:["vxe-cell--filter",{"is--active":a.visible&&a.column===r}],onClick(e){l.triggerFilterEvent&&l.triggerFilterEvent(e,t.column,t)}},[e("i",{class:["vxe-filter--btn",n?g||p().TABLE_FILTER_MATCH:d||p().TABLE_FILTER_NONE],title:u("vxe.table.filter")})])]},renderEditHeader(r){const{$table:n,column:o}=r,a=n.props,{computeEditOpts:s}=n.getComputeMaps(),{editConfig:c,editRules:i}=a,d=s.value,{sortable:u,filters:g,editRender:C}=o;let m=!1;if(i){const e=t.get(i,o.field);e&&(m=e.some((e=>e.required)))}let E=[];return l(c)&&(E=[m&&d.showAsterisk?e("span",{class:"vxe-cell--required-icon"},[e("i")]):b(n),l(C)&&d.showIcon?e("span",{class:"vxe-cell--edit-icon"},[e("i",{class:d.icon||p().TABLE_EDIT})]):b(n)]),f(r,E.concat(R.renderHeaderTitle(r)).concat(u?R.renderSortIcon(r):[]).concat(g?R.renderFilterIcon(r):[]))},renderRowEdit(e){const{$table:t,column:r}=e,n=t.reactData,{editStore:o}=n,{actived:a}=o,{editRender:s}=r;return R.runRenderer(e,l(s)&&a&&a.row===e.row)},renderDeepRowEdit:e=>R.renderDeepNodeBtn(e,R.renderRowEdit(e)),renderCellEdit(e){const{$table:t,column:r}=e,n=t.reactData,{editStore:o}=n,{actived:a}=o,{editRender:s}=r;return R.runRenderer(e,l(s)&&a&&a.row===e.row&&a.column===e.column)},renderDeepCellEdit:e=>R.renderDeepNodeBtn(e,R.renderCellEdit(e)),runRenderer(t,l){const{$table:r,column:n}=t,{slots:o,editRender:a,formatter:s}=n,c=o?o.default:null,d=o?o.edit:null,u=g.get(a.name),p=u?u.renderTableEdit||u.renderEdit:null,C=Object.assign({$type:"",isEdit:l},t);return l?(C.$type="edit",d?r.callSlot(d,C):p?i(p(a,C)):[]):c?h(t,r.callSlot(c,C)):s?h(t,[e("span",{class:"vxe-cell--label"},T(C))]):R.renderDefaultCell(C)}};export{R as Cell,R as default};
|