vxe-pc-ui 4.15.1 → 4.15.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/all.esm.js +107 -11
- package/es/date-panel/src/util.js +12 -0
- package/es/date-picker/src/date-picker.js +71 -5
- package/es/date-range-picker/src/date-range-picker.js +17 -2
- package/es/number-input/src/number-input.js +2 -3
- package/es/splitter/src/splitter.js +5 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/date-panel/src/util.js +13 -0
- package/lib/date-panel/src/util.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +82 -3
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +17 -2
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
- package/lib/index.umd.js +120 -11
- package/lib/index.umd.min.js +1 -1
- package/lib/number-input/src/number-input.js +2 -3
- package/lib/splitter/src/splitter.js +5 -1
- package/lib/splitter/src/splitter.min.js +1 -1
- package/lib/ui/index.js +1 -1
- 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/package.json +1 -1
- package/packages/date-panel/src/util.ts +13 -0
- package/packages/date-picker/src/date-picker.ts +73 -5
- package/packages/date-range-picker/src/date-range-picker.ts +15 -2
- package/packages/number-input/src/number-input.ts +2 -6
- package/packages/splitter/src/splitter.ts +5 -1
- package/types/components/date-picker.d.ts +18 -0
- package/types/components/date-range-picker.d.ts +4 -0
- package/types/components/splitter.d.ts +1 -0
- package/types/components/table.d.ts +29 -3
- /package/es/icon/{iconfont.1781675429363.ttf → iconfont.1781753592499.ttf} +0 -0
- /package/es/icon/{iconfont.1781675429363.woff → iconfont.1781753592499.woff} +0 -0
- /package/es/icon/{iconfont.1781675429363.woff2 → iconfont.1781753592499.woff2} +0 -0
- /package/es/{iconfont.1781675429363.ttf → iconfont.1781753592499.ttf} +0 -0
- /package/es/{iconfont.1781675429363.woff → iconfont.1781753592499.woff} +0 -0
- /package/es/{iconfont.1781675429363.woff2 → iconfont.1781753592499.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1781675429363.ttf → iconfont.1781753592499.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1781675429363.woff → iconfont.1781753592499.woff} +0 -0
- /package/lib/icon/style/{iconfont.1781675429363.woff2 → iconfont.1781753592499.woff2} +0 -0
- /package/lib/{iconfont.1781675429363.ttf → iconfont.1781753592499.ttf} +0 -0
- /package/lib/{iconfont.1781675429363.woff → iconfont.1781753592499.woff} +0 -0
- /package/lib/{iconfont.1781675429363.woff2 → iconfont.1781753592499.woff2} +0 -0
|
@@ -79,6 +79,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
79
79
|
labelFormat: String,
|
|
80
80
|
valueFormat: String,
|
|
81
81
|
timeFormat: String,
|
|
82
|
+
inputFormat: String,
|
|
82
83
|
editable: {
|
|
83
84
|
type: Boolean,
|
|
84
85
|
default: true
|
|
@@ -108,6 +109,7 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
108
109
|
type: Boolean,
|
|
109
110
|
default: () => (0, _ui.getConfig)().datePicker.autoClose
|
|
110
111
|
},
|
|
112
|
+
controlConfig: Object,
|
|
111
113
|
prefixIcon: String,
|
|
112
114
|
suffixIcon: String,
|
|
113
115
|
placement: String,
|
|
@@ -148,7 +150,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
148
150
|
inputLabel: ''
|
|
149
151
|
});
|
|
150
152
|
const internalData = {
|
|
151
|
-
hpTimeout: undefined
|
|
153
|
+
// hpTimeout: undefined,
|
|
154
|
+
parseInputKayMaps: {}
|
|
152
155
|
};
|
|
153
156
|
const refElem = (0, _vue.ref)();
|
|
154
157
|
const refInputTarget = (0, _vue.ref)();
|
|
@@ -287,6 +290,13 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
287
290
|
} = props;
|
|
288
291
|
return (0, _util.handleValueFormat)(type, valueFormat);
|
|
289
292
|
});
|
|
293
|
+
const computeDateInputFormat = (0, _vue.computed)(() => {
|
|
294
|
+
const {
|
|
295
|
+
type,
|
|
296
|
+
inputFormat
|
|
297
|
+
} = props;
|
|
298
|
+
return (0, _util.handleInputFormat)(type, inputFormat);
|
|
299
|
+
});
|
|
290
300
|
const computeFirstDayOfWeek = (0, _vue.computed)(() => {
|
|
291
301
|
const {
|
|
292
302
|
startDay
|
|
@@ -314,6 +324,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
314
324
|
return dateObj.label;
|
|
315
325
|
}).join(', ');
|
|
316
326
|
});
|
|
327
|
+
const computeControlOpts = (0, _vue.computed)(() => {
|
|
328
|
+
return Object.assign({}, (0, _ui.getConfig)().datePicker.controlConfig, props.controlConfig);
|
|
329
|
+
});
|
|
317
330
|
const updateModelValue = () => {
|
|
318
331
|
const {
|
|
319
332
|
modelValue
|
|
@@ -408,6 +421,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
408
421
|
reactData.isActivated = true;
|
|
409
422
|
if (!trigger || trigger === 'default') {
|
|
410
423
|
datePickerOpenEvent(evnt);
|
|
424
|
+
} else if (trigger === 'icon') {
|
|
425
|
+
hidePanel();
|
|
411
426
|
}
|
|
412
427
|
triggerEvent(evnt);
|
|
413
428
|
};
|
|
@@ -452,6 +467,37 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
452
467
|
}, evnt);
|
|
453
468
|
}
|
|
454
469
|
};
|
|
470
|
+
const handleArrowInputDate = (evnt, isUpArrow) => {
|
|
471
|
+
const {
|
|
472
|
+
multiple
|
|
473
|
+
} = props;
|
|
474
|
+
if (multiple) {
|
|
475
|
+
return;
|
|
476
|
+
}
|
|
477
|
+
const {
|
|
478
|
+
inputValue
|
|
479
|
+
} = reactData;
|
|
480
|
+
if (!inputValue) {
|
|
481
|
+
return;
|
|
482
|
+
}
|
|
483
|
+
const targetElem = refInputTarget.value;
|
|
484
|
+
if (!targetElem) {
|
|
485
|
+
return;
|
|
486
|
+
}
|
|
487
|
+
const {
|
|
488
|
+
parseInputKayMaps
|
|
489
|
+
} = internalData;
|
|
490
|
+
const inputFormat = computeDateInputFormat.value;
|
|
491
|
+
const selectionStart = targetElem.selectionStart || 0;
|
|
492
|
+
let selectKey = inputFormat[selectionStart];
|
|
493
|
+
if (!parseInputKayMaps[selectKey]) {
|
|
494
|
+
selectKey = inputFormat[selectionStart - 1];
|
|
495
|
+
}
|
|
496
|
+
const inputPaesrFn = parseInputKayMaps[selectKey];
|
|
497
|
+
if (inputPaesrFn) {
|
|
498
|
+
inputPaesrFn(evnt, targetElem, isUpArrow);
|
|
499
|
+
}
|
|
500
|
+
};
|
|
455
501
|
const blurEvent = evnt => {
|
|
456
502
|
const $datePanel = refDatePanel.value;
|
|
457
503
|
const {
|
|
@@ -478,6 +524,15 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
478
524
|
}
|
|
479
525
|
};
|
|
480
526
|
const keydownEvent = evnt => {
|
|
527
|
+
const {
|
|
528
|
+
controlConfig
|
|
529
|
+
} = props;
|
|
530
|
+
const controlOpts = computeControlOpts.value;
|
|
531
|
+
const isUpArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_UP);
|
|
532
|
+
const isDwArrow = _ui.globalEvents.hasKey(evnt, _ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);
|
|
533
|
+
if ((isUpArrow || isDwArrow) && controlOpts.isArrow && (controlConfig || controlOpts.enabled)) {
|
|
534
|
+
handleArrowInputDate(evnt, isUpArrow);
|
|
535
|
+
}
|
|
481
536
|
triggerEvent(evnt);
|
|
482
537
|
};
|
|
483
538
|
const keyupEvent = evnt => {
|
|
@@ -618,6 +673,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
618
673
|
} = reactData;
|
|
619
674
|
const targetElem = refInputTarget.value;
|
|
620
675
|
const panelElem = refInputPanel.value;
|
|
676
|
+
if (!panelElem) {
|
|
677
|
+
return (0, _vue.nextTick)();
|
|
678
|
+
}
|
|
621
679
|
const btnTransfer = computeBtnTransfer.value;
|
|
622
680
|
const popupOpts = computePopupOpts.value;
|
|
623
681
|
const handleStyle = () => {
|
|
@@ -667,12 +725,19 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
667
725
|
}
|
|
668
726
|
};
|
|
669
727
|
const clickIconEvent = evnt => {
|
|
728
|
+
const {
|
|
729
|
+
visiblePanel
|
|
730
|
+
} = reactData;
|
|
670
731
|
const popupOpts = computePopupOpts.value;
|
|
671
732
|
const {
|
|
672
733
|
trigger
|
|
673
734
|
} = popupOpts;
|
|
674
735
|
if (!trigger || trigger === 'default' || trigger === 'icon') {
|
|
675
|
-
|
|
736
|
+
if (visiblePanel) {
|
|
737
|
+
hidePanel();
|
|
738
|
+
} else {
|
|
739
|
+
datePickerOpenEvent(evnt);
|
|
740
|
+
}
|
|
676
741
|
}
|
|
677
742
|
};
|
|
678
743
|
const clickEvent = evnt => {
|
|
@@ -802,6 +867,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
802
867
|
return (0, _ui.renderEmptyElement)($xeDatePicker);
|
|
803
868
|
};
|
|
804
869
|
const renderPanel = () => {
|
|
870
|
+
const popupOpts = computePopupOpts.value;
|
|
871
|
+
if (popupOpts.enabled === false) {
|
|
872
|
+
return (0, _ui.renderEmptyElement)($xeDatePicker);
|
|
873
|
+
}
|
|
805
874
|
const {
|
|
806
875
|
type,
|
|
807
876
|
multiple,
|
|
@@ -823,7 +892,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
823
892
|
const isDateTimeType = computeIsDateTimeType.value;
|
|
824
893
|
const shortcutList = computeShortcutList.value;
|
|
825
894
|
const timeOpts = computeTimeOpts.value;
|
|
826
|
-
const popupOpts = computePopupOpts.value;
|
|
827
895
|
const {
|
|
828
896
|
position
|
|
829
897
|
} = shortcutOpts;
|
|
@@ -1043,6 +1111,17 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1043
1111
|
_ui.globalEvents.on($xeDatePicker, 'blur', handleGlobalBlurEvent);
|
|
1044
1112
|
_ui.globalEvents.on($xeDatePicker, 'resize', handleGlobalResizeEvent);
|
|
1045
1113
|
});
|
|
1114
|
+
(0, _vue.onMounted)(() => {
|
|
1115
|
+
const {
|
|
1116
|
+
parseInputKayMaps
|
|
1117
|
+
} = internalData;
|
|
1118
|
+
const inputKeys = ['y', 'M', 'd', 'H', 'm', 'n'];
|
|
1119
|
+
inputKeys.forEach(key => {
|
|
1120
|
+
parseInputKayMaps[key] = evnt => {
|
|
1121
|
+
evnt.preventDefault();
|
|
1122
|
+
};
|
|
1123
|
+
});
|
|
1124
|
+
});
|
|
1046
1125
|
(0, _vue.onUnmounted)(() => {
|
|
1047
1126
|
_ui.globalEvents.off($xeDatePicker, 'mousewheel');
|
|
1048
1127
|
_ui.globalEvents.off($xeDatePicker, 'mousedown');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("../../date-panel/src/util"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePicker",props:{modelValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().datePicker.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.endDate},defaultDate:[String,Number,Date],defaultTime:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.autoClose},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},timeConfig:Object,popupConfig:Object,shortcutConfig:Object,startWeek:Number},emits:["update:modelValue","input","change","keydown","keyup","click","focus","blur","clear","confirm","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(D,e){let{slots:E,emit:n}=e,s=(0,_vue.inject)("$xeModal",null),d=(0,_vue.inject)("$xeDrawer",null),g=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),v=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let P=(0,_ui.useSize)(D).computeSize,V=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,inputValue:"",inputLabel:""}),a={hpTimeout:void 0},h=(0,_vue.ref)(),y=(0,_vue.ref)(),w=(0,_vue.ref)(),S=(0,_vue.ref)(),T=(0,_vue.ref)(),b={refElem:h,refInput:y},I={xID:t,props:D,context:e,reactData:V,internalData:a,getRefMaps:()=>b},N=(0,_vue.computed)(()=>{var e=D.transfer,t=B.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().datePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(g||s||d||o)return!0}return e}),x=(0,_vue.computed)(()=>{var e=D.readonly;return null===e?!!o&&o.props.readonly:e}),k=(0,_vue.computed)(()=>{var e=D.disabled;return null===e?!!o&&o.props.disabled:e}),F=(0,_vue.computed)(()=>{var e=D.type;return"time"===e||"datetime"===e}),L=(0,_vue.computed)(()=>F.value||-1<["date","week","month","quarter","year"].indexOf(D.type)),A=(0,_vue.computed)(()=>D.clearable),U=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=D;return x.value||a||!t||"week"===e||"quarter"===e}),O=(0,_vue.computed)(()=>{var e=D.placeholder;return(e=e||(0,_ui.getConfig)().datePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),l=(0,_vue.computed)(()=>{var e=D.immediate;return e}),$=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.timeConfig,D.timeConfig)),B=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.popupConfig,D.popupConfig)),q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,D.shortcutConfig)),z=(0,_vue.computed)(()=>{var e=q.value.options;return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),R=(0,_vue.computed)(()=>{var e=D.labelFormat;return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+D.type)}),c=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=D;return(0,_util.handleValueFormat)(e,t)}),p=(0,_vue.computed)(()=>{var e=D.startDay;return _xeUtils.default.toNumber(e)}),C=(0,_vue.computed)(()=>{let{type:t,multiple:e}=D;var a=V.inputValue;let l=R.value,i=c.value,u=p.value;return(a?e?a.split(","):[a]:[]).map(e=>(0,_util.parseDateObj)(e,t,{valueFormat:i,labelFormat:l,firstDay:u}).label).join(", ")}),i=()=>{var e=D.modelValue;let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),V.inputValue=t},u=e=>{var t=V.inputValue;_(e.type,{value:t},e)},m=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=D,r=c.value;V.inputValue=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}))?a.getTime():null,n("update:modelValue",a),i!==a&&(_("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}),n("update:modelValue",a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&(_("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(n("update:modelValue",e),_xeUtils.default.toValueString(i)!==e&&(_("change",{value:e},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,e))},K=e=>{var t=e.target.value;V.inputLabel=t,_("input",{value:t},e)},G=e=>{l.value||u(e)},Y=e=>{var t=B.value.trigger;V.isActivated=!0,t&&"default"!==t||se(e),u(e)},Z=e=>{var t;k.value||(t=V.inputValue,_("prefix-click",{value:t},e))},f=()=>new Promise(e=>{V.visiblePanel=!1,a.hpTimeout=setTimeout(()=>{V.isAniVisible=!1,e()},350)}),j=(e,t)=>{L.value&&f(),m("",e),_("clear",{value:t},e)},W=e=>{var t;k.value||(t=V.inputValue,_("suffix-click",{value:t},e))},H=e=>{var t=T.value,a=V.inputValue;l.value||m(a,e),V.visiblePanel||(V.isActivated=!1,t&&t.checkValue(V.inputLabel)),_("blur",{value:a},e),o&&v&&o.triggerItemEvent(e,v.itemConfig.field,a)},J=e=>{u(e)},Q=e=>{u(e)},X=e=>{var t=T.value;t&&t.confirmByEvent(e),f()},ee=e=>{var{multiple:t,autoClose:a}=D,{value:e,$event:l}=e,i=F.value;m(e,l),t||i||a&&f()},te=e=>{_("confirm",e,e.$event)},ae=e=>{V.inputLabel=e.label},le=e=>{var t=T.value,{visiblePanel:a,isActivated:l}=V,i=h.value,u=S.value;!k.value&&l&&(V.isActivated=(0,_dom.getEventTargetNode)(e,i).flag||(0,_dom.getEventTargetNode)(e,u).flag,V.isActivated||a&&(f(),t)&&t.checkValue(V.inputLabel))},ie=e=>{var t,a=V.visiblePanel;k.value||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),t&&(V.isActivated=!1),a&&(e||t)&&f())},ue=e=>{var t=V.visiblePanel;k.value||t&&(t=S.value,((0,_dom.getEventTargetNode)(e,t).flag?r:f)())},re=()=>{var e=T.value,{isActivated:t,visiblePanel:a}=V;a&&f(),t&&(V.isActivated=!1),(a||t)&&(e&&e.checkValue(V.inputLabel),a=y.value)&&a.blur()},ne=()=>{var e=V.visiblePanel;e&&r()},oe=()=>{var e=B.value.zIndex||D.zIndex;e?V.panelIndex=_xeUtils.default.toNumber(e):V.panelIndex<(0,_utils.getLastZIndex)()&&(V.panelIndex=(0,_utils.nextZIndex)())},r=()=>{let a=D.placement,l=V.panelIndex,i=y.value,u=w.value,r=N.value,n=B.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:n.placement||a,defaultPlacement:n.defaultPlacement,teleportTo:r}),t=Object.assign(e.style,{zIndex:l});V.panelStyle=t,V.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},ve=()=>{var e=V.visiblePanel;return(k.value||e?(0,_vue.nextTick):(V.initialized||(V.initialized=!0),a.hpTimeout&&(clearTimeout(a.hpTimeout),a.hpTimeout=void 0),V.isActivated=!0,V.isAniVisible=!0,setTimeout(()=>{V.visiblePanel=!0,r()},10),oe(),r))()},se=e=>{x.value||(e.preventDefault(),ve())},de=e=>{var t=B.value.trigger;t&&"default"!==t&&"icon"!==t||se(e)},ce=e=>{u(e)},pe=({option:e,$event:t})=>{var a=D.type,l=V.inputValue,i=q.value,u=i.autoClose,{code:r,clickMethod:n}=e,o=l,v={$datePicker:I,option:e,value:o,code:r};if(!n&&r){l=_ui.commands.get(r),e=l?l.datePickerCommandMethod:null;if(e)e(v);else{var s=c.value,d=p.value;switch(r){case"now":case"prev":case"next":case"minus":case"plus":o=(0,_util.getDateByCode)(r,o,a,{valueFormat:s,firstDay:d}).value;v.value=o,m(o,t);break;default:(0,_log.errLog)("vxe.error.notCommands",["[date-picker] "+r])}}}else{l=n||i.clickMethod;l&&l(v)}u&&f(),_("shortcut-click",v,t)},_=(e,t,a)=>{n(e,(0,_ui.createEvent)(a,{$datePicker:I},t))};t={dispatchEvent:_,setModelValue(e){V.inputValue=e,n("update:modelValue",e)},setModelValueByEvent(e,t){m(t||"",e)},focus(){var e=y.value;return V.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return y.value.blur(),(V.isActivated=!1,_vue.nextTick)()},select(){return y.value.select(),(V.isActivated=!1,_vue.nextTick)()},showPanel:ve,hidePanel:f,updatePlacement:r};Object.assign(I,t);let M=(e,t)=>{var a=q.value,{position:l,align:i,mode:u}=a,r=z.value;return(0,_utils.isEnableConf)(a)&&r.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:r,mode:u,align:i,vertical:t,onClick:pe})]):(0,_ui.renderEmptyElement)(I)},me=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:de},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(C,e=>{V.inputLabel=e}),(0,_vue.watch)(()=>D.modelValue,()=>{i()}),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(I,"mousewheel",ue),_ui.globalEvents.on(I,"mousedown",le),_ui.globalEvents.on(I,"keydown",ie),_ui.globalEvents.on(I,"blur",re),_ui.globalEvents.on(I,"resize",ne)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(I,"mousewheel"),_ui.globalEvents.off(I,"mousedown"),_ui.globalEvents.off(I,"blur"),_ui.globalEvents.off(I,"resize")}),i(),(0,_vue.provide)("$xeDatePicker",I),I.renderVN=()=>{var e,t,a,l,i,u,r,{className:n,type:o,name:v,autoComplete:s}=D,{inputValue:d,inputLabel:c,visiblePanel:p,isActivated:m}=V,f=P.value,_=k.value,g=x.value,b=C.value;return g?(0,_vue.h)("div",{ref:h,class:["vxe-date-picker--readonly","type--"+o,n]},b):(g=U.value,b=O.value,e=A.value,a=D.prefixIcon,t=(t=E.prefix)||a?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:Z},[(0,_vue.h)("div",{class:"vxe-date-picker--prefix-icon"},t?(0,_vn.getSlotVNs)(t({})):[(0,_vue.h)("i",{class:a})])]):null,a=D.suffixIcon,l=V.inputValue,i=E.suffix,u=k.value,r=A.value,u=(0,_vue.h)("div",{class:["vxe-date-picker--suffix",{"is--clear":r&&!u&&!(""===l||_xeUtils.default.eqNull(l))}]},[r?(0,_vue.h)("div",{class:"vxe-date-picker--clear-icon",onClick:j},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(I),me(),i||a?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:W},i?(0,_vn.getSlotVNs)(i({})):[(0,_vue.h)("i",{class:a})]):(0,_ui.renderEmptyElement)(I)]),(0,_vue.h)("div",{ref:h,class:["vxe-date-picker","type--"+o,n,{["size--"+f]:f,"is--prefix":!!t,"is--suffix":!!u,"is--visible":p,"is--disabled":_,"is--active":m,"show--clear":e&&!_&&!(""===d||_xeUtils.default.eqNull(d))}],spellcheck:!1},[t||(0,_ui.renderEmptyElement)(I),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:y,class:"vxe-date-picker--inner",value:c,name:v,type:"text",placeholder:b,readonly:g,disabled:_,autocomplete:s,onKeydown:J,onKeyup:Q,onClick:ce,onInput:K,onChange:G,onFocus:Y,onBlur:H})]),u||(0,_ui.renderEmptyElement)(I),(()=>{var{type:e,multiple:t,showClearButton:a,showConfirmButton:l}=D,{initialized:i,isAniVisible:u,visiblePanel:r,panelPlacement:n,panelStyle:o,inputValue:v}=V,s=P.value,d=N.value,c=q.value,p=A.value,m=F.value,f=z.value,_=$.value,g=B.value,c=c.position,b=E.header,h=E.footer,y=E.top,x=E.bottom,k=E.left,C=E.right,g=g.className,f=0<f.length,m=null===l?m||t:l,t=null===a?p&&m&&"time"!==e:a;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!d||!i},[(0,_vue.h)("div",{ref:w,class:["vxe-table--ignore-clear vxe-date-picker--panel","type--"+e,g?_xeUtils.default.isFunction(g)?g({$datePicker:I}):g:"",{["size--"+s]:s,"is--transfer":d,"ani--leave":u,"ani--enter":r,"show--top":!!(y||b||f&&("top"===c||"header"===c)),"show--bottom":!!(x||h||f&&("bottom"===c||"footer"===c)),"show--left":!!(k||f&&"left"===c),"show--right":!!(C||f&&"right"===c)}],placement:n,style:o},i&&(r||u)?[(0,_vue.h)("div",{ref:S,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+s]:s}]},[y?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},y({})):M("top"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-layout-wrapper"},[k?(0,_vue.h)("div",{class:"vxe-date-picker--layout-left-wrapper"},k({})):M("left",!0),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-content-wrapper"},[b?(0,_vue.h)("div",{class:"vxe-date-picker--layout-header-wrapper"},b({})):M("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:T,modelValue:V.inputValue,type:D.type,className:D.className,multiple:D.multiple,limitCount:D.limitCount,startDate:D.startDate,endDate:D.endDate,defaultDate:D.defaultDate,defaultTime:D.defaultTime,minDate:D.minDate,maxDate:D.maxDate,startDay:D.startDay,labelFormat:D.labelFormat,valueFormat:D.valueFormat,timeFormat:D.timeFormat,timeConfig:_,festivalMethod:D.festivalMethod,disabledMethod:D.disabledMethod,selectDay:D.selectDay,onChange:ee,onConfirm:te,onRevert:ae})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},h?h({}):[M("footer")]),t||m?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[t?(0,_vue.h)(_button.default,{size:"mini",disabled:""===v||_xeUtils.default.eqNull(v),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:j}):(0,_ui.renderEmptyElement)(I),m?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:X}):(0,_ui.renderEmptyElement)(I)]):(0,_ui.renderEmptyElement)(I)])]),C?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},C({})):M("right",!0)]),x?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},x({})):M("bottom")])]:[])])})()]))},I},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_util=require("../../date-panel/src/util"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDatePicker",props:{modelValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.clearable},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().datePicker.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.endDate},defaultDate:[String,Number,Date],defaultTime:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,inputFormat:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePicker.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().datePicker.autoClose},controlConfig:Object,prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},timeConfig:Object,popupConfig:Object,shortcutConfig:Object,startWeek:Number},emits:["update:modelValue","input","change","keydown","keyup","click","focus","blur","clear","confirm","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(E,e){let{slots:D,emit:n}=e,r=(0,_vue.inject)("$xeModal",null),d=(0,_vue.inject)("$xeDrawer",null),g=(0,_vue.inject)("$xeTable",null),o=(0,_vue.inject)("$xeForm",null),v=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();let P=(0,_ui.useSize)(E).computeSize,V=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,inputValue:"",inputLabel:""}),s={parseInputKayMaps:{}},w=(0,_vue.ref)(),S=(0,_vue.ref)(),T=(0,_vue.ref)(),I=(0,_vue.ref)(),N=(0,_vue.ref)(),b={refElem:w,refInput:S},A={xID:t,props:E,context:e,reactData:V,internalData:s,getRefMaps:()=>b},F=(0,_vue.computed)(()=>{var e=E.transfer,t=z.value;if(_xeUtils.default.isBoolean(t.transfer))return t.transfer;if(null===e){t=(0,_ui.getConfig)().datePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(g||r||d||o)return!0}return e}),B=(0,_vue.computed)(()=>{var e=E.readonly;return null===e?!!o&&o.props.readonly:e}),q=(0,_vue.computed)(()=>{var e=E.disabled;return null===e?!!o&&o.props.disabled:e}),M=(0,_vue.computed)(()=>{var e=E.type;return"time"===e||"datetime"===e}),h=(0,_vue.computed)(()=>M.value||-1<["date","week","month","quarter","year"].indexOf(E.type)),O=(0,_vue.computed)(()=>E.clearable),$=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=E;return B.value||a||!t||"week"===e||"quarter"===e}),G=(0,_vue.computed)(()=>{var e=E.placeholder;return(e=e||(0,_ui.getConfig)().datePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),l=(0,_vue.computed)(()=>{var e=E.immediate;return e}),W=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.timeConfig,E.timeConfig)),z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.popupConfig,E.popupConfig)),j=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,E.shortcutConfig)),L=(0,_vue.computed)(()=>{var e=j.value.options;return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),y=(0,_vue.computed)(()=>{var e=E.labelFormat;return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+E.type)}),c=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=E;return(0,_util.handleValueFormat)(e,t)}),x=(0,_vue.computed)(()=>{var{type:e,inputFormat:t}=E;return(0,_util.handleInputFormat)(e,t)}),p=(0,_vue.computed)(()=>{var e=E.startDay;return _xeUtils.default.toNumber(e)}),U=(0,_vue.computed)(()=>{let{type:t,multiple:e}=E;var a=V.inputValue;let l=y.value,i=c.value,u=p.value;return(a?e?a.split(","):[a]:[]).map(e=>(0,_util.parseDateObj)(e,t,{valueFormat:i,labelFormat:l,firstDay:u}).label).join(", ")}),k=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.controlConfig,E.controlConfig)),a=()=>{var e=E.modelValue;let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),V.inputValue=t},u=e=>{var t=V.inputValue;_(e.type,{value:t},e)},m=(e,t)=>{var a,{type:l,modelValue:i,valueFormat:u}=E,r=c.value;V.inputValue=e,(0,_util.hasTimestampValueType)(u)?(a=(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}))?a.getTime():null,n("update:modelValue",a),i!==a&&(_("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(0,_util.hasDateValueType)(u)?(a=(0,_util.parseDateValue)(e,l,{valueFormat:r}),n("update:modelValue",a),(i&&a?_xeUtils.default.toStringDate(i).getTime()!==a.getTime():i!==a)&&(_("change",{value:a},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,a)):(n("update:modelValue",e),_xeUtils.default.toValueString(i)!==e&&(_("change",{value:e},t),o)&&v&&o.triggerItemEvent(t,v.itemConfig.field,e))},Y=e=>{var t=e.target.value;V.inputLabel=t,_("input",{value:t},e)},Z=e=>{l.value||u(e)},H=e=>{var t=z.value.trigger;V.isActivated=!0,t&&"default"!==t?"icon"===t&&f():pe(e),u(e)},J=e=>{var t;q.value||(t=V.inputValue,_("prefix-click",{value:t},e))},f=()=>new Promise(e=>{V.visiblePanel=!1,s.hpTimeout=setTimeout(()=>{V.isAniVisible=!1,e()},350)}),K=(e,t)=>{h.value&&f(),m("",e),_("clear",{value:t},e)},Q=e=>{var t;q.value||(t=V.inputValue,_("suffix-click",{value:t},e))},C=(t,a)=>{var l=E.multiple;if(!l){l=V.inputValue;if(l){l=S.value;if(l){var i=s.parseInputKayMaps,u=x.value,r=l.selectionStart||0;let e=u[r];i=i[e=i[e]?e:u[r-1]];i&&i(t,l,a)}}}},X=e=>{var t=N.value,a=V.inputValue;l.value||m(a,e),V.visiblePanel||(V.isActivated=!1,t&&t.checkValue(V.inputLabel)),_("blur",{value:a},e),o&&v&&o.triggerItemEvent(e,v.itemConfig.field,a)},ee=e=>{var t=E.controlConfig,a=k.value,l=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_UP),i=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ARROW_DOWN);(l||i)&&a.isArrow&&(t||a.enabled)&&C(e,l),u(e)},te=e=>{u(e)},ae=e=>{var t=N.value;t&&t.confirmByEvent(e),f()},le=e=>{var{multiple:t,autoClose:a}=E,{value:e,$event:l}=e,i=M.value;m(e,l),t||i||a&&f()},ie=e=>{_("confirm",e,e.$event)},ue=e=>{V.inputLabel=e.label},re=e=>{var t=N.value,{visiblePanel:a,isActivated:l}=V,i=w.value,u=I.value;!q.value&&l&&(V.isActivated=(0,_dom.getEventTargetNode)(e,i).flag||(0,_dom.getEventTargetNode)(e,u).flag,V.isActivated||a&&(f(),t)&&t.checkValue(V.inputLabel))},ne=e=>{var t,a=V.visiblePanel;q.value||(t=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),t&&(V.isActivated=!1),a&&(e||t)&&f())},oe=e=>{var t=V.visiblePanel;q.value||t&&(t=I.value,((0,_dom.getEventTargetNode)(e,t).flag?i:f)())},ve=()=>{var e=N.value,{isActivated:t,visiblePanel:a}=V;a&&f(),t&&(V.isActivated=!1),(a||t)&&(e&&e.checkValue(V.inputLabel),a=S.value)&&a.blur()},se=()=>{var e=V.visiblePanel;e&&i()},de=()=>{var e=z.value.zIndex||E.zIndex;e?V.panelIndex=_xeUtils.default.toNumber(e):V.panelIndex<(0,_utils.getLastZIndex)()&&(V.panelIndex=(0,_utils.nextZIndex)())},i=()=>{let a=E.placement,l=V.panelIndex,i=S.value,u=T.value;if(!u)return(0,_vue.nextTick)();let r=F.value,n=z.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(i,u,{placement:n.placement||a,defaultPlacement:n.defaultPlacement,teleportTo:r}),t=Object.assign(e.style,{zIndex:l});V.panelStyle=t,V.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},ce=()=>{var e=V.visiblePanel;return(q.value||e?(0,_vue.nextTick):(V.initialized||(V.initialized=!0),s.hpTimeout&&(clearTimeout(s.hpTimeout),s.hpTimeout=void 0),V.isActivated=!0,V.isAniVisible=!0,setTimeout(()=>{V.visiblePanel=!0,i()},10),de(),i))()},pe=e=>{B.value||(e.preventDefault(),ce())},me=e=>{var t=V.visiblePanel,a=z.value.trigger;a&&"default"!==a&&"icon"!==a||(t?f():pe(e))},fe=e=>{u(e)},_e=({option:e,$event:t})=>{var a=E.type,l=V.inputValue,i=j.value,u=i.autoClose,{code:r,clickMethod:n}=e,o=l,v={$datePicker:A,option:e,value:o,code:r};if(!n&&r){l=_ui.commands.get(r),e=l?l.datePickerCommandMethod:null;if(e)e(v);else{var s=c.value,d=p.value;switch(r){case"now":case"prev":case"next":case"minus":case"plus":o=(0,_util.getDateByCode)(r,o,a,{valueFormat:s,firstDay:d}).value;v.value=o,m(o,t);break;default:(0,_log.errLog)("vxe.error.notCommands",["[date-picker] "+r])}}}else{l=n||i.clickMethod;l&&l(v)}u&&f(),_("shortcut-click",v,t)},_=(e,t,a)=>{n(e,(0,_ui.createEvent)(a,{$datePicker:A},t))};t={dispatchEvent:_,setModelValue(e){V.inputValue=e,n("update:modelValue",e)},setModelValueByEvent(e,t){m(t||"",e)},focus(){var e=S.value;return V.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return S.value.blur(),(V.isActivated=!1,_vue.nextTick)()},select(){return S.value.select(),(V.isActivated=!1,_vue.nextTick)()},showPanel:ce,hidePanel:f,updatePlacement:i};Object.assign(A,t);let R=(e,t)=>{var a=j.value,{position:l,align:i,mode:u}=a,r=L.value;return(0,_utils.isEnableConf)(a)&&r.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:r,mode:u,align:i,vertical:t,onClick:_e})]):(0,_ui.renderEmptyElement)(A)},ge=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:me},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(U,e=>{V.inputLabel=e}),(0,_vue.watch)(()=>E.modelValue,()=>{a()}),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(A,"mousewheel",oe),_ui.globalEvents.on(A,"mousedown",re),_ui.globalEvents.on(A,"keydown",ne),_ui.globalEvents.on(A,"blur",ve),_ui.globalEvents.on(A,"resize",se)}),(0,_vue.onMounted)(()=>{let t=s.parseInputKayMaps;["y","M","d","H","m","n"].forEach(e=>{t[e]=e=>{e.preventDefault()}})}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(A,"mousewheel"),_ui.globalEvents.off(A,"mousedown"),_ui.globalEvents.off(A,"blur"),_ui.globalEvents.off(A,"resize")}),a(),(0,_vue.provide)("$xeDatePicker",A),A.renderVN=()=>{var e,t,a,l,i,u,r,n,o,v,s,d,{className:c,type:p,name:m,autoComplete:f}=E,{inputValue:_,inputLabel:g,visiblePanel:b,isActivated:h}=V,y=P.value,x=q.value,k=B.value,C=U.value;return k?(0,_vue.h)("div",{ref:w,class:["vxe-date-picker--readonly","type--"+p,c]},C):(k=$.value,C=G.value,a=O.value,t=E.prefixIcon,l=(l=D.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:J},[(0,_vue.h)("div",{class:"vxe-date-picker--prefix-icon"},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:t})])]):null,t=E.suffixIcon,d=V.inputValue,s=D.suffix,i=q.value,e=O.value,i=(0,_vue.h)("div",{class:["vxe-date-picker--suffix",{"is--clear":e&&!i&&!(""===d||_xeUtils.default.eqNull(d))}]},[e?(0,_vue.h)("div",{class:"vxe-date-picker--clear-icon",onClick:K},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(A),ge(),s||t?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:Q},s?(0,_vn.getSlotVNs)(s({})):[(0,_vue.h)("i",{class:t})]):(0,_ui.renderEmptyElement)(A)]),(0,_vue.h)("div",{ref:w,class:["vxe-date-picker","type--"+p,c,{["size--"+y]:y,"is--prefix":!!l,"is--suffix":!!i,"is--visible":b,"is--disabled":x,"is--active":h,"show--clear":a&&!x&&!(""===_||_xeUtils.default.eqNull(_))}],spellcheck:!1},[l||(0,_ui.renderEmptyElement)(A),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:S,class:"vxe-date-picker--inner",value:g,name:m,type:"text",placeholder:C,readonly:k,disabled:x,autocomplete:f,onKeydown:ee,onKeyup:te,onClick:fe,onInput:Y,onChange:Z,onFocus:H,onBlur:X})]),i||(0,_ui.renderEmptyElement)(A),!1===(d=z.value).enabled?(0,_ui.renderEmptyElement)(A):({type:e,multiple:s,showClearButton:t,showConfirmButton:p}=E,{initialized:c,isAniVisible:y,visiblePanel:b,panelPlacement:h,panelStyle:a,inputValue:_}=V,l=P.value,g=F.value,m=j.value,C=O.value,k=M.value,x=L.value,f=W.value,m=m.position,i=D.header,u=D.footer,r=D.top,n=D.bottom,o=D.left,v=D.right,d=d.className,x=0<x.length,k=null===p?k||s:p,s=null===t?C&&k&&"time"!==e:t,(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!g||!c},[(0,_vue.h)("div",{ref:T,class:["vxe-table--ignore-clear vxe-date-picker--panel","type--"+e,d?_xeUtils.default.isFunction(d)?d({$datePicker:A}):d:"",{["size--"+l]:l,"is--transfer":g,"ani--leave":y,"ani--enter":b,"show--top":!!(r||i||x&&("top"===m||"header"===m)),"show--bottom":!!(n||u||x&&("bottom"===m||"footer"===m)),"show--left":!!(o||x&&"left"===m),"show--right":!!(v||x&&"right"===m)}],placement:h,style:a},c&&(b||y)?[(0,_vue.h)("div",{ref:I,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+l]:l}]},[r?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},r({})):R("top"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-layout-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-date-picker--layout-left-wrapper"},o({})):R("left",!0),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-content-wrapper"},[i?(0,_vue.h)("div",{class:"vxe-date-picker--layout-header-wrapper"},i({})):R("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:N,modelValue:V.inputValue,type:E.type,className:E.className,multiple:E.multiple,limitCount:E.limitCount,startDate:E.startDate,endDate:E.endDate,defaultDate:E.defaultDate,defaultTime:E.defaultTime,minDate:E.minDate,maxDate:E.maxDate,startDay:E.startDay,labelFormat:E.labelFormat,valueFormat:E.valueFormat,timeFormat:E.timeFormat,timeConfig:f,festivalMethod:E.festivalMethod,disabledMethod:E.disabledMethod,selectDay:E.selectDay,onChange:le,onConfirm:ie,onRevert:ue})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},u?u({}):[R("footer")]),s||k?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[s?(0,_vue.h)(_button.default,{size:"mini",disabled:""===_||_xeUtils.default.eqNull(_),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:K}):(0,_ui.renderEmptyElement)(A),k?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:ae}):(0,_ui.renderEmptyElement)(A)]):(0,_ui.renderEmptyElement)(A)])]),v?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},v({})):R("right",!0)]),n?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},n({})):R("bottom")])]:[])]))]))},A},render(){return this.renderVN()}});
|
|
@@ -516,6 +516,8 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
516
516
|
reactData.isActivated = true;
|
|
517
517
|
if (!trigger || trigger === 'default') {
|
|
518
518
|
dateRangePickerOpenEvent(evnt);
|
|
519
|
+
} else if (trigger === 'icon') {
|
|
520
|
+
hidePanel();
|
|
519
521
|
}
|
|
520
522
|
triggerEvent(evnt);
|
|
521
523
|
};
|
|
@@ -898,6 +900,9 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
898
900
|
} = reactData;
|
|
899
901
|
const targetElem = refInputTarget.value;
|
|
900
902
|
const panelElem = refInputPanel.value;
|
|
903
|
+
if (!panelElem) {
|
|
904
|
+
return (0, _vue.nextTick)();
|
|
905
|
+
}
|
|
901
906
|
const btnTransfer = computeBtnTransfer.value;
|
|
902
907
|
const popupOpts = computePopupOpts.value;
|
|
903
908
|
const handleStyle = () => {
|
|
@@ -948,12 +953,19 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
948
953
|
}
|
|
949
954
|
};
|
|
950
955
|
const clickIconEvent = evnt => {
|
|
956
|
+
const {
|
|
957
|
+
visiblePanel
|
|
958
|
+
} = reactData;
|
|
951
959
|
const popupOpts = computePopupOpts.value;
|
|
952
960
|
const {
|
|
953
961
|
trigger
|
|
954
962
|
} = popupOpts;
|
|
955
963
|
if (!trigger || trigger === 'default' || trigger === 'icon') {
|
|
956
|
-
|
|
964
|
+
if (visiblePanel) {
|
|
965
|
+
hidePanel();
|
|
966
|
+
} else {
|
|
967
|
+
dateRangePickerOpenEvent(evnt);
|
|
968
|
+
}
|
|
957
969
|
}
|
|
958
970
|
};
|
|
959
971
|
const clickEvent = evnt => {
|
|
@@ -1092,6 +1104,10 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1092
1104
|
return (0, _ui.renderEmptyElement)($xeDateRangePicker);
|
|
1093
1105
|
};
|
|
1094
1106
|
const renderPanel = () => {
|
|
1107
|
+
const popupOpts = computePopupOpts.value;
|
|
1108
|
+
if (popupOpts.enabled === false) {
|
|
1109
|
+
return (0, _ui.renderEmptyElement)($xeDateRangePicker);
|
|
1110
|
+
}
|
|
1095
1111
|
const {
|
|
1096
1112
|
type,
|
|
1097
1113
|
separator,
|
|
@@ -1118,7 +1134,6 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
|
|
|
1118
1134
|
const defaultDates = computeDefaultDates.value;
|
|
1119
1135
|
const defaultTimes = computeDefaultTimes.value;
|
|
1120
1136
|
const timeOpts = computeTimeOpts.value;
|
|
1121
|
-
const popupOpts = computePopupOpts.value;
|
|
1122
1137
|
const {
|
|
1123
1138
|
startLabel,
|
|
1124
1139
|
endLabel
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("../../date-panel/src/util"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDateRangePicker",props:{modelValue:[String,Number,Date,Array],startValue:[String,Number,Date],endValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.clearable},linkedPanels:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.linkedPanels},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().dateRangePicker.size||(0,_ui.getConfig)().size},minDate:[String,Number,Date],maxDate:[String,Number,Date],defaultDate:[String,Number,Date,Array],defaultTime:[String,Number,Date,Array],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,valueType:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().dateRangePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().dateRangePicker.disabledMethod},separator:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.separator},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.autoClose},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},timeConfig:Object,popupConfig:Object,shortcutConfig:Object},emits:["update:modelValue","update:startValue","update:endValue","input","change","keydown","keyup","click","focus","blur","clear","confirm","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(N,e){let{slots:M,emit:i}=e,v=(0,_vue.inject)("$xeModal",null),c=(0,_vue.inject)("$xeDrawer",null),p=(0,_vue.inject)("$xeTable",null),n=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var a=_xeUtils.default.uniqueId();let R=(0,_ui.useSize)(N).computeSize,A=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,startValue:"",endValue:""}),r={},m=(0,_vue.ref)(),f=(0,_vue.ref)(),I=(0,_vue.ref)(),B=(0,_vue.ref)(),z=(0,_vue.ref)(),U=(0,_vue.ref)(),k={refElem:m,refInput:f},j={xID:a,props:N,context:e,reactData:A,internalData:r,getRefMaps:()=>k};let q=(0,_vue.computed)(()=>{var e=N.transfer,a=$.value;if(_xeUtils.default.isBoolean(a.transfer))return a.transfer;if(null===e){a=(0,_ui.getConfig)().dateRangePicker.transfer;if(_xeUtils.default.isBoolean(a))return a;if(p||v||c||n)return!0}return e}),_=(0,_vue.computed)(()=>{var e=N.readonly;return null===e?!!n&&n.props.readonly:e}),b=(0,_vue.computed)(()=>{var e=N.disabled;return null===e?!!n&&n.props.disabled:e}),Z=(0,_vue.computed)(()=>{var e=N.defaultDate;return e?_xeUtils.default.isArray(e)?e:-1<(""+e).indexOf(",")?(""+e).split(","):[e,e]:[]}),H=(0,_vue.computed)(()=>{var e=N.defaultTime;return e?_xeUtils.default.isArray(e)?e:-1<(""+e).indexOf(",")?(""+e).split(","):[e,e]:[]});a=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=N;return""+(e||"")+(a||"")});let J=(0,_vue.computed)(()=>{var e=N.type;return"time"===e||"datetime"===e}),s=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(N.type)),O=(0,_vue.computed)(()=>N.clearable),D=(0,_vue.computed)(()=>{var e=N.placeholder;return(e=e||(0,_ui.getConfig)().dateRangePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.dateRangePicker.pleaseRange")}),P=(0,_vue.computed)(()=>{var e=N.immediate;return e}),Q=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.timeConfig,N.timeConfig)),$=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.popupConfig,N.popupConfig)),L=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.shortcutConfig,N.shortcutConfig)),W=(0,_vue.computed)(()=>{var e=L.value.options;return e?e.map((e,a)=>Object.assign({name:""+(e.name||e.code||a)},e)):[]}),C=(0,_vue.computed)(()=>{var e=N.labelFormat;return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+N.type)}),g=(0,_vue.computed)(()=>{var{type:e,valueFormat:a}=N;return(0,_util.handleValueFormat)(e,a)}),S=(0,_vue.computed)(()=>{var e=N.startDay;return _xeUtils.default.toNumber(e)}),X=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=A,e=e||a?[e||"",a||""]:[];return w(e)}),E=(0,_vue.computed)(()=>X.value.label),w=e=>{var{type:a,separator:t}=N,l=C.value,u=g.value,r=S.value,i=e[0]?(0,_util.parseDateObj)(e[0],a,{valueFormat:u,labelFormat:l,firstDay:r}):null,e=e[1]?(0,_util.parseDateObj)(e[1],a,{valueFormat:u,labelFormat:l,firstDay:r}):null,a=i?i.label:"",u=e?e.label:"";return{label:(a||u?[a,u]:[]).join(""+(t||" ~ ")),startLabel:a,endLabel:u}},y=(e,a)=>{var{modelValue:t,valueType:l}=N;let u=_xeUtils.default.isArray(t);if(l)switch(l){case"array":u=!0;break;case"string":u=!1}return e||a?(t=[e||"",a||""],u?t:t.join(",")):u?[]:""},T=()=>{var e,{type:a,modelValue:t}=N,l=g.value;let u="",r="";return _xeUtils.default.isArray(t)?(e=(0,_util.parseDateString)(t[0],a,{valueFormat:l}),a=(0,_util.parseDateString)(t[1],a,{valueFormat:l}),(e||a)&&(u=e||"",r=a||"")):_xeUtils.default.isString(t)&&((l=t.split(","))[0]||l[1])&&(u=l[0]||"",r=l[1]||""),{sValue:u,eValue:r}},F=()=>{var{type:e,startValue:a,endValue:t}=N,l=g.value;return{sValue:(0,_util.parseDateString)(a,e,{valueFormat:l}),eValue:(0,_util.parseDateString)(t,e,{valueFormat:l})}},t=e=>{var{modelValue:a,startValue:t,endValue:l}=N;let u={sValue:"",eValue:""};u=(e?a?T:F:t||l?F:T)(),A.startValue=u.sValue,A.endValue=u.eValue},l=e=>{var{startValue:a,endValue:t}=A,l=y(a,t);V(e.type,{value:l,startValue:a,endValue:t},e)},h=(e,a,t)=>{var l=N.modelValue,u=(A.startValue=e,A.endValue=a,y(e,a)),r=e&&a||!e&&!a;i("update:modelValue",u),i("update:startValue",e||""),i("update:endValue",a||""),_xeUtils.default.toValueString(l)!==u&&(V("change",{value:u,startValue:e,endValue:a,isFinish:r},t),n)&&o&&n.triggerItemEvent(t,o.itemConfig.field,u)},ee=e=>{P.value||l(e)},ae=e=>{var a=$.value.trigger;A.isActivated=!0,a&&"default"!==a||he(e),l(e)},te=e=>{var a,t,l;b.value||({startValue:a,endValue:t}=A,l=y(a,t),V("prefix-click",{value:l,startValue:a,endValue:t},e))},x=()=>new Promise(e=>{A.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{A.isAniVisible=!1,e()},350)}),le=(e,a)=>{s.value&&x();h("","",e),V("clear",{value:a,startValue:"",endValue:""},e)},d=()=>{var e=z.value,a=U.value;e&&a&&(e=e.getModelValue(),a=a.getModelValue(),e&&a||h("","",{type:"check"}))},ue=({date:e})=>{var a=A.startValue,t=A.endValue;if(a&&t){e=e.getTime(),a=_xeUtils.default.toStringDate(a).getTime(),t=_xeUtils.default.toStringDate(t).getTime();if(a<=e&&e<=t)return"is--range-selected"}return""},re=()=>{var e=N.autoClose,{startValue:a,endValue:t}=A,l=r.selectStatus,u=s.value;e?l&&u&&a&&t&&x():a&&t&&(r.selectStatus=!1)},ie=e=>{var a,t,l;b.value||({startValue:a,endValue:t}=A,l=y(a,t),V("suffix-click",{value:l,startValue:a,endValue:t},e))},ne=e=>{var{startValue:a,endValue:t}=A;P.value||h(a,t,e),A.visiblePanel||(A.isActivated=!1,d()),V("blur",{value:"",startValue:a,endValue:t},e),n&&o&&n.triggerItemEvent(e,o.itemConfig.field,"")},oe=e=>{l(e)},se=e=>{l(e)},de=e=>{var a,t,l=z.value,u=U.value;l&&u&&(a=l.getModelValue(),t=u.getModelValue(),a&&!t||!a&&t?h("","",e):(l.confirmByEvent(e),u.confirmByEvent(e)),l=y(a,t),V("confirm",{value:l,startValue:a,endValue:t},e)),x()},ve=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?A.endValue:"";h(e,l,t),re(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=z.value,a=U.value;e&&a&&(e=e.getModelValue(),!l)&&e&&a.setPanelDate(_xeUtils.default.toStringDate(e))})},ce=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?A.startValue:"";h(l,e,t),re(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=z.value,a=U.value;e&&a&&(a=a.getModelValue(),!l)&&a&&e.setPanelDate(_xeUtils.default.toStringDate(a))})},K=e=>{var a=N.linkedPanels;if(a){var a=e.viewType,e=z.value,t=U.value;if(e&&t){var l=e.getPanelDate();if(l){var u=l.getFullYear(),r=l.getMonth();switch(a){case"day":case"date":case"week":r<11?l.setMonth(r+1):(l.setFullYear(u+1),l.setMonth(0)),t.setPanelDate(l)}}}}},Y=e=>{var a=N.linkedPanels;if(a){var a=e.viewType,t=z.value,e=U.value;if(t&&e){var l=e.getPanelDate();if(l){var u=l.getFullYear(),r=l.getMonth();switch(a){case"day":case"date":case"week":r?l.setMonth(r-1):(l.setFullYear(u-1),l.setMonth(11)),t.setPanelDate(l)}}}}},pe=e=>{var{visiblePanel:a,isActivated:t}=A,l=m.value,u=B.value;!b.value&&t&&(A.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,u).flag,A.isActivated||a&&(d(),x()))},ge=e=>{var a,t=A.visiblePanel;b.value||(a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),a&&(A.isActivated=!1),t&&(e||a)&&(d(),x()))},me=e=>{var a=A.visiblePanel;b.value||a&&(a=B.value,((0,_dom.getEventTargetNode)(e,a).flag?u:(d(),x))())},fe=()=>{var{visiblePanel:e,isActivated:a}=A;e&&(d(),x()),a&&(A.isActivated=!1),(e||a)&&(e=f.value)&&e.blur()},_e=()=>{var e=A.visiblePanel;e&&u()},be=()=>{var e=$.value.zIndex||N.zIndex;e?A.panelIndex=_xeUtils.default.toNumber(e):A.panelIndex<(0,_utils.getLastZIndex)()&&(A.panelIndex=(0,_utils.nextZIndex)())},u=()=>{let t=N.placement,l=A.panelIndex,u=f.value,r=I.value,i=q.value,n=$.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(u,r,{placement:n.placement||t,defaultPlacement:n.defaultPlacement,teleportTo:i}),a=Object.assign(e.style,{zIndex:l});A.panelStyle=a,A.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},ye=()=>{var e=A.visiblePanel;return(b.value||e?(0,_vue.nextTick):(A.initialized||(A.initialized=!0),r.hpTimeout&&(clearTimeout(r.hpTimeout),r.hpTimeout=void 0),r.selectStatus=!1,A.isActivated=!0,A.isAniVisible=!0,setTimeout(()=>{A.visiblePanel=!0,u()},10),be(),u))()},he=e=>{_.value||(e.preventDefault(),ye())},xe=e=>{var a=$.value.trigger;a&&"default"!==a&&"icon"!==a||he(e)},Ve=e=>{l(e)},ke=({option:e,$event:a})=>{var t=N.type,l=L.value,u=l.autoClose,{code:r,clickMethod:i}=e,n=A.startValue,o=A.endValue,s=y(n,o),d={$dateRangePicker:j,option:e,value:s,startValue:n,endValue:o,code:r};if(!i&&r){e=_ui.commands.get(r),e=e?e.dateRangePickerCommandMethod:null;if(e)e(d);else{var v=g.value,c=S.value;switch(r){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var p=(0,_util.getRangeDateByCode)(r,s,t,{valueFormat:v,firstDay:c}),n=p.startValue,o=p.endValue,s=y(n,o);d.value=s,d.startValue=n,d.endValue=o,h(n,o,a);break;default:(0,_log.errLog)("vxe.error.notCommands",["[date-range-picker] "+r])}}}else{e=i||l.clickMethod;e&&e(d)}u&&x(),V("shortcut-click",d,a)},V=(e,a,t)=>{i(e,(0,_ui.createEvent)(t,{$dateRangePicker:j},a))},G=(e={dispatchEvent:V,setModelValue(e,a){A.startValue=e||"",A.endValue=a||"";e=y(e,a);i("update:modelValue",e)},setModelValueByEvent(e,a,t){h(a||"",t||"",e)},focus(){var e=f.value;return A.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return f.value.blur(),(A.isActivated=!1,_vue.nextTick)()},select(){return f.value.select(),(A.isActivated=!1,_vue.nextTick)()},showPanel:ye,hidePanel:x,updatePlacement:u},Object.assign(j,e),(e,a)=>{var t=L.value,{position:l,align:u,mode:r}=t,i=W.value;return(0,_utils.isEnableConf)(t)&&i.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-range-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:i,mode:r,align:u,vertical:a,onClick:ke})]):(0,_ui.renderEmptyElement)(j)}),De=()=>(0,_vue.h)("div",{class:"vxe-date-range-picker--control-icon",onClick:xe},[(0,_vue.h)("i",{class:["vxe-date-range-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(()=>N.modelValue,()=>{t(!0)}),(0,_vue.watch)(a,()=>{t(!1)}),t(!0),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(j,"mousewheel",me),_ui.globalEvents.on(j,"mousedown",pe),_ui.globalEvents.on(j,"keydown",ge),_ui.globalEvents.on(j,"blur",fe),_ui.globalEvents.on(j,"resize",_e)}),(0,_vue.onDeactivated)(()=>{d()}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(j,"mousewheel"),_ui.globalEvents.off(j,"mousedown"),_ui.globalEvents.off(j,"blur"),_ui.globalEvents.off(j,"resize")}),(0,_vue.onBeforeUnmount)(()=>{d()}),(0,_vue.provide)("$xeDateRangePicker",j),j.renderVN=()=>{var e,a,t,{className:l,type:u,name:r,autoComplete:i}=N,{startValue:n,endValue:o,visiblePanel:s,isActivated:d}=A,v=R.value,c=b.value,p=_.value,g=E.value;return p?(0,_vue.h)("div",{ref:m,class:["vxe-date-range-picker--readonly","type--"+u,l]},g):(p=D.value,e=O.value,t=N.prefixIcon,a=(a=M.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix",onClick:te},[(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix-icon"},a?(0,_vn.getSlotVNs)(a({})):[(0,_vue.h)("i",{class:t})])]):null,t=(()=>{var e=N.suffixIcon,{startValue:a,endValue:t}=A,l=M.suffix,u=b.value,r=O.value;return(0,_vue.h)("div",{class:["vxe-date-range-picker--suffix",{"is--clear":r&&!u&&(a||t)}]},[r?(0,_vue.h)("div",{class:"vxe-date-range-picker--clear-icon",onClick:le},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(j),De(),l||e?(0,_vue.h)("div",{class:"vxe-date-range-picker--suffix-icon",onClick:ie},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:e})]):(0,_ui.renderEmptyElement)(j)])})(),(0,_vue.h)("div",{ref:m,class:["vxe-date-range-picker","type--"+u,l,{["size--"+v]:v,"is--prefix":!!a,"is--suffix":!!t,"is--visible":s,"is--disabled":c,"is--active":d,"show--clear":e&&!c&&(n||o)}],spellcheck:!1},[a||(0,_ui.renderEmptyElement)(j),(0,_vue.h)("div",{class:"vxe-date-range-picker--wrapper"},[(0,_vue.h)("input",{ref:f,class:"vxe-date-range-picker--inner",value:g,name:r,type:"text",placeholder:p,editable:!1,disabled:c,autocomplete:i,onKeydown:oe,onKeyup:se,onClick:Ve,onChange:ee,onFocus:ae,onBlur:ne})]),t||(0,_ui.renderEmptyElement)(j),(()=>{var{type:e,separator:a,autoClose:t,showConfirmButton:l,showClearButton:u}=N,{initialized:r,isAniVisible:i,visiblePanel:n,panelPlacement:o,panelStyle:s,startValue:d,endValue:v}=A,c=R.value,p=q.value,g=L.value,m=O.value,f=X.value,_=W.value,b=J.value,y=Z.value,h=H.value,x=Q.value,V=$.value,{startLabel:f,endLabel:k}=f,g=g.position,D=M.header,P=M.footer,C=M.top,S=M.bottom,E=M.left,w=M.right,V=V.className,[y,T]=y,[h,F]=h,_=0<_.length,b=null===l?b||!t:l,t=null===u?m:u;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!p||!r},[(0,_vue.h)("div",{ref:I,class:["vxe-table--ignore-clear vxe-date-range-picker--panel","type--"+e,V?_xeUtils.default.isFunction(V)?V({$dateRangePicker:j}):V:"",{["size--"+c]:c,"is--transfer":p,"ani--leave":i,"ani--enter":n,"show--top":!!(C||D||_&&("top"===g||"header"===g)),"show--bottom":!!(S||P||_&&("bottom"===g||"footer"===g)),"show--left":!!(E||_&&"left"===g),"show--right":!!(w||_&&"right"===g)}],placement:o,style:s},r&&(n||i)?[(0,_vue.h)("div",{ref:B,class:["vxe-date-range-picker--layout-all-wrapper","type--"+e,{["size--"+c]:c}]},[C?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-top-wrapper"},C({})):G("top"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-layout-wrapper"},[E?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-left-wrapper"},E({})):G("left",!0),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-content-wrapper"},[D?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-header-wrapper"},D({})):G("header"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:z,modelValue:d,type:N.type,className:N.className,minDate:N.minDate,maxDate:N.maxDate,endDate:v,startDay:N.startDay,labelFormat:N.labelFormat,valueFormat:N.valueFormat,timeFormat:N.timeFormat,defaultDate:y,defaultTime:h,timeConfig:x,festivalMethod:N.festivalMethod,disabledMethod:N.disabledMethod,selectDay:N.selectDay,cellClassName:ue,onChange:ve,onDatePrev:K,onDateToday:K,onDateNext:K}),(0,_vue.h)(_datePanel.default,{ref:U,modelValue:v,type:N.type,className:N.className,minDate:N.minDate,maxDate:N.maxDate,startDate:d,startDay:N.startDay,labelFormat:N.labelFormat,valueFormat:N.valueFormat,timeFormat:N.timeFormat,defaultDate:T,defaultTime:F,timeConfig:x,festivalMethod:N.festivalMethod,disabledMethod:N.disabledMethod,selectDay:N.selectDay,cellClassName:ue,onChange:ce,onDatePrev:Y,onDateToday:Y,onDateNext:Y})]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-label"},f||k?[(0,_vue.h)("span",f),(0,_vue.h)("span",""+(a||"")),(0,_vue.h)("span",k)]:""+(a||"")),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-custom"},P?P({}):[G("footer")]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-btns"},[t?(0,_vue.h)(_button.default,{size:"mini",disabled:!(d||v),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:le}):(0,_ui.renderEmptyElement)(j),b?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:de}):(0,_ui.renderEmptyElement)(j)])])]),w?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-right-wrapper"},w({})):G("right",!0)]),S?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-bottom-wrapper"},S({})):G("bottom")])]:[])])})()]))},j},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("../../date-panel/src/util"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_datePanel=_interopRequireDefault(require("../../date-panel/src/date-panel")),_button=_interopRequireDefault(require("../../button/src/button")),_buttonGroup=_interopRequireDefault(require("../../button/src/button-group"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeDateRangePicker",props:{modelValue:[String,Number,Date,Array],startValue:[String,Number,Date],endValue:[String,Number,Date],immediate:{type:Boolean,default:!0},name:String,type:{type:String,default:"date"},clearable:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.clearable},linkedPanels:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.linkedPanels},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,zIndex:Number,size:{type:String,default:()=>(0,_ui.getConfig)().dateRangePicker.size||(0,_ui.getConfig)().size},minDate:[String,Number,Date],maxDate:[String,Number,Date],defaultDate:[String,Number,Date,Array],defaultTime:[String,Number,Date,Array],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.startDay},labelFormat:String,valueFormat:String,timeFormat:String,valueType:String,editable:{type:Boolean,default:!0},festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().dateRangePicker.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().dateRangePicker.disabledMethod},separator:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.separator},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.selectDay},showClearButton:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.showClearButton},showConfirmButton:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.showConfirmButton},autoClose:{type:Boolean,default:()=>(0,_ui.getConfig)().dateRangePicker.autoClose},prefixIcon:String,suffixIcon:String,placement:String,transfer:{type:Boolean,default:null},timeConfig:Object,popupConfig:Object,shortcutConfig:Object},emits:["update:modelValue","update:startValue","update:endValue","input","change","keydown","keyup","click","focus","blur","clear","confirm","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(N,e){let{slots:M,emit:i}=e,v=(0,_vue.inject)("$xeModal",null),c=(0,_vue.inject)("$xeDrawer",null),p=(0,_vue.inject)("$xeTable",null),n=(0,_vue.inject)("$xeForm",null),o=(0,_vue.inject)("xeFormItemInfo",null);var a=_xeUtils.default.uniqueId();let R=(0,_ui.useSize)(N).computeSize,A=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,startValue:"",endValue:""}),r={},I=(0,_vue.ref)(),B=(0,_vue.ref)(),z=(0,_vue.ref)(),U=(0,_vue.ref)(),j=(0,_vue.ref)(),q=(0,_vue.ref)(),y={refElem:I,refInput:B},O={xID:a,props:N,context:e,reactData:A,internalData:r,getRefMaps:()=>y};let $=(0,_vue.computed)(()=>{var e=N.transfer,a=G.value;if(_xeUtils.default.isBoolean(a.transfer))return a.transfer;if(null===e){a=(0,_ui.getConfig)().dateRangePicker.transfer;if(_xeUtils.default.isBoolean(a))return a;if(p||v||c||n)return!0}return e}),L=(0,_vue.computed)(()=>{var e=N.readonly;return null===e?!!n&&n.props.readonly:e}),K=(0,_vue.computed)(()=>{var e=N.disabled;return null===e?!!n&&n.props.disabled:e}),W=(0,_vue.computed)(()=>{var e=N.defaultDate;return e?_xeUtils.default.isArray(e)?e:-1<(""+e).indexOf(",")?(""+e).split(","):[e,e]:[]}),X=(0,_vue.computed)(()=>{var e=N.defaultTime;return e?_xeUtils.default.isArray(e)?e:-1<(""+e).indexOf(",")?(""+e).split(","):[e,e]:[]});a=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=N;return""+(e||"")+(a||"")});let ee=(0,_vue.computed)(()=>{var e=N.type;return"time"===e||"datetime"===e}),s=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(N.type)),Y=(0,_vue.computed)(()=>N.clearable),ae=(0,_vue.computed)(()=>{var e=N.placeholder;return(e=e||(0,_ui.getConfig)().dateRangePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.dateRangePicker.pleaseRange")}),h=(0,_vue.computed)(()=>{var e=N.immediate;return e}),te=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.timeConfig,N.timeConfig)),G=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.popupConfig,N.popupConfig)),Z=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.shortcutConfig,N.shortcutConfig)),le=(0,_vue.computed)(()=>{var e=Z.value.options;return e?e.map((e,a)=>Object.assign({name:""+(e.name||e.code||a)},e)):[]}),x=(0,_vue.computed)(()=>{var e=N.labelFormat;return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+N.type)}),g=(0,_vue.computed)(()=>{var{type:e,valueFormat:a}=N;return(0,_util.handleValueFormat)(e,a)}),V=(0,_vue.computed)(()=>{var e=N.startDay;return _xeUtils.default.toNumber(e)}),ue=(0,_vue.computed)(()=>{var{startValue:e,endValue:a}=A,e=e||a?[e||"",a||""]:[];return k(e)}),re=(0,_vue.computed)(()=>ue.value.label),k=e=>{var{type:a,separator:t}=N,l=x.value,u=g.value,r=V.value,i=e[0]?(0,_util.parseDateObj)(e[0],a,{valueFormat:u,labelFormat:l,firstDay:r}):null,e=e[1]?(0,_util.parseDateObj)(e[1],a,{valueFormat:u,labelFormat:l,firstDay:r}):null,a=i?i.label:"",u=e?e.label:"";return{label:(a||u?[a,u]:[]).join(""+(t||" ~ ")),startLabel:a,endLabel:u}},m=(e,a)=>{var{modelValue:t,valueType:l}=N;let u=_xeUtils.default.isArray(t);if(l)switch(l){case"array":u=!0;break;case"string":u=!1}return e||a?(t=[e||"",a||""],u?t:t.join(",")):u?[]:""},D=()=>{var e,{type:a,modelValue:t}=N,l=g.value;let u="",r="";return _xeUtils.default.isArray(t)?(e=(0,_util.parseDateString)(t[0],a,{valueFormat:l}),a=(0,_util.parseDateString)(t[1],a,{valueFormat:l}),(e||a)&&(u=e||"",r=a||"")):_xeUtils.default.isString(t)&&((l=t.split(","))[0]||l[1])&&(u=l[0]||"",r=l[1]||""),{sValue:u,eValue:r}},P=()=>{var{type:e,startValue:a,endValue:t}=N,l=g.value;return{sValue:(0,_util.parseDateString)(a,e,{valueFormat:l}),eValue:(0,_util.parseDateString)(t,e,{valueFormat:l})}},t=e=>{var{modelValue:a,startValue:t,endValue:l}=N;let u={sValue:"",eValue:""};u=(e?a?D:P:t||l?P:D)(),A.startValue=u.sValue,A.endValue=u.eValue},l=e=>{var{startValue:a,endValue:t}=A,l=m(a,t);b(e.type,{value:l,startValue:a,endValue:t},e)},f=(e,a,t)=>{var l=N.modelValue,u=(A.startValue=e,A.endValue=a,m(e,a)),r=e&&a||!e&&!a;i("update:modelValue",u),i("update:startValue",e||""),i("update:endValue",a||""),_xeUtils.default.toValueString(l)!==u&&(b("change",{value:u,startValue:e,endValue:a,isFinish:r},t),n)&&o&&n.triggerItemEvent(t,o.itemConfig.field,u)},ie=e=>{h.value||l(e)},ne=e=>{var a=G.value.trigger;A.isActivated=!0,a&&"default"!==a?"icon"===a&&_():he(e),l(e)},oe=e=>{var a,t,l;K.value||({startValue:a,endValue:t}=A,l=m(a,t),b("prefix-click",{value:l,startValue:a,endValue:t},e))},_=()=>new Promise(e=>{A.visiblePanel=!1,r.hpTimeout=setTimeout(()=>{A.isAniVisible=!1,e()},350)}),se=(e,a)=>{s.value&&_();f("","",e),b("clear",{value:a,startValue:"",endValue:""},e)},d=()=>{var e=j.value,a=q.value;e&&a&&(e=e.getModelValue(),a=a.getModelValue(),e&&a||f("","",{type:"check"}))},de=({date:e})=>{var a=A.startValue,t=A.endValue;if(a&&t){e=e.getTime(),a=_xeUtils.default.toStringDate(a).getTime(),t=_xeUtils.default.toStringDate(t).getTime();if(a<=e&&e<=t)return"is--range-selected"}return""},C=()=>{var e=N.autoClose,{startValue:a,endValue:t}=A,l=r.selectStatus,u=s.value;e?l&&u&&a&&t&&_():a&&t&&(r.selectStatus=!1)},ve=e=>{var a,t,l;K.value||({startValue:a,endValue:t}=A,l=m(a,t),b("suffix-click",{value:l,startValue:a,endValue:t},e))},ce=e=>{var{startValue:a,endValue:t}=A;h.value||f(a,t,e),A.visiblePanel||(A.isActivated=!1,d()),b("blur",{value:"",startValue:a,endValue:t},e),n&&o&&n.triggerItemEvent(e,o.itemConfig.field,"")},pe=e=>{l(e)},ge=e=>{l(e)},me=e=>{var a,t,l=j.value,u=q.value;l&&u&&(a=l.getModelValue(),t=u.getModelValue(),a&&!t||!a&&t?f("","",e):(l.confirmByEvent(e),u.confirmByEvent(e)),l=m(a,t),b("confirm",{value:l,startValue:a,endValue:t},e)),_()},fe=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?A.endValue:"";f(e,l,t),C(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=j.value,a=q.value;e&&a&&(e=e.getModelValue(),!l)&&e&&a.setPanelDate(_xeUtils.default.toStringDate(e))})},_e=e=>{var a=r.selectStatus,{value:e,$event:t}=e;let l=a?A.startValue:"";f(l,e,t),C(),a||(r.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=j.value,a=q.value;e&&a&&(a=a.getModelValue(),!l)&&a&&e.setPanelDate(_xeUtils.default.toStringDate(a))})},H=e=>{var a=N.linkedPanels;if(a){var a=e.viewType,e=j.value,t=q.value;if(e&&t){var l=e.getPanelDate();if(l){var u=l.getFullYear(),r=l.getMonth();switch(a){case"day":case"date":case"week":r<11?l.setMonth(r+1):(l.setFullYear(u+1),l.setMonth(0)),t.setPanelDate(l)}}}}},J=e=>{var a=N.linkedPanels;if(a){var a=e.viewType,t=j.value,e=q.value;if(t&&e){var l=e.getPanelDate();if(l){var u=l.getFullYear(),r=l.getMonth();switch(a){case"day":case"date":case"week":r?l.setMonth(r-1):(l.setFullYear(u-1),l.setMonth(11)),t.setPanelDate(l)}}}}},E=e=>{var{visiblePanel:a,isActivated:t}=A,l=I.value,u=U.value;!K.value&&t&&(A.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,u).flag,A.isActivated||a&&(d(),_()))},S=e=>{var a,t=A.visiblePanel;K.value||(a=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.TAB),e=_ui.globalEvents.hasKey(e,_ui.GLOBAL_EVENT_KEYS.ESCAPE),a&&(A.isActivated=!1),t&&(e||a)&&(d(),_()))},w=e=>{var a=A.visiblePanel;K.value||a&&(a=U.value,((0,_dom.getEventTargetNode)(e,a).flag?u:(d(),_))())},T=()=>{var{visiblePanel:e,isActivated:a}=A;e&&(d(),_()),a&&(A.isActivated=!1),(e||a)&&(e=B.value)&&e.blur()},F=()=>{var e=A.visiblePanel;e&&u()},be=()=>{var e=G.value.zIndex||N.zIndex;e?A.panelIndex=_xeUtils.default.toNumber(e):A.panelIndex<(0,_utils.getLastZIndex)()&&(A.panelIndex=(0,_utils.nextZIndex)())},u=()=>{let t=N.placement,l=A.panelIndex,u=B.value,r=z.value;if(!r)return(0,_vue.nextTick)();let i=$.value,n=G.value;var e=()=>{var e=(0,_dom.updatePanelPlacement)(u,r,{placement:n.placement||t,defaultPlacement:n.defaultPlacement,teleportTo:i}),a=Object.assign(e.style,{zIndex:l});A.panelStyle=a,A.panelPlacement=e.placement};return e(),(0,_vue.nextTick)().then(e)},ye=()=>{var e=A.visiblePanel;return(K.value||e?(0,_vue.nextTick):(A.initialized||(A.initialized=!0),r.hpTimeout&&(clearTimeout(r.hpTimeout),r.hpTimeout=void 0),r.selectStatus=!1,A.isActivated=!0,A.isAniVisible=!0,setTimeout(()=>{A.visiblePanel=!0,u()},10),be(),u))()},he=e=>{L.value||(e.preventDefault(),ye())},xe=e=>{var a=A.visiblePanel,t=G.value.trigger;t&&"default"!==t&&"icon"!==t||(a?_():he(e))},Ve=e=>{l(e)},ke=({option:e,$event:a})=>{var t=N.type,l=Z.value,u=l.autoClose,{code:r,clickMethod:i}=e,n=A.startValue,o=A.endValue,s=m(n,o),d={$dateRangePicker:O,option:e,value:s,startValue:n,endValue:o,code:r};if(!i&&r){e=_ui.commands.get(r),e=e?e.dateRangePickerCommandMethod:null;if(e)e(d);else{var v=g.value,c=V.value;switch(r){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var p=(0,_util.getRangeDateByCode)(r,s,t,{valueFormat:v,firstDay:c}),n=p.startValue,o=p.endValue,s=m(n,o);d.value=s,d.startValue=n,d.endValue=o,f(n,o,a);break;default:(0,_log.errLog)("vxe.error.notCommands",["[date-range-picker] "+r])}}}else{e=i||l.clickMethod;e&&e(d)}u&&_(),b("shortcut-click",d,a)},b=(e,a,t)=>{i(e,(0,_ui.createEvent)(t,{$dateRangePicker:O},a))},Q=(e={dispatchEvent:b,setModelValue(e,a){A.startValue=e||"",A.endValue=a||"";e=m(e,a);i("update:modelValue",e)},setModelValueByEvent(e,a,t){f(a||"",t||"",e)},focus(){var e=B.value;return A.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return B.value.blur(),(A.isActivated=!1,_vue.nextTick)()},select(){return B.value.select(),(A.isActivated=!1,_vue.nextTick)()},showPanel:ye,hidePanel:_,updatePlacement:u},Object.assign(O,e),(e,a)=>{var t=Z.value,{position:l,align:u,mode:r}=t,i=le.value;return(0,_utils.isEnableConf)(t)&&i.length&&(l||"left")===e?(0,_vue.h)("div",{class:`vxe-date-range-picker--layout-${e}-wrapper`},[(0,_vue.h)(_buttonGroup.default,{options:i,mode:r,align:u,vertical:a,onClick:ke})]):(0,_ui.renderEmptyElement)(O)}),De=()=>(0,_vue.h)("div",{class:"vxe-date-range-picker--control-icon",onClick:xe},[(0,_vue.h)("i",{class:["vxe-date-range-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(()=>N.modelValue,()=>{t(!0)}),(0,_vue.watch)(a,()=>{t(!1)}),t(!0),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(O,"mousewheel",w),_ui.globalEvents.on(O,"mousedown",E),_ui.globalEvents.on(O,"keydown",S),_ui.globalEvents.on(O,"blur",T),_ui.globalEvents.on(O,"resize",F)}),(0,_vue.onDeactivated)(()=>{d()}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(O,"mousewheel"),_ui.globalEvents.off(O,"mousedown"),_ui.globalEvents.off(O,"blur"),_ui.globalEvents.off(O,"resize")}),(0,_vue.onBeforeUnmount)(()=>{d()}),(0,_vue.provide)("$xeDateRangePicker",O),O.renderVN=()=>{var e,a,t,l,u,r,i,n,o,s,d,v,c,p,g,m,f,_,b,y,{className:h,type:x,name:V,autoComplete:k}=N,{startValue:D,endValue:P,visiblePanel:C,isActivated:E}=A,S=R.value,w=K.value,T=L.value,F=re.value;return T?(0,_vue.h)("div",{ref:I,class:["vxe-date-range-picker--readonly","type--"+x,h]},F):(T=ae.value,e=Y.value,t=N.prefixIcon,a=(a=M.prefix)||t?(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix",onClick:oe},[(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix-icon"},a?(0,_vn.getSlotVNs)(a({})):[(0,_vue.h)("i",{class:t})])]):null,t=(()=>{var e=N.suffixIcon,{startValue:a,endValue:t}=A,l=M.suffix,u=K.value,r=Y.value;return(0,_vue.h)("div",{class:["vxe-date-range-picker--suffix",{"is--clear":r&&!u&&(a||t)}]},[r?(0,_vue.h)("div",{class:"vxe-date-range-picker--clear-icon",onClick:se},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(O),De(),l||e?(0,_vue.h)("div",{class:"vxe-date-range-picker--suffix-icon",onClick:ve},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:e})]):(0,_ui.renderEmptyElement)(O)])})(),(0,_vue.h)("div",{ref:I,class:["vxe-date-range-picker","type--"+x,h,{["size--"+S]:S,"is--prefix":!!a,"is--suffix":!!t,"is--visible":C,"is--disabled":w,"is--active":E,"show--clear":e&&!w&&(D||P)}],spellcheck:!1},[a||(0,_ui.renderEmptyElement)(O),(0,_vue.h)("div",{class:"vxe-date-range-picker--wrapper"},[(0,_vue.h)("input",{ref:B,class:"vxe-date-range-picker--inner",value:F,name:V,type:"text",placeholder:T,editable:!1,disabled:w,autocomplete:k,onKeydown:pe,onKeyup:ge,onClick:Ve,onChange:ie,onFocus:ne,onBlur:ce})]),t||(0,_ui.renderEmptyElement)(O),!1===(x=G.value).enabled?(0,_ui.renderEmptyElement)(O):({type:h,separator:S,autoClose:C,showConfirmButton:E,showClearButton:e}=N,{initialized:D,isAniVisible:P,visiblePanel:a,panelPlacement:F,panelStyle:V,startValue:T,endValue:w}=A,k=R.value,t=$.value,n=Z.value,l=Y.value,r=ue.value,b=le.value,y=ee.value,g=W.value,f=X.value,u=te.value,{startLabel:r,endLabel:i}=r,n=n.position,o=M.header,s=M.footer,d=M.top,v=M.bottom,c=M.left,p=M.right,x=x.className,[g,m]=g,[f,_]=f,b=0<b.length,y=null===E?y||!C:E,C=null===e?l:e,(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!t||!D},[(0,_vue.h)("div",{ref:z,class:["vxe-table--ignore-clear vxe-date-range-picker--panel","type--"+h,x?_xeUtils.default.isFunction(x)?x({$dateRangePicker:O}):x:"",{["size--"+k]:k,"is--transfer":t,"ani--leave":P,"ani--enter":a,"show--top":!!(d||o||b&&("top"===n||"header"===n)),"show--bottom":!!(v||s||b&&("bottom"===n||"footer"===n)),"show--left":!!(c||b&&"left"===n),"show--right":!!(p||b&&"right"===n)}],placement:F,style:V},D&&(a||P)?[(0,_vue.h)("div",{ref:U,class:["vxe-date-range-picker--layout-all-wrapper","type--"+h,{["size--"+k]:k}]},[d?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-top-wrapper"},d({})):Q("top"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-layout-wrapper"},[c?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-left-wrapper"},c({})):Q("left",!0),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-content-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-header-wrapper"},o({})):Q("header"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:j,modelValue:T,type:N.type,className:N.className,minDate:N.minDate,maxDate:N.maxDate,endDate:w,startDay:N.startDay,labelFormat:N.labelFormat,valueFormat:N.valueFormat,timeFormat:N.timeFormat,defaultDate:g,defaultTime:f,timeConfig:u,festivalMethod:N.festivalMethod,disabledMethod:N.disabledMethod,selectDay:N.selectDay,cellClassName:de,onChange:fe,onDatePrev:H,onDateToday:H,onDateNext:H}),(0,_vue.h)(_datePanel.default,{ref:q,modelValue:w,type:N.type,className:N.className,minDate:N.minDate,maxDate:N.maxDate,startDate:T,startDay:N.startDay,labelFormat:N.labelFormat,valueFormat:N.valueFormat,timeFormat:N.timeFormat,defaultDate:m,defaultTime:_,timeConfig:u,festivalMethod:N.festivalMethod,disabledMethod:N.disabledMethod,selectDay:N.selectDay,cellClassName:de,onChange:_e,onDatePrev:J,onDateToday:J,onDateNext:J})]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-label"},r||i?[(0,_vue.h)("span",r),(0,_vue.h)("span",""+(S||"")),(0,_vue.h)("span",i)]:""+(S||"")),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-custom"},s?s({}):[Q("footer")]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-btns"},[C?(0,_vue.h)(_button.default,{size:"mini",disabled:!(T||w),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:se}):(0,_ui.renderEmptyElement)(O),y?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:me}):(0,_ui.renderEmptyElement)(O)])])]),p?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-right-wrapper"},p({})):Q("right",!0)]),v?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-bottom-wrapper"},v({})):Q("bottom")])]:[])]))]))},O},render(){return this.renderVN()}});
|