vxe-pc-ui 4.1.20 → 4.1.21
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 +82 -1
- package/es/anchor/src/anchor-link.js +1 -1
- package/es/anchor/src/anchor.js +1 -1
- package/es/breadcrumb/src/breadcrumb.js +1 -1
- package/es/button/src/button-group.js +4 -1
- package/es/calendar/src/calendar.js +64 -32
- package/es/carousel/src/carousel-item.js +13 -3
- package/es/carousel/src/carousel.js +16 -8
- package/es/checkbox/src/checkbox.js +30 -14
- package/es/checkbox/src/group.js +17 -8
- package/es/collapse-pane/index.js +1 -1
- package/es/countdown/src/countdown.js +1 -1
- package/es/date-picker/src/date-picker.js +12 -12
- package/es/drawer/src/drawer.js +1 -1
- package/es/form/render/index.js +1 -2
- package/es/form/src/form-config-item.js +4 -3
- package/es/form/src/form-gather.js +5 -3
- package/es/form/src/form-item.js +15 -10
- package/es/form/src/form.js +11 -8
- package/es/form/src/render.js +2 -1
- package/es/form/src/util.js +2 -1
- package/es/icon/style.css +1 -1
- package/es/icon-picker/src/icon-picker.js +22 -10
- package/es/image/src/group.js +4 -1
- package/es/image/src/preview.js +1 -1
- package/es/input/src/input.js +129 -65
- package/es/layout-aside/src/layout-aside.js +1 -1
- package/es/list/src/list.js +7 -5
- package/es/list-design/src/list-design.js +1 -1
- package/es/list-design/src/list-view.js +1 -1
- package/es/loading/src/loading.js +1 -1
- package/es/menu/src/menu.js +1 -1
- package/es/number-input/src/number-input.js +6 -6
- package/es/pager/src/pager.js +85 -45
- package/es/password-input/src/password-input.js +2 -2
- package/es/print/src/page-break.js +11 -2
- package/es/print/src/print.js +6 -4
- package/es/radio/src/group.js +5 -2
- package/es/row/src/row.js +1 -1
- package/es/select/src/optgroup.js +11 -8
- package/es/select/src/option.js +9 -7
- package/es/select/src/select.js +32 -29
- package/es/select/src/util.js +2 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/tabs/src/tab-pane.js +13 -3
- package/es/tabs/src/tabs.js +57 -47
- package/es/textarea/src/textarea.js +4 -4
- package/es/tooltip/src/tooltip.js +1 -1
- package/es/tree/src/tree.js +6 -3
- package/es/tree-select/src/tree-select.js +16 -9
- package/es/ui/index.js +1 -7
- package/es/ui/src/log.js +1 -1
- package/es/upload/src/upload.js +5 -5
- package/lib/anchor/src/anchor-link.js +1 -1
- package/lib/anchor/src/anchor-link.min.js +1 -1
- package/lib/anchor/src/anchor.js +1 -1
- package/lib/anchor/src/anchor.min.js +1 -1
- package/lib/breadcrumb/src/breadcrumb.js +1 -1
- package/lib/breadcrumb/src/breadcrumb.min.js +1 -1
- package/lib/button/src/button-group.js +4 -1
- package/lib/button/src/button-group.min.js +1 -1
- package/lib/calendar/src/calendar.js +42 -24
- package/lib/calendar/src/calendar.min.js +1 -1
- package/lib/carousel/src/carousel-item.js +16 -3
- package/lib/carousel/src/carousel-item.min.js +1 -1
- package/lib/carousel/src/carousel.js +18 -8
- package/lib/carousel/src/carousel.min.js +1 -1
- package/lib/checkbox/src/checkbox.js +16 -12
- package/lib/checkbox/src/checkbox.min.js +1 -1
- package/lib/checkbox/src/group.js +10 -7
- package/lib/checkbox/src/group.min.js +1 -1
- package/lib/collapse-pane/index.js +1 -1
- package/lib/collapse-pane/index.min.js +1 -1
- package/lib/countdown/src/countdown.js +1 -1
- package/lib/countdown/src/countdown.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +12 -12
- package/lib/drawer/src/drawer.js +1 -1
- package/lib/drawer/src/drawer.min.js +1 -1
- package/lib/form/render/index.js +1 -4
- package/lib/form/render/index.min.js +1 -1
- package/lib/form/src/form-config-item.js +4 -5
- package/lib/form/src/form-config-item.min.js +1 -1
- package/lib/form/src/form-gather.js +11 -9
- package/lib/form/src/form-gather.min.js +1 -1
- package/lib/form/src/form-item.js +11 -12
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +7 -7
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/render.js +2 -1
- package/lib/form/src/util.js +2 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/icon-picker/src/icon-picker.js +20 -11
- package/lib/icon-picker/src/icon-picker.min.js +1 -1
- package/lib/image/src/group.js +4 -1
- package/lib/image/src/group.min.js +1 -1
- package/lib/image/src/preview.js +1 -1
- package/lib/image/src/preview.min.js +1 -1
- package/lib/index.umd.js +522 -377
- package/lib/index.umd.min.js +1 -1
- package/lib/input/src/input.js +77 -50
- package/lib/input/src/input.min.js +1 -1
- package/lib/layout-aside/src/layout-aside.js +1 -1
- package/lib/layout-aside/src/layout-aside.min.js +1 -1
- package/lib/list/src/list.js +9 -5
- package/lib/list/src/list.min.js +1 -1
- package/lib/list-design/src/list-design.js +1 -1
- package/lib/list-design/src/list-design.min.js +1 -1
- package/lib/list-design/src/list-view.js +1 -1
- package/lib/list-design/src/list-view.min.js +1 -1
- package/lib/loading/src/loading.js +1 -1
- package/lib/loading/src/loading.min.js +1 -1
- package/lib/menu/src/menu.js +1 -1
- package/lib/menu/src/menu.min.js +1 -1
- package/lib/number-input/src/number-input.js +6 -6
- package/lib/pager/src/pager.js +40 -39
- package/lib/pager/src/pager.min.js +1 -1
- package/lib/password-input/src/password-input.js +2 -2
- package/lib/print/src/page-break.js +14 -2
- package/lib/print/src/page-break.min.js +1 -1
- package/lib/print/src/print.js +8 -6
- package/lib/print/src/print.min.js +1 -1
- package/lib/radio/src/group.js +5 -2
- package/lib/radio/src/group.min.js +1 -1
- package/lib/row/src/row.js +1 -1
- package/lib/row/src/row.min.js +1 -1
- package/lib/select/src/optgroup.js +12 -9
- package/lib/select/src/optgroup.min.js +1 -1
- package/lib/select/src/option.js +9 -7
- package/lib/select/src/option.min.js +1 -1
- package/lib/select/src/select.js +33 -32
- package/lib/select/src/select.min.js +1 -1
- package/lib/select/src/util.js +2 -2
- package/lib/select/src/util.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +1 -1
- package/lib/tabs/src/tab-pane.js +16 -3
- package/lib/tabs/src/tab-pane.min.js +1 -1
- package/lib/tabs/src/tabs.js +62 -50
- package/lib/tabs/src/tabs.min.js +1 -1
- package/lib/textarea/src/textarea.js +4 -4
- package/lib/tooltip/src/tooltip.js +1 -1
- package/lib/tooltip/src/tooltip.min.js +1 -1
- package/lib/tree/src/tree.js +2 -2
- package/lib/tree/src/tree.min.js +1 -1
- package/lib/tree-select/src/tree-select.js +11 -7
- package/lib/tree-select/src/tree-select.min.js +1 -1
- package/lib/ui/index.js +3 -10
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/upload/src/upload.js +5 -5
- package/lib/upload/src/upload.min.js +1 -1
- package/package.json +2 -2
- package/packages/anchor/src/anchor-link.ts +2 -2
- package/packages/anchor/src/anchor.ts +2 -2
- package/packages/breadcrumb/src/breadcrumb.ts +2 -2
- package/packages/button/src/button-group.ts +4 -1
- package/packages/calendar/src/calendar.ts +67 -35
- package/packages/carousel/src/carousel-item.ts +19 -4
- package/packages/carousel/src/carousel.ts +19 -11
- package/packages/checkbox/src/checkbox.ts +34 -15
- package/packages/checkbox/src/group.ts +22 -10
- package/packages/collapse-pane/index.ts +1 -1
- package/packages/countdown/src/countdown.ts +2 -2
- package/packages/date-picker/src/date-picker.ts +12 -12
- package/packages/drawer/src/drawer.ts +2 -2
- package/packages/form/render/index.ts +1 -3
- package/packages/form/src/form-config-item.ts +4 -3
- package/packages/form/src/form-gather.ts +5 -3
- package/packages/form/src/form-item.ts +15 -10
- package/packages/form/src/form.ts +12 -10
- package/packages/form/src/render.ts +2 -1
- package/packages/form/src/util.ts +2 -1
- package/packages/icon-picker/src/icon-picker.ts +26 -13
- package/packages/image/src/group.ts +4 -1
- package/packages/image/src/preview.ts +2 -2
- package/packages/input/src/input.ts +133 -71
- package/packages/layout-aside/src/layout-aside.ts +2 -2
- package/packages/list/src/list.ts +12 -11
- package/packages/list-design/src/list-design.ts +2 -2
- package/packages/list-design/src/list-view.ts +2 -2
- package/packages/loading/src/loading.ts +2 -2
- package/packages/menu/src/menu.ts +2 -2
- package/packages/number-input/src/number-input.ts +6 -6
- package/packages/pager/src/pager.ts +91 -50
- package/packages/password-input/src/password-input.ts +2 -2
- package/packages/print/src/page-break.ts +18 -4
- package/packages/print/src/print.ts +10 -5
- package/packages/radio/src/group.ts +6 -3
- package/packages/row/src/row.ts +2 -2
- package/packages/select/src/optgroup.ts +16 -13
- package/packages/select/src/option.ts +10 -8
- package/packages/select/src/select.ts +42 -36
- package/packages/select/src/util.ts +3 -3
- package/packages/tabs/src/tab-pane.ts +20 -5
- package/packages/tabs/src/tabs.ts +59 -49
- package/packages/textarea/src/textarea.ts +4 -4
- package/packages/tooltip/src/tooltip.ts +2 -2
- package/packages/tree/src/tree.ts +7 -4
- package/packages/tree-select/src/tree-select.ts +20 -12
- package/packages/ui/index.ts +0 -7
- package/packages/upload/src/upload.ts +6 -6
- package/types/components/calendar.d.ts +6 -0
- package/types/components/carousel.d.ts +5 -0
- package/types/components/form.d.ts +4 -2
- package/types/components/icon-picker.d.ts +4 -0
- package/types/components/input.d.ts +9 -1
- package/types/components/list.d.ts +1 -0
- package/types/components/optgroup.d.ts +10 -4
- package/types/components/tabs.d.ts +4 -0
- package/types/components/toolbar.d.ts +5 -0
- package/types/components/tree-select.d.ts +4 -0
- package/types/ui/index.d.ts +0 -22
- /package/es/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
- /package/es/icon/style/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/es/icon/style/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
- /package/es/icon/style/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/es/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/es/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
- /package/es/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/lib/{collapse-pane → collapse}/src/collapse-pane.js +0 -0
- /package/lib/{collapse-pane → collapse}/src/collapse-pane.min.js +0 -0
- /package/lib/icon/style/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
- /package/lib/icon/style/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/lib/{iconfont.1725680652286.ttf → iconfont.1725941866604.ttf} +0 -0
- /package/lib/{iconfont.1725680652286.woff → iconfont.1725941866604.woff} +0 -0
- /package/lib/{iconfont.1725680652286.woff2 → iconfont.1725941866604.woff2} +0 -0
- /package/packages/{collapse-pane → collapse}/src/collapse-pane.ts +0 -0
package/lib/ui/index.js
CHANGED
|
@@ -6,11 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
var _exportNames = {
|
|
7
7
|
version: true,
|
|
8
8
|
config: true,
|
|
9
|
-
setup: true
|
|
10
|
-
globalStore: true
|
|
9
|
+
setup: true
|
|
11
10
|
};
|
|
12
11
|
exports.config = config;
|
|
13
|
-
exports.
|
|
12
|
+
exports.default = void 0;
|
|
14
13
|
exports.setup = setup;
|
|
15
14
|
exports.version = void 0;
|
|
16
15
|
var _core = require("@vxe-ui/core");
|
|
@@ -28,7 +27,7 @@ Object.keys(_core).forEach(function (key) {
|
|
|
28
27
|
var _dynamics = require("../dynamics");
|
|
29
28
|
var _utils = require("./src/utils");
|
|
30
29
|
var _log = require("./src/log");
|
|
31
|
-
const version = exports.version = "4.1.
|
|
30
|
+
const version = exports.version = "4.1.21";
|
|
32
31
|
_core.VxeUI.version = version;
|
|
33
32
|
_core.VxeUI.uiVersion = version;
|
|
34
33
|
_core.VxeUI.tableVersion = '';
|
|
@@ -49,12 +48,6 @@ function setup(options) {
|
|
|
49
48
|
}
|
|
50
49
|
_core.VxeUI.config = config;
|
|
51
50
|
_core.VxeUI.setup = setup;
|
|
52
|
-
/**
|
|
53
|
-
* 已废弃
|
|
54
|
-
* @deprecated
|
|
55
|
-
*/
|
|
56
|
-
const globalStore = exports.globalStore = {};
|
|
57
|
-
_core.VxeUI.globalStore = globalStore;
|
|
58
51
|
(0, _core.setConfig)({
|
|
59
52
|
alert: {},
|
|
60
53
|
anchor: {},
|
package/lib/ui/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={version:!0,config:!0,setup:!0
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _exportNames={version:!0,config:!0,setup:!0},_core=(exports.config=config,exports.default=void 0,exports.setup=setup,exports.version=void 0,require("@vxe-ui/core")),_dynamics=(Object.keys(_core).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(_exportNames,e)||e in exports&&exports[e]===_core[e]||Object.defineProperty(exports,e,{enumerable:!0,get:function(){return _core[e]}})}),require("../dynamics")),_utils=require("./src/utils"),_log=require("./src/log");const version=exports.version="4.1.21";function config(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["config","setConfig"]),(0,_core.setConfig)(e)}function setup(e){return"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.delFunc",["setup","setConfig"]),(0,_core.setConfig)(e)}_core.VxeUI.version=version,_core.VxeUI.uiVersion=version,_core.VxeUI.tableVersion="",_core.VxeUI.t=_core.VxeUI.getI18n,_core.VxeUI._t=_utils.getFuncText,_core.VxeUI.dynamicApp=_dynamics.dynamicApp,_core.VxeUI.config=config,_core.VxeUI.setup=setup,(0,_core.setConfig)({alert:{},anchor:{},anchorLink:{},breadcrumb:{separator:"/"},breadcrumbItem:{},button:{trigger:"hover"},buttonGroup:{},calendar:{minDate:new Date(1900,0,1),maxDate:new Date(2100,0,1),startDay:1,selectDay:1},card:{border:!0,padding:!0},carousel:{height:200,loop:!0,interval:5e3},carouselItem:{},checkbox:{},checkboxGroup:{},col:{},collapse:{},collapsePane:{},countdown:{},datePicker:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1},drawer:{position:"right",showHeader:!0,lockView:!0,mask:!0,showTitleOverflow:!0,showClose:!0,padding:!0},form:{validConfig:{showMessage:!0,autoPos:!0},tooltipConfig:{enterable:!0},titleAsterisk:!0,titleOverflow:!1,padding:!0},formDesign:{height:400,showHeader:!0,showPc:!0},formGather:{},formItem:{},formView:{},icon:{},iconPicker:{icons:["home","company","comment","setting","send","envelope","envelope-open","bell","search","print","pc","goods","chart-line","edit","delete","save","folder","microphone","flag","link","location","sunny","rmb","usd","user","add-user","add-users","star","unlock","time","text","feedback","calendar","association-form","cloud-download","cloud-upload","file","subtable","chart-bar-x","chart-bar-y","chart-line","chart-pie","chart-radar"]},image:{showPreview:!0,showPrintButton:!0},imageGroup:{showPreview:!0,showPrintButton:!0},imagePreview:{showPrintButton:!0},input:{startDate:new Date(1900,0,1),endDate:new Date(2100,0,1),startDay:1,selectDay:1,digits:2,controls:!0},layoutAside:{},layoutBody:{},layoutContainer:{},layoutFooter:{},layoutHeader:{},link:{underline:!0},listDesign:{height:400,showPc:!0},listView:{},list:{scrollY:{enabled:!0,gt:100}},loading:{showIcon:!0,showText:!0},modal:{top:16,showHeader:!0,minWidth:340,minHeight:140,lockView:!0,mask:!0,duration:3e3,marginSize:0,dblclickZoom:!0,showTitleOverflow:!0,animat:!0,showClose:!0,padding:!0,draggable:!0,showConfirmButton:null,zoomConfig:{minimizeMaxSize:10,minimizeVerticalOffset:{top:-24,left:0},minimizeHorizontalOffset:{top:0,left:32}},storageKey:"VXE_MODAL_POSITION"},numberInput:{digits:2,controls:!0},optgroup:{},option:{},pager:{pageSizePlacement:"top"},print:{},passwordInput:{},printPageBreak:{},pulldown:{},radio:{strict:!0},radioButton:{strict:!0},radioGroup:{strict:!0},row:{},select:{multiCharOverflow:8},switch:{},tabPane:{},tabs:{},tag:{},text:{},textarea:{},tip:{},tooltip:{trigger:"hover",theme:"dark",enterDelay:500,leaveDelay:300},tree:{indent:20,minHeight:60,radioConfig:{strict:!0}},treeSelect:{treeConfig:{radioConfig:{},checkboxConfig:{}}},upload:{mode:"all",imageTypes:["jpg","jpeg","png","gif"],showList:!0,showUploadButton:!0,showButtonText:!0,showRemoveButton:!0,showButtonIcon:!0,showPreview:!0,imageStyle:{}},table:{},colgroup:{},column:{},toolbar:{},grid:{}});const iconPrefix="vxe-icon-";(0,_core.setIcon)({LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",BUTTON_DROPDOWN:iconPrefix+"arrow-down",BUTTON_LOADING:iconPrefix+"spinner roll",MENU_ITEM_EXPAND_OPEN:iconPrefix+"arrow-down rotate180",MENU_ITEM_EXPAND_CLOSE:iconPrefix+"arrow-down",SELECT_LOADED:iconPrefix+"spinner roll",SELECT_OPEN:iconPrefix+"caret-down rotate180",SELECT_CLOSE:iconPrefix+"caret-down",ICON_PICKER_OPEN:iconPrefix+"caret-down rotate180",ICON_PICKER_CLOSE:iconPrefix+"caret-down",PAGER_HOME:iconPrefix+"home-page",PAGER_END:iconPrefix+"end-page",PAGER_JUMP_PREV:iconPrefix+"arrow-double-left",PAGER_JUMP_NEXT:iconPrefix+"arrow-double-right",PAGER_PREV_PAGE:iconPrefix+"arrow-left",PAGER_NEXT_PAGE:iconPrefix+"arrow-right",PAGER_JUMP_MORE:iconPrefix+"ellipsis-h",RADIO_CHECKED:iconPrefix+"radio-checked-fill",RADIO_UNCHECKED:iconPrefix+"radio-unchecked",CHECKBOX_INDETERMINATE:iconPrefix+"checkbox-indeterminate-fill",CHECKBOX_CHECKED:iconPrefix+"checkbox-checked-fill",CHECKBOX_UNCHECKED:iconPrefix+"checkbox-unchecked",INPUT_CLEAR:iconPrefix+"error-circle-fill",INPUT_SEARCH:iconPrefix+"search",NUMBER_INPUT_PREV_NUM:iconPrefix+"caret-up",NUMBER_INPUT_NEXT_NUM:iconPrefix+"caret-down",DATE_PICKER_DATE:iconPrefix+"calendar",PASSWORD_INPUT_SHOW_PWD:iconPrefix+"eye-fill-close",PASSWORD_INPUT_HIDE_PWD:iconPrefix+"eye-fill",MODAL_ZOOM_MIN:iconPrefix+"minus",MODAL_ZOOM_REVERT:iconPrefix+"recover",MODAL_ZOOM_IN:iconPrefix+"square",MODAL_ZOOM_OUT:iconPrefix+"maximize",MODAL_CLOSE:iconPrefix+"close",MODAL_INFO:iconPrefix+"info-circle-fill",MODAL_SUCCESS:iconPrefix+"success-circle-fill",MODAL_WARNING:iconPrefix+"warning-circle-fill",MODAL_ERROR:iconPrefix+"error-circle-fill",MODAL_QUESTION:iconPrefix+"question-circle-fill",MODAL_LOADING:iconPrefix+"spinner roll",DRAWER_CLOSE:iconPrefix+"close",FORM_PREFIX:iconPrefix+"question-circle-fill",FORM_SUFFIX:iconPrefix+"question-circle-fill",FORM_FOLDING:iconPrefix+"arrow-up rotate180",FORM_UNFOLDING:iconPrefix+"arrow-up",FORM_DESIGN_STYLE_SETTING:iconPrefix+"layout",FORM_DESIGN_PROPS_PC:iconPrefix+"pc",FORM_DESIGN_PROPS_MOBILE:iconPrefix+"mobile",FORM_DESIGN_PROPS_ADD:iconPrefix+"add",FORM_DESIGN_PROPS_EDIT:iconPrefix+"edit",FORM_DESIGN_WIDGET_ADD:iconPrefix+"square-plus-fill",FORM_DESIGN_WIDGET_COPY:iconPrefix+"copy",FORM_DESIGN_WIDGET_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_SWAP_LR:iconPrefix+"swap",FORM_DESIGN_WIDGET_OPTION_DELETE:iconPrefix+"delete",FORM_DESIGN_WIDGET_OPTION_EXPAND_OPEN:iconPrefix+"square-plus",FORM_DESIGN_WIDGET_OPTION_EXPAND_CLOSE:iconPrefix+"square-minus",LIST_DESIGN_FIELD_SETTING:iconPrefix+"custom-column",LIST_DESIGN_LIST_SETTING:iconPrefix+"menu",LIST_DESIGN_LIST_SETTING_SEARCH_DELETE:iconPrefix+"delete",LIST_DESIGN_LIST_SETTING_ACTIVE_DELETE:iconPrefix+"delete",UPLOAD_FILE_ERROR:iconPrefix+"warning-circle-fill",UPLOAD_FILE_ADD:iconPrefix+"upload",UPLOAD_FILE_REMOVE:iconPrefix+"delete",UPLOAD_FILE_DOWNLOAD:iconPrefix+"download",UPLOAD_IMAGE_RE_UPLOAD:iconPrefix+"repeat",UPLOAD_IMAGE_ADD:iconPrefix+"add",UPLOAD_IMAGE_REMOVE:iconPrefix+"close",UPLOAD_LOADING:iconPrefix+"spinner roll vxe-loading--default-icon",UPLOAD_FILE_TYPE_DEFAULT:iconPrefix+"file",UPLOAD_FILE_TYPE_XLSX:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_XLS:iconPrefix+"file-excel",UPLOAD_FILE_TYPE_PDF:iconPrefix+"file-pdf",UPLOAD_FILE_TYPE_PNG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_GIF:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_JPEG:iconPrefix+"file-image",UPLOAD_FILE_TYPE_MD:iconPrefix+"file-markdown",UPLOAD_FILE_TYPE_PPD:iconPrefix+"file-ppt",UPLOAD_FILE_TYPE_DOCX:iconPrefix+"file-word",UPLOAD_FILE_TYPE_DOC:iconPrefix+"file-word",UPLOAD_FILE_TYPE_ZIP:iconPrefix+"file-zip",UPLOAD_FILE_TYPE_TXT:iconPrefix+"file-txt",IMAGE_PREVIEW_CLOSE:iconPrefix+"close",IMAGE_PREVIEW_PREVIOUS:iconPrefix+"arrow-left",IMAGE_PREVIEW_NEXT:iconPrefix+"arrow-right",IMAGE_PREVIEW_PCT_FULL:iconPrefix+"pct-full",IMAGE_PREVIEW_PCT_1_1:iconPrefix+"pct-1-1",IMAGE_PREVIEW_ZOOM_OUT:iconPrefix+"search-zoom-out",IMAGE_PREVIEW_ZOOM_IN:iconPrefix+"search-zoom-in",IMAGE_PREVIEW_ROTATE_LEFT:iconPrefix+"rotate-left",IMAGE_PREVIEW_ROTATE_RIGHT:iconPrefix+"rotate-right",IMAGE_PREVIEW_PRINT:iconPrefix+"print",IMAGE_PREVIEW_DOWNLOAD:iconPrefix+"download",ALERT_CLOSE:iconPrefix+"close",ALERT_INFO:iconPrefix+"info-circle-fill",ALERT_SUCCESS:iconPrefix+"success-circle-fill",ALERT_WARNING:iconPrefix+"warning-circle-fill",ALERT_ERROR:iconPrefix+"error-circle-fill",TREE_NODE_OPEN:iconPrefix+"caret-right rotate90",TREE_NODE_CLOSE:iconPrefix+"caret-right",TREE_NODE_LOADED:iconPrefix+"spinner roll",TREE_SELECT_LOADED:iconPrefix+"spinner roll",TREE_SELECT_OPEN:iconPrefix+"caret-down rotate180",TREE_SELECT_CLOSE:iconPrefix+"caret-down",TABS_TAB_BUTTON_LEFT:iconPrefix+"arrow-left",TABS_TAB_BUTTON_RIGHT:iconPrefix+"arrow-right",TABS_TAB_CLOSE:iconPrefix+"close",TEXT_COPY:iconPrefix+"copy",TEXT_LOADING:iconPrefix+"spinner roll",CAROUSEL_HORIZONTAL_PREVIOUS:iconPrefix+"arrow-left",CAROUSEL_HORIZONTAL_NEXT:iconPrefix+"arrow-right",CAROUSEL_VERTICAL_PREVIOUS:iconPrefix+"arrow-up",CAROUSEL_VERTICAL_NEXT:iconPrefix+"arrow-down"});var _default=exports.default=_core.VxeUI;
|
package/lib/ui/src/log.js
CHANGED
|
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.warnLog = exports.errLog = void 0;
|
|
7
7
|
var _core = require("@vxe-ui/core");
|
|
8
|
-
const version = `ui v${"4.1.
|
|
8
|
+
const version = `ui v${"4.1.21"}`;
|
|
9
9
|
const warnLog = exports.warnLog = _core.log.create('warn', version);
|
|
10
10
|
const errLog = exports.errLog = _core.log.create('error', version);
|
package/lib/ui/src/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const version="ui v4.1.
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core");const version="ui v4.1.21",warnLog=exports.warnLog=_core.log.create("warn",version),errLog=exports.errLog=_core.log.create("error",version);
|
package/lib/upload/src/upload.js
CHANGED
|
@@ -360,7 +360,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
360
360
|
$upload: $xeUpload
|
|
361
361
|
}, params));
|
|
362
362
|
};
|
|
363
|
-
const
|
|
363
|
+
const handleChange = value => {
|
|
364
364
|
const {
|
|
365
365
|
singleMode,
|
|
366
366
|
urlMode
|
|
@@ -543,7 +543,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
543
543
|
cacheItem.percent = 0;
|
|
544
544
|
handleUploadResult(item, file).then(() => {
|
|
545
545
|
if (urlMode) {
|
|
546
|
-
|
|
546
|
+
handleChange(reactData.fileList);
|
|
547
547
|
}
|
|
548
548
|
});
|
|
549
549
|
}
|
|
@@ -655,7 +655,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
655
655
|
reactData.fileList = newFileList;
|
|
656
656
|
reactData.fileCacheMaps = cacheMaps;
|
|
657
657
|
Promise.all(urlMode ? uploadPromiseRests : []).then(() => {
|
|
658
|
-
|
|
658
|
+
handleChange(newFileList);
|
|
659
659
|
// 自动更新校验状态
|
|
660
660
|
if ($xeForm && formItemInfo) {
|
|
661
661
|
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, newFileList);
|
|
@@ -695,7 +695,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
695
695
|
fileList
|
|
696
696
|
} = reactData;
|
|
697
697
|
fileList.splice(index, 1);
|
|
698
|
-
|
|
698
|
+
handleChange(fileList);
|
|
699
699
|
// 自动更新校验状态
|
|
700
700
|
if ($xeForm && formItemInfo) {
|
|
701
701
|
$xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, fileList);
|
|
@@ -1207,7 +1207,6 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1207
1207
|
class: 'vxe-upload--drag-placeholder'
|
|
1208
1208
|
}, (0, _ui.getI18n)('vxe.upload.dragPlaceholder')) : (0, _vue.createCommentVNode)()]);
|
|
1209
1209
|
};
|
|
1210
|
-
$xeUpload.renderVN = renderVN;
|
|
1211
1210
|
const listFlag = (0, _vue.ref)(0);
|
|
1212
1211
|
(0, _vue.watch)(() => props.modelValue ? props.modelValue.length : 0, () => {
|
|
1213
1212
|
listFlag.value++;
|
|
@@ -1229,6 +1228,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1229
1228
|
reactData.isDrag = false;
|
|
1230
1229
|
});
|
|
1231
1230
|
updateFileList();
|
|
1231
|
+
$xeUpload.renderVN = renderVN;
|
|
1232
1232
|
return $xeUpload;
|
|
1233
1233
|
},
|
|
1234
1234
|
render() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../..//ui/src/vn"),_log=require("../../ui/src/log"),_dom=require("../../ui/src/dom"),_util=require("./util"),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeUpload",props:{modelValue:[Array,String,Object],showList:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showList},moreConfig:Object,readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},mode:{type:String,default:()=>(0,_ui.getConfig)().upload.mode},imageTypes:{type:Array,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().upload.imageTypes,!0)},imageStyle:{type:Object,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().upload.imageStyle,!0)},fileTypes:{type:Array,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().upload.fileTypes,!0)},keyField:String,singleMode:Boolean,urlMode:Boolean,multiple:Boolean,limitSize:{type:[String,Number],default:()=>(0,_ui.getConfig)().upload.limitSize},limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().upload.limitCount},nameField:{type:String,default:()=>(0,_ui.getConfig)().upload.nameField},typeField:{type:String,default:()=>(0,_ui.getConfig)().upload.typeField},urlField:{type:String,default:()=>(0,_ui.getConfig)().upload.urlField},sizeField:{type:String,default:()=>(0,_ui.getConfig)().upload.sizeField},showErrorStatus:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showErrorStatus},showProgress:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showProgress},progressText:{type:String,default:()=>(0,_ui.getConfig)().upload.progressText},autoHiddenButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.autoHiddenButton},showUploadButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showUploadButton},buttonText:{type:String,default:()=>(0,_ui.getConfig)().upload.buttonText},buttonIcon:{type:String,default:()=>(0,_ui.getConfig)().upload.buttonIcon},showButtonText:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showButtonText},showButtonIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showButtonIcon},showRemoveButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showRemoveButton},showDownloadButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showDownloadButton},showPreview:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showPreview},tipText:String,hintText:String,previewMethod:Function,uploadMethod:Function,beforeRemoveMethod:Function,removeMethod:Function,beforeDownloadMethod:Function,downloadMethod:Function,getUrlMethod:Function,getThumbnailUrlMethod:Function,size:{type:String,default:()=>(0,_ui.getConfig)().upload.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","add","remove","remove-fail","download","download-fail","upload-success","upload-error"],setup(C,e){const{emit:a,slots:f}=e,w=(0,_vue.inject)("$xeForm",null),I=(0,_vue.inject)("xeFormItemInfo",null);var o=_xeUtils.default.uniqueId();const h=(0,_ui.useSize)(C)["computeSize"],n=(0,_vue.ref)(),M=(0,_vue.reactive)({isDrag:!1,showMorePopup:!1,fileList:[],fileCacheMaps:{}}),r={imagePreviewTypes:["jpg","jpeg","png","gif"]},l={refElem:n},x=(0,_vue.computed)(()=>{var e=C["readonly"];return null===e?!!w&&w.props.readonly:e}),y=(0,_vue.computed)(()=>{var e=C["disabled"];return null===e?!!w&&w.props.disabled:e}),b=(0,_vue.computed)(()=>C.keyField||"_X_KEY"),d=(0,_vue.computed)(()=>"image"===C.mode),D=(0,_vue.computed)(()=>C.nameField||"name"),U=(0,_vue.computed)(()=>C.typeField||"type"),V=(0,_vue.computed)(()=>C.urlField||"url"),B=(0,_vue.computed)(()=>C.sizeField||"size"),z=(0,_vue.computed)(()=>1024*_xeUtils.default.toNumber(C.limitSize)*1024),P=(0,_vue.computed)(()=>C.multiple?_xeUtils.default.toNumber(C.limitCount):1),c=(0,_vue.computed)(()=>{var e=C["multiple"],o=M["fileList"],t=P.value;return e?!t||o.length>=t:1<=o.length}),T=(0,_vue.computed)(()=>{var e=_xeUtils.default.toNumber(C.limitSize);return e?1048576<e?e/1048576+"T":1024<e?e/1024+"G":e+"M":""}),g=(0,_vue.computed)(()=>{var{limitSize:e,fileTypes:o,multiple:t,limitCount:i}=C,l=C.tipText||C.hintText,a=d.value,u=T.value;return _xeUtils.default.isString(l)?l:(l=[],a?(t&&i&&l.push((0,_ui.getI18n)("vxe.upload.imgCountHint",[i])),e&&u&&l.push((0,_ui.getI18n)("vxe.upload.imgSizeHint",[u]))):(o&&o.length&&l.push((0,_ui.getI18n)("vxe.upload.fileTypeHint",[o.join("/")])),e&&u&&l.push((0,_ui.getI18n)("vxe.upload.fileSizeHint",[u])),t&&i&&l.push((0,_ui.getI18n)("vxe.upload.fileCountHint",[i]))),l.join((0,_ui.getI18n)("vxe.base.comma")))}),u=(0,_vue.computed)(()=>Object.assign({},C.imageStyle)),_=(0,_vue.computed)(()=>{var{width:e,height:o}=u.value,t={};return e&&(t.width=(0,_dom.toCssUnit)(e)),o&&(t.height=(0,_dom.toCssUnit)(o)),t}),s=(0,_vue.computed)(()=>Object.assign({showMoreButton:!0},C.moreConfig)),k={},m={xID:o,props:C,context:e,reactData:M,internalData:r,getRefMaps:()=>l,getComputeMaps:()=>k},L=()=>_xeUtils.default.uniqueId(),S=e=>{return e[b.value]},t=()=>{var{modelValue:e,multiple:o}=C,t=x.value;const i=b.value,l=D.value,a=U.value,u=V.value,n=B.value;e=e?(e?_xeUtils.default.isArray(e)?e:[e]:[]).map(e=>{if(!e||_xeUtils.default.isString(e)){var o=""+(e||"");const t=decodeURIComponent(""+(o||"")).split("/").pop()||"";return{[l]:t,[a]:N(t),[u]:o,[n]:0,[i]:L()}}const t=e[l]||"";return e[l]=t,e[a]=e[a]||N(t),e[u]=e[u]||"",e[n]=e[n]||0,e[i]=e[i]||L(),e}):[];M.fileList=t||o?e:e.slice(0,1)},N=e=>{var o=e?e.indexOf("."):-1;return-1<o?e.substring(o+1,e.length).toLowerCase():""},E=(e,o,t)=>{a(e,(0,_ui.createEvent)(t,{$upload:m},o))},F=e=>{var{singleMode:o,urlMode:t}=C;const i=V.value;let l=e?e.slice(0):[];t&&(l=l.map(e=>e[i])),a("update:modelValue",o?l[0]||null:l)},R=e=>{var o=C.getThumbnailUrlMethod||(0,_ui.getConfig)().upload.getThumbnailUrlMethod;return o?o({$upload:m,option:e}):v(e)},v=e=>{var o=C.getUrlMethod||(0,_ui.getConfig)().upload.getUrlMethod,t=V.value;return o?o({$upload:m,option:e}):e[t]},j=(e,o)=>{var t=C.previewMethod||(0,_ui.getConfig)().upload.previewMethod;if(C.showPreview)if(t)t({$upload:m,option:o});else{var i=o;var{imageTypes:t,showDownloadButton:o}=C;const a=U.value,u=C.beforeDownloadMethod||(0,_ui.getConfig)().upload.beforeDownloadMethod;var l=r["imagePreviewTypes"];l.concat(t||[]).some(e=>(""+e).toLowerCase()===(""+i[a]).toLowerCase())&&_ui.VxeUI.previewImage&&_ui.VxeUI.previewImage({urlList:[v(i)],showDownloadButton:o,beforeDownloadMethod:u?()=>u({$upload:m,option:i}):void 0})}},$=(e,o,t)=>{var i=C["showDownloadButton"];const l=M["fileList"],a=C.beforeDownloadMethod||(0,_ui.getConfig)().upload.beforeDownloadMethod;C.showPreview&&_ui.VxeUI.previewImage&&_ui.VxeUI.previewImage({urlList:l.map(e=>v(e)),activeIndex:t,showDownloadButton:i,beforeDownloadMethod:a?({index:e})=>a({$upload:m,option:l[e]}):void 0})},O=(t,e)=>{const i=C["showErrorStatus"],l=S(t);var o=C.uploadMethod||(0,_ui.getConfig)().upload.uploadMethod;return o?Promise.resolve(o({$upload:m,file:e,option:t,updateProgress(e){var o=M["fileCacheMaps"],o=o[S(t)];o&&(o.percent=Math.max(0,Math.min(99,_xeUtils.default.toNumber(e))))}})).then(e=>{var o=M["fileCacheMaps"],o=o[l];o&&(o.percent=100),Object.assign(t,e),E("upload-success",{option:t,data:e},null)}).catch(e=>{var o=M["fileCacheMaps"],o=o[l];o&&(o.status="error"),i?Object.assign(t,e):M.fileList=M.fileList.filter(e=>S(e)!==l),E("upload-error",{option:t,data:e},null)}).finally(()=>{var e=M["fileCacheMaps"],e=e[l];e&&(e.loading=!1)}):(o=M["fileCacheMaps"],(e=o[l])&&(e.loading=!1),Promise.resolve())},A=e=>{const{uploadMethod:o,urlMode:t}=C;var i,l=M["fileCacheMaps"],l=l[S(e)];(o||(0,_ui.getConfig)().upload.uploadMethod)&&l&&(i=l.file,l.loading=!0,l.status="",l.percent=0,O(e,i).then(()=>{t&&F(M.fileList)}))},q=(o,i)=>{var{multiple:e,urlMode:t}=C,l=M["fileList"];const a=C.uploadMethod||(0,_ui.getConfig)().upload.uploadMethod,u=b.value,n=D.value,r=U.value,d=V.value,s=B.value;var v=z.value;const p=P.value;var c=T.value;let g=o;if(e&&p){if(l.length>=p)return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.notification({title:(0,_ui.getI18n)("vxe.modal.errTitle"),status:"error",content:(0,_ui.getI18n)("vxe.upload.overCountErr",[p])}));const f=g.length-(p-l.length);if(0<f){const x=g.slice(p-l.length);_ui.VxeUI.modal&&_ui.VxeUI.modal.notification({title:(0,_ui.getI18n)("vxe.modal.errTitle"),status:"error",slots:{default(){return(0,_vue.h)("div",{class:"vxe-upload--file-message-over-error"},[(0,_vue.h)("div",{},(0,_ui.getI18n)("vxe.upload.overCountExtraErr",[p,f])),(0,_vue.h)("div",{class:"vxe-upload--file-message-over-extra"},x.map((e,o)=>(0,_vue.h)("div",{key:o,class:"vxe-upload--file-message-over-extra-item"},e.name)))])}}})}g=g.slice(0,p-l.length)}if(v)for(let e=0;e<o.length;e++)if(o[0].size>v)return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.notification({title:(0,_ui.getI18n)("vxe.modal.errTitle"),status:"error",content:(0,_ui.getI18n)("vxe.upload.overSizeErr",[c])}));const m=Object.assign({},M.fileCacheMaps),_=e?l:[],h=[];g.forEach(e=>{var o=e["name"],t=L(),o={[n]:o,[r]:N(o),[s]:e.size,[d]:"",[u]:t},t=(a&&(m[t]={file:e,loading:!0,status:"",percent:0}),(0,_vue.reactive)(o));a&&h.push(O(t,e)),_.push(t),E("add",{option:t},i)}),M.fileList=_,M.fileCacheMaps=m,Promise.all(t?h:[]).then(()=>{F(_),w&&I&&w.triggerItemEvent(i,I.itemConfig.field,_)})},H=o=>{var{multiple:e,imageTypes:t,fileTypes:i}=C,l=y.value,a=d.value;return l?Promise.resolve({status:!1,files:[],file:null}):(0,_util.readLocalFile)({multiple:e,types:a?t:i}).then(e=>(q(e.files,o),e))},G=e=>{H(e).catch(()=>{})},Y=(e,o,t)=>{var i=M["fileList"];i.splice(t,1),F(i),w&&I&&w.triggerItemEvent(e,I.itemConfig.field,i),E("remove",{option:o},e)},X=(o,t,i)=>{var e=C.beforeRemoveMethod||(0,_ui.getConfig)().upload.beforeRemoveMethod;const l=C.removeMethod||(0,_ui.getConfig)().upload.removeMethod;Promise.resolve(!e||e({$upload:m,option:t})).then(e=>{e?l?Promise.resolve(l({$upload:m,option:t})).then(()=>{Y(o,t,i)}).catch(e=>e):Y(o,t,i):E("remove-fail",{option:t},o)})},K=(e,o)=>{E("download",{option:o},e)},W=(o,t)=>{var e=C.beforeDownloadMethod||(0,_ui.getConfig)().upload.beforeDownloadMethod;const i=C.downloadMethod||(0,_ui.getConfig)().upload.downloadMethod;Promise.resolve(!e||e({$upload:m,option:t})).then(e=>{e?i?Promise.resolve(i({$upload:m,option:t})).then(()=>{K(o,t)}).catch(e=>e):K(o,t):E("download-fail",{option:t},o)})},J=e=>{var o,t,i,l=e.currentTarget,{clientX:e,clientY:a}=e;l&&({x:l,y:o,height:t,width:i}=l.getBoundingClientRect(),e<l||l+i<e||a<o||o+t<a)&&(M.isDrag=!1)},Q=e=>{var o=e.dataTransfer;o&&(o=o["items"],o)&&o.length&&(e.preventDefault(),M.isDrag=!0)},Z=e=>{var o=e.dataTransfer;if(o){o=o["items"];if(o&&o.length){const t=[];Array.from(o).forEach(e=>{e=e.getAsFile();e&&t.push(e)}),q(t,e),e.preventDefault()}}M.isDrag=!1},ee=()=>{const l=x.value,a=d.value;_ui.VxeUI.modal&&_ui.VxeUI.modal.open({title:l?(0,_ui.getI18n)("vxe.upload.morePopup.readTitle"):(0,_ui.getI18n)("vxe.upload.morePopup."+(a?"imageTitle":"fileTitle")),width:660,height:500,escClosable:!0,showMaximize:!0,resize:!0,maskClosable:!0,slots:{default(){var e=C["showErrorStatus"],o=M["isDrag"],t=y.value,i=M["fileList"];return(0,_vue.h)("div",{class:["vxe-upload--more-popup",{"is--readonly":l,"is--disabled":t,"show--error":e,"is--drag":o}],onDragover:Q,onDragleave:J,onDrop:Z},[a?(0,_vue.h)("div",{class:"vxe-upload--image-more-list"},te(i,!0).concat(ie(!0))):(0,_vue.h)("div",{class:"vxe-upload--file-more-list"},[p(!0),(0,_vue.h)("div",{class:"vxe-upload--file-list"},oe(i,!0))]),o?(0,_vue.h)("div",{class:"vxe-upload--drag-placeholder"},(0,_ui.getI18n)("vxe.upload.dragPlaceholder")):(0,_vue.createCommentVNode)()])}},onShow(){M.showMorePopup=!0},onHide(){M.showMorePopup=!1}})};o={dispatchEvent:E,choose(){return H(null)}};Object.assign(m,o,{});const oe=(e,a)=>{const{showRemoveButton:u,showDownloadButton:n,showProgress:r,progressText:d,showPreview:s,showErrorStatus:v}=C,p=M["fileCacheMaps"],c=y.value,g=x.value,m=D.value,_=U.value,h=f.corner;return e.map((o,t)=>{var e=S(o),e=p[e];const i=e&&e.loading,l=e&&"error"===e.status;return(0,_vue.h)("div",{key:t,class:["vxe-upload--file-item",{"is--preview":s,"is--loading":i,"is--error":l}]},[(0,_vue.h)("div",{class:"vxe-upload--file-item-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)()["UPLOAD_FILE_TYPE_"+(""+o[_]).toLocaleUpperCase()]||(0,_ui.getIcon)().UPLOAD_FILE_TYPE_DEFAULT})]),(0,_vue.h)("div",{class:"vxe-upload--file-item-name",onClick(e){i||l||j(e,o)}},""+(o[m]||"")),i?(0,_vue.h)("div",{class:"vxe-upload--file-item-loading-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_LOADING})]):(0,_vue.createCommentVNode)(),r&&i&&e?(0,_vue.h)("div",{class:"vxe-upload--file-item-loading-text"},d?_xeUtils.default.toFormatString(d,{percent:e.percent}):(0,_ui.getI18n)("vxe.upload.uploadProgress",[e.percent])):(0,_vue.createCommentVNode)(),v&&l?(0,_vue.h)("div",{class:"vxe-upload--image-item-error"},[(0,_vue.h)(_button.default,{icon:(0,_ui.getIcon)().UPLOAD_IMAGE_RE_UPLOAD,mode:"text",status:"primary",content:(0,_ui.getI18n)("vxe.upload.reUpload"),onClick(){A(o)}})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-upload--file-item-btn-wrapper"},[h?(0,_vue.h)("div",{class:"vxe-upload--file-item-corner"},(0,_vn.getSlotVNs)(h({option:o,isMoreView:a,readonly:g}))):(0,_vue.createCommentVNode)(),n&&!i?(0,_vue.h)("div",{class:"vxe-upload--file-item-download-btn",onClick(e){W(e,o)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_FILE_DOWNLOAD})]):(0,_vue.createCommentVNode)(),!u||g||c||i?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--file-item-remove-btn",onClick(e){X(e,o,t)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_FILE_REMOVE})])])])})},p=e=>{var{showUploadButton:o,buttonText:t,buttonIcon:i,showButtonText:l,showButtonIcon:a,autoHiddenButton:u}=C,n=y.value,r=x.value,d=g.value,s=c.value,v=f.default,p=f.tip||f.hint;return r||!o?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--file-action"},[u&&s?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--file-action-btn",onClick:G},v?(0,_vn.getSlotVNs)(v({$upload:m})):[(0,_vue.h)(_button.default,{class:"vxe-upload--file-action-button",content:e||l?t?""+t:(0,_ui.getI18n)("vxe.upload.fileBtnText"):"",icon:a?i||(0,_ui.getIcon)().UPLOAD_FILE_ADD:"",disabled:n})]),e&&(d||p)?(0,_vue.h)("div",{class:"vxe-upload--file-action-tip"},p?(0,_vn.getSlotVNs)(p({$upload:m})):d):(0,_vue.createCommentVNode)()])},te=(e,a)=>{const{showRemoveButton:u,showProgress:n,progressText:r,showPreview:d,showErrorStatus:s}=C,v=M["fileCacheMaps"],p=y.value,c=x.value,g=_.value,m=f.corner;return e.map((o,t)=>{var e=S(o),e=v[e];const i=e&&e.loading,l=e&&"error"===e.status;return(0,_vue.h)("div",{key:t,class:["vxe-upload--image-item",{"is--preview":d,"is--loading":i,"is--error":l}]},[(0,_vue.h)("div",{class:"vxe-upload--image-item-box",style:a?null:g,title:(0,_ui.getI18n)("vxe.upload.viewItemTitle"),onClick(e){i||l||$(e,o,t)}},[i&&e?(0,_vue.h)("div",{class:"vxe-upload--image-item-loading"},[(0,_vue.h)("div",{class:"vxe-upload--image-item-loading-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_LOADING})]),n?(0,_vue.h)("div",{class:"vxe-upload--image-item-loading-text"},r?_xeUtils.default.toFormatString(r,{percent:e.percent}):(0,_ui.getI18n)("vxe.upload.uploadProgress",[e.percent])):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),i?(0,_vue.createCommentVNode)():l&&s?(0,_vue.h)("div",{class:"vxe-upload--image-item-error"},[(0,_vue.h)(_button.default,{icon:(0,_ui.getIcon)().UPLOAD_IMAGE_RE_UPLOAD,mode:"text",status:"primary",content:(0,_ui.getI18n)("vxe.upload.reUpload"),onClick(){A(o)}})]):(0,_vue.h)("img",{class:"vxe-upload--image-item-img",src:R(o)}),(0,_vue.h)("div",{class:"vxe-upload--image-item-btn-wrapper",onClick(e){e.stopPropagation()}},[m?(0,_vue.h)("div",{class:"vxe-upload--file-item-corner"},(0,_vn.getSlotVNs)(m({option:o,isMoreView:a,readonly:c}))):(0,_vue.createCommentVNode)(),!u||c||p||i?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--image-item-remove-btn",onClick(e){e.stopPropagation(),X(e,o,t)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_IMAGE_REMOVE})])])])])})},ie=e=>{var{showUploadButton:o,buttonText:t,buttonIcon:i,showButtonText:l,showButtonIcon:a,autoHiddenButton:u}=C,n=x.value,r=g.value,d=c.value,s=_.value,v=f.default,p=f.hint;return n||!o||u&&d?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{key:"action",class:"vxe-upload--image-action"},[(0,_vue.h)("div",{class:"vxe-upload--image-action-btn",onClick:G},v?v({$upload:m}):[(0,_vue.h)("div",{class:"vxe-upload--image-action-box",style:e?null:s},[a?(0,_vue.h)("div",{class:"vxe-upload--image-action-icon"},[(0,_vue.h)("i",{class:i||(0,_ui.getIcon)().UPLOAD_IMAGE_ADD})]):(0,_vue.createCommentVNode)(),e||l?(0,_vue.h)("div",{class:"vxe-upload--image-action-content"},t?""+t:(0,_ui.getI18n)("vxe.upload.imgBtnText")):(0,_vue.createCommentVNode)(),e&&(r||p)?(0,_vue.h)("div",{class:"vxe-upload--image-action-hint"},p?(0,_vn.getSlotVNs)(p({$upload:m})):r):(0,_vue.createCommentVNode)()])])])};m.renderVN=()=>{var e=C["showErrorStatus"],{isDrag:o,showMorePopup:t}=M,i=h.value,l=y.value,a=x.value,u=d.value;return(0,_vue.h)("div",{ref:n,class:["vxe-upload",{["size--"+i]:i,"is--readonly":a,"is--disabled":l,"show--error":e,"is--drag":o}],onDragover:Q,onDragleave:J,onDrop:Z},[(u?()=>{var e=M["fileList"],{maxCount:o,showMoreButton:t}=s.value;let i=e,l=0;return o&&e.length>o&&(l=e.length-o,i=e.slice(0,o)),(0,_vue.h)("div",{key:"image",class:"vxe-upload--image-wrapper"},[(0,_vue.h)("div",{class:"vxe-upload--image-list"},te(i,!1).concat([t&&l?(0,_vue.h)("div",{class:"vxe-upload--image-over-more"},[(0,_vue.h)(_button.default,{mode:"text",content:(0,_ui.getI18n)("vxe.upload.moreBtnText",[e.length]),status:"primary",onClick:ee})]):(0,_vue.createCommentVNode)(),ie(!1)]))])}:()=>{var e=C["moreConfig"],o=M["fileList"],{maxCount:t,showMoreButton:i,layout:l}=s.value,l="horizontal"===l;let a=o,u=0;return t&&o.length>t&&(u=o.length-t,a=o.slice(0,t)),(0,_vue.h)("div",{key:"all",class:"vxe-upload--file-wrapper"},[i&&e&&l?(0,_vue.createCommentVNode)():p(!0),a.length||i&&l?(0,_vue.h)("div",{class:["vxe-upload--file-list-wrapper",{"is--horizontal":l}]},[a.length?(0,_vue.h)("div",{class:"vxe-upload--file-list"},oe(a,!1)):(0,_vue.createCommentVNode)(),i&&u?(0,_vue.h)("div",{class:"vxe-upload--file-over-more"},[(0,_vue.h)(_button.default,{mode:"text",content:(0,_ui.getI18n)("vxe.upload.moreBtnText",[o.length]),status:"primary",onClick:ee})]):(0,_vue.createCommentVNode)(),i&&e&&l?p(!1):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()])})(),o&&!t?(0,_vue.h)("div",{class:"vxe-upload--drag-placeholder"},(0,_ui.getI18n)("vxe.upload.dragPlaceholder")):(0,_vue.createCommentVNode)()])};const i=(0,_vue.ref)(0);return(0,_vue.watch)(()=>C.modelValue?C.modelValue.length:0,()=>{i.value++}),(0,_vue.watch)(()=>C.modelValue,()=>{i.value++}),(0,_vue.watch)(i,()=>{t()}),(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&C.multiple&&C.singleMode&&(0,_log.errLog)("vxe.error.errConflicts",["multiple","single-mode"])}),(0,_vue.onUnmounted)(()=>{M.isDrag=!1}),t(),m},render(){return this.renderVN()}});
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_vn=require("../..//ui/src/vn"),_log=require("../../ui/src/log"),_dom=require("../../ui/src/dom"),_util=require("./util"),_button=_interopRequireDefault(require("../../button/src/button"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeUpload",props:{modelValue:[Array,String,Object],showList:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showList},moreConfig:Object,readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},mode:{type:String,default:()=>(0,_ui.getConfig)().upload.mode},imageTypes:{type:Array,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().upload.imageTypes,!0)},imageStyle:{type:Object,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().upload.imageStyle,!0)},fileTypes:{type:Array,default:()=>_xeUtils.default.clone((0,_ui.getConfig)().upload.fileTypes,!0)},keyField:String,singleMode:Boolean,urlMode:Boolean,multiple:Boolean,limitSize:{type:[String,Number],default:()=>(0,_ui.getConfig)().upload.limitSize},limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().upload.limitCount},nameField:{type:String,default:()=>(0,_ui.getConfig)().upload.nameField},typeField:{type:String,default:()=>(0,_ui.getConfig)().upload.typeField},urlField:{type:String,default:()=>(0,_ui.getConfig)().upload.urlField},sizeField:{type:String,default:()=>(0,_ui.getConfig)().upload.sizeField},showErrorStatus:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showErrorStatus},showProgress:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showProgress},progressText:{type:String,default:()=>(0,_ui.getConfig)().upload.progressText},autoHiddenButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.autoHiddenButton},showUploadButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showUploadButton},buttonText:{type:String,default:()=>(0,_ui.getConfig)().upload.buttonText},buttonIcon:{type:String,default:()=>(0,_ui.getConfig)().upload.buttonIcon},showButtonText:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showButtonText},showButtonIcon:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showButtonIcon},showRemoveButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showRemoveButton},showDownloadButton:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showDownloadButton},showPreview:{type:Boolean,default:()=>(0,_ui.getConfig)().upload.showPreview},tipText:String,hintText:String,previewMethod:Function,uploadMethod:Function,beforeRemoveMethod:Function,removeMethod:Function,beforeDownloadMethod:Function,downloadMethod:Function,getUrlMethod:Function,getThumbnailUrlMethod:Function,size:{type:String,default:()=>(0,_ui.getConfig)().upload.size||(0,_ui.getConfig)().size}},emits:["update:modelValue","add","remove","remove-fail","download","download-fail","upload-success","upload-error"],setup(C,e){const{emit:a,slots:f}=e,w=(0,_vue.inject)("$xeForm",null),I=(0,_vue.inject)("xeFormItemInfo",null);var o=_xeUtils.default.uniqueId();const h=(0,_ui.useSize)(C)["computeSize"],n=(0,_vue.ref)(),M=(0,_vue.reactive)({isDrag:!1,showMorePopup:!1,fileList:[],fileCacheMaps:{}}),r={imagePreviewTypes:["jpg","jpeg","png","gif"]},l={refElem:n},x=(0,_vue.computed)(()=>{var e=C["readonly"];return null===e?!!w&&w.props.readonly:e}),y=(0,_vue.computed)(()=>{var e=C["disabled"];return null===e?!!w&&w.props.disabled:e}),b=(0,_vue.computed)(()=>C.keyField||"_X_KEY"),d=(0,_vue.computed)(()=>"image"===C.mode),D=(0,_vue.computed)(()=>C.nameField||"name"),U=(0,_vue.computed)(()=>C.typeField||"type"),V=(0,_vue.computed)(()=>C.urlField||"url"),B=(0,_vue.computed)(()=>C.sizeField||"size"),z=(0,_vue.computed)(()=>1024*_xeUtils.default.toNumber(C.limitSize)*1024),P=(0,_vue.computed)(()=>C.multiple?_xeUtils.default.toNumber(C.limitCount):1),c=(0,_vue.computed)(()=>{var e=C["multiple"],o=M["fileList"],t=P.value;return e?!t||o.length>=t:1<=o.length}),T=(0,_vue.computed)(()=>{var e=_xeUtils.default.toNumber(C.limitSize);return e?1048576<e?e/1048576+"T":1024<e?e/1024+"G":e+"M":""}),g=(0,_vue.computed)(()=>{var{limitSize:e,fileTypes:o,multiple:t,limitCount:i}=C,l=C.tipText||C.hintText,a=d.value,u=T.value;return _xeUtils.default.isString(l)?l:(l=[],a?(t&&i&&l.push((0,_ui.getI18n)("vxe.upload.imgCountHint",[i])),e&&u&&l.push((0,_ui.getI18n)("vxe.upload.imgSizeHint",[u]))):(o&&o.length&&l.push((0,_ui.getI18n)("vxe.upload.fileTypeHint",[o.join("/")])),e&&u&&l.push((0,_ui.getI18n)("vxe.upload.fileSizeHint",[u])),t&&i&&l.push((0,_ui.getI18n)("vxe.upload.fileCountHint",[i]))),l.join((0,_ui.getI18n)("vxe.base.comma")))}),u=(0,_vue.computed)(()=>Object.assign({},C.imageStyle)),_=(0,_vue.computed)(()=>{var{width:e,height:o}=u.value,t={};return e&&(t.width=(0,_dom.toCssUnit)(e)),o&&(t.height=(0,_dom.toCssUnit)(o)),t}),s=(0,_vue.computed)(()=>Object.assign({showMoreButton:!0},C.moreConfig)),k={},m={xID:o,props:C,context:e,reactData:M,internalData:r,getRefMaps:()=>l,getComputeMaps:()=>k},L=()=>_xeUtils.default.uniqueId(),S=e=>{return e[b.value]},t=()=>{var{modelValue:e,multiple:o}=C,t=x.value;const i=b.value,l=D.value,a=U.value,u=V.value,n=B.value;e=e?(e?_xeUtils.default.isArray(e)?e:[e]:[]).map(e=>{if(!e||_xeUtils.default.isString(e)){var o=""+(e||"");const t=decodeURIComponent(""+(o||"")).split("/").pop()||"";return{[l]:t,[a]:N(t),[u]:o,[n]:0,[i]:L()}}const t=e[l]||"";return e[l]=t,e[a]=e[a]||N(t),e[u]=e[u]||"",e[n]=e[n]||0,e[i]=e[i]||L(),e}):[];M.fileList=t||o?e:e.slice(0,1)},N=e=>{var o=e?e.indexOf("."):-1;return-1<o?e.substring(o+1,e.length).toLowerCase():""},E=(e,o,t)=>{a(e,(0,_ui.createEvent)(t,{$upload:m},o))},F=e=>{var{singleMode:o,urlMode:t}=C;const i=V.value;let l=e?e.slice(0):[];t&&(l=l.map(e=>e[i])),a("update:modelValue",o?l[0]||null:l)},R=e=>{var o=C.getThumbnailUrlMethod||(0,_ui.getConfig)().upload.getThumbnailUrlMethod;return o?o({$upload:m,option:e}):v(e)},v=e=>{var o=C.getUrlMethod||(0,_ui.getConfig)().upload.getUrlMethod,t=V.value;return o?o({$upload:m,option:e}):e[t]},j=(e,o)=>{var t=C.previewMethod||(0,_ui.getConfig)().upload.previewMethod;if(C.showPreview)if(t)t({$upload:m,option:o});else{var i=o;var{imageTypes:t,showDownloadButton:o}=C;const a=U.value,u=C.beforeDownloadMethod||(0,_ui.getConfig)().upload.beforeDownloadMethod;var l=r["imagePreviewTypes"];l.concat(t||[]).some(e=>(""+e).toLowerCase()===(""+i[a]).toLowerCase())&&_ui.VxeUI.previewImage&&_ui.VxeUI.previewImage({urlList:[v(i)],showDownloadButton:o,beforeDownloadMethod:u?()=>u({$upload:m,option:i}):void 0})}},$=(e,o,t)=>{var i=C["showDownloadButton"];const l=M["fileList"],a=C.beforeDownloadMethod||(0,_ui.getConfig)().upload.beforeDownloadMethod;C.showPreview&&_ui.VxeUI.previewImage&&_ui.VxeUI.previewImage({urlList:l.map(e=>v(e)),activeIndex:t,showDownloadButton:i,beforeDownloadMethod:a?({index:e})=>a({$upload:m,option:l[e]}):void 0})},O=(t,e)=>{const i=C["showErrorStatus"],l=S(t);var o=C.uploadMethod||(0,_ui.getConfig)().upload.uploadMethod;return o?Promise.resolve(o({$upload:m,file:e,option:t,updateProgress(e){var o=M["fileCacheMaps"],o=o[S(t)];o&&(o.percent=Math.max(0,Math.min(99,_xeUtils.default.toNumber(e))))}})).then(e=>{var o=M["fileCacheMaps"],o=o[l];o&&(o.percent=100),Object.assign(t,e),E("upload-success",{option:t,data:e},null)}).catch(e=>{var o=M["fileCacheMaps"],o=o[l];o&&(o.status="error"),i?Object.assign(t,e):M.fileList=M.fileList.filter(e=>S(e)!==l),E("upload-error",{option:t,data:e},null)}).finally(()=>{var e=M["fileCacheMaps"],e=e[l];e&&(e.loading=!1)}):(o=M["fileCacheMaps"],(e=o[l])&&(e.loading=!1),Promise.resolve())},A=e=>{const{uploadMethod:o,urlMode:t}=C;var i,l=M["fileCacheMaps"],l=l[S(e)];(o||(0,_ui.getConfig)().upload.uploadMethod)&&l&&(i=l.file,l.loading=!0,l.status="",l.percent=0,O(e,i).then(()=>{t&&F(M.fileList)}))},q=(o,i)=>{var{multiple:e,urlMode:t}=C,l=M["fileList"];const a=C.uploadMethod||(0,_ui.getConfig)().upload.uploadMethod,u=b.value,n=D.value,r=U.value,d=V.value,s=B.value;var v=z.value;const p=P.value;var c=T.value;let g=o;if(e&&p){if(l.length>=p)return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.notification({title:(0,_ui.getI18n)("vxe.modal.errTitle"),status:"error",content:(0,_ui.getI18n)("vxe.upload.overCountErr",[p])}));const f=g.length-(p-l.length);if(0<f){const x=g.slice(p-l.length);_ui.VxeUI.modal&&_ui.VxeUI.modal.notification({title:(0,_ui.getI18n)("vxe.modal.errTitle"),status:"error",slots:{default(){return(0,_vue.h)("div",{class:"vxe-upload--file-message-over-error"},[(0,_vue.h)("div",{},(0,_ui.getI18n)("vxe.upload.overCountExtraErr",[p,f])),(0,_vue.h)("div",{class:"vxe-upload--file-message-over-extra"},x.map((e,o)=>(0,_vue.h)("div",{key:o,class:"vxe-upload--file-message-over-extra-item"},e.name)))])}}})}g=g.slice(0,p-l.length)}if(v)for(let e=0;e<o.length;e++)if(o[0].size>v)return void(_ui.VxeUI.modal&&_ui.VxeUI.modal.notification({title:(0,_ui.getI18n)("vxe.modal.errTitle"),status:"error",content:(0,_ui.getI18n)("vxe.upload.overSizeErr",[c])}));const m=Object.assign({},M.fileCacheMaps),_=e?l:[],h=[];g.forEach(e=>{var o=e["name"],t=L(),o={[n]:o,[r]:N(o),[s]:e.size,[d]:"",[u]:t},t=(a&&(m[t]={file:e,loading:!0,status:"",percent:0}),(0,_vue.reactive)(o));a&&h.push(O(t,e)),_.push(t),E("add",{option:t},i)}),M.fileList=_,M.fileCacheMaps=m,Promise.all(t?h:[]).then(()=>{F(_),w&&I&&w.triggerItemEvent(i,I.itemConfig.field,_)})},H=o=>{var{multiple:e,imageTypes:t,fileTypes:i}=C,l=y.value,a=d.value;return l?Promise.resolve({status:!1,files:[],file:null}):(0,_util.readLocalFile)({multiple:e,types:a?t:i}).then(e=>(q(e.files,o),e))},G=e=>{H(e).catch(()=>{})},Y=(e,o,t)=>{var i=M["fileList"];i.splice(t,1),F(i),w&&I&&w.triggerItemEvent(e,I.itemConfig.field,i),E("remove",{option:o},e)},X=(o,t,i)=>{var e=C.beforeRemoveMethod||(0,_ui.getConfig)().upload.beforeRemoveMethod;const l=C.removeMethod||(0,_ui.getConfig)().upload.removeMethod;Promise.resolve(!e||e({$upload:m,option:t})).then(e=>{e?l?Promise.resolve(l({$upload:m,option:t})).then(()=>{Y(o,t,i)}).catch(e=>e):Y(o,t,i):E("remove-fail",{option:t},o)})},K=(e,o)=>{E("download",{option:o},e)},W=(o,t)=>{var e=C.beforeDownloadMethod||(0,_ui.getConfig)().upload.beforeDownloadMethod;const i=C.downloadMethod||(0,_ui.getConfig)().upload.downloadMethod;Promise.resolve(!e||e({$upload:m,option:t})).then(e=>{e?i?Promise.resolve(i({$upload:m,option:t})).then(()=>{K(o,t)}).catch(e=>e):K(o,t):E("download-fail",{option:t},o)})},J=e=>{var o,t,i,l=e.currentTarget,{clientX:e,clientY:a}=e;l&&({x:l,y:o,height:t,width:i}=l.getBoundingClientRect(),e<l||l+i<e||a<o||o+t<a)&&(M.isDrag=!1)},Q=e=>{var o=e.dataTransfer;o&&(o=o["items"],o)&&o.length&&(e.preventDefault(),M.isDrag=!0)},Z=e=>{var o=e.dataTransfer;if(o){o=o["items"];if(o&&o.length){const t=[];Array.from(o).forEach(e=>{e=e.getAsFile();e&&t.push(e)}),q(t,e),e.preventDefault()}}M.isDrag=!1},ee=()=>{const l=x.value,a=d.value;_ui.VxeUI.modal&&_ui.VxeUI.modal.open({title:l?(0,_ui.getI18n)("vxe.upload.morePopup.readTitle"):(0,_ui.getI18n)("vxe.upload.morePopup."+(a?"imageTitle":"fileTitle")),width:660,height:500,escClosable:!0,showMaximize:!0,resize:!0,maskClosable:!0,slots:{default(){var e=C["showErrorStatus"],o=M["isDrag"],t=y.value,i=M["fileList"];return(0,_vue.h)("div",{class:["vxe-upload--more-popup",{"is--readonly":l,"is--disabled":t,"show--error":e,"is--drag":o}],onDragover:Q,onDragleave:J,onDrop:Z},[a?(0,_vue.h)("div",{class:"vxe-upload--image-more-list"},te(i,!0).concat(ie(!0))):(0,_vue.h)("div",{class:"vxe-upload--file-more-list"},[p(!0),(0,_vue.h)("div",{class:"vxe-upload--file-list"},oe(i,!0))]),o?(0,_vue.h)("div",{class:"vxe-upload--drag-placeholder"},(0,_ui.getI18n)("vxe.upload.dragPlaceholder")):(0,_vue.createCommentVNode)()])}},onShow(){M.showMorePopup=!0},onHide(){M.showMorePopup=!1}})};o={dispatchEvent:E,choose(){return H(null)}};Object.assign(m,o,{});const oe=(e,a)=>{const{showRemoveButton:u,showDownloadButton:n,showProgress:r,progressText:d,showPreview:s,showErrorStatus:v}=C,p=M["fileCacheMaps"],c=y.value,g=x.value,m=D.value,_=U.value,h=f.corner;return e.map((o,t)=>{var e=S(o),e=p[e];const i=e&&e.loading,l=e&&"error"===e.status;return(0,_vue.h)("div",{key:t,class:["vxe-upload--file-item",{"is--preview":s,"is--loading":i,"is--error":l}]},[(0,_vue.h)("div",{class:"vxe-upload--file-item-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)()["UPLOAD_FILE_TYPE_"+(""+o[_]).toLocaleUpperCase()]||(0,_ui.getIcon)().UPLOAD_FILE_TYPE_DEFAULT})]),(0,_vue.h)("div",{class:"vxe-upload--file-item-name",onClick(e){i||l||j(e,o)}},""+(o[m]||"")),i?(0,_vue.h)("div",{class:"vxe-upload--file-item-loading-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_LOADING})]):(0,_vue.createCommentVNode)(),r&&i&&e?(0,_vue.h)("div",{class:"vxe-upload--file-item-loading-text"},d?_xeUtils.default.toFormatString(d,{percent:e.percent}):(0,_ui.getI18n)("vxe.upload.uploadProgress",[e.percent])):(0,_vue.createCommentVNode)(),v&&l?(0,_vue.h)("div",{class:"vxe-upload--image-item-error"},[(0,_vue.h)(_button.default,{icon:(0,_ui.getIcon)().UPLOAD_IMAGE_RE_UPLOAD,mode:"text",status:"primary",content:(0,_ui.getI18n)("vxe.upload.reUpload"),onClick(){A(o)}})]):(0,_vue.createCommentVNode)(),(0,_vue.h)("div",{class:"vxe-upload--file-item-btn-wrapper"},[h?(0,_vue.h)("div",{class:"vxe-upload--file-item-corner"},(0,_vn.getSlotVNs)(h({option:o,isMoreView:a,readonly:g}))):(0,_vue.createCommentVNode)(),n&&!i?(0,_vue.h)("div",{class:"vxe-upload--file-item-download-btn",onClick(e){W(e,o)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_FILE_DOWNLOAD})]):(0,_vue.createCommentVNode)(),!u||g||c||i?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--file-item-remove-btn",onClick(e){X(e,o,t)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_FILE_REMOVE})])])])})},p=e=>{var{showUploadButton:o,buttonText:t,buttonIcon:i,showButtonText:l,showButtonIcon:a,autoHiddenButton:u}=C,n=y.value,r=x.value,d=g.value,s=c.value,v=f.default,p=f.tip||f.hint;return r||!o?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--file-action"},[u&&s?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--file-action-btn",onClick:G},v?(0,_vn.getSlotVNs)(v({$upload:m})):[(0,_vue.h)(_button.default,{class:"vxe-upload--file-action-button",content:e||l?t?""+t:(0,_ui.getI18n)("vxe.upload.fileBtnText"):"",icon:a?i||(0,_ui.getIcon)().UPLOAD_FILE_ADD:"",disabled:n})]),e&&(d||p)?(0,_vue.h)("div",{class:"vxe-upload--file-action-tip"},p?(0,_vn.getSlotVNs)(p({$upload:m})):d):(0,_vue.createCommentVNode)()])},te=(e,a)=>{const{showRemoveButton:u,showProgress:n,progressText:r,showPreview:d,showErrorStatus:s}=C,v=M["fileCacheMaps"],p=y.value,c=x.value,g=_.value,m=f.corner;return e.map((o,t)=>{var e=S(o),e=v[e];const i=e&&e.loading,l=e&&"error"===e.status;return(0,_vue.h)("div",{key:t,class:["vxe-upload--image-item",{"is--preview":d,"is--loading":i,"is--error":l}]},[(0,_vue.h)("div",{class:"vxe-upload--image-item-box",style:a?null:g,title:(0,_ui.getI18n)("vxe.upload.viewItemTitle"),onClick(e){i||l||$(e,o,t)}},[i&&e?(0,_vue.h)("div",{class:"vxe-upload--image-item-loading"},[(0,_vue.h)("div",{class:"vxe-upload--image-item-loading-icon"},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_LOADING})]),n?(0,_vue.h)("div",{class:"vxe-upload--image-item-loading-text"},r?_xeUtils.default.toFormatString(r,{percent:e.percent}):(0,_ui.getI18n)("vxe.upload.uploadProgress",[e.percent])):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)(),i?(0,_vue.createCommentVNode)():l&&s?(0,_vue.h)("div",{class:"vxe-upload--image-item-error"},[(0,_vue.h)(_button.default,{icon:(0,_ui.getIcon)().UPLOAD_IMAGE_RE_UPLOAD,mode:"text",status:"primary",content:(0,_ui.getI18n)("vxe.upload.reUpload"),onClick(){A(o)}})]):(0,_vue.h)("img",{class:"vxe-upload--image-item-img",src:R(o)}),(0,_vue.h)("div",{class:"vxe-upload--image-item-btn-wrapper",onClick(e){e.stopPropagation()}},[m?(0,_vue.h)("div",{class:"vxe-upload--file-item-corner"},(0,_vn.getSlotVNs)(m({option:o,isMoreView:a,readonly:c}))):(0,_vue.createCommentVNode)(),!u||c||p||i?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:"vxe-upload--image-item-remove-btn",onClick(e){e.stopPropagation(),X(e,o,t)}},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().UPLOAD_IMAGE_REMOVE})])])])])})},ie=e=>{var{showUploadButton:o,buttonText:t,buttonIcon:i,showButtonText:l,showButtonIcon:a,autoHiddenButton:u}=C,n=x.value,r=g.value,d=c.value,s=_.value,v=f.default,p=f.hint;return n||!o||u&&d?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{key:"action",class:"vxe-upload--image-action"},[(0,_vue.h)("div",{class:"vxe-upload--image-action-btn",onClick:G},v?v({$upload:m}):[(0,_vue.h)("div",{class:"vxe-upload--image-action-box",style:e?null:s},[a?(0,_vue.h)("div",{class:"vxe-upload--image-action-icon"},[(0,_vue.h)("i",{class:i||(0,_ui.getIcon)().UPLOAD_IMAGE_ADD})]):(0,_vue.createCommentVNode)(),e||l?(0,_vue.h)("div",{class:"vxe-upload--image-action-content"},t?""+t:(0,_ui.getI18n)("vxe.upload.imgBtnText")):(0,_vue.createCommentVNode)(),e&&(r||p)?(0,_vue.h)("div",{class:"vxe-upload--image-action-hint"},p?(0,_vn.getSlotVNs)(p({$upload:m})):r):(0,_vue.createCommentVNode)()])])])};const i=(0,_vue.ref)(0);return(0,_vue.watch)(()=>C.modelValue?C.modelValue.length:0,()=>{i.value++}),(0,_vue.watch)(()=>C.modelValue,()=>{i.value++}),(0,_vue.watch)(i,()=>{t()}),(0,_vue.onMounted)(()=>{"development"===process.env.NODE_ENV&&C.multiple&&C.singleMode&&(0,_log.errLog)("vxe.error.errConflicts",["multiple","single-mode"])}),(0,_vue.onUnmounted)(()=>{M.isDrag=!1}),t(),m.renderVN=()=>{var e=C["showErrorStatus"],{isDrag:o,showMorePopup:t}=M,i=h.value,l=y.value,a=x.value,u=d.value;return(0,_vue.h)("div",{ref:n,class:["vxe-upload",{["size--"+i]:i,"is--readonly":a,"is--disabled":l,"show--error":e,"is--drag":o}],onDragover:Q,onDragleave:J,onDrop:Z},[(u?()=>{var e=M["fileList"],{maxCount:o,showMoreButton:t}=s.value;let i=e,l=0;return o&&e.length>o&&(l=e.length-o,i=e.slice(0,o)),(0,_vue.h)("div",{key:"image",class:"vxe-upload--image-wrapper"},[(0,_vue.h)("div",{class:"vxe-upload--image-list"},te(i,!1).concat([t&&l?(0,_vue.h)("div",{class:"vxe-upload--image-over-more"},[(0,_vue.h)(_button.default,{mode:"text",content:(0,_ui.getI18n)("vxe.upload.moreBtnText",[e.length]),status:"primary",onClick:ee})]):(0,_vue.createCommentVNode)(),ie(!1)]))])}:()=>{var e=C["moreConfig"],o=M["fileList"],{maxCount:t,showMoreButton:i,layout:l}=s.value,l="horizontal"===l;let a=o,u=0;return t&&o.length>t&&(u=o.length-t,a=o.slice(0,t)),(0,_vue.h)("div",{key:"all",class:"vxe-upload--file-wrapper"},[i&&e&&l?(0,_vue.createCommentVNode)():p(!0),a.length||i&&l?(0,_vue.h)("div",{class:["vxe-upload--file-list-wrapper",{"is--horizontal":l}]},[a.length?(0,_vue.h)("div",{class:"vxe-upload--file-list"},oe(a,!1)):(0,_vue.createCommentVNode)(),i&&u?(0,_vue.h)("div",{class:"vxe-upload--file-over-more"},[(0,_vue.h)(_button.default,{mode:"text",content:(0,_ui.getI18n)("vxe.upload.moreBtnText",[o.length]),status:"primary",onClick:ee})]):(0,_vue.createCommentVNode)(),i&&e&&l?p(!1):(0,_vue.createCommentVNode)()]):(0,_vue.createCommentVNode)()])})(),o&&!t?(0,_vue.h)("div",{class:"vxe-upload--drag-placeholder"},(0,_ui.getI18n)("vxe.upload.dragPlaceholder")):(0,_vue.createCommentVNode)()])},m},render(){return this.renderVN()}});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-pc-ui",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.21",
|
|
4
4
|
"description": "A vue based PC component library",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"style": "lib/style.css",
|
|
26
26
|
"typings": "types/index.d.ts",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@vxe-ui/core": "^4.0.
|
|
28
|
+
"@vxe-ui/core": "^4.0.9"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
|
@@ -79,10 +79,10 @@ export default defineComponent({
|
|
|
79
79
|
}, defaultSlot ? defaultSlot({}) : renderItems())
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
$xeBreadcrumb.renderVN = renderVN
|
|
83
|
-
|
|
84
82
|
provide('$xeBreadcrumb', $xeBreadcrumb)
|
|
85
83
|
|
|
84
|
+
$xeBreadcrumb.renderVN = renderVN
|
|
85
|
+
|
|
86
86
|
return $xeBreadcrumb
|
|
87
87
|
},
|
|
88
88
|
render () {
|
|
@@ -5,31 +5,55 @@ import { toCssUnit } from '../..//ui/src/dom'
|
|
|
5
5
|
import VxeButtonComponent from '../../button/src/button'
|
|
6
6
|
import XEUtils from 'xe-utils'
|
|
7
7
|
|
|
8
|
-
import type { VxeCalendarConstructor, VxeCalendarEmits, CalendarReactData, CalendarMethods, VxeCalendarPropTypes, CalendarPrivateRef, VxeDatePickerDefines } from '../../../types'
|
|
8
|
+
import type { VxeCalendarConstructor, VxeCalendarEmits, CalendarInternalData, CalendarReactData, CalendarMethods, VxeCalendarPropTypes, CalendarPrivateRef, VxeDatePickerDefines } from '../../../types'
|
|
9
9
|
|
|
10
10
|
export default defineComponent({
|
|
11
11
|
name: 'VxeCalendar',
|
|
12
12
|
props: {
|
|
13
13
|
modelValue: [String, Number, Date] as PropType<VxeCalendarPropTypes.ModelValue>,
|
|
14
|
-
type: {
|
|
14
|
+
type: {
|
|
15
|
+
type: String as PropType<VxeCalendarPropTypes.Type>,
|
|
16
|
+
default: 'date'
|
|
17
|
+
},
|
|
15
18
|
className: String as PropType<VxeCalendarPropTypes.ClassName>,
|
|
16
|
-
size: {
|
|
19
|
+
size: {
|
|
20
|
+
type: String as PropType<VxeCalendarPropTypes.Size>,
|
|
21
|
+
default: () => getConfig().calendar.size || getConfig().size
|
|
22
|
+
},
|
|
17
23
|
multiple: Boolean as PropType<VxeCalendarPropTypes.Multiple>,
|
|
18
24
|
|
|
19
25
|
width: [String, Number] as PropType<VxeCalendarPropTypes.Width>,
|
|
20
26
|
height: [String, Number] as PropType<VxeCalendarPropTypes.Height>,
|
|
21
27
|
|
|
22
28
|
// date、week、month、quarter、year
|
|
23
|
-
minDate: {
|
|
24
|
-
|
|
25
|
-
|
|
29
|
+
minDate: {
|
|
30
|
+
type: [String, Number, Date] as PropType<VxeCalendarPropTypes.MinDate>,
|
|
31
|
+
default: () => getConfig().calendar.minDate
|
|
32
|
+
},
|
|
33
|
+
maxDate: {
|
|
34
|
+
type: [String, Number, Date] as PropType<VxeCalendarPropTypes.MaxDate>,
|
|
35
|
+
default: () => getConfig().calendar.maxDate
|
|
36
|
+
},
|
|
37
|
+
startDay: {
|
|
38
|
+
type: [String, Number] as PropType<VxeCalendarPropTypes.StartDay>,
|
|
39
|
+
default: () => getConfig().calendar.startDay
|
|
40
|
+
},
|
|
26
41
|
labelFormat: String as PropType<VxeCalendarPropTypes.LabelFormat>,
|
|
27
42
|
valueFormat: String as PropType<VxeCalendarPropTypes.ValueFormat>,
|
|
28
|
-
festivalMethod: {
|
|
29
|
-
|
|
43
|
+
festivalMethod: {
|
|
44
|
+
type: Function as PropType<VxeCalendarPropTypes.FestivalMethod>,
|
|
45
|
+
default: () => getConfig().calendar.festivalMethod
|
|
46
|
+
},
|
|
47
|
+
disabledMethod: {
|
|
48
|
+
type: Function as PropType<VxeCalendarPropTypes.DisabledMethod>,
|
|
49
|
+
default: () => getConfig().calendar.disabledMethod
|
|
50
|
+
},
|
|
30
51
|
|
|
31
52
|
// week
|
|
32
|
-
selectDay: {
|
|
53
|
+
selectDay: {
|
|
54
|
+
type: [String, Number] as PropType<VxeCalendarPropTypes.SelectDay>,
|
|
55
|
+
default: () => getConfig().calendar.selectDay
|
|
56
|
+
}
|
|
33
57
|
},
|
|
34
58
|
emits: [
|
|
35
59
|
'update:modelValue',
|
|
@@ -46,10 +70,6 @@ export default defineComponent({
|
|
|
46
70
|
|
|
47
71
|
const { computeSize } = useSize(props)
|
|
48
72
|
|
|
49
|
-
const yearSize = 12
|
|
50
|
-
const monthSize = 20
|
|
51
|
-
const quarterSize = 8
|
|
52
|
-
|
|
53
73
|
const reactData = reactive<CalendarReactData>({
|
|
54
74
|
selectValue: props.modelValue,
|
|
55
75
|
inputValue: props.modelValue,
|
|
@@ -60,19 +80,13 @@ export default defineComponent({
|
|
|
60
80
|
currentDate: null
|
|
61
81
|
})
|
|
62
82
|
|
|
63
|
-
const
|
|
83
|
+
const internalData: CalendarInternalData = {
|
|
84
|
+
yearSize: 12,
|
|
85
|
+
monthSize: 20,
|
|
86
|
+
quarterSize: 8
|
|
87
|
+
}
|
|
64
88
|
|
|
65
|
-
const
|
|
66
|
-
const { height, width } = props
|
|
67
|
-
const stys: Record<string, string> = {}
|
|
68
|
-
if (width) {
|
|
69
|
-
stys.width = toCssUnit(width)
|
|
70
|
-
}
|
|
71
|
-
if (height) {
|
|
72
|
-
stys.height = toCssUnit(height)
|
|
73
|
-
}
|
|
74
|
-
return stys
|
|
75
|
-
})
|
|
89
|
+
const refElem = ref() as Ref<HTMLDivElement>
|
|
76
90
|
|
|
77
91
|
const refMaps: CalendarPrivateRef = {
|
|
78
92
|
refElem
|
|
@@ -83,14 +97,23 @@ export default defineComponent({
|
|
|
83
97
|
props,
|
|
84
98
|
context,
|
|
85
99
|
reactData,
|
|
100
|
+
internalData,
|
|
86
101
|
getRefMaps: () => refMaps
|
|
87
102
|
} as unknown as VxeCalendarConstructor
|
|
88
103
|
|
|
89
104
|
let calendarMethods = {} as CalendarMethods
|
|
90
105
|
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
106
|
+
const computeCalendarStyle = computed(() => {
|
|
107
|
+
const { height, width } = props
|
|
108
|
+
const stys: Record<string, string> = {}
|
|
109
|
+
if (width) {
|
|
110
|
+
stys.width = toCssUnit(width)
|
|
111
|
+
}
|
|
112
|
+
if (height) {
|
|
113
|
+
stys.height = toCssUnit(height)
|
|
114
|
+
}
|
|
115
|
+
return stys
|
|
116
|
+
})
|
|
94
117
|
|
|
95
118
|
const computeIsDisabled = computed(() => {
|
|
96
119
|
return false
|
|
@@ -198,6 +221,7 @@ export default defineComponent({
|
|
|
198
221
|
|
|
199
222
|
const computeYearList = computed(() => {
|
|
200
223
|
const { selectMonth, currentDate } = reactData
|
|
224
|
+
const { yearSize } = internalData
|
|
201
225
|
const years: VxeDatePickerDefines.DateYearItem[] = []
|
|
202
226
|
if (selectMonth && currentDate) {
|
|
203
227
|
const currFullYear = currentDate.getFullYear()
|
|
@@ -295,6 +319,7 @@ export default defineComponent({
|
|
|
295
319
|
|
|
296
320
|
const computeQuarterList = computed(() => {
|
|
297
321
|
const { selectMonth, currentDate } = reactData
|
|
322
|
+
const { quarterSize } = internalData
|
|
298
323
|
const quarters: VxeDatePickerDefines.DateQuarterItem[] = []
|
|
299
324
|
if (selectMonth && currentDate) {
|
|
300
325
|
const currFullYear = currentDate.getFullYear()
|
|
@@ -326,6 +351,7 @@ export default defineComponent({
|
|
|
326
351
|
|
|
327
352
|
const computeMonthList = computed(() => {
|
|
328
353
|
const { selectMonth, currentDate } = reactData
|
|
354
|
+
const { monthSize } = internalData
|
|
329
355
|
const months: VxeDatePickerDefines.DateMonthItem[] = []
|
|
330
356
|
if (selectMonth && currentDate) {
|
|
331
357
|
const currFullYear = currentDate.getFullYear()
|
|
@@ -410,7 +436,11 @@ export default defineComponent({
|
|
|
410
436
|
})
|
|
411
437
|
})
|
|
412
438
|
|
|
413
|
-
const
|
|
439
|
+
const parseDate = (value: VxeCalendarPropTypes.ModelValue, format: string) => {
|
|
440
|
+
return XEUtils.toStringDate(value, format)
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
const handleChange = (value: string, evnt: Event | { type: string }) => {
|
|
414
444
|
reactData.inputValue = value
|
|
415
445
|
emit('update:modelValue', value)
|
|
416
446
|
if (XEUtils.toValueString(props.modelValue) !== value) {
|
|
@@ -495,14 +525,14 @@ export default defineComponent({
|
|
|
495
525
|
const dateMultipleValue = computeDateMultipleValue.value
|
|
496
526
|
// 如果是日期类型
|
|
497
527
|
if (dateMultipleValue.some(val => XEUtils.isEqual(val, inpVal))) {
|
|
498
|
-
|
|
528
|
+
handleChange(dateMultipleValue.filter(val => !XEUtils.isEqual(val, inpVal)).join(','), { type: 'update' })
|
|
499
529
|
} else {
|
|
500
|
-
|
|
530
|
+
handleChange(dateMultipleValue.concat([inpVal]).join(','), { type: 'update' })
|
|
501
531
|
}
|
|
502
532
|
} else {
|
|
503
533
|
// 如果为单选
|
|
504
534
|
if (!XEUtils.isEqual(modelValue, inpVal)) {
|
|
505
|
-
|
|
535
|
+
handleChange(inpVal, { type: 'update' })
|
|
506
536
|
}
|
|
507
537
|
}
|
|
508
538
|
}
|
|
@@ -530,6 +560,7 @@ export default defineComponent({
|
|
|
530
560
|
const datePrevEvent = (evnt: Event) => {
|
|
531
561
|
const { type } = props
|
|
532
562
|
const { datePanelType, selectMonth } = reactData
|
|
563
|
+
const { yearSize } = internalData
|
|
533
564
|
const isDisabledPrevDateBtn = computeIsDisabledPrevDateBtn.value
|
|
534
565
|
if (!isDisabledPrevDateBtn) {
|
|
535
566
|
if (type === 'year') {
|
|
@@ -564,6 +595,7 @@ export default defineComponent({
|
|
|
564
595
|
const dateNextEvent = (evnt: Event) => {
|
|
565
596
|
const { type } = props
|
|
566
597
|
const { datePanelType, selectMonth } = reactData
|
|
598
|
+
const { yearSize } = internalData
|
|
567
599
|
const isDisabledNextDateBtn = computeIsDisabledNextDateBtn.value
|
|
568
600
|
if (!isDisabledNextDateBtn) {
|
|
569
601
|
if (type === 'year') {
|
|
@@ -720,13 +752,13 @@ export default defineComponent({
|
|
|
720
752
|
}]
|
|
721
753
|
}, extraItem && extraItem.label
|
|
722
754
|
? [
|
|
723
|
-
h('span', label),
|
|
755
|
+
h('span', `${label || ''}`),
|
|
724
756
|
h('span', {
|
|
725
757
|
class: ['vxe-calendar--date-label--extra', extraItem.important ? 'is-important' : '', extraItem.className],
|
|
726
758
|
style: extraItem.style
|
|
727
759
|
}, XEUtils.toValueString(extraItem.label))
|
|
728
760
|
]
|
|
729
|
-
: label)
|
|
761
|
+
: [`${label || ''}`])
|
|
730
762
|
]
|
|
731
763
|
const festivalLabel = festivalItem.label
|
|
732
764
|
if (festivalLabel) {
|
|
@@ -749,7 +781,7 @@ export default defineComponent({
|
|
|
749
781
|
}
|
|
750
782
|
return labels
|
|
751
783
|
}
|
|
752
|
-
return label
|
|
784
|
+
return `${label || ''}`
|
|
753
785
|
}
|
|
754
786
|
|
|
755
787
|
const renderDateDayTable = () => {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { defineComponent, ref, h, reactive, PropType, inject, watch, onMounted, onUnmounted } from 'vue'
|
|
2
|
+
import { createEvent } from '../../ui'
|
|
2
3
|
import { assembleCarouselItem, destroyCarouselItem } from './util'
|
|
3
4
|
import XEUtils from 'xe-utils'
|
|
4
5
|
|
|
5
|
-
import type { VxeCarouselItemPropTypes, CarouselItemReactData, CarouselItemPrivateRef, VxeCarouselItemEmits, VxeCarouselDefines, VxeCarouselItemPrivateComputed, VxeCarouselItemConstructor, VxeCarouselItemPrivateMethods, VxeCarouselConstructor, VxeCarouselPrivateMethods } from '../../../types'
|
|
6
|
+
import type { VxeCarouselItemPropTypes, CarouselItemReactData, CarouselItemPrivateRef, CarouselItemMethods, CarouselItemPrivateMethods, ValueOf, VxeCarouselItemEmits, VxeCarouselDefines, VxeCarouselItemPrivateComputed, VxeCarouselItemConstructor, VxeCarouselItemPrivateMethods, VxeCarouselConstructor, VxeCarouselPrivateMethods } from '../../../types'
|
|
6
7
|
|
|
7
8
|
export default defineComponent({
|
|
8
9
|
name: 'VxeCarouselItem',
|
|
@@ -14,7 +15,7 @@ export default defineComponent({
|
|
|
14
15
|
emits: [
|
|
15
16
|
] as VxeCarouselItemEmits,
|
|
16
17
|
setup (props, context) {
|
|
17
|
-
const { slots } = context
|
|
18
|
+
const { slots, emit } = context
|
|
18
19
|
|
|
19
20
|
const $xeCarousel = inject<(VxeCarouselConstructor & VxeCarouselPrivateMethods) | null>('$xeCarousel', null)
|
|
20
21
|
|
|
@@ -50,6 +51,19 @@ export default defineComponent({
|
|
|
50
51
|
getComputeMaps: () => computeMaps
|
|
51
52
|
} as unknown as VxeCarouselItemConstructor & VxeCarouselItemPrivateMethods
|
|
52
53
|
|
|
54
|
+
const dispatchEvent = (type: ValueOf<VxeCarouselItemEmits>, params: Record<string, any>, evnt: Event | null) => {
|
|
55
|
+
emit(type, createEvent(evnt, { $carouselItem: $xeCarouselItem }, params))
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
const carouselItemMethods: CarouselItemMethods = {
|
|
59
|
+
dispatchEvent
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
const carouselItemPrivateMethods: CarouselItemPrivateMethods = {
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
Object.assign($xeCarouselItem, carouselItemMethods, carouselItemPrivateMethods)
|
|
66
|
+
|
|
53
67
|
const renderVN = () => {
|
|
54
68
|
return h('div', {
|
|
55
69
|
ref: refElem
|
|
@@ -65,8 +79,9 @@ export default defineComponent({
|
|
|
65
79
|
})
|
|
66
80
|
|
|
67
81
|
onMounted(() => {
|
|
68
|
-
|
|
69
|
-
|
|
82
|
+
const elem = refElem.value
|
|
83
|
+
if ($xeCarousel && elem) {
|
|
84
|
+
assembleCarouselItem($xeCarousel, elem, itemConfig)
|
|
70
85
|
}
|
|
71
86
|
})
|
|
72
87
|
|