vxe-pc-ui 4.6.1 → 4.6.3
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/es/date-panel/src/date-panel.js +16 -3
- package/es/date-picker/src/date-picker.js +7 -4
- package/es/date-range-picker/src/date-range-picker.js +7 -6
- package/es/form/src/form-item.js +1 -0
- package/es/form/src/form.js +15 -6
- package/es/form/src/itemInfo.js +18 -0
- package/es/form/src/render.js +45 -5
- package/es/icon/style.css +1 -1
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/helper/vetur/attributes.json +1 -1
- package/helper/vetur/tags.json +1 -1
- package/lib/date-panel/src/date-panel.js +15 -3
- package/lib/date-panel/src/date-panel.min.js +1 -1
- package/lib/date-picker/src/date-picker.js +8 -4
- package/lib/date-picker/src/date-picker.min.js +1 -1
- package/lib/date-range-picker/src/date-range-picker.js +7 -6
- package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
- package/lib/form/src/form-item.js +1 -0
- package/lib/form/src/form-item.min.js +1 -1
- package/lib/form/src/form.js +19 -6
- package/lib/form/src/form.min.js +1 -1
- package/lib/form/src/itemInfo.js +19 -0
- package/lib/form/src/itemInfo.min.js +1 -1
- package/lib/form/src/render.js +45 -3
- package/lib/form/src/render.min.js +1 -1
- package/lib/icon/style/style.css +1 -1
- package/lib/icon/style/style.min.css +1 -1
- package/lib/index.umd.js +116 -24
- package/lib/index.umd.min.js +1 -1
- package/lib/style.css +1 -1
- package/lib/style.min.css +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/date-panel.ts +14 -3
- package/packages/date-picker/src/date-picker.ts +8 -5
- package/packages/date-range-picker/src/date-range-picker.ts +7 -6
- package/packages/form/src/form-item.ts +1 -0
- package/packages/form/src/form.ts +15 -6
- package/packages/form/src/itemInfo.ts +18 -0
- package/packages/form/src/render.ts +44 -5
- package/types/components/date-panel.d.ts +3 -1
- package/types/components/date-picker.d.ts +2 -0
- package/types/components/date-range-picker.d.ts +2 -0
- package/types/components/form-item.d.ts +13 -0
- package/types/components/form.d.ts +8 -0
- package/types/ui/formats.d.ts +14 -0
- /package/es/icon/{iconfont.1746801282055.ttf → iconfont.1747005800508.ttf} +0 -0
- /package/es/icon/{iconfont.1746801282055.woff → iconfont.1747005800508.woff} +0 -0
- /package/es/icon/{iconfont.1746801282055.woff2 → iconfont.1747005800508.woff2} +0 -0
- /package/es/{iconfont.1746801282055.ttf → iconfont.1747005800508.ttf} +0 -0
- /package/es/{iconfont.1746801282055.woff → iconfont.1747005800508.woff} +0 -0
- /package/es/{iconfont.1746801282055.woff2 → iconfont.1747005800508.woff2} +0 -0
- /package/lib/icon/style/{iconfont.1746801282055.ttf → iconfont.1747005800508.ttf} +0 -0
- /package/lib/icon/style/{iconfont.1746801282055.woff → iconfont.1747005800508.woff} +0 -0
- /package/lib/icon/style/{iconfont.1746801282055.woff2 → iconfont.1747005800508.woff2} +0 -0
- /package/lib/{iconfont.1746801282055.ttf → iconfont.1747005800508.ttf} +0 -0
- /package/lib/{iconfont.1746801282055.woff → iconfont.1747005800508.woff} +0 -0
- /package/lib/{iconfont.1746801282055.woff2 → iconfont.1747005800508.woff2} +0 -0
|
@@ -36,6 +36,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
36
36
|
type: [String, Number, Date],
|
|
37
37
|
default: () => (0, _ui.getConfig)().datePanel.endDate
|
|
38
38
|
},
|
|
39
|
+
defaultDate: [String, Number, Date],
|
|
39
40
|
minDate: [String, Number, Date],
|
|
40
41
|
maxDate: [String, Number, Date],
|
|
41
42
|
startDay: {
|
|
@@ -1109,9 +1110,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1109
1110
|
};
|
|
1110
1111
|
const dateOpenPanel = () => {
|
|
1111
1112
|
const {
|
|
1112
|
-
type
|
|
1113
|
+
type,
|
|
1114
|
+
defaultDate
|
|
1113
1115
|
} = props;
|
|
1114
1116
|
const isDateTimeType = computeIsDateTimeType.value;
|
|
1117
|
+
const dateValueFormat = computeDateValueFormat.value;
|
|
1115
1118
|
const dateValue = computeDateValue.value;
|
|
1116
1119
|
if (['year', 'quarter', 'month', 'week'].indexOf(type) > -1) {
|
|
1117
1120
|
reactData.datePanelType = type;
|
|
@@ -1123,7 +1126,16 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1123
1126
|
dateMonthHandle(dateValue, 0);
|
|
1124
1127
|
dateParseValue(dateValue);
|
|
1125
1128
|
} else {
|
|
1126
|
-
|
|
1129
|
+
if (defaultDate) {
|
|
1130
|
+
const defDate = parseDate(defaultDate, dateValueFormat);
|
|
1131
|
+
if (_xeUtils.default.isValidDate(defDate)) {
|
|
1132
|
+
dateMonthHandle(defDate, 0);
|
|
1133
|
+
} else {
|
|
1134
|
+
dateNowHandle();
|
|
1135
|
+
}
|
|
1136
|
+
} else {
|
|
1137
|
+
dateNowHandle();
|
|
1138
|
+
}
|
|
1127
1139
|
}
|
|
1128
1140
|
if (isDateTimeType) {
|
|
1129
1141
|
reactData.datetimePanelValue = reactData.datePanelValue || _xeUtils.default.getWhatDay(Date.now(), 0, 'first');
|
|
@@ -1142,7 +1154,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
1142
1154
|
};
|
|
1143
1155
|
const datePanelMethods = {
|
|
1144
1156
|
dispatchEvent,
|
|
1145
|
-
|
|
1157
|
+
getModelValue() {
|
|
1146
1158
|
return reactData.inputValue;
|
|
1147
1159
|
},
|
|
1148
1160
|
setPanelDate(date) {
|
|
@@ -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"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeDatePanel",props:{modelValue:[String,Number,Date],type:{type:String,default:"date"},className:String,size:{type:String,default:()=>(0,_ui.getConfig)().datePanel.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePanel.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePanel.endDate},minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.startDay},labelFormat:String,valueFormat:String,festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.selectDay}},emits:["update:modelValue","change","click","clear","date-prev","date-today","date-next","confirm"],setup(L,e){const l=e["emit"];var u=_xeUtils.default.uniqueId();const M=(0,_ui.useSize)(L)["computeSize"],A=(0,_vue.reactive)({visiblePanel:!1,isAniVisible:!1,isActivated:!1,inputValue:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),o={yearSize:12,monthSize:20,quarterSize:8,hpTimeout:void 0};var t=(0,_vue.ref)();const a=(0,_vue.ref)(),n=(0,_vue.ref)(),V={refElem:t},v={xID:u,props:L,context:e,reactData:A,internalData:o,getRefMaps:()=>V},p=(0,_vue.computed)(()=>{var e=L["type"];return"time"===e||"datetime"===e}),r=(0,_vue.computed)(()=>{return p.value||-1<["date","week","month","quarter","year"].indexOf(L.type)}),i=(0,_vue.computed)(()=>L.startDate?_xeUtils.default.toStringDate(L.startDate):null),s=(0,_vue.computed)(()=>L.endDate?_xeUtils.default.toStringDate(L.endDate):null),$=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=L,a=r.value;const l=m.value;return t&&e&&a?_xeUtils.default.toValueString(e).split(",").map(e=>{e=f(e,l);return _xeUtils.default.isValidDate(e),e}):[]}),c=(0,_vue.computed)(()=>{var e=$.value;const t=m.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),d=(0,_vue.computed)(()=>{var e=$.value;const t=h.value;return e.map(e=>_xeUtils.default.toDateString(e,t)).join(", ")}),k=(0,_vue.computed)(()=>L.multiple?_xeUtils.default.toNumber(L.limitCount):0),Q=(0,_vue.computed)(()=>{var e=L["multiple"],t=k.value,a=c.value;return!(!e||!t)&&a.length>=t}),m=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=L;return t||("time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd")}),R=(0,_vue.computed)(()=>{var e=L["modelValue"],t=r.value,a=m.value;let l=null;return l=e&&t&&(t=f(e,a),_xeUtils.default.isValidDate(t))?t:l}),_=(0,_vue.computed)(()=>{var e=i.value,t=A["selectMonth"];return!(!t||!e)&&t<=e}),T=(0,_vue.computed)(()=>{var e=s.value,t=A["selectMonth"];return!(!t||!e)&&_xeUtils.default.getWhatMonth(t,0,"last")>=e}),N=(0,_vue.computed)(()=>{var e=A["datetimePanelValue"],t=j.value,a=I.value;return e?_xeUtils.default.toDateString(e,a&&t?"HH:mm:ss":a?"HH:mm":"HH"):""}),W=(0,_vue.computed)(()=>{var e=R.value,t=p.value;return e&&t?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0}),h=(0,_vue.computed)(()=>{var e=L["labelFormat"];return r.value?e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+L.type):""}),y=(0,_vue.computed)(()=>{var t=o["yearSize"],{selectMonth:e,currentDate:a}=A,l=[];if(e&&a){var u=a.getFullYear(),a=e.getFullYear(),i=new Date(a-a%t,0,1);for(let e=-4;e<t+4;e++){var s=_xeUtils.default.getWhatYear(i,e,"first"),r=s.getFullYear();l.push({date:s,isCurrent:!0,isPrev:e<0,isNow:u===r,isNext:e>=t,year:r})}}return l}),C=(0,_vue.computed)(()=>{let a="",l="";if(r.value){var{datePanelType:u,selectMonth:i}=A,s=y.value;let e="",t;i&&(e=i.getFullYear(),t=i.getMonth()+1),"quarter"===u||"month"===u?a=(0,_ui.getI18n)("vxe.datePicker.yearTitle",[e]):"year"===u?a=s.length?s[0].year+" - "+s[s.length-1].year:"":(a=(0,_ui.getI18n)("vxe.datePicker.yearTitle",[e]),l=t?(0,_ui.getI18n)("vxe.input.date.m"+t):"-")}return{y:a,m:l}}),x=(0,_vue.computed)(()=>{var e=L["startDay"];return _xeUtils.default.toNumber(e)}),q=(0,_vue.computed)(()=>{var a=[];if(r.value){let t=x.value;a.push(t);for(let e=0;e<6;e++)6<=t?t=0:t++,a.push(t)}return a}),Z=(0,_vue.computed)(()=>{return r.value?q.value.map(e=>({value:e,label:(0,_ui.getI18n)("vxe.input.date.weeks.w"+e)})):[]}),ee=(0,_vue.computed)(()=>{var e;return r.value?(e=Z.value,[{label:(0,_ui.getI18n)("vxe.input.date.weeks.w")}].concat(e)):[]}),te=(0,_vue.computed)(()=>{var e=y.value;return _xeUtils.default.chunk(e,4)}),Y=(0,_vue.computed)(()=>{var t=o["quarterSize"],{selectMonth:e,currentDate:a}=A,l=[];if(e&&a){var u=a.getFullYear(),i=(0,_util.getDateQuarter)(a),s=_xeUtils.default.getWhatYear(e,0,"first"),r=s.getFullYear();for(let e=-2;e<t-2;e++){var n=_xeUtils.default.getWhatQuarter(s,e),v=n.getFullYear(),d=(0,_util.getDateQuarter)(n),p=v<r;l.push({date:n,isPrev:p,isCurrent:v===r,isNow:v===u&&d===i,isNext:!p&&r<v,quarter:d})}}return l}),ae=(0,_vue.computed)(()=>{var e=Y.value;return _xeUtils.default.chunk(e,2)}),H=(0,_vue.computed)(()=>{var t=o["monthSize"],{selectMonth:a,currentDate:e}=A,l=[];if(a&&e){var u=e.getFullYear(),i=e.getMonth(),s=_xeUtils.default.getWhatYear(a,0,"first").getFullYear();for(let e=-4;e<t-4;e++){var r=_xeUtils.default.getWhatYear(a,0,e),n=r.getFullYear(),v=r.getMonth(),d=n<s;l.push({date:r,isPrev:d,isCurrent:n===s,isNow:n===u&&v===i,isNext:!d&&s<n,month:v})}}return l}),le=(0,_vue.computed)(()=>{var e=H.value;return _xeUtils.default.chunk(e,4)}),F=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=A,a=[];if(t&&e){var l=W.value,u=q.value,i=e.getFullYear(),s=e.getMonth(),r=e.getDate(),n=t.getFullYear(),v=t.getMonth(),e=t.getDay(),u=-u.indexOf(e),d=new Date(_xeUtils.default.getWhatDay(t,u).getTime()+l);for(let e=0;e<42;e++){var p=_xeUtils.default.getWhatDay(d,e),o=p.getFullYear(),c=p.getMonth(),m=p.getDate(),_=p<t;a.push({date:p,isPrev:_,isCurrent:o===n&&c===v,isNow:o===i&&c===s&&m===r,isNext:!_&&v!==c,label:m})}}return a}),ue=(0,_vue.computed)(()=>{var e=F.value;return _xeUtils.default.chunk(e,7)}),ie=(0,_vue.computed)(()=>{var e=ue.value;const a=x.value;return e.map(e=>{var t=e[0];return[{date:t.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:_xeUtils.default.getYearWeek(t.date,a)}].concat(e)})}),E=(0,_vue.computed)(()=>{var t=[];if(p.value)for(let e=0;e<24;e++)t.push({value:e,label:(""+e).padStart(2,"0")});return t}),z=(0,_vue.computed)(()=>{var t=[];if(p.value)for(let e=0;e<60;e++)t.push({value:e,label:(""+e).padStart(2,"0")});return t}),I=(0,_vue.computed)(()=>{var e=m.value;return!/HH/.test(e)||/mm/.test(e)}),j=(0,_vue.computed)(()=>{var e=m.value;return!/HH/.test(e)||/ss/.test(e)}),O=(0,_vue.computed)(()=>{return z.value}),se=e=>{var t=L["type"],a=m.value;A.inputValue=(0,_util.parseDateValue)(e,t,{valueFormat:a}),xe()},f=(e,t)=>{var{type:a,multiple:l}=L;return"time"===a?(0,_util.toStringTimeDate)(e):_xeUtils.default.isArray(e)?_xeUtils.default.toStringDate(e[0],t):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(l?_xeUtils.default.last(e.split(",")):e,t):_xeUtils.default.toStringDate(e,t)},re=a=>{var l=L["type"],{inputValue:u,datetimePanelValue:i}=A,s=h.value;if(a){let t=f(a,s);if(_xeUtils.default.isValidDate(t))if("time"===l)u!==(t=_xeUtils.default.toDateString(t,s))&&g(t,{type:"check"}),A.inputValue=t;else{let e=!1;u=x.value;"datetime"===l?(l=R.value,a===_xeUtils.default.toDateString(l,s)&&a===_xeUtils.default.toDateString(t,s)||(e=!0,i&&(i.setHours(t.getHours()),i.setMinutes(t.getMinutes()),i.setSeconds(t.getSeconds())))):e=!0,A.inputValue=_xeUtils.default.toDateString(t,s,{firstDay:u}),e&&b(t)}else A.inputValue=L.multiple?d.value:A.datePanelLabel}else g("",{type:"check"})},g=(e,t)=>{var a=L["modelValue"];A.inputValue=e,l("update:modelValue",e),_xeUtils.default.toValueString(a)!==e&&S("change",{value:e},t)},w=()=>new Promise(e=>{A.visiblePanel=!1,o.hpTimeout=setTimeout(()=>{A.isAniVisible=!1,e()},350)}),D=e=>{var t=L["type"],a=h.value,l=m.value,u=x.value,e=(0,_util.parseDateObj)(e,t,{valueFormat:l,labelFormat:a,firstDay:u});A.datePanelValue=e.value,A.datePanelLabel=e.label},ne=()=>{var e=r.value,t=A["inputValue"];e&&(D(t),A.inputValue=L.multiple?d.value:A.datePanelLabel)},ve=()=>{var e=L["modelValue"],t=r.value;se(e),t&&ne()},U=e=>{var t=x.value,a=_xeUtils.default.getYearWeek(e,t),t=_xeUtils.default.getWhatWeek(e,0,t,t),a=_xeUtils.default.getWhatMonth(1===a?_xeUtils.default.getWhatDay(t,6):e,0,"first");_xeUtils.default.isEqual(a,A.selectMonth)||(A.selectMonth=a)},b=(t,e)=>{var{modelValue:a,multiple:l}=L;const u=A["datetimePanelValue"];var i=p.value;const s=m.value;var r=x.value;"week"===L.type?(v=_xeUtils.default.toNumber(L.selectDay),t=_xeUtils.default.getWhatWeek(t,0,v,r)):i&&u&&(t.setHours(u.getHours()),t.setMinutes(u.getMinutes()),t.setSeconds(u.getSeconds()));const n=_xeUtils.default.toDateString(t,s,{firstDay:r});if(U(t),l){var v=Q.value;if(i){r=e?[]:[...$.value];const d=[];l=_xeUtils.default.findIndexOf(r,e=>_xeUtils.default.isDateSame(t,e,"yyyyMMdd"));if(-1===l){if(v)return;r.push(t)}else r.splice(l,1);r.forEach(e=>{e&&(u&&(e.setHours(u.getHours()),e.setMinutes(u.getMinutes()),e.setSeconds(u.getSeconds())),d.push(e))}),g(d.map(e=>_xeUtils.default.toDateString(e,s)).join(","),{type:"update"})}else{i=e?[]:c.value;i.some(e=>_xeUtils.default.isEqual(e,n))?g(i.filter(e=>!_xeUtils.default.isEqual(e,n)).join(","),{type:"update"}):v||g(i.concat([n]).join(","),{type:"update"})}}else _xeUtils.default.isEqual(a,n)||g(n,{type:"update"})},de=(e,t)=>{var a=x.value,l=_xeUtils.default.getYearWeek(e,a),a=_xeUtils.default.getWhatWeek(e,0,a,a),l=_xeUtils.default.getWhatMonth(1===l?_xeUtils.default.getWhatDay(a,6):e,t,"first");A.selectMonth=l},pe=()=>{var e=L["type"],t=x.value;let a=new Date;switch(e){case"week":a=_xeUtils.default.getWhatWeek(a,0,t);break;case"datetime":a=new Date,A.datetimePanelValue=new Date;break;default:a=_xeUtils.default.getWhatDay(Date.now(),0,"first")}A.currentDate=a,de(a,0)},oe=()=>{A.datePanelType="year"},ce=()=>{let e=A["datePanelType"];e="month"===e||"quarter"===e?"year":"month",A.datePanelType=e},me=t=>{var a=L["type"],{datePanelType:l,selectMonth:u,inputValue:i}=A,s=o["yearSize"];if(!_.value){let e;e="year"===a?_xeUtils.default.getWhatYear(u,-s,"first"):"month"===a||"quarter"===a?"year"===l?_xeUtils.default.getWhatYear(u,-s,"first"):_xeUtils.default.getWhatYear(u,-1,"first"):"year"===l?_xeUtils.default.getWhatYear(u,-s,"first"):"month"===l?_xeUtils.default.getWhatYear(u,-1,"first"):_xeUtils.default.getWhatMonth(u,-1,"first"),A.selectMonth=e,S("date-prev",{viewType:l,viewDate:e,value:i,type:a},t)}},_e=e=>{pe(),b(A.currentDate,!0),L.multiple||w(),S("date-today",{type:L.type},e)},he=t=>{var a=L["type"],{datePanelType:l,selectMonth:u,inputValue:i}=A,s=o["yearSize"];if(!T.value){let e;e="year"===a?_xeUtils.default.getWhatYear(u,s,"first"):"month"===a||"quarter"===a?"year"===l?_xeUtils.default.getWhatYear(u,s,"first"):_xeUtils.default.getWhatYear(u,1,"first"):"year"===l?_xeUtils.default.getWhatYear(u,s,"first"):"month"===l?_xeUtils.default.getWhatYear(u,1,"first"):_xeUtils.default.getWhatMonth(u,1,"first"),A.selectMonth=e,S("date-next",{viewType:l,value:i,type:a},t)}},B=e=>{var t=L["disabledMethod"],a=A["datePanelType"],l=i.value,u=s.value,e=e["date"];return!!(l&&l.getTime()>e.getTime())||!!(u&&u.getTime()<e.getTime())||!!t&&t({type:a,viewType:a,date:e,$datePanel:v})},G=e=>{var t,a,l;B(e)||(e=e.date,{type:t,multiple:a}=L,l=A.datePanelType,"month"===t?"year"===l?(A.datePanelType="month",U(e)):(b(e),a||w()):"year"===t?(b(e),a||w()):"quarter"===t?"year"===l?(A.datePanelType="quarter",U(e)):(b(e),a||w()):"month"===l?(A.datePanelType="week"===t?t:"day",U(e)):"year"===l?(A.datePanelType="month",U(e)):(b(e),"datetime"===t||a||w()))},J=e=>{var t,a,l,u,i;B(e)||(t=A["datePanelType"],"month"===t?(i=e.date,B({date:i})||(H.value.some(e=>_xeUtils.default.isDateSame(e.date,i,"yyyyMM"))||U(i),D(i))):"quarter"===t?(u=e.date,B({date:u})||(Y.value.some(e=>_xeUtils.default.isDateSame(e.date,u,"yyyyq"))||U(u),D(u))):"year"===t?(l=e.date,B({date:l})||(y.value.some(e=>_xeUtils.default.isDateSame(e.date,l,"yyyy"))||U(l),D(l))):(a=e.date,B({date:a})||(F.value.some(e=>_xeUtils.default.isDateSame(e.date,a,"yyyyMMdd"))||U(a),D(a))))},K=()=>{A.datePanelValue=null},ye=e=>{var t;e&&(t=e.offsetHeight,e.parentNode.scrollTop=e.offsetTop-4*t)},P=e=>{var t=A["datetimePanelValue"];A.datetimePanelValue=t?new Date(t.getTime()):new Date,ye(e.currentTarget)},xe=()=>{var e=L["type"],t=p.value,a=R.value;-1<["year","quarter","month","week"].indexOf(e)?A.datePanelType=e:A.datePanelType="day",A.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),a?(de(a,0),D(a)):pe(),t&&(A.datetimePanelValue=A.datePanelValue||_xeUtils.default.getWhatDay(Date.now(),0,"first"),(0,_vue.nextTick)(()=>{var e=n.value;_xeUtils.default.arrayEach(e.querySelectorAll("li.is--selected"),e=>{ye(e)})}))},S=(e,t,a)=>{l(e,(0,_ui.createEvent)(a,{$datePanel:v},t))};t={dispatchEvent:S,getValue(){return A.inputValue},setPanelDate(e){e&&U(e)},getPanelDate(){return A.selectMonth},checkValue(e){re(e)},confirmByEvent(e){{var t=L["multiple"];const u=A["datetimePanelValue"];var a=R.value,l=p.value;if(l){const i=m.value;if(t){t=c.value;if(l){l=[...$.value];const s=[];l.forEach(e=>{e&&(u&&(e.setHours(u.getHours()),e.setMinutes(u.getMinutes()),e.setSeconds(u.getSeconds())),s.push(e))}),g(s.map(e=>_xeUtils.default.toDateString(e,i)).join(","),{type:"update"})}else g(t.join(","),{type:"update"})}else b(a||A.currentDate)}w(),S("confirm",{},e)}}};Object.assign(v,t);const X=(e,t)=>{var a,l=L["festivalMethod"],u=[];return l&&(a=A["datePanelType"],e=(a=(l=l({type:a,viewType:a,date:e.date,$datePanel:v}))?_xeUtils.default.isString(l)?{label:l}:l:{}).extra?_xeUtils.default.isString(a.extra)?{label:a.extra}:a.extra:null,u.push((0,_vue.h)("div",{class:["vxe-date-panel--label",{"is-notice":a.notice}]},e&&e.label?[(0,_vue.h)("div",""+t),(0,_vue.h)("div",{class:["vxe-date-panel--label--extra",e.important?"is-important":"",e.className],style:e.style},_xeUtils.default.toValueString(e.label))]:""+t)),l=a.label)&&(e=_xeUtils.default.toValueString(l).split(","),u.push((0,_vue.h)("div",{class:["vxe-date-panel--festival",a.important?"is-important":"",a.className],style:a.style},[1<e.length?(0,_vue.h)("div",{class:["vxe-date-panel--festival--overlap","overlap--"+e.length]},e.map(e=>(0,_vue.h)("div",e.substring(0,3)))):(0,_vue.h)("div",{class:"vxe-date-panel--festival--label"},e[0].substring(0,3))]))),u},fe=()=>{var H=A["datePanelType"];switch(H){case"week":{const t=L["multiple"],{datePanelType:e,datePanelValue:i}=A,s=R.value;var F=ee.value;const r=ie.value,n=$.value,v=Q.value,d="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+e]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},F.map((e,t)=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:`${t?13:9}%`}},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},r.map(e=>{const a=t?e.some(t=>n.some(e=>_xeUtils.default.isDateSame(e,t.date,d))):e.some(e=>_xeUtils.default.isDateSame(s,e.date,d)),l=e.some(e=>_xeUtils.default.isDateSame(i,e.date,d)),u=e.some(e=>e.isNow);return(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/r.length+"%"}},e.map((e,t)=>(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":t?e.isNow:u,"is--next":e.isNext,"is--disabled":B(e),"is--selected":a,"is--over":v&&!a,"is--hover":!v&&l}],style:{width:`${t?13:9}%`},onClick:()=>G(e),onMouseenter:()=>J(e),onMouseleave:K},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},X(e,e.label))])))}))])];return}case"month":{const l=L["multiple"],{datePanelType:a,datePanelValue:u}=A,p=R.value,o=le.value,c=$.value,m=Q.value,_="yyyyMM";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+a]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},o.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/o.length+"%"}},a.map(t=>{var e=l?c.some(e=>_xeUtils.default.isDateSame(e,t.date,_)):_xeUtils.default.isDateSame(p,t.date,_);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":B(t),"is--selected":e,"is--over":m&&!e,"is--hover":!m&&_xeUtils.default.isDateSame(u,t.date,_)}],style:{width:100/a.length+"%"},onClick:()=>G(t),onMouseenter:()=>J(t),onMouseleave:K},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},X(t,(0,_ui.getI18n)("vxe.input.date.months.m"+t.month)))])}))))])];return}case"quarter":{const h=L["multiple"],{datePanelType:y,datePanelValue:x}=A,f=R.value,g=ae.value,w=$.value,D=Q.value,U="yyyyq";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+y]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},g.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/g.length+"%"}},a.map(t=>{var e=h?w.some(e=>_xeUtils.default.isDateSame(e,t.date,U)):_xeUtils.default.isDateSame(f,t.date,U);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":B(t),"is--selected":e,"is--over":D&&!e,"is--hover":!D&&_xeUtils.default.isDateSame(x,t.date,U)}],style:{width:100/a.length+"%"},onClick:()=>G(t),onMouseenter:()=>J(t),onMouseleave:K},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},X(t,(0,_ui.getI18n)("vxe.input.date.quarters.q"+t.quarter)))])}))))])];return}case"year":{const b=L["multiple"],{datePanelType:P,datePanelValue:S}=A,M=R.value,V=te.value,k=$.value,T=Q.value,N="yyyy";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+P]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},V.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/V.length+"%"}},a.map(t=>{var e=b?k.some(e=>_xeUtils.default.isDateSame(e,t.date,N)):_xeUtils.default.isDateSame(M,t.date,N);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":B(t),"is--selected":e,"is--over":T&&!e,"is--hover":!T&&_xeUtils.default.isDateSame(S,t.date,N)}],style:{width:100/a.length+"%"},onClick:()=>G(t),onMouseenter:()=>J(t),onMouseleave:K},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},X(t,t.year))])}))))])];return}}{const E=L["multiple"],{datePanelType:z,datePanelValue:I}=A,j=R.value,W=Z.value,C=ue.value,O=$.value,q=Q.value,Y="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+z]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},W.map(e=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:100/W.length+"%"}},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},C.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/C.length+"%"}},a.map(t=>{var e=E?O.some(e=>_xeUtils.default.isDateSame(e,t.date,Y)):_xeUtils.default.isDateSame(j,t.date,Y);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":B(t),"is--selected":e,"is--over":q&&!e,"is--hover":!q&&_xeUtils.default.isDateSame(I,t.date,Y)}],style:{width:100/a.length+"%"},onClick:()=>G(t),onMouseenter:()=>J(t),onMouseleave:K},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},X(t,t.label))])}))))])]}},ge=()=>{var e=A["datePanelType"],t=_.value,a=T.value,l=C.value;return[(0,_vue.h)("div",{class:"vxe-date-panel--picker-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--picker-type-wrapper"},["year"===e?(0,_vue.h)("span",{class:"vxe-date-panel--picker-label"},l.y):(0,_vue.h)("span",{class:"vxe-date-panel--picker-btns"},[(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:oe},l.y),l.m?(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:ce},l.m):(0,_ui.renderEmptyElement)(v)])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-btn-wrapper"},[(0,_vue.h)("span",{class:["vxe-date-panel--picker-btn vxe-date-panel--picker-prev-btn",{"is--disabled":t}],onClick:me},[(0,_vue.h)("i",{class:"vxe-icon-caret-left"})]),(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn vxe-date-panel--picker-current-btn",onClick:_e},[(0,_vue.h)("i",{class:"vxe-icon-dot"})]),(0,_vue.h)("span",{class:["vxe-date-panel--picker-btn vxe-date-panel--picker-next-btn",{"is--disabled":a}],onClick:he},[(0,_vue.h)("i",{class:"vxe-icon-caret-right"})])])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-body"},fe())]},we=()=>{var e=L["type"];const t=A["datetimePanelValue"];var a=N.value,l=E.value,u=I.value,i=z.value,s=j.value,r=O.value;return["time"===e?(0,_ui.renderEmptyElement)(v):(0,_vue.h)("div",{class:"vxe-date-panel--time-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-title"},a)]),(0,_vue.h)("div",{ref:n,class:"vxe-date-panel--time-body"},[(0,_vue.h)("ul",{class:"vxe-date-panel--time-hour-list"},l.map((l,e)=>(0,_vue.h)("li",{key:e,class:{"is--selected":t&&t.getHours()===l.value},onClick:e=>{return e=e,t=l,(a=A.datetimePanelValue)&&a.setHours(t.value),void P(e);var t,a}},l.label))),u?(0,_vue.h)("ul",{class:"vxe-date-panel--time-minute-list"},i.map((l,e)=>(0,_vue.h)("li",{key:e,class:{"is--selected":t&&t.getMinutes()===l.value},onClick:e=>{return e=e,t=l,(a=A.datetimePanelValue)&&a.setMinutes(t.value),void P(e);var t,a}},l.label))):(0,_ui.renderEmptyElement)(v),u&&s?(0,_vue.h)("ul",{class:"vxe-date-panel--time-second-list"},r.map((l,e)=>(0,_vue.h)("li",{key:e,class:{"is--selected":t&&t.getSeconds()===l.value},onClick:e=>{return e=e,t=l,(a=A.datetimePanelValue)&&a.setSeconds(t.value),void P(e);var t,a}},l.label))):(0,_ui.renderEmptyElement)(v)])]};return(0,_vue.watch)(()=>L.modelValue,e=>{se(e),ne()}),(0,_vue.watch)(()=>L.type,()=>{Object.assign(A,{inputValue:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),ve()}),(0,_vue.watch)(h,()=>{r.value&&(D(A.datePanelValue),A.inputValue=L.multiple?d.value:A.datePanelLabel)}),ve(),xe(),v.renderVN=()=>{var e=L["type"],t=M.value;return(0,_vue.h)("div",{class:["vxe-date-panel","type--"+e,{["size--"+t]:t}]},["datetime"===(e=L.type)?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--time-layout-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-left-wrapper"},ge()),(0,_vue.h)("div",{class:"vxe-date-panel--time-right-wrapper"},we())]):"time"===e?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--wrapper"},we()):(0,_vue.h)("div",{key:e||"default",ref:a,class:"vxe-date-panel--wrapper"},ge())])},v},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"),_util=require("./util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _default=exports.default=(0,_vue.defineComponent)({name:"VxeDatePanel",props:{modelValue:[String,Number,Date],type:{type:String,default:"date"},className:String,size:{type:String,default:()=>(0,_ui.getConfig)().datePanel.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePanel.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePanel.endDate},defaultDate:[String,Number,Date],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.startDay},labelFormat:String,valueFormat:String,festivalMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.festivalMethod},disabledMethod:{type:Function,default:()=>(0,_ui.getConfig)().datePanel.disabledMethod},selectDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePanel.selectDay}},emits:["update:modelValue","change","click","clear","date-prev","date-today","date-next","confirm"],setup(L,e){const l=e["emit"];var u=_xeUtils.default.uniqueId();const M=(0,_ui.useSize)(L)["computeSize"],A=(0,_vue.reactive)({visiblePanel:!1,isAniVisible:!1,isActivated:!1,inputValue:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),o={yearSize:12,monthSize:20,quarterSize:8,hpTimeout:void 0};var t=(0,_vue.ref)();const a=(0,_vue.ref)(),n=(0,_vue.ref)(),V={refElem:t},v={xID:u,props:L,context:e,reactData:A,internalData:o,getRefMaps:()=>V},p=(0,_vue.computed)(()=>{var e=L["type"];return"time"===e||"datetime"===e}),r=(0,_vue.computed)(()=>{return p.value||-1<["date","week","month","quarter","year"].indexOf(L.type)}),i=(0,_vue.computed)(()=>L.startDate?_xeUtils.default.toStringDate(L.startDate):null),s=(0,_vue.computed)(()=>L.endDate?_xeUtils.default.toStringDate(L.endDate):null),$=(0,_vue.computed)(()=>{var{modelValue:e,multiple:t}=L,a=r.value;const l=m.value;return t&&e&&a?_xeUtils.default.toValueString(e).split(",").map(e=>{e=x(e,l);return _xeUtils.default.isValidDate(e),e}):[]}),c=(0,_vue.computed)(()=>{var e=$.value;const t=m.value;return e.map(e=>_xeUtils.default.toDateString(e,t))}),d=(0,_vue.computed)(()=>{var e=$.value;const t=_.value;return e.map(e=>_xeUtils.default.toDateString(e,t)).join(", ")}),k=(0,_vue.computed)(()=>L.multiple?_xeUtils.default.toNumber(L.limitCount):0),Q=(0,_vue.computed)(()=>{var e=L["multiple"],t=k.value,a=c.value;return!(!e||!t)&&a.length>=t}),m=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=L;return t||("time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd")}),R=(0,_vue.computed)(()=>{var e=L["modelValue"],t=r.value,a=m.value;let l=null;return l=e&&t&&(t=x(e,a),_xeUtils.default.isValidDate(t))?t:l}),T=(0,_vue.computed)(()=>{var e=i.value,t=A["selectMonth"];return!(!t||!e)&&t<=e}),N=(0,_vue.computed)(()=>{var e=s.value,t=A["selectMonth"];return!(!t||!e)&&_xeUtils.default.getWhatMonth(t,0,"last")>=e}),W=(0,_vue.computed)(()=>{var e=A["datetimePanelValue"],t=O.value,a=j.value;return e?_xeUtils.default.toDateString(e,a&&t?"HH:mm:ss":a?"HH:mm":"HH"):""}),C=(0,_vue.computed)(()=>{var e=R.value,t=p.value;return e&&t?1e3*(3600*e.getHours()+60*e.getMinutes()+e.getSeconds()):0}),_=(0,_vue.computed)(()=>{var e=L["labelFormat"];return r.value?e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+L.type):""}),h=(0,_vue.computed)(()=>{var t=o["yearSize"],{selectMonth:e,currentDate:a}=A,l=[];if(e&&a){var u=a.getFullYear(),a=e.getFullYear(),i=new Date(a-a%t,0,1);for(let e=-4;e<t+4;e++){var s=_xeUtils.default.getWhatYear(i,e,"first"),r=s.getFullYear();l.push({date:s,isCurrent:!0,isPrev:e<0,isNow:u===r,isNext:e>=t,year:r})}}return l}),q=(0,_vue.computed)(()=>{let a="",l="";if(r.value){var{datePanelType:u,selectMonth:i}=A,s=h.value;let e="",t;i&&(e=i.getFullYear(),t=i.getMonth()+1),"quarter"===u||"month"===u?a=(0,_ui.getI18n)("vxe.datePicker.yearTitle",[e]):"year"===u?a=s.length?s[0].year+" - "+s[s.length-1].year:"":(a=(0,_ui.getI18n)("vxe.datePicker.yearTitle",[e]),l=t?(0,_ui.getI18n)("vxe.input.date.m"+t):"-")}return{y:a,m:l}}),y=(0,_vue.computed)(()=>{var e=L["startDay"];return _xeUtils.default.toNumber(e)}),Y=(0,_vue.computed)(()=>{var a=[];if(r.value){let t=y.value;a.push(t);for(let e=0;e<6;e++)6<=t?t=0:t++,a.push(t)}return a}),Z=(0,_vue.computed)(()=>{return r.value?Y.value.map(e=>({value:e,label:(0,_ui.getI18n)("vxe.input.date.weeks.w"+e)})):[]}),ee=(0,_vue.computed)(()=>{var e;return r.value?(e=Z.value,[{label:(0,_ui.getI18n)("vxe.input.date.weeks.w")}].concat(e)):[]}),te=(0,_vue.computed)(()=>{var e=h.value;return _xeUtils.default.chunk(e,4)}),H=(0,_vue.computed)(()=>{var t=o["quarterSize"],{selectMonth:e,currentDate:a}=A,l=[];if(e&&a){var u=a.getFullYear(),i=(0,_util.getDateQuarter)(a),s=_xeUtils.default.getWhatYear(e,0,"first"),r=s.getFullYear();for(let e=-2;e<t-2;e++){var n=_xeUtils.default.getWhatQuarter(s,e),v=n.getFullYear(),d=(0,_util.getDateQuarter)(n),p=v<r;l.push({date:n,isPrev:p,isCurrent:v===r,isNow:v===u&&d===i,isNext:!p&&r<v,quarter:d})}}return l}),ae=(0,_vue.computed)(()=>{var e=H.value;return _xeUtils.default.chunk(e,2)}),F=(0,_vue.computed)(()=>{var t=o["monthSize"],{selectMonth:a,currentDate:e}=A,l=[];if(a&&e){var u=e.getFullYear(),i=e.getMonth(),s=_xeUtils.default.getWhatYear(a,0,"first").getFullYear();for(let e=-4;e<t-4;e++){var r=_xeUtils.default.getWhatYear(a,0,e),n=r.getFullYear(),v=r.getMonth(),d=n<s;l.push({date:r,isPrev:d,isCurrent:n===s,isNow:n===u&&v===i,isNext:!d&&s<n,month:v})}}return l}),le=(0,_vue.computed)(()=>{var e=F.value;return _xeUtils.default.chunk(e,4)}),E=(0,_vue.computed)(()=>{var{selectMonth:t,currentDate:e}=A,a=[];if(t&&e){var l=C.value,u=Y.value,i=e.getFullYear(),s=e.getMonth(),r=e.getDate(),n=t.getFullYear(),v=t.getMonth(),e=t.getDay(),u=-u.indexOf(e),d=new Date(_xeUtils.default.getWhatDay(t,u).getTime()+l);for(let e=0;e<42;e++){var p=_xeUtils.default.getWhatDay(d,e),o=p.getFullYear(),c=p.getMonth(),m=p.getDate(),_=p<t;a.push({date:p,isPrev:_,isCurrent:o===n&&c===v,isNow:o===i&&c===s&&m===r,isNext:!_&&v!==c,label:m})}}return a}),ue=(0,_vue.computed)(()=>{var e=E.value;return _xeUtils.default.chunk(e,7)}),ie=(0,_vue.computed)(()=>{var e=ue.value;const a=y.value;return e.map(e=>{var t=e[0];return[{date:t.date,isWeekNumber:!0,isPrev:!1,isCurrent:!1,isNow:!1,isNext:!1,label:_xeUtils.default.getYearWeek(t.date,a)}].concat(e)})}),z=(0,_vue.computed)(()=>{var t=[];if(p.value)for(let e=0;e<24;e++)t.push({value:e,label:(""+e).padStart(2,"0")});return t}),I=(0,_vue.computed)(()=>{var t=[];if(p.value)for(let e=0;e<60;e++)t.push({value:e,label:(""+e).padStart(2,"0")});return t}),j=(0,_vue.computed)(()=>{var e=m.value;return!/HH/.test(e)||/mm/.test(e)}),O=(0,_vue.computed)(()=>{var e=m.value;return!/HH/.test(e)||/ss/.test(e)}),se=(0,_vue.computed)(()=>{return I.value}),re=e=>{var t=L["type"],a=m.value;A.inputValue=(0,_util.parseDateValue)(e,t,{valueFormat:a}),xe()},x=(e,t)=>{var{type:a,multiple:l}=L;return"time"===a?(0,_util.toStringTimeDate)(e):_xeUtils.default.isArray(e)?_xeUtils.default.toStringDate(e[0],t):_xeUtils.default.isString(e)?_xeUtils.default.toStringDate(l?_xeUtils.default.last(e.split(",")):e,t):_xeUtils.default.toStringDate(e,t)},ne=a=>{var l=L["type"],{inputValue:u,datetimePanelValue:i}=A,s=_.value;if(a){let t=x(a,s);if(_xeUtils.default.isValidDate(t))if("time"===l)u!==(t=_xeUtils.default.toDateString(t,s))&&f(t,{type:"check"}),A.inputValue=t;else{let e=!1;u=y.value;"datetime"===l?(l=R.value,a===_xeUtils.default.toDateString(l,s)&&a===_xeUtils.default.toDateString(t,s)||(e=!0,i&&(i.setHours(t.getHours()),i.setMinutes(t.getMinutes()),i.setSeconds(t.getSeconds())))):e=!0,A.inputValue=_xeUtils.default.toDateString(t,s,{firstDay:u}),e&&U(t)}else A.inputValue=L.multiple?d.value:A.datePanelLabel}else f("",{type:"check"})},f=(e,t)=>{var a=L["modelValue"];A.inputValue=e,l("update:modelValue",e),_xeUtils.default.toValueString(a)!==e&&S("change",{value:e},t)},g=()=>new Promise(e=>{A.visiblePanel=!1,o.hpTimeout=setTimeout(()=>{A.isAniVisible=!1,e()},350)}),D=e=>{var t=L["type"],a=_.value,l=m.value,u=y.value,e=(0,_util.parseDateObj)(e,t,{valueFormat:l,labelFormat:a,firstDay:u});A.datePanelValue=e.value,A.datePanelLabel=e.label},ve=()=>{var e=r.value,t=A["inputValue"];e&&(D(t),A.inputValue=L.multiple?d.value:A.datePanelLabel)},de=()=>{var e=L["modelValue"],t=r.value;re(e),t&&ve()},w=e=>{var t=y.value,a=_xeUtils.default.getYearWeek(e,t),t=_xeUtils.default.getWhatWeek(e,0,t,t),a=_xeUtils.default.getWhatMonth(1===a?_xeUtils.default.getWhatDay(t,6):e,0,"first");_xeUtils.default.isEqual(a,A.selectMonth)||(A.selectMonth=a)},U=(t,e)=>{var{modelValue:a,multiple:l}=L;const u=A["datetimePanelValue"];var i=p.value;const s=m.value;var r=y.value;"week"===L.type?(v=_xeUtils.default.toNumber(L.selectDay),t=_xeUtils.default.getWhatWeek(t,0,v,r)):i&&u&&(t.setHours(u.getHours()),t.setMinutes(u.getMinutes()),t.setSeconds(u.getSeconds()));const n=_xeUtils.default.toDateString(t,s,{firstDay:r});if(w(t),l){var v=Q.value;if(i){r=e?[]:[...$.value];const d=[];l=_xeUtils.default.findIndexOf(r,e=>_xeUtils.default.isDateSame(t,e,"yyyyMMdd"));if(-1===l){if(v)return;r.push(t)}else r.splice(l,1);r.forEach(e=>{e&&(u&&(e.setHours(u.getHours()),e.setMinutes(u.getMinutes()),e.setSeconds(u.getSeconds())),d.push(e))}),f(d.map(e=>_xeUtils.default.toDateString(e,s)).join(","),{type:"update"})}else{i=e?[]:c.value;i.some(e=>_xeUtils.default.isEqual(e,n))?f(i.filter(e=>!_xeUtils.default.isEqual(e,n)).join(","),{type:"update"}):v||f(i.concat([n]).join(","),{type:"update"})}}else _xeUtils.default.isEqual(a,n)||f(n,{type:"update"})},b=(e,t)=>{var a=y.value,l=_xeUtils.default.getYearWeek(e,a),a=_xeUtils.default.getWhatWeek(e,0,a,a),l=_xeUtils.default.getWhatMonth(1===l?_xeUtils.default.getWhatDay(a,6):e,t,"first");A.selectMonth=l},pe=()=>{var e=L["type"],t=y.value;let a=new Date;switch(e){case"week":a=_xeUtils.default.getWhatWeek(a,0,t);break;case"datetime":a=new Date,A.datetimePanelValue=new Date;break;default:a=_xeUtils.default.getWhatDay(Date.now(),0,"first")}A.currentDate=a,b(a,0)},oe=()=>{A.datePanelType="year"},ce=()=>{let e=A["datePanelType"];e="month"===e||"quarter"===e?"year":"month",A.datePanelType=e},me=t=>{var a=L["type"],{datePanelType:l,selectMonth:u,inputValue:i}=A,s=o["yearSize"];if(!T.value){let e;e="year"===a?_xeUtils.default.getWhatYear(u,-s,"first"):"month"===a||"quarter"===a?"year"===l?_xeUtils.default.getWhatYear(u,-s,"first"):_xeUtils.default.getWhatYear(u,-1,"first"):"year"===l?_xeUtils.default.getWhatYear(u,-s,"first"):"month"===l?_xeUtils.default.getWhatYear(u,-1,"first"):_xeUtils.default.getWhatMonth(u,-1,"first"),A.selectMonth=e,S("date-prev",{viewType:l,viewDate:e,value:i,type:a},t)}},_e=e=>{pe(),U(A.currentDate,!0),L.multiple||g(),S("date-today",{type:L.type},e)},he=t=>{var a=L["type"],{datePanelType:l,selectMonth:u,inputValue:i}=A,s=o["yearSize"];if(!N.value){let e;e="year"===a?_xeUtils.default.getWhatYear(u,s,"first"):"month"===a||"quarter"===a?"year"===l?_xeUtils.default.getWhatYear(u,s,"first"):_xeUtils.default.getWhatYear(u,1,"first"):"year"===l?_xeUtils.default.getWhatYear(u,s,"first"):"month"===l?_xeUtils.default.getWhatYear(u,1,"first"):_xeUtils.default.getWhatMonth(u,1,"first"),A.selectMonth=e,S("date-next",{viewType:l,value:i,type:a},t)}},B=e=>{var t=L["disabledMethod"],a=A["datePanelType"],l=i.value,u=s.value,e=e["date"];return!!(l&&l.getTime()>e.getTime())||!!(u&&u.getTime()<e.getTime())||!!t&&t({type:a,viewType:a,date:e,$datePanel:v})},G=e=>{var t,a,l;B(e)||(e=e.date,{type:t,multiple:a}=L,l=A.datePanelType,"month"===t?"year"===l?(A.datePanelType="month",w(e)):(U(e),a||g()):"year"===t?(U(e),a||g()):"quarter"===t?"year"===l?(A.datePanelType="quarter",w(e)):(U(e),a||g()):"month"===l?(A.datePanelType="week"===t?t:"day",w(e)):"year"===l?(A.datePanelType="month",w(e)):(U(e),"datetime"===t||a||g()))},J=e=>{var t,a,l,u,i;B(e)||(t=A["datePanelType"],"month"===t?(i=e.date,B({date:i})||(F.value.some(e=>_xeUtils.default.isDateSame(e.date,i,"yyyyMM"))||w(i),D(i))):"quarter"===t?(u=e.date,B({date:u})||(H.value.some(e=>_xeUtils.default.isDateSame(e.date,u,"yyyyq"))||w(u),D(u))):"year"===t?(l=e.date,B({date:l})||(h.value.some(e=>_xeUtils.default.isDateSame(e.date,l,"yyyy"))||w(l),D(l))):(a=e.date,B({date:a})||(E.value.some(e=>_xeUtils.default.isDateSame(e.date,a,"yyyyMMdd"))||w(a),D(a))))},K=()=>{A.datePanelValue=null},ye=e=>{var t;e&&(t=e.offsetHeight,e.parentNode.scrollTop=e.offsetTop-4*t)},P=e=>{var t=A["datetimePanelValue"];A.datetimePanelValue=t?new Date(t.getTime()):new Date,ye(e.currentTarget)},xe=()=>{var{type:e,defaultDate:t}=L,a=p.value,l=m.value,u=R.value;-1<["year","quarter","month","week"].indexOf(e)?A.datePanelType=e:A.datePanelType="day",A.currentDate=_xeUtils.default.getWhatDay(Date.now(),0,"first"),u?(b(u,0),D(u)):t&&(e=x(t,l),_xeUtils.default.isValidDate(e))?b(e,0):pe(),a&&(A.datetimePanelValue=A.datePanelValue||_xeUtils.default.getWhatDay(Date.now(),0,"first"),(0,_vue.nextTick)(()=>{var e=n.value;_xeUtils.default.arrayEach(e.querySelectorAll("li.is--selected"),e=>{ye(e)})}))},S=(e,t,a)=>{l(e,(0,_ui.createEvent)(a,{$datePanel:v},t))};t={dispatchEvent:S,getModelValue(){return A.inputValue},setPanelDate(e){e&&w(e)},getPanelDate(){return A.selectMonth},checkValue(e){ne(e)},confirmByEvent(e){{var t=L["multiple"];const u=A["datetimePanelValue"];var a=R.value,l=p.value;if(l){const i=m.value;if(t){t=c.value;if(l){l=[...$.value];const s=[];l.forEach(e=>{e&&(u&&(e.setHours(u.getHours()),e.setMinutes(u.getMinutes()),e.setSeconds(u.getSeconds())),s.push(e))}),f(s.map(e=>_xeUtils.default.toDateString(e,i)).join(","),{type:"update"})}else f(t.join(","),{type:"update"})}else U(a||A.currentDate)}g(),S("confirm",{},e)}}};Object.assign(v,t);const X=(e,t)=>{var a,l=L["festivalMethod"],u=[];return l&&(a=A["datePanelType"],e=(a=(l=l({type:a,viewType:a,date:e.date,$datePanel:v}))?_xeUtils.default.isString(l)?{label:l}:l:{}).extra?_xeUtils.default.isString(a.extra)?{label:a.extra}:a.extra:null,u.push((0,_vue.h)("div",{class:["vxe-date-panel--label",{"is-notice":a.notice}]},e&&e.label?[(0,_vue.h)("div",""+t),(0,_vue.h)("div",{class:["vxe-date-panel--label--extra",e.important?"is-important":"",e.className],style:e.style},_xeUtils.default.toValueString(e.label))]:""+t)),l=a.label)&&(e=_xeUtils.default.toValueString(l).split(","),u.push((0,_vue.h)("div",{class:["vxe-date-panel--festival",a.important?"is-important":"",a.className],style:a.style},[1<e.length?(0,_vue.h)("div",{class:["vxe-date-panel--festival--overlap","overlap--"+e.length]},e.map(e=>(0,_vue.h)("div",e.substring(0,3)))):(0,_vue.h)("div",{class:"vxe-date-panel--festival--label"},e[0].substring(0,3))]))),u},fe=()=>{var H=A["datePanelType"];switch(H){case"week":{const t=L["multiple"],{datePanelType:e,datePanelValue:i}=A,s=R.value;var F=ee.value;const r=ie.value,n=$.value,v=Q.value,d="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+e]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},F.map((e,t)=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:`${t?13:9}%`}},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},r.map(e=>{const a=t?e.some(t=>n.some(e=>_xeUtils.default.isDateSame(e,t.date,d))):e.some(e=>_xeUtils.default.isDateSame(s,e.date,d)),l=e.some(e=>_xeUtils.default.isDateSame(i,e.date,d)),u=e.some(e=>e.isNow);return(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/r.length+"%"}},e.map((e,t)=>(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":e.isPrev,"is--current":e.isCurrent,"is--now":t?e.isNow:u,"is--next":e.isNext,"is--disabled":B(e),"is--selected":a,"is--over":v&&!a,"is--hover":!v&&l}],style:{width:`${t?13:9}%`},onClick:()=>G(e),onMouseenter:()=>J(e),onMouseleave:K},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},X(e,e.label))])))}))])];return}case"month":{const l=L["multiple"],{datePanelType:a,datePanelValue:u}=A,p=R.value,o=le.value,c=$.value,m=Q.value,_="yyyyMM";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+a]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},o.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/o.length+"%"}},a.map(t=>{var e=l?c.some(e=>_xeUtils.default.isDateSame(e,t.date,_)):_xeUtils.default.isDateSame(p,t.date,_);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":B(t),"is--selected":e,"is--over":m&&!e,"is--hover":!m&&_xeUtils.default.isDateSame(u,t.date,_)}],style:{width:100/a.length+"%"},onClick:()=>G(t),onMouseenter:()=>J(t),onMouseleave:K},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},X(t,(0,_ui.getI18n)("vxe.input.date.months.m"+t.month)))])}))))])];return}case"quarter":{const h=L["multiple"],{datePanelType:y,datePanelValue:x}=A,f=R.value,g=ae.value,D=$.value,w=Q.value,U="yyyyq";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+y]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},g.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/g.length+"%"}},a.map(t=>{var e=h?D.some(e=>_xeUtils.default.isDateSame(e,t.date,U)):_xeUtils.default.isDateSame(f,t.date,U);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":B(t),"is--selected":e,"is--over":w&&!e,"is--hover":!w&&_xeUtils.default.isDateSame(x,t.date,U)}],style:{width:100/a.length+"%"},onClick:()=>G(t),onMouseenter:()=>J(t),onMouseleave:K},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},X(t,(0,_ui.getI18n)("vxe.input.date.quarters.q"+t.quarter)))])}))))])];return}case"year":{const b=L["multiple"],{datePanelType:P,datePanelValue:S}=A,M=R.value,V=te.value,k=$.value,T=Q.value,N="yyyy";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+P]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},V.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/V.length+"%"}},a.map(t=>{var e=b?k.some(e=>_xeUtils.default.isDateSame(e,t.date,N)):_xeUtils.default.isDateSame(M,t.date,N);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":B(t),"is--selected":e,"is--over":T&&!e,"is--hover":!T&&_xeUtils.default.isDateSame(S,t.date,N)}],style:{width:100/a.length+"%"},onClick:()=>G(t),onMouseenter:()=>J(t),onMouseleave:K},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},X(t,t.year))])}))))])];return}}{const E=L["multiple"],{datePanelType:z,datePanelValue:I}=A,j=R.value,W=Z.value,C=ue.value,O=$.value,q=Q.value,Y="yyyyMMdd";return[(0,_vue.h)("div",{class:["vxe-date-panel--view-wrapper","type--"+z]},[(0,_vue.h)("div",{class:"vxe-date-panel--view-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-row"},W.map(e=>(0,_vue.h)("div",{class:"vxe-date-panel--view-item",style:{width:100/W.length+"%"}},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-label"},e.label)])])))]),(0,_vue.h)("div",{class:"vxe-date-panel--view-body"},C.map(a=>(0,_vue.h)("div",{class:"vxe-date-panel--view-row",style:{height:100/C.length+"%"}},a.map(t=>{var e=E?O.some(e=>_xeUtils.default.isDateSame(e,t.date,Y)):_xeUtils.default.isDateSame(j,t.date,Y);return(0,_vue.h)("div",{class:["vxe-date-panel--view-item",{"is--prev":t.isPrev,"is--current":t.isCurrent,"is--now":t.isNow,"is--next":t.isNext,"is--disabled":B(t),"is--selected":e,"is--over":q&&!e,"is--hover":!q&&_xeUtils.default.isDateSame(I,t.date,Y)}],style:{width:100/a.length+"%"},onClick:()=>G(t),onMouseenter:()=>J(t),onMouseleave:K},[(0,_vue.h)("div",{class:"vxe-date-panel--view-item-inner"},X(t,t.label))])}))))])]}},ge=()=>{var e=A["datePanelType"],t=T.value,a=N.value,l=q.value;return[(0,_vue.h)("div",{class:"vxe-date-panel--picker-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--picker-type-wrapper"},["year"===e?(0,_vue.h)("span",{class:"vxe-date-panel--picker-label"},l.y):(0,_vue.h)("span",{class:"vxe-date-panel--picker-btns"},[(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:oe},l.y),l.m?(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn",onClick:ce},l.m):(0,_ui.renderEmptyElement)(v)])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-btn-wrapper"},[(0,_vue.h)("span",{class:["vxe-date-panel--picker-btn vxe-date-panel--picker-prev-btn",{"is--disabled":t}],onClick:me},[(0,_vue.h)("i",{class:"vxe-icon-caret-left"})]),(0,_vue.h)("span",{class:"vxe-date-panel--picker-btn vxe-date-panel--picker-current-btn",onClick:_e},[(0,_vue.h)("i",{class:"vxe-icon-dot"})]),(0,_vue.h)("span",{class:["vxe-date-panel--picker-btn vxe-date-panel--picker-next-btn",{"is--disabled":a}],onClick:he},[(0,_vue.h)("i",{class:"vxe-icon-caret-right"})])])]),(0,_vue.h)("div",{class:"vxe-date-panel--picker-body"},fe())]},De=()=>{var e=L["type"];const t=A["datetimePanelValue"];var a=W.value,l=z.value,u=j.value,i=I.value,s=O.value,r=se.value;return["time"===e?(0,_ui.renderEmptyElement)(v):(0,_vue.h)("div",{class:"vxe-date-panel--time-header"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-title"},a)]),(0,_vue.h)("div",{ref:n,class:"vxe-date-panel--time-body"},[(0,_vue.h)("ul",{class:"vxe-date-panel--time-hour-list"},l.map((l,e)=>(0,_vue.h)("li",{key:e,class:{"is--selected":t&&t.getHours()===l.value},onClick:e=>{return e=e,t=l,(a=A.datetimePanelValue)&&a.setHours(t.value),void P(e);var t,a}},l.label))),u?(0,_vue.h)("ul",{class:"vxe-date-panel--time-minute-list"},i.map((l,e)=>(0,_vue.h)("li",{key:e,class:{"is--selected":t&&t.getMinutes()===l.value},onClick:e=>{return e=e,t=l,(a=A.datetimePanelValue)&&a.setMinutes(t.value),void P(e);var t,a}},l.label))):(0,_ui.renderEmptyElement)(v),u&&s?(0,_vue.h)("ul",{class:"vxe-date-panel--time-second-list"},r.map((l,e)=>(0,_vue.h)("li",{key:e,class:{"is--selected":t&&t.getSeconds()===l.value},onClick:e=>{return e=e,t=l,(a=A.datetimePanelValue)&&a.setSeconds(t.value),void P(e);var t,a}},l.label))):(0,_ui.renderEmptyElement)(v)])]};return(0,_vue.watch)(()=>L.modelValue,e=>{re(e),ve()}),(0,_vue.watch)(()=>L.type,()=>{Object.assign(A,{inputValue:"",datetimePanelValue:null,datePanelValue:null,datePanelLabel:"",datePanelType:"day",selectMonth:null,currentDate:null}),de()}),(0,_vue.watch)(_,()=>{r.value&&(D(A.datePanelValue),A.inputValue=L.multiple?d.value:A.datePanelLabel)}),de(),xe(),v.renderVN=()=>{var e=L["type"],t=M.value;return(0,_vue.h)("div",{class:["vxe-date-panel","type--"+e,{["size--"+t]:t}]},["datetime"===(e=L.type)?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--time-layout-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-panel--time-left-wrapper"},ge()),(0,_vue.h)("div",{class:"vxe-date-panel--time-right-wrapper"},De())]):"time"===e?(0,_vue.h)("div",{key:e,ref:a,class:"vxe-date-panel--wrapper"},De()):(0,_vue.h)("div",{key:e||"default",ref:a,class:"vxe-date-panel--wrapper"},ge())])},v},render(){return this.renderVN()}});
|
|
@@ -66,6 +66,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
66
66
|
type: [String, Number, Date],
|
|
67
67
|
default: () => (0, _ui.getConfig)().datePicker.endDate
|
|
68
68
|
},
|
|
69
|
+
defaultDate: [String, Number, Date],
|
|
69
70
|
minDate: [String, Number, Date],
|
|
70
71
|
maxDate: [String, Number, Date],
|
|
71
72
|
startDay: {
|
|
@@ -446,7 +447,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
446
447
|
};
|
|
447
448
|
const panelChangeEvent = params => {
|
|
448
449
|
const {
|
|
449
|
-
multiple
|
|
450
|
+
multiple,
|
|
451
|
+
autoClose
|
|
450
452
|
} = props;
|
|
451
453
|
const {
|
|
452
454
|
value,
|
|
@@ -455,7 +457,9 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
455
457
|
const isDateTimeType = computeIsDateTimeType.value;
|
|
456
458
|
handleChange(value, $event);
|
|
457
459
|
if (!multiple && !isDateTimeType) {
|
|
458
|
-
|
|
460
|
+
if (autoClose) {
|
|
461
|
+
hidePanel();
|
|
462
|
+
}
|
|
459
463
|
}
|
|
460
464
|
};
|
|
461
465
|
// 全局事件
|
|
@@ -833,6 +837,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
833
837
|
startDate: props.startDate,
|
|
834
838
|
endDate: props.endDate,
|
|
835
839
|
minDate: props.minDate,
|
|
840
|
+
defaultDate: props.defaultDate,
|
|
836
841
|
maxDate: props.maxDate,
|
|
837
842
|
startDay: props.startDay,
|
|
838
843
|
labelFormat: props.labelFormat,
|
|
@@ -840,8 +845,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
840
845
|
festivalMethod: props.festivalMethod,
|
|
841
846
|
disabledMethod: props.disabledMethod,
|
|
842
847
|
selectDay: props.selectDay,
|
|
843
|
-
onChange: panelChangeEvent
|
|
844
|
-
onDateToday: hidePanel
|
|
848
|
+
onChange: panelChangeEvent
|
|
845
849
|
})]), (0, _vue.h)('div', {
|
|
846
850
|
class: 'vxe-date-picker--layout-footer-wrapper'
|
|
847
851
|
}, [(0, _vue.h)('div', {
|
|
@@ -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"),_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,_vue.defineComponent)({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,size:{type:String,default:()=>(0,_ui.getConfig)().datePicker.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().upload.limitCount},startDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.startDate},endDate:{type:[String,Number,Date],default:()=>(0,_ui.getConfig)().datePicker.endDate},minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.startDay},labelFormat:String,valueFormat: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},shortcutConfig:Object,startWeek:Number},emits:["update:modelValue","input","change","keydown","keyup","click","focus","blur","clear","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(k,e){const{slots:C,emit:l}=e,d=(0,_vue.inject)("$xeModal",null),_=(0,_vue.inject)("$xeDrawer",null),g=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),u=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const D=(0,_ui.useSize)(k)["computeSize"],P=(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)(),V=(0,_vue.ref)(),E=(0,_vue.ref)(),b={refElem:h,refInput:y},S={xID:t,props:k,context:e,reactData:P,internalData:a,getRefMaps:()=>b},I=(0,_vue.computed)(()=>{var e=k["transfer"];if(null===e){var t=(0,_ui.getConfig)().datePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(g||d||_||i)return!0}return e}),x=(0,_vue.computed)(()=>{var e=k["readonly"];return null===e?!!i&&i.props.readonly:e}),N=(0,_vue.computed)(()=>{var e=k["disabled"];return null===e?!!i&&i.props.disabled:e}),T=(0,_vue.computed)(()=>{var e=k["type"];return"time"===e||"datetime"===e}),r=(0,_vue.computed)(()=>{return T.value||-1<["date","week","month","quarter","year"].indexOf(k.type)}),q=(0,_vue.computed)(()=>k.clearable),L=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=k;return x.value||a||!t||"week"===e||"quarter"===e}),U=(0,_vue.computed)(()=>{var e=k["placeholder"];return(e=e||(0,_ui.getConfig)().datePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),n=(0,_vue.computed)(()=>{var e=k["immediate"];return e}),B=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,k.shortcutConfig)),M=(0,_vue.computed)(()=>{var e=B.value["options"];return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),$=(0,_vue.computed)(()=>{var e=k["labelFormat"];return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+k.type)}),c=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=k;return t||("time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd")}),p=(0,_vue.computed)(()=>{var e=k["startDay"];return _xeUtils.default.toNumber(e)}),A=(0,_vue.computed)(()=>{const{type:t,multiple:e}=k;var a=P["inputValue"];const l=$.value,i=c.value,u=p.value;return(a?e?a.split(","):[a]:[]).map(e=>{return(0,_util.parseDateObj)(e,t,{valueFormat:i,labelFormat:l,firstDay:u}).label}).join(", ")}),o=()=>{var e=k["modelValue"];let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),P.inputValue=t},s=e=>{var t=P["inputValue"];f(e.type,{value:t},e)},m=(e,t)=>{var a=k["modelValue"];P.inputValue=e,l("update:modelValue",e),_xeUtils.default.toValueString(a)!==e&&(f("change",{value:e},t),i)&&u&&i.triggerItemEvent(t,u.itemConfig.field,e)},O=e=>{var t=e.target.value;P.inputLabel=t,f("input",{value:t},e)},R=e=>{n.value||s(e)},H=e=>{P.isActivated=!0,r.value&&le(e),s(e)},W=e=>{var t;N.value||(t=P["inputValue"],f("prefix-click",{value:t},e))},F=()=>new Promise(e=>{P.visiblePanel=!1,a.hpTimeout=setTimeout(()=>{P.isAniVisible=!1,e()},350)}),z=(e,t)=>{r.value&&F(),m("",e),f("clear",{value:t},e)},K=e=>{var t;N.value||(t=P["inputValue"],f("suffix-click",{value:t},e))},G=e=>{var t=E.value,a=P["inputValue"];n.value||m(a,e),P.visiblePanel||(P.isActivated=!1),t&&t.checkValue(P.inputLabel),f("blur",{value:a},e),i&&u&&i.triggerItemEvent(e,u.itemConfig.field,a)},Z=e=>{s(e)},J=e=>{s(e)},Q=e=>{var t=E.value;t&&t.confirmByEvent(e),F()},X=e=>{var t=k["multiple"],{value:e,$event:a}=e,l=T.value;m(e,a),t||l||F()},Y=e=>{var t=E.value,{visiblePanel:a,isActivated:l}=P,i=h.value,u=V.value;!N.value&&l&&(P.isActivated=(0,_dom.getEventTargetNode)(e,i).flag||(0,_dom.getEventTargetNode)(e,u).flag,P.isActivated||a&&(F(),t)&&t.checkValue(P.inputLabel))},ee=e=>{var t=P["visiblePanel"];N.value||t&&(t=V.value,((0,_dom.getEventTargetNode)(e,t).flag?v:F)())},te=()=>{var e=E.value,{isActivated:t,visiblePanel:a}=P;a?(F(),e&&e.checkValue(P.inputLabel)):t&&e&&e.checkValue(P.inputLabel)},v=()=>(0,_vue.nextTick)().then(()=>{var l=k["placement"],i=P["panelIndex"],u=y.value,r=w.value,e=I.value;if(u&&r){var n=u.offsetHeight,o=u.offsetWidth,s=r.offsetHeight,r=r.offsetWidth,i={zIndex:i},{boundingTop:u,boundingLeft:v,visibleHeight:d,visibleWidth:c}=(0,_dom.getAbsolutePos)(u);let a="bottom";if(e){let e=v,t=u+n;"top"===l?(a="top",t=u-s):l||(t+s+5>d&&(a="top",t=u-s),t<5&&(a="bottom",t=u+n)),e+r+5>c&&(e-=e+r+5-c),e<5&&(e=5),Object.assign(i,{left:e+"px",top:t+"px",minWidth:o+"px"})}else"top"===l?(a="top",i.bottom=n+"px"):l||(i.top=n+"px",d<u+n+s&&5<u-n-s&&(a="top",i.top="",i.bottom=n+"px"));return P.panelStyle=i,P.panelPlacement=a,(0,_vue.nextTick)()}}),ae=()=>{var e=P["visiblePanel"];return(N.value||e?(0,_vue.nextTick):(P.initialized||(P.initialized=!0),a.hpTimeout&&(clearTimeout(a.hpTimeout),a.hpTimeout=void 0),P.isActivated=!0,P.isAniVisible=!0,setTimeout(()=>{P.visiblePanel=!0},10),P.panelIndex<(0,_utils.getLastZIndex)()&&(P.panelIndex=(0,_utils.nextZIndex)()),v))()},le=e=>{x.value||(e.preventDefault(),ae())},ie=e=>{s(e)},ue=({option:e,$event:t})=>{var a=k["type"],l=P["inputValue"],i=B.value,u=i["autoClose"],{code:r,clickMethod:n}=e,o=l,s={$datePicker:S,option:e,value:o,code:r};if(!n&&r){l=_ui.commands.get(r),e=l?l.datePickerCommandMethod:null;if(e)e(s);else{var v=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:v,firstDay:d}).value;s.value=o,m(o,t);break;default:(0,_log.errLog)("vxe.error.notCommands",[r])}}}else{l=n||i.clickMethod;l&&l(s)}u&&F(),f("shortcut-click",s,t)},f=(e,t,a)=>{l(e,(0,_ui.createEvent)(a,{$datePicker:S},t))};t={dispatchEvent:f,setModelValue(e){P.inputValue=e,l("update:modelValue",e)},setModelValueByEvent(e,t){m(t||"",e)},focus(){var e=y.value;return P.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return y.value.blur(),(P.isActivated=!1,_vue.nextTick)()},select(){return y.value.select(),(P.isActivated=!1,_vue.nextTick)()},showPanel:ae,hidePanel:F,updatePlacement:v};Object.assign(S,t);const j=(e,t)=>{var a=B.value,{position:l,align:i,mode:u}=a,r=M.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:ue})]):(0,_ui.renderEmptyElement)(S)},re=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:le},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(A,e=>{P.inputLabel=e}),(0,_vue.watch)(()=>k.modelValue,()=>{o()}),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(S,"mousewheel",ee),_ui.globalEvents.on(S,"mousedown",Y),_ui.globalEvents.on(S,"blur",te)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(S,"mousewheel"),_ui.globalEvents.off(S,"mousedown"),_ui.globalEvents.off(S,"blur")}),o(),(0,_vue.provide)("$xeDatePicker",S),S.renderVN=()=>{var e,t,a,l,i,u,r,{className:n,type:o,name:s,autoComplete:v}=k,{inputValue:d,inputLabel:c,visiblePanel:p,isActivated:m}=P,f=D.value,_=N.value,g=x.value,b=A.value;return g?(0,_vue.h)("div",{ref:h,class:["vxe-date-picker--readonly","type--"+o,n]},b):(g=L.value,b=U.value,e=q.value,a=k.prefixIcon,t=(t=C.prefix)||a?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:W},[(0,_vue.h)("div",{class:"vxe-date-picker--prefix-icon"},t?(0,_vn.getSlotVNs)(t({})):[(0,_vue.h)("i",{class:a})])]):null,a=k.suffixIcon,l=P.inputValue,i=C.suffix,u=N.value,r=q.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:z},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(S),re(),i||a?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:K},i?(0,_vn.getSlotVNs)(i({})):[(0,_vue.h)("i",{class:a})]):(0,_ui.renderEmptyElement)(S)]),(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)(S),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:y,class:"vxe-date-picker--inner",value:c,name:s,type:"text",placeholder:b,readonly:g,disabled:_,autocomplete:v,onKeydown:Z,onKeyup:J,onClick:ie,onInput:O,onChange:R,onFocus:H,onBlur:G})]),u||(0,_ui.renderEmptyElement)(S),(()=>{var{type:e,multiple:t,showClearButton:a,showConfirmButton:l}=k,{initialized:i,isAniVisible:u,visiblePanel:r,panelPlacement:n,panelStyle:o,inputValue:s}=P,v=D.value,d=I.value,c=B.value,p=q.value,m=T.value,f=M.value,c=c["position"],_=C.header,g=C.footer,b=C.top,h=C.bottom,y=C.left,x=C.right,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,{["size--"+v]:v,"is--transfer":d,"ani--leave":u,"ani--enter":r,"show--top":!!(b||_||f&&("top"===c||"header"===c)),"show--bottom":!!(h||g||f&&("bottom"===c||"footer"===c)),"show--left":!!(y||f&&"left"===c),"show--right":!!(x||f&&"right"===c)}],placement:n,style:o},i&&(r||u)?[(0,_vue.h)("div",{ref:V,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+v]:v}]},[b?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},b({})):j("top"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-layout-wrapper"},[y?(0,_vue.h)("div",{class:"vxe-date-picker--layout-left-wrapper"},y({})):j("left",!0),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-content-wrapper"},[_?(0,_vue.h)("div",{class:"vxe-date-picker--layout-header-wrapper"},_({})):j("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:E,modelValue:P.inputValue,type:k.type,className:k.className,multiple:k.multiple,limitCount:k.limitCount,startDate:k.startDate,endDate:k.endDate,minDate:k.minDate,maxDate:k.maxDate,startDay:k.startDay,labelFormat:k.labelFormat,valueFormat:k.valueFormat,festivalMethod:k.festivalMethod,disabledMethod:k.disabledMethod,selectDay:k.selectDay,onChange:X,onDateToday:F})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},g?g({}):[j("footer")]),t||m?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[t?(0,_vue.h)(_button.default,{size:"mini",disabled:""===s||_xeUtils.default.eqNull(s),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:z}):(0,_ui.renderEmptyElement)(S),m?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:Q}):(0,_ui.renderEmptyElement)(S)]):(0,_ui.renderEmptyElement)(S)])]),x?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},x({})):j("right",!0)]),h?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},h({})):j("bottom")])]:[])])})()]))},S},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"),_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,_vue.defineComponent)({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,size:{type:String,default:()=>(0,_ui.getConfig)().datePicker.size||(0,_ui.getConfig)().size},multiple:Boolean,limitCount:{type:[String,Number],default:()=>(0,_ui.getConfig)().upload.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],minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().datePicker.startDay},labelFormat:String,valueFormat: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},shortcutConfig:Object,startWeek:Number},emits:["update:modelValue","input","change","keydown","keyup","click","focus","blur","clear","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(k,e){const{slots:C,emit:l}=e,d=(0,_vue.inject)("$xeModal",null),g=(0,_vue.inject)("$xeDrawer",null),b=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),u=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const D=(0,_ui.useSize)(k)["computeSize"],P=(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)(),V=(0,_vue.ref)(),E=(0,_vue.ref)(),j={refElem:h,refInput:y},S={xID:t,props:k,context:e,reactData:P,internalData:a,getRefMaps:()=>j},I=(0,_vue.computed)(()=>{var e=k["transfer"];if(null===e){var t=(0,_ui.getConfig)().datePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(b||d||g||i)return!0}return e}),x=(0,_vue.computed)(()=>{var e=k["readonly"];return null===e?!!i&&i.props.readonly:e}),N=(0,_vue.computed)(()=>{var e=k["disabled"];return null===e?!!i&&i.props.disabled:e}),T=(0,_vue.computed)(()=>{var e=k["type"];return"time"===e||"datetime"===e}),r=(0,_vue.computed)(()=>{return T.value||-1<["date","week","month","quarter","year"].indexOf(k.type)}),q=(0,_vue.computed)(()=>k.clearable),L=(0,_vue.computed)(()=>{var{type:e,editable:t,multiple:a}=k;return x.value||a||!t||"week"===e||"quarter"===e}),U=(0,_vue.computed)(()=>{var e=k["placeholder"];return(e=e||(0,_ui.getConfig)().datePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),n=(0,_vue.computed)(()=>{var e=k["immediate"];return e}),B=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().datePicker.shortcutConfig,k.shortcutConfig)),M=(0,_vue.computed)(()=>{var e=B.value["options"];return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),$=(0,_vue.computed)(()=>{var e=k["labelFormat"];return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+k.type)}),c=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=k;return t||("time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd")}),p=(0,_vue.computed)(()=>{var e=k["startDay"];return _xeUtils.default.toNumber(e)}),A=(0,_vue.computed)(()=>{const{type:t,multiple:e}=k;var a=P["inputValue"];const l=$.value,i=c.value,u=p.value;return(a?e?a.split(","):[a]:[]).map(e=>{return(0,_util.parseDateObj)(e,t,{valueFormat:i,labelFormat:l,firstDay:u}).label}).join(", ")}),o=()=>{var e=k["modelValue"];let t="";e&&(t=_xeUtils.default.isNumber(e)&&/^[0-9]{11,15}$/.test(""+e)?new Date(e):e),P.inputValue=t},s=e=>{var t=P["inputValue"];_(e.type,{value:t},e)},m=(e,t)=>{var a=k["modelValue"];P.inputValue=e,l("update:modelValue",e),_xeUtils.default.toValueString(a)!==e&&(_("change",{value:e},t),i)&&u&&i.triggerItemEvent(t,u.itemConfig.field,e)},O=e=>{var t=e.target.value;P.inputLabel=t,_("input",{value:t},e)},R=e=>{n.value||s(e)},H=e=>{P.isActivated=!0,r.value&&le(e),s(e)},W=e=>{var t;N.value||(t=P["inputValue"],_("prefix-click",{value:t},e))},f=()=>new Promise(e=>{P.visiblePanel=!1,a.hpTimeout=setTimeout(()=>{P.isAniVisible=!1,e()},350)}),F=(e,t)=>{r.value&&f(),m("",e),_("clear",{value:t},e)},K=e=>{var t;N.value||(t=P["inputValue"],_("suffix-click",{value:t},e))},G=e=>{var t=E.value,a=P["inputValue"];n.value||m(a,e),P.visiblePanel||(P.isActivated=!1),t&&t.checkValue(P.inputLabel),_("blur",{value:a},e),i&&u&&i.triggerItemEvent(e,u.itemConfig.field,a)},Z=e=>{s(e)},J=e=>{s(e)},Q=e=>{var t=E.value;t&&t.confirmByEvent(e),f()},X=e=>{var{multiple:t,autoClose:a}=k,{value:e,$event:l}=e,i=T.value;m(e,l),t||i||a&&f()},Y=e=>{var t=E.value,{visiblePanel:a,isActivated:l}=P,i=h.value,u=V.value;!N.value&&l&&(P.isActivated=(0,_dom.getEventTargetNode)(e,i).flag||(0,_dom.getEventTargetNode)(e,u).flag,P.isActivated||a&&(f(),t)&&t.checkValue(P.inputLabel))},ee=e=>{var t=P["visiblePanel"];N.value||t&&(t=V.value,((0,_dom.getEventTargetNode)(e,t).flag?v:f)())},te=()=>{var e=E.value,{isActivated:t,visiblePanel:a}=P;a?(f(),e&&e.checkValue(P.inputLabel)):t&&e&&e.checkValue(P.inputLabel)},v=()=>(0,_vue.nextTick)().then(()=>{var l=k["placement"],i=P["panelIndex"],u=y.value,r=w.value,e=I.value;if(u&&r){var n=u.offsetHeight,o=u.offsetWidth,s=r.offsetHeight,r=r.offsetWidth,i={zIndex:i},{boundingTop:u,boundingLeft:v,visibleHeight:d,visibleWidth:c}=(0,_dom.getAbsolutePos)(u);let a="bottom";if(e){let e=v,t=u+n;"top"===l?(a="top",t=u-s):l||(t+s+5>d&&(a="top",t=u-s),t<5&&(a="bottom",t=u+n)),e+r+5>c&&(e-=e+r+5-c),e<5&&(e=5),Object.assign(i,{left:e+"px",top:t+"px",minWidth:o+"px"})}else"top"===l?(a="top",i.bottom=n+"px"):l||(i.top=n+"px",d<u+n+s&&5<u-n-s&&(a="top",i.top="",i.bottom=n+"px"));return P.panelStyle=i,P.panelPlacement=a,(0,_vue.nextTick)()}}),ae=()=>{var e=P["visiblePanel"];return(N.value||e?(0,_vue.nextTick):(P.initialized||(P.initialized=!0),a.hpTimeout&&(clearTimeout(a.hpTimeout),a.hpTimeout=void 0),P.isActivated=!0,P.isAniVisible=!0,setTimeout(()=>{P.visiblePanel=!0},10),P.panelIndex<(0,_utils.getLastZIndex)()&&(P.panelIndex=(0,_utils.nextZIndex)()),v))()},le=e=>{x.value||(e.preventDefault(),ae())},ie=e=>{s(e)},ue=({option:e,$event:t})=>{var a=k["type"],l=P["inputValue"],i=B.value,u=i["autoClose"],{code:r,clickMethod:n}=e,o=l,s={$datePicker:S,option:e,value:o,code:r};if(!n&&r){l=_ui.commands.get(r),e=l?l.datePickerCommandMethod:null;if(e)e(s);else{var v=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:v,firstDay:d}).value;s.value=o,m(o,t);break;default:(0,_log.errLog)("vxe.error.notCommands",[r])}}}else{l=n||i.clickMethod;l&&l(s)}u&&f(),_("shortcut-click",s,t)},_=(e,t,a)=>{l(e,(0,_ui.createEvent)(a,{$datePicker:S},t))};t={dispatchEvent:_,setModelValue(e){P.inputValue=e,l("update:modelValue",e)},setModelValueByEvent(e,t){m(t||"",e)},focus(){var e=y.value;return P.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return y.value.blur(),(P.isActivated=!1,_vue.nextTick)()},select(){return y.value.select(),(P.isActivated=!1,_vue.nextTick)()},showPanel:ae,hidePanel:f,updatePlacement:v};Object.assign(S,t);const z=(e,t)=>{var a=B.value,{position:l,align:i,mode:u}=a,r=M.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:ue})]):(0,_ui.renderEmptyElement)(S)},re=()=>(0,_vue.h)("div",{class:"vxe-date-picker--control-icon",onClick:le},[(0,_vue.h)("i",{class:["vxe-date-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(A,e=>{P.inputLabel=e}),(0,_vue.watch)(()=>k.modelValue,()=>{o()}),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(S,"mousewheel",ee),_ui.globalEvents.on(S,"mousedown",Y),_ui.globalEvents.on(S,"blur",te)}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(S,"mousewheel"),_ui.globalEvents.off(S,"mousedown"),_ui.globalEvents.off(S,"blur")}),o(),(0,_vue.provide)("$xeDatePicker",S),S.renderVN=()=>{var e,t,a,l,i,u,r,{className:n,type:o,name:s,autoComplete:v}=k,{inputValue:d,inputLabel:c,visiblePanel:p,isActivated:m}=P,f=D.value,_=N.value,g=x.value,b=A.value;return g?(0,_vue.h)("div",{ref:h,class:["vxe-date-picker--readonly","type--"+o,n]},b):(g=L.value,b=U.value,e=q.value,a=k.prefixIcon,t=(t=C.prefix)||a?(0,_vue.h)("div",{class:"vxe-date-picker--prefix",onClick:W},[(0,_vue.h)("div",{class:"vxe-date-picker--prefix-icon"},t?(0,_vn.getSlotVNs)(t({})):[(0,_vue.h)("i",{class:a})])]):null,a=k.suffixIcon,l=P.inputValue,i=C.suffix,u=N.value,r=q.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:F},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(S),re(),i||a?(0,_vue.h)("div",{class:"vxe-date-picker--suffix-icon",onClick:K},i?(0,_vn.getSlotVNs)(i({})):[(0,_vue.h)("i",{class:a})]):(0,_ui.renderEmptyElement)(S)]),(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)(S),(0,_vue.h)("div",{class:"vxe-date-picker--wrapper"},[(0,_vue.h)("input",{ref:y,class:"vxe-date-picker--inner",value:c,name:s,type:"text",placeholder:b,readonly:g,disabled:_,autocomplete:v,onKeydown:Z,onKeyup:J,onClick:ie,onInput:O,onChange:R,onFocus:H,onBlur:G})]),u||(0,_ui.renderEmptyElement)(S),(()=>{var{type:e,multiple:t,showClearButton:a,showConfirmButton:l}=k,{initialized:i,isAniVisible:u,visiblePanel:r,panelPlacement:n,panelStyle:o,inputValue:s}=P,v=D.value,d=I.value,c=B.value,p=q.value,m=T.value,f=M.value,c=c["position"],_=C.header,g=C.footer,b=C.top,h=C.bottom,y=C.left,x=C.right,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,{["size--"+v]:v,"is--transfer":d,"ani--leave":u,"ani--enter":r,"show--top":!!(b||_||f&&("top"===c||"header"===c)),"show--bottom":!!(h||g||f&&("bottom"===c||"footer"===c)),"show--left":!!(y||f&&"left"===c),"show--right":!!(x||f&&"right"===c)}],placement:n,style:o},i&&(r||u)?[(0,_vue.h)("div",{ref:V,class:["vxe-date-picker--layout-all-wrapper","type--"+e,{["size--"+v]:v}]},[b?(0,_vue.h)("div",{class:"vxe-date-picker--layout-top-wrapper"},b({})):z("top"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-layout-wrapper"},[y?(0,_vue.h)("div",{class:"vxe-date-picker--layout-left-wrapper"},y({})):z("left",!0),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-content-wrapper"},[_?(0,_vue.h)("div",{class:"vxe-date-picker--layout-header-wrapper"},_({})):z("header"),(0,_vue.h)("div",{class:"vxe-date-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:E,modelValue:P.inputValue,type:k.type,className:k.className,multiple:k.multiple,limitCount:k.limitCount,startDate:k.startDate,endDate:k.endDate,minDate:k.minDate,defaultDate:k.defaultDate,maxDate:k.maxDate,startDay:k.startDay,labelFormat:k.labelFormat,valueFormat:k.valueFormat,festivalMethod:k.festivalMethod,disabledMethod:k.disabledMethod,selectDay:k.selectDay,onChange:X})]),(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-custom"},g?g({}):[z("footer")]),t||m?(0,_vue.h)("div",{class:"vxe-date-picker--layout-footer-btns"},[t?(0,_vue.h)(_button.default,{size:"mini",disabled:""===s||_xeUtils.default.eqNull(s),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:F}):(0,_ui.renderEmptyElement)(S),m?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:Q}):(0,_ui.renderEmptyElement)(S)]):(0,_ui.renderEmptyElement)(S)])]),x?(0,_vue.h)("div",{class:"vxe-date-picker--layout-right-wrapper"},x({})):z("right",!0)]),h?(0,_vue.h)("div",{class:"vxe-date-picker--layout-bottom-wrapper"},h({})):z("bottom")])]:[])])})()]))},S},render(){return this.renderVN()}});
|
|
@@ -56,6 +56,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
56
56
|
},
|
|
57
57
|
minDate: [String, Number, Date],
|
|
58
58
|
maxDate: [String, Number, Date],
|
|
59
|
+
defaultDate: [String, Number, Date],
|
|
59
60
|
startDay: {
|
|
60
61
|
type: [String, Number],
|
|
61
62
|
default: () => (0, _ui.getConfig)().dateRangePicker.startDay
|
|
@@ -485,8 +486,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
485
486
|
const $startDatePanel = refStartDatePanel.value;
|
|
486
487
|
const $endDatePanel = refEndDatePanel.value;
|
|
487
488
|
if ($startDatePanel && $endDatePanel) {
|
|
488
|
-
const startValue = $startDatePanel.
|
|
489
|
-
const endValue = $endDatePanel.
|
|
489
|
+
const startValue = $startDatePanel.getModelValue();
|
|
490
|
+
const endValue = $endDatePanel.getModelValue();
|
|
490
491
|
if (!startValue || !endValue) {
|
|
491
492
|
handleChange('', '', {
|
|
492
493
|
type: 'check'
|
|
@@ -566,8 +567,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
566
567
|
const $startDatePanel = refStartDatePanel.value;
|
|
567
568
|
const $endDatePanel = refEndDatePanel.value;
|
|
568
569
|
if ($startDatePanel && $endDatePanel) {
|
|
569
|
-
const startValue = $startDatePanel.
|
|
570
|
-
const endValue = $endDatePanel.
|
|
570
|
+
const startValue = $startDatePanel.getModelValue();
|
|
571
|
+
const endValue = $endDatePanel.getModelValue();
|
|
571
572
|
if (startValue && endValue) {
|
|
572
573
|
$startDatePanel.confirmByEvent(evnt);
|
|
573
574
|
$endDatePanel.confirmByEvent(evnt);
|
|
@@ -595,7 +596,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
595
596
|
const $startDatePanel = refStartDatePanel.value;
|
|
596
597
|
const $endDatePanel = refEndDatePanel.value;
|
|
597
598
|
if ($startDatePanel && $endDatePanel) {
|
|
598
|
-
const startValue = $startDatePanel.
|
|
599
|
+
const startValue = $startDatePanel.getModelValue();
|
|
599
600
|
if (!endValue && startValue) {
|
|
600
601
|
$endDatePanel.setPanelDate(_xeUtils.default.toStringDate(startValue));
|
|
601
602
|
}
|
|
@@ -620,7 +621,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
620
621
|
const $startDatePanel = refStartDatePanel.value;
|
|
621
622
|
const $endDatePanel = refEndDatePanel.value;
|
|
622
623
|
if ($startDatePanel && $endDatePanel) {
|
|
623
|
-
const endValue = $endDatePanel.
|
|
624
|
+
const endValue = $endDatePanel.getModelValue();
|
|
624
625
|
if (!startValue && endValue) {
|
|
625
626
|
$startDatePanel.setPanelDate(_xeUtils.default.toStringDate(endValue));
|
|
626
627
|
}
|
|
@@ -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"),_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,_vue.defineComponent)({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},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,size:{type:String,default:()=>(0,_ui.getConfig)().dateRangePicker.size||(0,_ui.getConfig)().size},minDate:[String,Number,Date],maxDate:[String,Number,Date],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.startDay},labelFormat:String,valueFormat: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},shortcutConfig:Object},emits:["update:modelValue","update:startValue","update:endValue","input","change","keydown","keyup","click","focus","blur","clear","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(P,e){const{slots:S,emit:r}=e,c=(0,_vue.inject)("$xeModal",null),p=(0,_vue.inject)("$xeDrawer",null),D=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const w=(0,_ui.useSize)(P)["computeSize"],E=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,startValue:"",endValue:""}),o={},_=(0,_vue.ref)(),f=(0,_vue.ref)(),F=(0,_vue.ref)(),R=(0,_vue.ref)(),I=(0,_vue.ref)(),T=(0,_vue.ref)(),C={refElem:_,refInput:f},M={xID:t,props:P,context:e,reactData:E,internalData:o,getRefMaps:()=>C};const N=(0,_vue.computed)(()=>{var e=P["transfer"];if(null===e){var t=(0,_ui.getConfig)().dateRangePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(D||c||p||i)return!0}return e}),g=(0,_vue.computed)(()=>{var e=P["readonly"];return null===e?!!i&&i.props.readonly:e}),b=(0,_vue.computed)(()=>{var e=P["disabled"];return null===e?!!i&&i.props.disabled:e});t=(0,_vue.computed)(()=>{var{startValue:e,endValue:t}=P;return""+(e||"")+(t||"")});const z=(0,_vue.computed)(()=>{var e=P["type"];return"time"===e||"datetime"===e}),s=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(P.type)),A=(0,_vue.computed)(()=>P.clearable),U=(0,_vue.computed)(()=>{var e=P["placeholder"];return(e=e||(0,_ui.getConfig)().dateRangePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),l=(0,_vue.computed)(()=>{var e=P["immediate"];return e}),B=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.shortcutConfig,P.shortcutConfig)),q=(0,_vue.computed)(()=>{var e=B.value["options"];return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),$=(0,_vue.computed)(()=>{var e=P["labelFormat"];return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+P.type)}),m=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=P;return t||("time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd")}),h=(0,_vue.computed)(()=>{var e=P["startDay"];return _xeUtils.default.toNumber(e)}),O=(0,_vue.computed)(()=>{var{startValue:e,endValue:t}=E,e=e||t?[e||"",t||""]:[];return H(e)}),L=(0,_vue.computed)(()=>{return O.value.label}),H=e=>{var{type:t,separator:a}=P,l=$.value,u=m.value,r=h.value,i=e[0]?(0,_util.parseDateObj)(e[0],t,{valueFormat:u,labelFormat:l,firstDay:r}):null,e=e[1]?(0,_util.parseDateObj)(e[1],t,{valueFormat:u,labelFormat:l,firstDay:r}):null,t=i?i.label:"",u=e?e.label:"";return{label:(t||u?[t,u]:[]).join(""+(a||" ~ ")),startLabel:t,endLabel:u}},y=(e,t)=>{var a=P["modelValue"],a=_xeUtils.default.isArray(a);return e||t?(e=[e||"",t||""],a?e:e.join(",")):a?[]:""},W=()=>{var e,{type:t,modelValue:a}=P,l=m.value;let u="",r="";return _xeUtils.default.isArray(a)?(e=(0,_util.parseDateString)(a[0],t,{valueFormat:l}),t=(0,_util.parseDateString)(a[1],t,{valueFormat:l}),(e||t)&&(u=e||"",r=t||"")):_xeUtils.default.isString(a)&&((l=a.split(","))[0]||l[1])&&(u=l[0]||"",r=l[1]||""),{sValue:u,eValue:r}},K=()=>{var{type:e,startValue:t,endValue:a}=P,l=m.value;return{sValue:(0,_util.parseDateString)(t,e,{valueFormat:l}),eValue:(0,_util.parseDateString)(a,e,{valueFormat:l})}},a=e=>{var{modelValue:t,startValue:a,endValue:l}=P;let u={sValue:"",eValue:""};u=(e?t?W:K:a||l?K:W)(),E.startValue=u.sValue,E.endValue=u.eValue},u=e=>{var{startValue:t,endValue:a}=E,l=y(t,a);k(e.type,{value:l,startValue:t,endValue:a},e)},x=(e,t,a)=>{var l=P["modelValue"],u=(E.startValue=e,E.endValue=t,y(e,t));r("update:modelValue",u),r("update:startValue",e||""),r("update:endValue",t||""),_xeUtils.default.toValueString(l)!==u&&(k("change",{value:u},a),i)&&n&&i.triggerItemEvent(a,n.itemConfig.field,u)},G=e=>{l.value||u(e)},Z=e=>{E.isActivated=!0,ve(e),u(e)},J=e=>{var t,a,l;b.value||({startValue:t,endValue:a}=E,l=y(t,a),k("prefix-click",{value:l,startValue:t,endValue:a},e))},V=()=>new Promise(e=>{E.visiblePanel=!1,o.hpTimeout=setTimeout(()=>{E.isAniVisible=!1,e()},350)}),Q=(e,t)=>{s.value&&V(),x("","",e),k("clear",{value:t},e)},v=()=>{var e=I.value,t=T.value;e&&t&&(e=e.getValue(),t=t.getValue(),e&&t||x("","",{type:"check"}))},X=()=>{var e=P["autoClose"],{startValue:t,endValue:a}=E,l=o["selectStatus"],u=s.value;e?l&&u&&t&&a&&V():t&&a&&(o.selectStatus=!1)},Y=e=>{var t,a,l;b.value||({startValue:t,endValue:a}=E,l=y(t,a),k("suffix-click",{value:l,startValue:t,endValue:a},e))},ee=e=>{var{startValue:t,endValue:a}=E;l.value||x(t,a,e),E.visiblePanel||(E.isActivated=!1),k("blur",{value:"",startValue:t,endValue:a},e),i&&n&&i.triggerItemEvent(e,n.itemConfig.field,"")},te=e=>{u(e)},ae=e=>{u(e)},le=e=>{var t,a,l=I.value,u=T.value;l&&u&&(t=l.getValue(),a=u.getValue(),t&&a?(l.confirmByEvent(e),u.confirmByEvent(e)):x("","",e)),V()},ue=e=>{var t=o["selectStatus"],{value:e,$event:a}=e;const l=t?E.endValue:"";x(e,l,a),X(),t||(o.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=I.value,t=T.value;e&&t&&(e=e.getValue(),!l)&&e&&t.setPanelDate(_xeUtils.default.toStringDate(e))})},re=e=>{var t=o["selectStatus"],{value:e,$event:a}=e;const l=t?E.startValue:"";x(l,e,a),X(),t||(o.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=I.value,t=T.value;e&&t&&(t=t.getValue(),!l)&&t&&e.setPanelDate(_xeUtils.default.toStringDate(t))})},ie=e=>{var{visiblePanel:t,isActivated:a}=E,l=_.value,u=R.value;!b.value&&a&&(E.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,u).flag,E.isActivated||t&&(v(),V()))},ne=e=>{var t=E["visiblePanel"];b.value||t&&(t=R.value,((0,_dom.getEventTargetNode)(e,t).flag?d:V)())},oe=()=>{var e=E["visiblePanel"];e&&V()},d=()=>(0,_vue.nextTick)().then(()=>{var l=P["placement"],u=E["panelIndex"],r=f.value,i=F.value,e=N.value;if(r&&i){var n=r.offsetHeight,o=r.offsetWidth,s=i.offsetHeight,i=i.offsetWidth,u={zIndex:u},{boundingTop:r,boundingLeft:v,visibleHeight:d,visibleWidth:c}=(0,_dom.getAbsolutePos)(r);let a="bottom";if(e){let e=v,t=r+n;"top"===l?(a="top",t=r-s):l||(t+s+5>d&&(a="top",t=r-s),t<5&&(a="bottom",t=r+n)),e+i+5>c&&(e-=e+i+5-c),e<5&&(e=5),Object.assign(u,{left:e+"px",top:t+"px",minWidth:o+"px"})}else"top"===l?(a="top",u.bottom=n+"px"):l||(u.top=n+"px",d<r+n+s&&5<r-n-s&&(a="top",u.top="",u.bottom=n+"px"));return E.panelStyle=u,E.panelPlacement=a,(0,_vue.nextTick)()}}),se=()=>{var e=E["visiblePanel"];return(b.value||e?(0,_vue.nextTick):(E.initialized||(E.initialized=!0),o.hpTimeout&&(clearTimeout(o.hpTimeout),o.hpTimeout=void 0),o.selectStatus=!1,E.isActivated=!0,E.isAniVisible=!0,setTimeout(()=>{E.visiblePanel=!0},10),E.panelIndex<(0,_utils.getLastZIndex)()&&(E.panelIndex=(0,_utils.nextZIndex)()),d))()},ve=e=>{g.value||(e.preventDefault(),se())},de=e=>{u(e)},ce=({option:e,$event:t})=>{var a=P["type"],l=B.value,u=l["autoClose"],{code:r,clickMethod:i}=e,n=E.startValue,o=E.endValue,s=y(n,o),v={$dateRangePicker:M,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(v);else{var d=m.value,c=h.value;switch(r){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var p=(0,_util.getRangeDateByCode)(r,s,a,{valueFormat:d,firstDay:c}),n=p.startValue,o=p.endValue,s=y(n,o);v.value=s,v.startValue=n,v.endValue=o,x(n,o,t);break;default:(0,_log.errLog)("vxe.error.notCommands",[r])}}}else{e=i||l.clickMethod;e&&e(v)}u&&V(),k("shortcut-click",v,t)},k=(e,t,a)=>{r(e,(0,_ui.createEvent)(a,{$dateRangePicker:M},t))},j=(e={dispatchEvent:k,setModelValue(e,t){E.startValue=e||"",E.endValue=t||"";e=y(e,t);r("update:modelValue",e)},setModelValueByEvent(e,t,a){x(t||"",a||"",e)},focus(){var e=f.value;return E.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return f.value.blur(),(E.isActivated=!1,_vue.nextTick)()},select(){return f.value.select(),(E.isActivated=!1,_vue.nextTick)()},showPanel:se,hidePanel:V,updatePlacement:d},Object.assign(M,e),(e,t)=>{var a=B.value,{position:l,align:u,mode:r}=a,i=q.value;return(0,_utils.isEnableConf)(a)&&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:t,onClick:ce})]):(0,_ui.renderEmptyElement)(M)}),pe=()=>(0,_vue.h)("div",{class:"vxe-date-range-picker--control-icon",onClick:ve},[(0,_vue.h)("i",{class:["vxe-date-range-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(()=>P.modelValue,()=>{a(!0)}),(0,_vue.watch)(t,()=>{a(!1)}),a(!0),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(M,"mousewheel",ne),_ui.globalEvents.on(M,"mousedown",ie),_ui.globalEvents.on(M,"blur",oe)}),(0,_vue.onDeactivated)(()=>{v()}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(M,"mousewheel"),_ui.globalEvents.off(M,"mousedown"),_ui.globalEvents.off(M,"blur")}),(0,_vue.onBeforeUnmount)(()=>{v()}),(0,_vue.provide)("$xeDateRangePicker",M),M.renderVN=()=>{var e,t,a,{className:l,type:u,name:r,autoComplete:i}=P,{startValue:n,endValue:o,visiblePanel:s,isActivated:v}=E,d=w.value,c=b.value,p=g.value,m=L.value;return p?(0,_vue.h)("div",{ref:_,class:["vxe-date-range-picker--readonly","type--"+u,l]},m):(p=U.value,e=A.value,a=P.prefixIcon,t=(t=S.prefix)||a?(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix",onClick:J},[(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix-icon"},t?(0,_vn.getSlotVNs)(t({})):[(0,_vue.h)("i",{class:a})])]):null,a=(()=>{var e=P["suffixIcon"],{startValue:t,endValue:a}=E,l=S.suffix,u=b.value,r=A.value;return(0,_vue.h)("div",{class:["vxe-date-range-picker--suffix",{"is--clear":r&&!u&&(t||a)}]},[r?(0,_vue.h)("div",{class:"vxe-date-range-picker--clear-icon",onClick:Q},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(M),pe(),l||e?(0,_vue.h)("div",{class:"vxe-date-range-picker--suffix-icon",onClick:Y},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:e})]):(0,_ui.renderEmptyElement)(M)])})(),(0,_vue.h)("div",{ref:_,class:["vxe-date-range-picker","type--"+u,l,{["size--"+d]:d,"is--prefix":!!t,"is--suffix":!!a,"is--visible":s,"is--disabled":c,"is--active":v,"show--clear":e&&!c&&(n||o)}],spellcheck:!1},[t||(0,_ui.renderEmptyElement)(M),(0,_vue.h)("div",{class:"vxe-date-range-picker--wrapper"},[(0,_vue.h)("input",{ref:f,class:"vxe-date-range-picker--inner",value:m,name:r,type:"text",placeholder:p,readonly:!0,disabled:c,autocomplete:i,onKeydown:te,onKeyup:ae,onClick:de,onChange:G,onFocus:Z,onBlur:ee})]),a||(0,_ui.renderEmptyElement)(M),(()=>{var{type:e,separator:t,autoClose:a,showConfirmButton:l,showClearButton:u}=P,{initialized:r,isAniVisible:i,visiblePanel:n,panelPlacement:o,panelStyle:s,startValue:v,endValue:d}=E,c=w.value,p=N.value,m=B.value,_=A.value,f=O.value,g=q.value,b=z.value,{startLabel:f,endLabel:h}=f,m=m["position"],y=S.header,x=S.footer,V=S.top,k=S.bottom,D=S.left,C=S.right,g=0<g.length,b=null===l?b||!a:l,a=null===u?_:u;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!p||!r},[(0,_vue.h)("div",{ref:F,class:["vxe-table--ignore-clear vxe-date-range-picker--panel","type--"+e,{["size--"+c]:c,"is--transfer":p,"ani--leave":i,"ani--enter":n,"show--top":!!(V||y||g&&("top"===m||"header"===m)),"show--bottom":!!(k||x||g&&("bottom"===m||"footer"===m)),"show--left":!!(D||g&&"left"===m),"show--right":!!(C||g&&"right"===m)}],placement:o,style:s},r&&(n||i)?[(0,_vue.h)("div",{ref:R,class:["vxe-date-range-picker--layout-all-wrapper","type--"+e,{["size--"+c]:c}]},[V?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-top-wrapper"},V({})):j("top"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-layout-wrapper"},[D?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-left-wrapper"},D({})):j("left",!0),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-content-wrapper"},[y?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-header-wrapper"},y({})):j("header"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:I,modelValue:v,type:P.type,className:P.className,minDate:P.minDate,maxDate:P.maxDate,startDay:P.startDay,endDate:d,labelFormat:P.labelFormat,valueFormat:P.valueFormat,festivalMethod:P.festivalMethod,disabledMethod:P.disabledMethod,selectDay:P.selectDay,onChange:ue}),(0,_vue.h)(_datePanel.default,{ref:T,modelValue:d,type:P.type,className:P.className,minDate:P.minDate,maxDate:P.maxDate,startDay:P.startDay,startDate:v,labelFormat:P.labelFormat,valueFormat:P.valueFormat,festivalMethod:P.festivalMethod,disabledMethod:P.disabledMethod,selectDay:P.selectDay,onChange:re})]),(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||h?[(0,_vue.h)("span",f),(0,_vue.h)("span",""+(t||"")),(0,_vue.h)("span",h)]:[]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-custom"},x?x({}):[j("footer")]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-btns"},[a?(0,_vue.h)(_button.default,{size:"mini",disabled:!(v||d),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:Q}):(0,_ui.renderEmptyElement)(M),b?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:le}):(0,_ui.renderEmptyElement)(M)])])]),C?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-right-wrapper"},C({})):j("right",!0)]),k?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-bottom-wrapper"},k({})):j("bottom")])]:[])])})()]))},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"),_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,_vue.defineComponent)({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},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},placeholder:String,autoComplete:{type:String,default:"off"},form:String,className:String,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],startDay:{type:[String,Number],default:()=>(0,_ui.getConfig)().dateRangePicker.startDay},labelFormat:String,valueFormat: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},shortcutConfig:Object},emits:["update:modelValue","update:startValue","update:endValue","input","change","keydown","keyup","click","focus","blur","clear","prefix-click","suffix-click","date-prev","date-today","date-next","shortcut-click"],setup(P,e){const{slots:S,emit:r}=e,c=(0,_vue.inject)("$xeModal",null),p=(0,_vue.inject)("$xeDrawer",null),D=(0,_vue.inject)("$xeTable",null),i=(0,_vue.inject)("$xeForm",null),n=(0,_vue.inject)("xeFormItemInfo",null);var t=_xeUtils.default.uniqueId();const w=(0,_ui.useSize)(P)["computeSize"],E=(0,_vue.reactive)({initialized:!1,panelIndex:0,visiblePanel:!1,isAniVisible:!1,panelStyle:{},panelPlacement:"",isActivated:!1,startValue:"",endValue:""}),o={},f=(0,_vue.ref)(),g=(0,_vue.ref)(),M=(0,_vue.ref)(),F=(0,_vue.ref)(),R=(0,_vue.ref)(),I=(0,_vue.ref)(),C={refElem:f,refInput:g},T={xID:t,props:P,context:e,reactData:E,internalData:o,getRefMaps:()=>C};const N=(0,_vue.computed)(()=>{var e=P["transfer"];if(null===e){var t=(0,_ui.getConfig)().dateRangePicker.transfer;if(_xeUtils.default.isBoolean(t))return t;if(D||c||p||i)return!0}return e}),_=(0,_vue.computed)(()=>{var e=P["readonly"];return null===e?!!i&&i.props.readonly:e}),b=(0,_vue.computed)(()=>{var e=P["disabled"];return null===e?!!i&&i.props.disabled:e});t=(0,_vue.computed)(()=>{var{startValue:e,endValue:t}=P;return""+(e||"")+(t||"")});const z=(0,_vue.computed)(()=>{var e=P["type"];return"time"===e||"datetime"===e}),s=(0,_vue.computed)(()=>-1<["date","week","month","quarter","year"].indexOf(P.type)),A=(0,_vue.computed)(()=>P.clearable),U=(0,_vue.computed)(()=>{var e=P["placeholder"];return(e=e||(0,_ui.getConfig)().dateRangePicker.placeholder)?(0,_utils.getFuncText)(e):(0,_ui.getI18n)("vxe.base.pleaseSelect")}),l=(0,_vue.computed)(()=>{var e=P["immediate"];return e}),B=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().dateRangePicker.shortcutConfig,P.shortcutConfig)),q=(0,_vue.computed)(()=>{var e=B.value["options"];return e?e.map((e,t)=>Object.assign({name:""+(e.name||e.code||t)},e)):[]}),$=(0,_vue.computed)(()=>{var e=P["labelFormat"];return e||(0,_ui.getI18n)("vxe.input.date.labelFormat."+P.type)}),m=(0,_vue.computed)(()=>{var{type:e,valueFormat:t}=P;return t||("time"===e?"HH:mm:ss":"datetime"===e?"yyyy-MM-dd HH:mm:ss":"yyyy-MM-dd")}),h=(0,_vue.computed)(()=>{var e=P["startDay"];return _xeUtils.default.toNumber(e)}),O=(0,_vue.computed)(()=>{var{startValue:e,endValue:t}=E,e=e||t?[e||"",t||""]:[];return H(e)}),L=(0,_vue.computed)(()=>{return O.value.label}),H=e=>{var{type:t,separator:a}=P,l=$.value,u=m.value,r=h.value,i=e[0]?(0,_util.parseDateObj)(e[0],t,{valueFormat:u,labelFormat:l,firstDay:r}):null,e=e[1]?(0,_util.parseDateObj)(e[1],t,{valueFormat:u,labelFormat:l,firstDay:r}):null,t=i?i.label:"",u=e?e.label:"";return{label:(t||u?[t,u]:[]).join(""+(a||" ~ ")),startLabel:t,endLabel:u}},y=(e,t)=>{var a=P["modelValue"],a=_xeUtils.default.isArray(a);return e||t?(e=[e||"",t||""],a?e:e.join(",")):a?[]:""},W=()=>{var e,{type:t,modelValue:a}=P,l=m.value;let u="",r="";return _xeUtils.default.isArray(a)?(e=(0,_util.parseDateString)(a[0],t,{valueFormat:l}),t=(0,_util.parseDateString)(a[1],t,{valueFormat:l}),(e||t)&&(u=e||"",r=t||"")):_xeUtils.default.isString(a)&&((l=a.split(","))[0]||l[1])&&(u=l[0]||"",r=l[1]||""),{sValue:u,eValue:r}},K=()=>{var{type:e,startValue:t,endValue:a}=P,l=m.value;return{sValue:(0,_util.parseDateString)(t,e,{valueFormat:l}),eValue:(0,_util.parseDateString)(a,e,{valueFormat:l})}},a=e=>{var{modelValue:t,startValue:a,endValue:l}=P;let u={sValue:"",eValue:""};u=(e?t?W:K:a||l?K:W)(),E.startValue=u.sValue,E.endValue=u.eValue},u=e=>{var{startValue:t,endValue:a}=E,l=y(t,a);k(e.type,{value:l,startValue:t,endValue:a},e)},x=(e,t,a)=>{var l=P["modelValue"],u=(E.startValue=e,E.endValue=t,y(e,t));r("update:modelValue",u),r("update:startValue",e||""),r("update:endValue",t||""),_xeUtils.default.toValueString(l)!==u&&(k("change",{value:u},a),i)&&n&&i.triggerItemEvent(a,n.itemConfig.field,u)},G=e=>{l.value||u(e)},Z=e=>{E.isActivated=!0,de(e),u(e)},J=e=>{var t,a,l;b.value||({startValue:t,endValue:a}=E,l=y(t,a),k("prefix-click",{value:l,startValue:t,endValue:a},e))},V=()=>new Promise(e=>{E.visiblePanel=!1,o.hpTimeout=setTimeout(()=>{E.isAniVisible=!1,e()},350)}),Q=(e,t)=>{s.value&&V(),x("","",e),k("clear",{value:t},e)},d=()=>{var e=R.value,t=I.value;e&&t&&(e=e.getModelValue(),t=t.getModelValue(),e&&t||x("","",{type:"check"}))},X=()=>{var e=P["autoClose"],{startValue:t,endValue:a}=E,l=o["selectStatus"],u=s.value;e?l&&u&&t&&a&&V():t&&a&&(o.selectStatus=!1)},Y=e=>{var t,a,l;b.value||({startValue:t,endValue:a}=E,l=y(t,a),k("suffix-click",{value:l,startValue:t,endValue:a},e))},ee=e=>{var{startValue:t,endValue:a}=E;l.value||x(t,a,e),E.visiblePanel||(E.isActivated=!1),k("blur",{value:"",startValue:t,endValue:a},e),i&&n&&i.triggerItemEvent(e,n.itemConfig.field,"")},te=e=>{u(e)},ae=e=>{u(e)},le=e=>{var t,a,l=R.value,u=I.value;l&&u&&(t=l.getModelValue(),a=u.getModelValue(),t&&a?(l.confirmByEvent(e),u.confirmByEvent(e)):x("","",e)),V()},ue=e=>{var t=o["selectStatus"],{value:e,$event:a}=e;const l=t?E.endValue:"";x(e,l,a),X(),t||(o.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=R.value,t=I.value;e&&t&&(e=e.getModelValue(),!l)&&e&&t.setPanelDate(_xeUtils.default.toStringDate(e))})},re=e=>{var t=o["selectStatus"],{value:e,$event:a}=e;const l=t?E.startValue:"";x(l,e,a),X(),t||(o.selectStatus=!0),(0,_vue.nextTick)(()=>{var e=R.value,t=I.value;e&&t&&(t=t.getModelValue(),!l)&&t&&e.setPanelDate(_xeUtils.default.toStringDate(t))})},ie=e=>{var{visiblePanel:t,isActivated:a}=E,l=f.value,u=F.value;!b.value&&a&&(E.isActivated=(0,_dom.getEventTargetNode)(e,l).flag||(0,_dom.getEventTargetNode)(e,u).flag,E.isActivated||t&&(d(),V()))},ne=e=>{var t=E["visiblePanel"];b.value||t&&(t=F.value,((0,_dom.getEventTargetNode)(e,t).flag?v:V)())},oe=()=>{var e=E["visiblePanel"];e&&V()},v=()=>(0,_vue.nextTick)().then(()=>{var l=P["placement"],u=E["panelIndex"],r=g.value,i=M.value,e=N.value;if(r&&i){var n=r.offsetHeight,o=r.offsetWidth,s=i.offsetHeight,i=i.offsetWidth,u={zIndex:u},{boundingTop:r,boundingLeft:d,visibleHeight:v,visibleWidth:c}=(0,_dom.getAbsolutePos)(r);let a="bottom";if(e){let e=d,t=r+n;"top"===l?(a="top",t=r-s):l||(t+s+5>v&&(a="top",t=r-s),t<5&&(a="bottom",t=r+n)),e+i+5>c&&(e-=e+i+5-c),e<5&&(e=5),Object.assign(u,{left:e+"px",top:t+"px",minWidth:o+"px"})}else"top"===l?(a="top",u.bottom=n+"px"):l||(u.top=n+"px",v<r+n+s&&5<r-n-s&&(a="top",u.top="",u.bottom=n+"px"));return E.panelStyle=u,E.panelPlacement=a,(0,_vue.nextTick)()}}),se=()=>{var e=E["visiblePanel"];return(b.value||e?(0,_vue.nextTick):(E.initialized||(E.initialized=!0),o.hpTimeout&&(clearTimeout(o.hpTimeout),o.hpTimeout=void 0),o.selectStatus=!1,E.isActivated=!0,E.isAniVisible=!0,setTimeout(()=>{E.visiblePanel=!0},10),E.panelIndex<(0,_utils.getLastZIndex)()&&(E.panelIndex=(0,_utils.nextZIndex)()),v))()},de=e=>{_.value||(e.preventDefault(),se())},ve=e=>{u(e)},ce=({option:e,$event:t})=>{var a=P["type"],l=B.value,u=l["autoClose"],{code:r,clickMethod:i}=e,n=E.startValue,o=E.endValue,s=y(n,o),d={$dateRangePicker:T,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=m.value,c=h.value;switch(r){case"last1":case"last3":case"last7":case"last30":case"last60":case"last90":case"last180":var p=(0,_util.getRangeDateByCode)(r,s,a,{valueFormat:v,firstDay:c}),n=p.startValue,o=p.endValue,s=y(n,o);d.value=s,d.startValue=n,d.endValue=o,x(n,o,t);break;default:(0,_log.errLog)("vxe.error.notCommands",[r])}}}else{e=i||l.clickMethod;e&&e(d)}u&&V(),k("shortcut-click",d,t)},k=(e,t,a)=>{r(e,(0,_ui.createEvent)(a,{$dateRangePicker:T},t))},j=(e={dispatchEvent:k,setModelValue(e,t){E.startValue=e||"",E.endValue=t||"";e=y(e,t);r("update:modelValue",e)},setModelValueByEvent(e,t,a){x(t||"",a||"",e)},focus(){var e=g.value;return E.isActivated=!0,e.focus(),(0,_vue.nextTick)()},blur(){return g.value.blur(),(E.isActivated=!1,_vue.nextTick)()},select(){return g.value.select(),(E.isActivated=!1,_vue.nextTick)()},showPanel:se,hidePanel:V,updatePlacement:v},Object.assign(T,e),(e,t)=>{var a=B.value,{position:l,align:u,mode:r}=a,i=q.value;return(0,_utils.isEnableConf)(a)&&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:t,onClick:ce})]):(0,_ui.renderEmptyElement)(T)}),pe=()=>(0,_vue.h)("div",{class:"vxe-date-range-picker--control-icon",onClick:de},[(0,_vue.h)("i",{class:["vxe-date-range-picker--date-picker-icon",(0,_ui.getIcon)().DATE_PICKER_DATE]})]);return(0,_vue.watch)(()=>P.modelValue,()=>{a(!0)}),(0,_vue.watch)(t,()=>{a(!1)}),a(!0),(0,_vue.nextTick)(()=>{_ui.globalEvents.on(T,"mousewheel",ne),_ui.globalEvents.on(T,"mousedown",ie),_ui.globalEvents.on(T,"blur",oe)}),(0,_vue.onDeactivated)(()=>{d()}),(0,_vue.onUnmounted)(()=>{_ui.globalEvents.off(T,"mousewheel"),_ui.globalEvents.off(T,"mousedown"),_ui.globalEvents.off(T,"blur")}),(0,_vue.onBeforeUnmount)(()=>{d()}),(0,_vue.provide)("$xeDateRangePicker",T),T.renderVN=()=>{var e,t,a,{className:l,type:u,name:r,autoComplete:i}=P,{startValue:n,endValue:o,visiblePanel:s,isActivated:d}=E,v=w.value,c=b.value,p=_.value,m=L.value;return p?(0,_vue.h)("div",{ref:f,class:["vxe-date-range-picker--readonly","type--"+u,l]},m):(p=U.value,e=A.value,a=P.prefixIcon,t=(t=S.prefix)||a?(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix",onClick:J},[(0,_vue.h)("div",{class:"vxe-date-range-picker--prefix-icon"},t?(0,_vn.getSlotVNs)(t({})):[(0,_vue.h)("i",{class:a})])]):null,a=(()=>{var e=P["suffixIcon"],{startValue:t,endValue:a}=E,l=S.suffix,u=b.value,r=A.value;return(0,_vue.h)("div",{class:["vxe-date-range-picker--suffix",{"is--clear":r&&!u&&(t||a)}]},[r?(0,_vue.h)("div",{class:"vxe-date-range-picker--clear-icon",onClick:Q},[(0,_vue.h)("i",{class:(0,_ui.getIcon)().INPUT_CLEAR})]):(0,_ui.renderEmptyElement)(T),pe(),l||e?(0,_vue.h)("div",{class:"vxe-date-range-picker--suffix-icon",onClick:Y},l?(0,_vn.getSlotVNs)(l({})):[(0,_vue.h)("i",{class:e})]):(0,_ui.renderEmptyElement)(T)])})(),(0,_vue.h)("div",{ref:f,class:["vxe-date-range-picker","type--"+u,l,{["size--"+v]:v,"is--prefix":!!t,"is--suffix":!!a,"is--visible":s,"is--disabled":c,"is--active":d,"show--clear":e&&!c&&(n||o)}],spellcheck:!1},[t||(0,_ui.renderEmptyElement)(T),(0,_vue.h)("div",{class:"vxe-date-range-picker--wrapper"},[(0,_vue.h)("input",{ref:g,class:"vxe-date-range-picker--inner",value:m,name:r,type:"text",placeholder:p,readonly:!0,disabled:c,autocomplete:i,onKeydown:te,onKeyup:ae,onClick:ve,onChange:G,onFocus:Z,onBlur:ee})]),a||(0,_ui.renderEmptyElement)(T),(()=>{var{type:e,separator:t,autoClose:a,showConfirmButton:l,showClearButton:u}=P,{initialized:r,isAniVisible:i,visiblePanel:n,panelPlacement:o,panelStyle:s,startValue:d,endValue:v}=E,c=w.value,p=N.value,m=B.value,f=A.value,g=O.value,_=q.value,b=z.value,{startLabel:g,endLabel:h}=g,m=m["position"],y=S.header,x=S.footer,V=S.top,k=S.bottom,D=S.left,C=S.right,_=0<_.length,b=null===l?b||!a:l,a=null===u?f:u;return(0,_vue.h)(_vue.Teleport,{to:"body",disabled:!p||!r},[(0,_vue.h)("div",{ref:M,class:["vxe-table--ignore-clear vxe-date-range-picker--panel","type--"+e,{["size--"+c]:c,"is--transfer":p,"ani--leave":i,"ani--enter":n,"show--top":!!(V||y||_&&("top"===m||"header"===m)),"show--bottom":!!(k||x||_&&("bottom"===m||"footer"===m)),"show--left":!!(D||_&&"left"===m),"show--right":!!(C||_&&"right"===m)}],placement:o,style:s},r&&(n||i)?[(0,_vue.h)("div",{ref:F,class:["vxe-date-range-picker--layout-all-wrapper","type--"+e,{["size--"+c]:c}]},[V?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-top-wrapper"},V({})):j("top"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-layout-wrapper"},[D?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-left-wrapper"},D({})):j("left",!0),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-content-wrapper"},[y?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-header-wrapper"},y({})):j("header"),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-body-wrapper"},[(0,_vue.h)(_datePanel.default,{ref:R,modelValue:d,type:P.type,className:P.className,minDate:P.minDate,maxDate:P.maxDate,startDay:P.startDay,endDate:v,labelFormat:P.labelFormat,valueFormat:P.valueFormat,festivalMethod:P.festivalMethod,disabledMethod:P.disabledMethod,selectDay:P.selectDay,onChange:ue}),(0,_vue.h)(_datePanel.default,{ref:I,modelValue:v,type:P.type,className:P.className,minDate:P.minDate,maxDate:P.maxDate,startDay:P.startDay,startDate:d,labelFormat:P.labelFormat,valueFormat:P.valueFormat,festivalMethod:P.festivalMethod,disabledMethod:P.disabledMethod,selectDay:P.selectDay,onChange:re})]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-wrapper"},[(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-label"},g||h?[(0,_vue.h)("span",g),(0,_vue.h)("span",""+(t||"")),(0,_vue.h)("span",h)]:[]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-custom"},x?x({}):[j("footer")]),(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-footer-btns"},[a?(0,_vue.h)(_button.default,{size:"mini",disabled:!(d||v),content:(0,_ui.getI18n)("vxe.button.clear"),onClick:Q}):(0,_ui.renderEmptyElement)(T),b?(0,_vue.h)(_button.default,{size:"mini",status:"primary",content:(0,_ui.getI18n)("vxe.button.confirm"),onClick:le}):(0,_ui.renderEmptyElement)(T)])])]),C?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-right-wrapper"},C({})):j("right",!0)]),k?(0,_vue.h)("div",{class:"vxe-date-range-picker--layout-bottom-wrapper"},k({})):j("bottom")])]:[])])})()]))},T},render(){return this.renderVN()}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formItemProps=exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_render=require("./render"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const formItemProps=exports.formItemProps={title:String,field:String,span:{type:[String,Number],default:null},align:{type:String,default:null},verticalAlign:{type:String,default:null},titleBackground:{type:Boolean,default:null},titleBold:{type:Boolean,default:null},titleAlign:{type:String,default:null},titleWidth:{type:[String,Number],default:null},titleColon:{type:Boolean,default:null},titleAsterisk:{type:Boolean,default:null},showTitle:{type:Boolean,default:!0},vertical:{type:Boolean,default:null},padding:{type:Boolean,default:null},className:[String,Function],contentClassName:[String,Function],contentStyle:[Object,Function],titleClassName:[String,Function],titleStyle:[Object,Function],titleOverflow:{type:[Boolean,String],default:null},titlePrefix:Object,titleSuffix:Object,resetValue:{default:null},visibleMethod:Function,visible:{type:Boolean,default:null},showContent:{type:Boolean,default:null},folding:Boolean,collapseNode:Boolean,itemRender:Object,rules:Array};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormItem",props:formItemProps,setup(e,{slots:t}){const f=(0,_vue.ref)(),p=(0,_vue.inject)("$xeForm",{}),l=(0,_vue.inject)("$xeFormGroup",null),_=(0,_vue.reactive)((0,_util.createItem)(p,e));_.slots=t;t={itemConfig:_};(0,_vue.provide)("xeFormItemInfo",t);t={formItem:_,renderVN:()=>{var e,t,l,n,r,u,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.formItemProps=exports.default=void 0;var _vue=require("vue"),_util=require("./util"),_ui=require("../../ui"),_utils=require("../../ui/src/utils"),_render=require("./render"),_xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const formItemProps=exports.formItemProps={title:String,field:String,span:{type:[String,Number],default:null},align:{type:String,default:null},verticalAlign:{type:String,default:null},titleBackground:{type:Boolean,default:null},titleBold:{type:Boolean,default:null},titleAlign:{type:String,default:null},titleWidth:{type:[String,Number],default:null},titleColon:{type:Boolean,default:null},titleAsterisk:{type:Boolean,default:null},showTitle:{type:Boolean,default:!0},vertical:{type:Boolean,default:null},padding:{type:Boolean,default:null},formatter:[String,Function],className:[String,Function],contentClassName:[String,Function],contentStyle:[Object,Function],titleClassName:[String,Function],titleStyle:[Object,Function],titleOverflow:{type:[Boolean,String],default:null},titlePrefix:Object,titleSuffix:Object,resetValue:{default:null},visibleMethod:Function,visible:{type:Boolean,default:null},showContent:{type:Boolean,default:null},folding:Boolean,collapseNode:Boolean,itemRender:Object,rules:Array};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeFormItem",props:formItemProps,setup(e,{slots:t}){const f=(0,_vue.ref)(),p=(0,_vue.inject)("$xeForm",{}),l=(0,_vue.inject)("$xeFormGroup",null),_=(0,_vue.reactive)((0,_util.createItem)(p,e));_.slots=t;t={itemConfig:_};(0,_vue.provide)("xeFormItemInfo",t);t={formItem:_,renderVN:()=>{var e,t,l,n,r,o,u,i,a,d,s=!!p&&p.props.customLayout,m=_;return s?(s=p,m=m,d=s.props,e=s.xeGrid,{data:d,readonly:t,disabled:l}=d,{visible:n,field:r,itemRender:a,contentStyle:o,showContent:u}=m,i=(a=(0,_utils.isEnableConf)(a)?_ui.renderer.get(a.name):null)?a.formItemStyle||a.itemStyle:null,a=a?a.formItemContentStyle||a.itemContentStyle:null,!(d={data:d,disabled:l,readonly:t,field:r,property:r,item:m,$form:s,$grid:e})===n?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{ref:f,key:m.id,class:(0,_render.getItemClass)(s,m),style:_xeUtils.default.isFunction(i)?i(d):i},[(0,_render.renderTitle)(s,m),!1===u?(0,_vue.createCommentVNode)():(0,_vue.h)("div",{class:(0,_render.getItemContentClass)(s,m),style:Object.assign({},_xeUtils.default.isFunction(a)?a(d):a,_xeUtils.default.isFunction(o)?o(d):o)},[(0,_render.renderItemContent)(s,m)])])):(0,_vue.h)("div",{ref:f})}};return(0,_util.watchItem)(e,_),(0,_vue.onMounted)(()=>{var e=f.value;(0,_util.assembleItem)(p,e,_,l)}),(0,_vue.onUnmounted)(()=>{(0,_util.destroyItem)(p,_)}),(0,_vue.provide)("$xeFormItem",t),(0,_vue.provide)("$xeFormGroup",null),t},render(){return this.renderVN()}});
|
package/lib/form/src/form.js
CHANGED
|
@@ -168,7 +168,8 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
168
168
|
tooltipStore: {
|
|
169
169
|
item: null,
|
|
170
170
|
visible: false
|
|
171
|
-
}
|
|
171
|
+
},
|
|
172
|
+
itemFormatCache: {}
|
|
172
173
|
});
|
|
173
174
|
const refElem = (0, _vue.ref)();
|
|
174
175
|
const refTooltip = (0, _vue.ref)();
|
|
@@ -196,6 +197,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
196
197
|
props,
|
|
197
198
|
context,
|
|
198
199
|
reactData,
|
|
200
|
+
internalData,
|
|
199
201
|
xeGrid: $xeGrid,
|
|
200
202
|
getRefMaps: () => refMaps,
|
|
201
203
|
getComputeMaps: () => computeMaps
|
|
@@ -228,6 +230,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
228
230
|
reactData.staticItems = _xeUtils.default.mapTree(list, item => (0, _util.createItem)($xeForm, item), {
|
|
229
231
|
children: 'children'
|
|
230
232
|
});
|
|
233
|
+
internalData.itemFormatCache = {};
|
|
231
234
|
return (0, _vue.nextTick)();
|
|
232
235
|
};
|
|
233
236
|
const getItems = () => {
|
|
@@ -294,12 +297,11 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
294
297
|
}
|
|
295
298
|
return (0, _vue.nextTick)();
|
|
296
299
|
};
|
|
297
|
-
const getResetValue = (item, data) => {
|
|
300
|
+
const getResetValue = (item, data, itemValue) => {
|
|
298
301
|
const {
|
|
299
302
|
field,
|
|
300
303
|
resetValue
|
|
301
304
|
} = item;
|
|
302
|
-
const itemValue = _xeUtils.default.get(data, field);
|
|
303
305
|
if (_xeUtils.default.isFunction(resetValue)) {
|
|
304
306
|
return resetValue({
|
|
305
307
|
field,
|
|
@@ -308,7 +310,7 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
308
310
|
$form: $xeForm,
|
|
309
311
|
$grid: $xeGrid
|
|
310
312
|
});
|
|
311
|
-
} else if (resetValue
|
|
313
|
+
} else if (_xeUtils.default.eqNull(resetValue)) {
|
|
312
314
|
// 默认
|
|
313
315
|
if (_xeUtils.default.isArray(itemValue)) {
|
|
314
316
|
return [];
|
|
@@ -328,7 +330,12 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
328
330
|
itemRender
|
|
329
331
|
} = item;
|
|
330
332
|
if ((0, _utils.isEnableConf)(itemRender)) {
|
|
331
|
-
const
|
|
333
|
+
const {
|
|
334
|
+
name,
|
|
335
|
+
startField,
|
|
336
|
+
endField
|
|
337
|
+
} = itemRender;
|
|
338
|
+
const compConf = _ui.renderer.get(name);
|
|
332
339
|
const fiResetMethod = compConf ? compConf.formItemResetMethod || compConf.itemResetMethod : null;
|
|
333
340
|
if (compConf && fiResetMethod) {
|
|
334
341
|
fiResetMethod({
|
|
@@ -340,11 +347,17 @@ var _default = exports.default = (0, _vue.defineComponent)({
|
|
|
340
347
|
$grid: $xeGrid
|
|
341
348
|
});
|
|
342
349
|
} else if (field) {
|
|
343
|
-
_xeUtils.default.
|
|
350
|
+
const itemValue = _xeUtils.default.get(data, field);
|
|
351
|
+
_xeUtils.default.set(data, field, getResetValue(item, data, itemValue));
|
|
352
|
+
}
|
|
353
|
+
if (startField && endField) {
|
|
354
|
+
_xeUtils.default.set(data, startField, getResetValue(item, data, _xeUtils.default.get(data, startField)));
|
|
355
|
+
_xeUtils.default.set(data, endField, getResetValue(item, data, _xeUtils.default.get(data, endField)));
|
|
344
356
|
}
|
|
345
357
|
}
|
|
346
358
|
});
|
|
347
359
|
}
|
|
360
|
+
internalData.itemFormatCache = {};
|
|
348
361
|
return clearValidate();
|
|
349
362
|
};
|
|
350
363
|
const resetEvent = evnt => {
|
package/lib/form/src/form.min.js
CHANGED
|
@@ -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"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading/src/loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}const validErrorRuleValue=(e,t)=>{var{type:e,min:i,max:l,pattern:r}=e,e="number"===e,o=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(i)&&o<_xeUtils.default.toNumber(i)||!_xeUtils.default.eqNull(l)&&o>_xeUtils.default.toNumber(l)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size},span:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.span},align:{type:String,default:()=>(0,_ui.getConfig)().form.align},verticalAlign:{type:String,default:()=>(0,_ui.getConfig)().form.verticalAlign},border:{type:Boolean,default:()=>(0,_ui.getConfig)().form.border},titleBackground:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBackground},titleBold:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBold},titleAlign:{type:String,default:()=>(0,_ui.getConfig)().form.titleAlign},titleWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.titleWidth},titleColon:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleColon},titleAsterisk:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>(0,_ui.getConfig)().form.titleOverflow},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().form.vertical},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>(0,_ui.getConfig)().form.preventSubmit},validConfig:Object,tooltipConfig:Object,collapseConfig:Object,customLayout:{type:Boolean,default:()=>(0,_ui.getConfig)().form.customLayout}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(n,e){const{slots:d,emit:l}=e,u=(0,_vue.inject)("$xeGrid",null);var t=_xeUtils.default.uniqueId();const c=(0,_ui.useSize)(n)["computeSize"],m=(0,_vue.reactive)({collapseAll:n.collapseStatus,staticItems:[],formItems:[]}),f=(0,_vue.reactive)({meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1}}),g=(0,_vue.ref)(),v=(0,_vue.ref)();let i={};const p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,n.validConfig)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,n.tooltipConfig));var r=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.collapseConfig,n.collapseConfig));const o={refElem:g},a={computeSize:c,computeValidOpts:p,computeTooltipOpts:_,computeCollapseOpts:r},h={xID:t,props:n,context:e,reactData:m,xeGrid:u,getRefMaps:()=>o,getComputeMaps:()=>a};const s=e=>(e.length&&e.forEach(e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),m.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(h,e),{children:"children"}),(0,_vue.nextTick)()),x=()=>{const t=[];return _xeUtils.default.eachTree(m.formItems,e=>{t.push(e)},{children:"children"}),t},y=t=>{var e=_xeUtils.default.findTree(m.formItems,e=>e.field===t,{children:"children"});return e?e.item:null},b=()=>m.collapseAll,C=()=>{var e=!b();return m.collapseAll=e,l("update:collapseStatus",e),(0,_vue.nextTick)()};const E=t=>{if(t){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>{e&&(e=(0,_util.handleFieldOrItem)(h,e))&&(e.showError=!1)})}else x().forEach(e=>{e.showError=!1});return(0,_vue.nextTick)()},S=()=>{const r=n["data"];var e=x();return r&&e.forEach(e=>{var t,{field:i,itemRender:l}=e;(0,_utils.isEnableConf)(l)&&(t=(l=_ui.renderer.get(l.name))?l.formItemResetMethod||l.itemResetMethod:null,l&&t?t({data:r,field:i,property:i,item:e,$form:h,$grid:u}):i&&_xeUtils.default.set(r,i,((e,t)=>{var{field:i,resetValue:l}=e,r=_xeUtils.default.get(t,i);return _xeUtils.default.isFunction(l)?l({field:i,item:e,data:t,$form:h,$grid:u}):null===l&&_xeUtils.default.isArray(r)?[]:l})(e,r)))}),E()},U=e=>{e.preventDefault(),S(),i.dispatchEvent("reset",{data:n.data},e)},T=e=>{var i=g.value;if(i)for(let t=0;t<e.length;t++){var l=e[t],r=y(l);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var o=r["itemRender"],a=_ui.renderer.get(o.name);t||(0,_dom.scrollToView)(i.querySelector("."+r.id));let e=null;o=o.autoFocus||o.autofocus||(a?a.formItemAutoFocus:null);if(_xeUtils.default.isFunction(o)?e=o({$form:h,$grid:u,item:r,data:n.data,field:l}):!0===o?e=i.querySelector(`.${r.id} input,textarea`):o&&(e=i.querySelector(`.${r.id} `+o)),e){e.focus();break}}}},I=(e,t,i)=>{const{data:f,rules:l}=n,r={};return _xeUtils.default.isArray(t)||(t=[t]),Promise.all(t.map(s=>{const n=[],d=[];if(s&&l){const c=_xeUtils.default.get(l,s);if(c){const m=_xeUtils.default.isUndefined(i)?_xeUtils.default.get(f,s):i;c.forEach(t=>{const{type:i,trigger:l,required:r,validator:o}=t;if("all"===e||!l||e===l)if(o){var a={itemValue:m,rule:t,rules:c,data:f,field:s,property:s,$form:h};let e;_xeUtils.default.isString(o)?(u=_ui.validators.get(o))?(u=u.formItemValidatorMethod||u.itemValidatorMethod)?e=u(a):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[o]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[o]):e=o(a),e&&(_xeUtils.default.isError(e)?n.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{n.push(new Rule({type:"custom",trigger:l,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var u="array"===i,a=_xeUtils.default.isArray(m);let e=!0;e=u||a?!a||!m.length:_xeUtils.default.isString(m)?(0,_utils.eqEmptyValue)(m.trim()):(0,_utils.eqEmptyValue)(m),(r?e||validErrorRuleValue(t,m):!e&&validErrorRuleValue(t,m))&&n.push(new Rule(t))}})}}return Promise.all(d).then(()=>{n.length&&(r[s]=n.map(e=>({$form:h,rule:e,data:f,field:s,property:s})))})})).then(()=>{if(!_xeUtils.default.isEmpty(r))return Promise.reject(r)})},q=(t,e,i)=>{var{data:l,rules:r}=n;const o=p.value,a={},u=[],s=[];return clearTimeout(f.meTimeout),l&&r?(t.forEach(t=>{const i=t["field"];i&&!(0,_util.isHiddenItem)(h,t)&&(0,_util.isActiveItem)(h,t)&&s.push(I(e||"all",i).then(()=>{t.errRule=null}).catch(e=>{e=e[i];return a[i]||(a[i]=[]),a[i].push(e),u.push(i),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(s).then(()=>{i&&i()}).catch(()=>new Promise(e=>{f.meTimeout=setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==o.autoPos&&(0,_vue.nextTick)(()=>{T(u)}),i?(i(a),e()):e(a)}))):(i&&i(),Promise.resolve())};const w=t=>{var e=n["readonly"];t.preventDefault(),n.preventSubmit||(E(),e?i.dispatchEvent("submit",{data:n.data},t):q(x()).then(e=>{e?i.dispatchEvent("submit-invalid",{data:n.data,errMap:e},t):i.dispatchEvent("submit",{data:n.data},t)}))},R=()=>{var e=f["tooltipStore"],t=v.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};const O=(e,i,t)=>i?I(e?["blur"].includes(e.type)?"blur":"change":"all",i,t).then(()=>{E(i)}).catch(e=>{var e=e[i],t=y(i);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();i={dispatchEvent(e,t,i){l(e,(0,_ui.createEvent)(i,{$form:h,$grid:u},t))},reset:S,validate:e=>{var t=n["readonly"];return E(),t?(0,_vue.nextTick)():q(x(),"",e)},validateField:(e,t)=>{var i=n["readonly"];if(i)return(0,_vue.nextTick)();let l=[];return e&&(l=_xeUtils.default.isArray(e)?e:[e]),q(l.map(e=>(0,_util.handleFieldOrItem)(h,e)),"",t)},clearValidate:E,updateStatus:(e,t)=>{e=e.field;return O(new Event("change"),e,t)},toggleCollapse:C,getItems:x,getItemByField:y,closeTooltip:R};r={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:O,toggleCollapseEvent:e=>{C();var t=b();i.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:n.data},e),i.dispatchEvent("collapse",{status:t,collapse:t,data:n.data},e),(0,_vue.nextTick)(()=>{u&&u.recalculate()})},triggerTitleTipEvent:(e,t)=>{var t=t["item"],i=f["tooltipStore"],l=v.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),o=e.scrollWidth>e.clientWidth;clearTimeout(f.stTimeout),i.item!==t&&R(),r&&o&&(Object.assign(i,{item:t,visible:!0}),l)&&l.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=_.value;let t=v.value;t&&t.setActived(!1),e.enterable?f.stTimeout=setTimeout(()=>{(t=v.value)&&!t.isActived()&&R()},e.leaveDelay):R()}};Object.assign(h,i,r);const V=(0,_vue.ref)(0),A=((0,_vue.watch)(()=>m.staticItems.length,()=>{V.value++}),(0,_vue.watch)(()=>m.staticItems,()=>{V.value++}),(0,_vue.watch)(V,()=>{m.formItems=m.staticItems}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>n.items?n.items.length:-1,()=>{A.value++}),(0,_vue.watch)(()=>n.items,()=>{A.value++}),(0,_vue.watch)(A,()=>{s(n.items||[])}),(0,_vue.watch)(()=>n.collapseStatus,e=>{m.collapseAll=!!e}),(0,_vue.watch)(()=>n.readonly,()=>{E()}),(0,_vue.watch)(()=>n.disabled,()=>{E()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{n.customLayout&&n.items&&(0,_log.errLog)("vxe.error.errConflicts",["custom-layout","items"])})}),n.items&&s(n.items),(0,_vue.provide)("xeFormItemInfo",null),(0,_vue.provide)("$xeForm",h),(0,_vue.provide)("$xeFormGroup",null),(0,_vue.provide)("$xeFormItem",null),h.renderVN=()=>{var{loading:e,border:t,className:i,data:l,customLayout:r}=n,o=m["formItems"],a=c.value,u=_.value,s=d.default;return(0,_vue.h)("form",{ref:g,class:["vxe-form",i?_xeUtils.default.isFunction(i)?i({items:o,data:l,$form:h}):i:"",{["size--"+a]:a,"is--border":t,"custom--layout":r,"is--loading":e}],onSubmit:w,onReset:U},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},r?s?s({}):[]:o.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e}))),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!r&&s?s({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:v},u))])},h},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"),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_util=require("./util"),_tooltip=_interopRequireDefault(require("../../tooltip/src/tooltip")),_formConfigItem=_interopRequireDefault(require("./form-config-item")),_loading=_interopRequireDefault(require("../../loading/src/loading")),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}class Rule{constructor(e){Object.assign(this,{$options:e,required:e.required,min:e.min,max:e.min,type:e.type,pattern:e.pattern,validator:e.validator,trigger:e.trigger,maxWidth:e.maxWidth})}get content(){return(0,_utils.getFuncText)(this.$options.content||this.$options.message)}get message(){return this.content}}const validErrorRuleValue=(e,t)=>{var{type:e,min:i,max:l,pattern:r}=e,e="number"===e,a=e?_xeUtils.default.toNumber(t):_xeUtils.default.getSize(t);return!(!e||!isNaN(t))||!_xeUtils.default.eqNull(i)&&a<_xeUtils.default.toNumber(i)||!_xeUtils.default.eqNull(l)&&a>_xeUtils.default.toNumber(l)||!(!r||(_xeUtils.default.isRegExp(r)?r:new RegExp(r)).test(t))};var _default=exports.default=(0,_vue.defineComponent)({name:"VxeForm",props:{collapseStatus:{type:Boolean,default:!0},loading:Boolean,data:Object,size:{type:String,default:()=>(0,_ui.getConfig)().form.size||(0,_ui.getConfig)().size},span:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.span},align:{type:String,default:()=>(0,_ui.getConfig)().form.align},verticalAlign:{type:String,default:()=>(0,_ui.getConfig)().form.verticalAlign},border:{type:Boolean,default:()=>(0,_ui.getConfig)().form.border},titleBackground:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBackground},titleBold:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleBold},titleAlign:{type:String,default:()=>(0,_ui.getConfig)().form.titleAlign},titleWidth:{type:[String,Number],default:()=>(0,_ui.getConfig)().form.titleWidth},titleColon:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleColon},titleAsterisk:{type:Boolean,default:()=>(0,_ui.getConfig)().form.titleAsterisk},titleOverflow:{type:[Boolean,String],default:()=>(0,_ui.getConfig)().form.titleOverflow},vertical:{type:Boolean,default:()=>(0,_ui.getConfig)().form.vertical},padding:{type:Boolean,default:()=>(0,_ui.getConfig)().form.padding},className:[String,Function],readonly:Boolean,disabled:Boolean,items:Array,rules:Object,preventSubmit:{type:Boolean,default:()=>(0,_ui.getConfig)().form.preventSubmit},validConfig:Object,tooltipConfig:Object,collapseConfig:Object,customLayout:{type:Boolean,default:()=>(0,_ui.getConfig)().form.customLayout}},emits:["update:collapseStatus","collapse","toggle-collapse","submit","submit-invalid","reset"],setup(n,e){const{slots:d,emit:l}=e,u=(0,_vue.inject)("$xeGrid",null);var t=_xeUtils.default.uniqueId();const c=(0,_ui.useSize)(n)["computeSize"],m=(0,_vue.reactive)({collapseAll:n.collapseStatus,staticItems:[],formItems:[]}),f=(0,_vue.reactive)({meTimeout:void 0,stTimeout:void 0,tooltipStore:{item:null,visible:!1},itemFormatCache:{}}),g=(0,_vue.ref)(),v=(0,_vue.ref)();let i={};const p=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.validConfig,n.validConfig)),_=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().tooltip,(0,_ui.getConfig)().form.tooltipConfig,n.tooltipConfig));var r=(0,_vue.computed)(()=>Object.assign({},(0,_ui.getConfig)().form.collapseConfig,n.collapseConfig));const a={refElem:g},o={computeSize:c,computeValidOpts:p,computeTooltipOpts:_,computeCollapseOpts:r},h={xID:t,props:n,context:e,reactData:m,internalData:f,xeGrid:u,getRefMaps:()=>a,getComputeMaps:()=>o};const s=e=>(e.length&&e.forEach(e=>{e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",[e])})}),m.staticItems=_xeUtils.default.mapTree(e,e=>(0,_util.createItem)(h,e),{children:"children"}),f.itemFormatCache={},(0,_vue.nextTick)()),x=()=>{const t=[];return _xeUtils.default.eachTree(m.formItems,e=>{t.push(e)},{children:"children"}),t},y=t=>{var e=_xeUtils.default.findTree(m.formItems,e=>e.field===t,{children:"children"});return e?e.item:null},C=()=>m.collapseAll,b=()=>{var e=!C();return m.collapseAll=e,l("update:collapseStatus",e),(0,_vue.nextTick)()};const E=t=>{if(t){let e=t;(e=_xeUtils.default.isArray(t)?e:[t]).forEach(e=>{e&&(e=(0,_util.handleFieldOrItem)(h,e))&&(e.showError=!1)})}else x().forEach(e=>{e.showError=!1});return(0,_vue.nextTick)()},U=(e,t,i)=>{var{field:l,resetValue:r}=e;return _xeUtils.default.isFunction(r)?r({field:l,item:e,data:t,$form:h,$grid:u}):_xeUtils.default.eqNull(r)&&_xeUtils.default.isArray(i)?[]:r},S=()=>{const o=n["data"];var e=x();return o&&e.forEach(e=>{var t,i,l,{field:r,itemRender:a}=e;(0,_utils.isEnableConf)(a)&&({name:a,startField:t,endField:i}=a,l=(a=_ui.renderer.get(a))?a.formItemResetMethod||a.itemResetMethod:null,a&&l?l({data:o,field:r,property:r,item:e,$form:h,$grid:u}):r&&(a=_xeUtils.default.get(o,r),_xeUtils.default.set(o,r,U(e,o,a))),t)&&i&&(_xeUtils.default.set(o,t,U(e,o,_xeUtils.default.get(o,t))),_xeUtils.default.set(o,i,U(e,o,_xeUtils.default.get(o,i))))}),f.itemFormatCache={},E()},T=e=>{e.preventDefault(),S(),i.dispatchEvent("reset",{data:n.data},e)},I=e=>{var i=g.value;if(i)for(let t=0;t<e.length;t++){var l=e[t],r=y(l);if(r&&(0,_utils.isEnableConf)(r.itemRender)){var a=r["itemRender"],o=_ui.renderer.get(a.name);t||(0,_dom.scrollToView)(i.querySelector("."+r.id));let e=null;a=a.autoFocus||a.autofocus||(o?o.formItemAutoFocus:null);if(_xeUtils.default.isFunction(a)?e=a({$form:h,$grid:u,item:r,data:n.data,field:l}):!0===a?e=i.querySelector(`.${r.id} input,textarea`):a&&(e=i.querySelector(`.${r.id} `+a)),e){e.focus();break}}}},q=(e,t,i)=>{const{data:f,rules:l}=n,r={};return _xeUtils.default.isArray(t)||(t=[t]),Promise.all(t.map(s=>{const n=[],d=[];if(s&&l){const c=_xeUtils.default.get(l,s);if(c){const m=_xeUtils.default.isUndefined(i)?_xeUtils.default.get(f,s):i;c.forEach(t=>{const{type:i,trigger:l,required:r,validator:a}=t;if("all"===e||!l||e===l)if(a){var o={itemValue:m,rule:t,rules:c,data:f,field:s,property:s,$form:h};let e;_xeUtils.default.isString(a)?(u=_ui.validators.get(a))?(u=u.formItemValidatorMethod||u.itemValidatorMethod)?e=u(o):"development"===process.env.NODE_ENV&&(0,_log.warnLog)("vxe.error.notValidators",[a]):"development"===process.env.NODE_ENV&&(0,_log.errLog)("vxe.error.notValidators",[a]):e=a(o),e&&(_xeUtils.default.isError(e)?n.push(new Rule({type:"custom",trigger:l,content:e.message,rule:new Rule(t)})):e.catch&&d.push(e.catch(e=>{n.push(new Rule({type:"custom",trigger:l,content:e?e.message:t.content||t.message,rule:new Rule(t)}))})))}else{var u="array"===i,o=_xeUtils.default.isArray(m);let e=!0;e=u||o?!o||!m.length:_xeUtils.default.isString(m)?(0,_utils.eqEmptyValue)(m.trim()):(0,_utils.eqEmptyValue)(m),(r?e||validErrorRuleValue(t,m):!e&&validErrorRuleValue(t,m))&&n.push(new Rule(t))}})}}return Promise.all(d).then(()=>{n.length&&(r[s]=n.map(e=>({$form:h,rule:e,data:f,field:s,property:s})))})})).then(()=>{if(!_xeUtils.default.isEmpty(r))return Promise.reject(r)})},w=(t,e,i)=>{var{data:l,rules:r}=n;const a=p.value,o={},u=[],s=[];return clearTimeout(f.meTimeout),l&&r?(t.forEach(t=>{const i=t["field"];i&&!(0,_util.isHiddenItem)(h,t)&&(0,_util.isActiveItem)(h,t)&&s.push(q(e||"all",i).then(()=>{t.errRule=null}).catch(e=>{e=e[i];return o[i]||(o[i]=[]),o[i].push(e),u.push(i),t.errRule=e[0].rule,Promise.reject(e)}))}),Promise.all(s).then(()=>{i&&i()}).catch(()=>new Promise(e=>{f.meTimeout=setTimeout(()=>{t.forEach(e=>{e.errRule&&(e.showError=!0)})},20),!1!==a.autoPos&&(0,_vue.nextTick)(()=>{I(u)}),i?(i(o),e()):e(o)}))):(i&&i(),Promise.resolve())};const R=t=>{var e=n["readonly"];t.preventDefault(),n.preventSubmit||(E(),e?i.dispatchEvent("submit",{data:n.data},t):w(x()).then(e=>{e?i.dispatchEvent("submit-invalid",{data:n.data,errMap:e},t):i.dispatchEvent("submit",{data:n.data},t)}))},F=()=>{var e=f["tooltipStore"],t=v.value;return e.visible&&(Object.assign(e,{item:null,visible:!1}),t)&&t.close(),(0,_vue.nextTick)()};const O=(e,i,t)=>i?q(e?["blur"].includes(e.type)?"blur":"change":"all",i,t).then(()=>{E(i)}).catch(e=>{var e=e[i],t=y(i);e&&t&&(t.showError=!0,t.errRule=e[0].rule)}):(0,_vue.nextTick)();i={dispatchEvent(e,t,i){l(e,(0,_ui.createEvent)(i,{$form:h,$grid:u},t))},reset:S,validate:e=>{var t=n["readonly"];return E(),t?(0,_vue.nextTick)():w(x(),"",e)},validateField:(e,t)=>{var i=n["readonly"];if(i)return(0,_vue.nextTick)();let l=[];return e&&(l=_xeUtils.default.isArray(e)?e:[e]),w(l.map(e=>(0,_util.handleFieldOrItem)(h,e)),"",t)},clearValidate:E,updateStatus:(e,t)=>{e=e.field;return O(new Event("change"),e,t)},toggleCollapse:b,getItems:x,getItemByField:y,closeTooltip:F};r={callSlot:(e,t)=>e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[],triggerItemEvent:O,toggleCollapseEvent:e=>{b();var t=C();i.dispatchEvent("toggle-collapse",{status:t,collapse:t,data:n.data},e),i.dispatchEvent("collapse",{status:t,collapse:t,data:n.data},e),(0,_vue.nextTick)(()=>{u&&u.recalculate()})},triggerTitleTipEvent:(e,t)=>{var t=t["item"],i=f["tooltipStore"],l=v.value,e=e.currentTarget.children[0],r=(e.textContent||"").trim(),a=e.scrollWidth>e.clientWidth;clearTimeout(f.stTimeout),i.item!==t&&F(),r&&a&&(Object.assign(i,{item:t,visible:!0}),l)&&l.open(e,r)},handleTitleTipLeaveEvent:()=>{var e=_.value;let t=v.value;t&&t.setActived(!1),e.enterable?f.stTimeout=setTimeout(()=>{(t=v.value)&&!t.isActived()&&F()},e.leaveDelay):F()}};Object.assign(h,i,r);const V=(0,_vue.ref)(0),A=((0,_vue.watch)(()=>m.staticItems.length,()=>{V.value++}),(0,_vue.watch)(()=>m.staticItems,()=>{V.value++}),(0,_vue.watch)(V,()=>{m.formItems=m.staticItems}),(0,_vue.ref)(0));return(0,_vue.watch)(()=>n.items?n.items.length:-1,()=>{A.value++}),(0,_vue.watch)(()=>n.items,()=>{A.value++}),(0,_vue.watch)(A,()=>{s(n.items||[])}),(0,_vue.watch)(()=>n.collapseStatus,e=>{m.collapseAll=!!e}),(0,_vue.watch)(()=>n.readonly,()=>{E()}),(0,_vue.watch)(()=>n.disabled,()=>{E()}),(0,_vue.onMounted)(()=>{(0,_vue.nextTick)(()=>{n.customLayout&&n.items&&(0,_log.errLog)("vxe.error.errConflicts",["custom-layout","items"])})}),n.items&&s(n.items),(0,_vue.provide)("xeFormItemInfo",null),(0,_vue.provide)("$xeForm",h),(0,_vue.provide)("$xeFormGroup",null),(0,_vue.provide)("$xeFormItem",null),h.renderVN=()=>{var{loading:e,border:t,className:i,data:l,customLayout:r}=n,a=m["formItems"],o=c.value,u=_.value,s=d.default;return(0,_vue.h)("form",{ref:g,class:["vxe-form",i?_xeUtils.default.isFunction(i)?i({items:a,data:l,$form:h}):i:"",{["size--"+o]:o,"is--border":t,"custom--layout":r,"is--loading":e}],onSubmit:R,onReset:T},[(0,_vue.h)("div",{class:"vxe-form--wrapper vxe-form--item-row"},r?s?s({}):[]:a.map((e,t)=>(0,_vue.h)(_formConfigItem.default,{key:t,itemConfig:e}))),(0,_vue.h)("div",{class:"vxe-form-slots",ref:"hideItem"},!r&&s?s({}):[]),(0,_vue.h)(_loading.default,{class:"vxe-form--loading",modelValue:e}),(0,_vue.h)(_tooltip.default,Object.assign({ref:v},u))])},h},render(){return this.renderVN()}});
|