vxe-gantt 3.0.4 → 3.0.5
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/gantt/src/gantt-header.js +22 -6
- package/es/gantt/src/gantt-view.js +230 -87
- package/es/gantt/src/gantt.js +63 -2
- package/es/style.css +1 -1
- package/es/style.min.css +1 -1
- package/es/ui/index.js +6 -1
- package/es/ui/src/log.js +1 -1
- package/lib/gantt/src/gantt-header.js +29 -6
- package/lib/gantt/src/gantt-header.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +261 -91
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/gantt/src/gantt.js +74 -1
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/index.umd.js +496 -107
- 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 +6 -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 +3 -3
- package/packages/gantt/src/gantt-header.ts +23 -7
- package/packages/gantt/src/gantt-view.ts +241 -91
- package/packages/gantt/src/gantt.ts +72 -1
- package/packages/ui/index.ts +5 -0
- package/styles/theme/base.scss +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_dom=require("../../ui/src/dom"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body")),_ganttFooter=_interopRequireDefault(require("./gantt-footer"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var globalEvents=_core.VxeUI.globalEvents;function createInternalData(){return{xeTable:null,startMaps:{},endMaps:{},chartMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},scrollYStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0}}}var maxYHeight=5e6;function parseStringDate(e,t){e=e.$xeGantt.computeTaskOpts.dateFormat;return _xeUtils.default.toStringDate(t,e||null)}function handleParseColumn(o){var e=o.$xeGantt,t=o.reactData,l=o.internalData,r=e.treeConfig,i=t.minViewDate,a=t.maxViewDate,n=[],c=[];switch(e.computeTaskViewOpts.mode){case"year":case"quarter":case"month":case"week":break;default:if(i&&a){for(var s=i.getTime(),d=a.getTime()-i.getTime(),u=Math.max(6,Math.floor(d/864e5)+1),f=[],h=[],p={},m=0;m<u;m++){var S=new Date(s+864e5*m),g="".concat(S.getFullYear(),"-").concat(S.getMonth()+1),S="".concat(S.getDate()),v=p[g],S={field:"".concat(g,"-").concat(S),title:S};v?(v.children.push(S),n.push(v)):(f.push(v={field:g,title:g,children:[S]}),n.push(v),p[g]=v),h.push(S)}c.push(f,h);var x,y,w,E,b,T,D,_=l.xeTable;_&&(x=e.computeStartField,y=e.computeEndField,d=_.afterFullData,E=(w=_.computeTreeOpts).transform,b=w.children||w.childrenField,T={},D=function(e){var t,l=_.getRowid(e),r=_xeUtils.default.get(e,x),a=_xeUtils.default.get(e,y);r&&a&&(r=parseStringDate(o,r),a=parseStringDate(o,a),t=Math.floor((r.getTime()-i.getTime())/864e5),a=Math.floor((a.getTime()-r.getTime())/864e5)+1,T[l]={row:e,rowid:l,oLeftSize:t,oWidthSize:a})},r?_xeUtils.default.eachTree(_.afterTreeFullData,D,{children:E?w.mapChildrenField:b}):d.forEach(D),l.chartMaps=T)}}t.tableColumn=n,t.headerGroups=c}function handleUpdateData(l){var r,a,e,t,o,i,n=l.$xeGantt,c=l.reactData,s=l.internalData,d=n.treeConfig,u=s.xeTable,f=null,h=null;u&&(r=n.computeStartField,a=n.computeEndField,n=u.afterFullData,t=(e=u.computeTreeOpts).transform,o=e.children||e.childrenField,i=function(e){var t=_xeUtils.default.get(e,r),e=_xeUtils.default.get(e,a);t&&e&&(t=parseStringDate(l,t),(!f||f.getTime()>t.getTime())&&(f=t),t=parseStringDate(l,e),!h||h.getTime()<t.getTime())&&(h=t)},d?_xeUtils.default.eachTree(u.afterTreeFullData,i,{children:t?e.mapChildrenField:o}):n.forEach(i)),c.minViewDate=f,c.maxViewDate=h,s.startMaps={},s.endMaps={},handleParseColumn(l)}function calcScrollbar(e){var t=e.$xeGantt,l=e.reactData,r=l.scrollXWidth,a=l.scrollYHeight,o=e.internalData.elemStore,t=t.computeScrollbarOpts,o=(0,_util.getRefElem)(o["main-body-wrapper"]),i=e.$refs.refScrollXHandleElem,e=e.$refs.refScrollYHandleElem;o&&(a=a>o.clientHeight,e&&(l.scrollbarWidth=t.width||e.offsetWidth-e.clientWidth||14),l.overflowY=a,e=r>o.clientWidth,i&&(l.scrollbarHeight=t.height||i.offsetHeight-i.clientHeight||14),l.overflowX=e)}function updateChart(e){var t=e.reactData,l=e.internalData,r=t.viewCellWidth,t=l.elemStore,a=l.chartMaps,l=(0,_util.getRefElem)(t["main-chart-wrapper"]);return l&&_xeUtils.default.arrayEach(l.children,function(e){var t=e.children[0];t&&(e=(e=e.getAttribute("rowid"))?a[e]:null)&&(t.style.left="".concat(r*e.oLeftSize,"px"),t.style.width="".concat(r*e.oWidthSize,"px"))}),e.$nextTick()}function updateStyle(e){var t,l,r,a,o,i,n,c,s,d=e.$xeGantt,u=e.reactData,f=e.internalData,h=u.scrollbarWidth,p=u.tableColumn,m=u.headerGroups,S=f.elemStore,f=f.xeTable,g=e.$refs.refElem;if(g&&g.clientHeight)return a=d.computeScrollbarOpts,c=d.computeScrollbarXToTop,i=e.$refs.refScrollXLeftCornerElem,n=e.$refs.refScrollXRightCornerElem,o=e.$refs.refScrollXVirtualElem,h=h,s=u.scrollbarHeight,r=l=t=0,f&&(t=f.tBodyHeight,l=f.tHeaderHeight,r=f.tFooterHeight),f="visible",(d.computeScrollbarYToLeft||a.y&&!1===a.y.visible)&&(h=0,f="hidden"),(d=(0,_util.getRefElem)(S["main-header-scroll"]))&&(d.style.height="".concat(l,"px"),d.style.setProperty("--vxe-ui-gantt-view-cell-height","".concat(l/m.length,"px"))),(a=(0,_util.getRefElem)(S["main-body-scroll"]))&&(a.style.height="".concat(t,"px")),(d=(0,_util.getRefElem)(S["main-footer-scroll"]))&&(d.style.height="".concat(r,"px")),o&&(o.style.height="".concat(s,"px"),o.style.visibility="visible"),(m=e.$refs.refScrollXWrapperElem)&&(m.style.left=c?"".concat(h,"px"):"",m.style.width="".concat(g.clientWidth-h,"px")),i&&(i.style.width=c?"".concat(h,"px"):"",i.style.display=c&&s?"block":""),n&&(n.style.width=c?"":"".concat(h,"px"),n.style.display=!c&&s?"block":""),(d=e.$refs.refScrollYVirtualElem)&&(d.style.width="".concat(h,"px"),d.style.height="".concat(t+l+r,"px"),d.style.visibility=f),(o=e.$refs.refScrollYTopCornerElem)&&(o.style.height="".concat(l,"px"),o.style.display=l?"block":""),(m=e.$refs.refScrollYWrapperElem)&&(m.style.height="".concat(t,"px"),m.style.top="".concat(l,"px")),(g=e.$refs.refScrollYBottomCornerElem)&&(g.style.height="".concat(r,"px"),g.style.top="".concat(l+t,"px"),g.style.display=r?"block":""),(i=e.$refs.refColInfoElem)&&(u.viewCellWidth=i.clientWidth||40),n=u.viewCellWidth*p.length,a&&0<(s=(c=a.clientWidth)-n)&&(u.viewCellWidth+=Math.floor(s/p.length),n=c),h=(0,_util.getRefElem)(S["main-header-table"]),d=(0,_util.getRefElem)(S["main-body-table"]),h&&(h.style.width="".concat(n,"px")),d&&(d.style.width="".concat(n,"px")),u.scrollXWidth=n,updateChart(e)}function _handleLazyRecalculate(e){return calcScrollbar(e),updateStyle(e),updateChart(e),e.$nextTick()}function updateScrollYSpace(e){var t=e.reactData,l=e.internalData,r=t.scrollYLoad,a=t.overflowY,o=l.elemStore,l=l.xeTable,i=(0,_util.getRefElem)(o["main-body-scroll"]),n=(0,_util.getRefElem)(o["main-body-table"]),c=0,s=0,d=!1,l=(l&&(c=l.scrollYTop,s=l.scrollYHeight,d=l.isScrollYBig),s),u=c,f=0,i=(i&&(f=i.clientHeight),d&&(u=i&&n&&i.scrollTop+f>=maxYHeight?maxYHeight-n.clientHeight:c/(s-f)*(maxYHeight-f),l=maxYHeight),r&&a||(u=0),(0,_util.getRefElem)(o["main-chart-wrapper"])),c=(n&&(n.style.transform="translate(".concat(t.scrollXLeft||0,"px, ").concat(u,"px)")),i&&(i.style.transform="translate(".concat(t.scrollXLeft||0,"px, ").concat(u,"px)")),(0,_util.getRefElem)(o["main-body-ySpace"])),f=(c&&(c.style.height=l?"".concat(l,"px"):""),e.$refs.refScrollYSpaceElem);return f&&(f.style.height=l?"".concat(l,"px"):""),t.scrollYTop=u,t.scrollYHeight=s,t.isScrollYBig=d,calcScrollbar(e),e.$nextTick().then(function(){updateStyle(e)})}function checkLastSyncScroll(e,t,l){var r=e.reactData,a=e.internalData,e=a.lcsTimeout;r.lazScrollLoading=!0,e&&clearTimeout(e),a.lcsTimeout=setTimeout(function(){a.lcsRunTime=Date.now(),a.lcsTimeout=void 0,a.intoRunScroll=!1,a.inVirtualScroll=!1,a.inWheelScroll=!1,a.inHeaderScroll=!1,a.inBodyScroll=!1,a.inFooterScroll=!1,r.lazScrollLoading=!1},200)}function handleScrollEvent(e,t,l,r,a,o){checkLastSyncScroll(e,r,l)}function syncTableScrollTop(e,t){var e=e.internalData.xeTable;e&&(e=e.elemStore,e=(0,_util.getRefElem)(e["main-body-scroll"]))&&(e.scrollTop=t)}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",inject:{$xeGantt:{default:null}},provide:function(){return{$xeGanttView:this}},props:{},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,scrollbarWidth:0,scrollbarHeight:0,lazScrollLoading:!1,scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,minViewDate:null,maxViewDate:null,tableData:[],tableColumn:[],headerGroups:[],viewCellWidth:40,rowHeightStore:{large:52,default:48,medium:44,small:40,mini:36}},internalData:createInternalData()}},computed:Object.assign({},{}),methods:{refreshData:function(){return handleUpdateData(this),_handleLazyRecalculate(this)},updateViewData:function(){var e=this.reactData,t=this.internalData.xeTable;return t&&(t=t.tableData,e.tableData=t),this.$nextTick()},connectUpdate:function(e){var e=e.$table,t=this.internalData;return e&&(t.xeTable=e),this.$nextTick()},handleUpdateStyle:function(){return updateStyle(this)},handleLazyRecalculate:function(){return _handleLazyRecalculate(this)},handleUpdateCurrentRow:function(e){var t,l=this.internalData.xeTable,r=this.$refs.refElem;l&&r&&(e?(t=l.highlightCurrentRow,(l.computeRowOpts.isCurrent||t)&&_xeUtils.default.arrayEach(r.querySelectorAll('[rowid="'.concat(l.getRowid(e),'"]')),function(e){return(0,_dom.addClass)(e,"row--current")})):_xeUtils.default.arrayEach(r.querySelectorAll(".row--current"),function(e){return(0,_dom.removeClass)(e,"row--current")}))},handleUpdateHoverRow:function(e){var t=this.internalData.xeTable,l=this.$refs.refElem;t&&l&&(e?_xeUtils.default.arrayEach(l.querySelectorAll('.vxe-body--row[rowid="'.concat(t.getRowid(e),'"]')),function(e){return(0,_dom.addClass)(e,"row--hover")}):_xeUtils.default.arrayEach(l.querySelectorAll(".vxe-body--row.row--hover"),function(e){return(0,_dom.removeClass)(e,"row--hover")}))},triggerHeaderScrollEvent:function(e){var t,l,r,a=this.internalData,o=a.elemStore;a.inVirtualScroll||a.inBodyScroll||a.inFooterScroll||(t=e.currentTarget,o=(0,_util.getRefElem)(o["main-body-scroll"]),l=this.$refs.refScrollXHandleElem,o&&t&&(r=t.scrollLeft,a.inHeaderScroll=!0,(0,_dom.setScrollLeft)(l,r),(0,_dom.setScrollLeft)(o,r),handleScrollEvent(this,e,!1,!0,t.scrollTop,r)))},triggerBodyScrollEvent:function(e){var t,l,r,a,o,i=this,n=i.internalData,c=n.elemStore;n.inVirtualScroll||n.inHeaderScroll||n.inFooterScroll||(t=e.currentTarget,c=(0,_util.getRefElem)(c["main-header-scroll"]),l=i.$refs.refScrollXHandleElem,r=i.$refs.refScrollYHandleElem,c&&t&&(a=t.scrollLeft,o=t.scrollTop,n.inBodyScroll=!0,(0,_dom.setScrollLeft)(l,a),(0,_dom.setScrollLeft)(c,a),(0,_dom.setScrollTop)(r,o),syncTableScrollTop(i,o),handleScrollEvent(i,e,!0,!0,t.scrollTop,a)))},triggerFooterScrollEvent:function(e){var t,l=this.internalData;l.inVirtualScroll||l.inHeaderScroll||l.inBodyScroll||(l=e.currentTarget)&&(t=l.scrollLeft,handleScrollEvent(this,e,!1,!0,l.scrollTop,t))},triggerVirtualScrollXEvent:function(e){var t,l,r,a=this.internalData,o=a.elemStore;a.inHeaderScroll||a.inBodyScroll||(t=e.currentTarget,l=(0,_util.getRefElem)(o["main-header-scroll"]),o=(0,_util.getRefElem)(o["main-body-scroll"]),t&&(r=t.scrollLeft,a.inVirtualScroll=!0,(0,_dom.setScrollLeft)(l,r),(0,_dom.setScrollLeft)(o,r),handleScrollEvent(this,e,!1,!0,t.scrollTop,r)))},triggerVirtualScrollYEvent:function(e){var t,l,r=this.internalData,a=r.elemStore;r.inHeaderScroll||r.inBodyScroll||(t=e.currentTarget,a=(0,_util.getRefElem)(a["main-body-scroll"]),t&&(l=t.scrollTop,r.inVirtualScroll=!0,(0,_dom.setScrollTop)(a,l),syncTableScrollTop(this,l),handleScrollEvent(this,e,!0,!1,l,t.scrollLeft)))},handleUpdateSXSpace:function(){var e=this,t=e.reactData,l=t.scrollXLoad,r=t.scrollXWidth,a=e.internalData.elemStore,t=(["header","body","footer"].forEach(function(e){e=(0,_util.getRefElem)(a["main-".concat(e,"-xSpace")]);e&&(e.style.width=l?"".concat(r,"px"):"")}),e.$refs.refScrollXSpaceElem);return t&&(t.style.width="".concat(r,"px")),calcScrollbar(e),e.$nextTick()},handleUpdateSYSpace:function(){return updateScrollYSpace(this)},handleUpdateSYStatus:function(e){this.reactData.scrollYLoad=e},handleGlobalResizeEvent:function(){_handleLazyRecalculate(this)},renderScrollX:function(e){return e("div",{key:"vsx",ref:"refScrollXVirtualElem",class:"vxe-gantt-view--scroll-x-virtual"},[e("div",{ref:"refScrollXLeftCornerElem",class:"vxe-gantt-view--scroll-x-left-corner"}),e("div",{ref:"refScrollXWrapperElem",class:"vxe-gantt-view--scroll-x-wrapper"},[e("div",{ref:"refScrollXHandleElem",class:"vxe-gantt-view--scroll-x-handle",on:{scroll:this.triggerVirtualScrollXEvent}},[e("div",{ref:"refScrollXSpaceElem",class:"vxe-gantt-view--scroll-x-space"})])]),e("div",{ref:"refScrollXRightCornerElem",class:"vxe-gantt-view--scroll-x-right-corner"})])},renderScrollY:function(e){return e("div",{ref:"refScrollYVirtualElem",class:"vxe-gantt-view--scroll-y-virtual"},[e("div",{ref:"refScrollYTopCornerElem",class:"vxe-gantt-view--scroll-y-top-corner"}),e("div",{ref:"refScrollYWrapperElem",class:"vxe-gantt-view--scroll-y-wrapper"},[e("div",{ref:"refScrollYHandleElem",class:"vxe-gantt-view--scroll-y-handle",on:{scroll:this.triggerVirtualScrollYEvent}},[e("div",{ref:"refScrollYSpaceElem",class:"vxe-gantt-view--scroll-y-space"})])]),e("div",{ref:"refScrollYBottomCornerElem",class:"vxe-gantt-view--scroll-y-bottom-corner"})])},renderViewport:function(e){return e("div",{class:"vxe-gantt-view--viewport-wrapper"},[e(_ganttHeader.default),e(_ganttBody.default),e(_ganttFooter.default)])},renderBody:function(e){var t=this;return e("div",{class:"vxe-gantt-view--layout-wrapper"},t.$xeGantt.computeScrollbarYToLeft?[t.renderScrollY(e),t.renderViewport(e)]:[t.renderViewport(e),t.renderScrollY(e)])},renderVN:function(e){var t=this,l=t.$xeGantt,r=t.reactData,a=r.overflowX,o=r.overflowY,i=r.scrollXLoad,r=r.scrollYLoad,n=l.computeTaskViewOpts,l=l.computeScrollbarXToTop;return e("div",{ref:"refElem",class:["vxe-gantt-view","mode--".concat(n.mode||"day"),{"is--scroll-y":o,"is--scroll-x":a,"is--virtual-x":i,"is--virtual-y":r}]},[e("div",{class:"vxe-gantt-view--render-wrapper"},l?[t.renderScrollX(e),t.renderBody(e)]:[t.renderBody(e),t.renderScrollX(e)]),e("div",{class:"vxe-gantt-view--render-vars"},[e("div",{ref:"refColInfoElem",class:"vxe-gantt-view--column-info"})])])}},watch:{"reactData.tableData":function(){handleUpdateData(this)}},mounted:function(){globalEvents.on(this,"resize",this.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createInternalData())},render:function(e){return this.renderVN(e)}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_dom=require("../../ui/src/dom"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body")),_ganttFooter=_interopRequireDefault(require("./gantt-footer"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_unsupportedIterableToArray(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var l;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(l="Object"===(l={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:l)||"Set"===l?Array.from(e):"Arguments"===l||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(l)?_arrayLikeToArray(e,t):void 0}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var l=0,r=Array(t);l<t;l++)r[l]=e[l];return r}function _iterableToArrayLimit(e,t){var l=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var r,a,o,n,i=[],c=!0,s=!1;try{if(o=(l=l.call(e)).next,0===t){if(Object(l)!==l)return;c=!1}else for(;!(c=(r=o.call(l)).done)&&(i.push(r.value),i.length!==t);c=!0);}catch(e){s=!0,a=e}finally{try{if(!c&&null!=l.return&&(n=l.return(),Object(n)!==n))return}finally{if(s)throw a}}return i}}function _arrayWithHoles(e){if(Array.isArray(e))return e}var globalEvents=_core.VxeUI.globalEvents;function createInternalData(){return{xeTable:null,startMaps:{},endMaps:{},chartMaps:{},elemStore:{},scrollXStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0},scrollYStore:{preloadSize:0,offsetSize:0,visibleSize:0,visibleStartIndex:0,visibleEndIndex:0,startIndex:0,endIndex:0}}}var maxYHeight=5e6;function parseStringDate(e,t){e=e.$xeGantt.computeTaskOpts.dateFormat;return _xeUtils.default.toStringDate(t,e||null)}function handleParseColumn(o){var e=o.$xeGantt,t=o.reactData,l=o.internalData,r=e.reactData,a=e.treeConfig,r=r.taskScaleList,n=t.minViewDate,i=t.maxViewDate,c=_xeUtils.default.last(r),s=[],d=[];if(c&&n&&i){var u=c.type,f=r.find(function(e){return"week"===e.type}),h=864e5;switch(c.type){case"hour":h=36e5;break;case"minute":h=6e4;break;case"second":h=1e3}var p=n.getTime(),m=i.getTime()-n.getTime(),U=Math.max(5,Math.floor(m/h)+1);switch(c.type){case"day":case"date":if(948672e5<m)return t.tableColumn=[],void(t.headerGroups=[]);break;case"hour":if(80352e5<m)return t.tableColumn=[],void(t.headerGroups=[]);break;case"minute":if(2592e5<m)return t.tableColumn=[],void(t.headerGroups=[]);break;case"second":if(108e5<m)return t.tableColumn=[],void(t.headerGroups=[])}for(var v={year:[],quarter:[],month:[],week:[],day:[],date:[],hour:[],minute:[],second:[]},S={year:{},quarter:{},month:{},week:{},day:{},date:{},hour:{},minute:{},second:{}},y=function(e,t,l){var r,a;u!==e&&(t=t[e],r="".concat(t.field),(a=S[e][r])||(S[e][r]=a=t,v[e].push(a)),a)&&(a.children||(a.children=[]),a.children.push(l))},g=0;g<U;g++){var x=new Date(p+g*h),_=_slicedToArray(_xeUtils.default.toDateString(x,"yyyy-M-d-H-m-s").split("-"),6),b=_[0],w=_[1],E=_[2],T=_[3],D=_[4],_=_[5],Y=x.getDay(),L=Y+1,H=Math.ceil((x.getMonth()+1)/3),x=_xeUtils.default.getYearWeek(x,f?f.startDay:void 0),Y={yy:b,M:w,d:E,H:T,m:D,s:_,q:H,W:x,E:L,e:Y},H={year:{field:b,title:b,params:Y},quarter:{field:"".concat(b,"_q").concat(H),title:H,params:Y},month:{field:"".concat(b,"_").concat(w),title:w,params:Y},week:{field:"".concat(b,"_W").concat(x),title:x,params:Y},day:{field:"".concat(b,"_").concat(w,"_").concat(E,"_E").concat(L),title:L,params:Y},date:{field:"".concat(b,"_").concat(w,"_").concat(E),title:E,params:Y},hour:{field:"".concat(b,"_").concat(w,"_").concat(E,"_").concat(T),title:T,params:Y},minute:{field:"".concat(b,"_").concat(w,"_").concat(E,"_").concat(T,"_").concat(D),title:D,params:Y},second:{field:"".concat(b,"_").concat(w,"_").concat(E,"_").concat(T,"_").concat(D,"_").concat(_),title:_,params:Y}},x=H[u];c.level<19&&y("year",H,x),c.level<17&&y("quarter",H,x),c.level<14&&y("month",H,x),c.level<13&&y("week",H,x),c.level<11&&y("day",H,x),c.level<12&&y("date",H,x),c.level<7&&y("hour",H,x),c.level<5&&y("minute",H,x),s.push(x)}r.forEach(function(e){var t;e.type===u?d.push({scaleItem:e,columns:s}):((t=v[e.type]||[])&&t.forEach(function(e){e.childCount=e.children?e.children.length:0,e.children=void 0}),d.push({scaleItem:e,columns:t}))});var R,C,X,$,V,k=l.xeTable;k&&(R=e.computeStartField,C=e.computeEndField,i=k.afterFullData,e=(r=k.computeTreeOpts).transform,X=r.children||r.childrenField,$={},V=function(e){var t,l=k.getRowid(e),r=_xeUtils.default.get(e,R),a=_xeUtils.default.get(e,C);r&&a&&(r=parseStringDate(o,r),a=parseStringDate(o,a),t=Math.floor((r.getTime()-n.getTime())/h),a=Math.floor((a.getTime()-r.getTime())/h)+1,$[l]={row:e,rowid:l,oLeftSize:t,oWidthSize:a})},a?_xeUtils.default.eachTree(k.afterTreeFullData,V,{children:e?r.mapChildrenField:X}):i.forEach(V),l.chartMaps=$)}t.tableColumn=s,t.headerGroups=d}function handleUpdateData(l){var r,a,e,t,o,n,i=l.$xeGantt,c=l.reactData,s=l.internalData,d=i.treeConfig,u=s.xeTable,f=null,h=null;u&&(r=i.computeStartField,a=i.computeEndField,i=u.afterFullData,t=(e=u.computeTreeOpts).transform,o=e.children||e.childrenField,n=function(e){var t=_xeUtils.default.get(e,r),e=_xeUtils.default.get(e,a);t&&e&&(t=parseStringDate(l,t),(!f||f.getTime()>t.getTime())&&(f=t),t=parseStringDate(l,e),!h||h.getTime()<t.getTime())&&(h=t)},d?_xeUtils.default.eachTree(u.afterTreeFullData,n,{children:t?e.mapChildrenField:o}):i.forEach(n)),c.minViewDate=f,c.maxViewDate=h,s.startMaps={},s.endMaps={},handleParseColumn(l)}function calcScrollbar(e){var t=e.$xeGantt,l=e.reactData,r=l.scrollXWidth,a=l.scrollYHeight,o=e.internalData.elemStore,t=t.computeScrollbarOpts,o=(0,_util.getRefElem)(o["main-body-wrapper"]),n=e.$refs.refScrollXHandleElem,e=e.$refs.refScrollYHandleElem;o&&(a=a>o.clientHeight,e&&(l.scrollbarWidth=t.width||e.offsetWidth-e.clientWidth||14),l.overflowY=a,e=r>o.clientWidth,n&&(l.scrollbarHeight=t.height||n.offsetHeight-n.clientHeight||14),l.overflowX=e)}function updateChart(e){var t=e.reactData,l=e.internalData,r=t.viewCellWidth,t=l.elemStore,a=l.chartMaps,l=(0,_util.getRefElem)(t["main-chart-wrapper"]);return l&&_xeUtils.default.arrayEach(l.children,function(e){var t=e.children[0];t&&(e=(e=e.getAttribute("rowid"))?a[e]:null)&&(t.style.left="".concat(r*e.oLeftSize,"px"),t.style.width="".concat(r*e.oWidthSize,"px"))}),e.$nextTick()}function updateStyle(e){var t,l,r,a,o,n,i,c,s,d=e.$xeGantt,u=e.reactData,f=e.internalData,h=u.scrollbarWidth,p=u.tableColumn,m=u.headerGroups,v=f.elemStore,f=f.xeTable,S=e.$refs.refElem;if(S&&S.clientHeight)return a=d.computeScrollbarOpts,c=d.computeScrollbarXToTop,n=e.$refs.refScrollXLeftCornerElem,i=e.$refs.refScrollXRightCornerElem,o=e.$refs.refScrollXVirtualElem,h=h,s=u.scrollbarHeight,r=l=t=0,f&&(t=f.tBodyHeight,l=f.tHeaderHeight,r=f.tFooterHeight),f="visible",(d.computeScrollbarYToLeft||a.y&&!1===a.y.visible)&&(h=0,f="hidden"),(d=(0,_util.getRefElem)(v["main-header-scroll"]))&&(d.style.height="".concat(l,"px"),d.style.setProperty("--vxe-ui-gantt-view-cell-height","".concat(l/m.length,"px"))),(a=(0,_util.getRefElem)(v["main-body-scroll"]))&&(a.style.height="".concat(t,"px")),(d=(0,_util.getRefElem)(v["main-footer-scroll"]))&&(d.style.height="".concat(r,"px")),o&&(o.style.height="".concat(s,"px"),o.style.visibility="visible"),(m=e.$refs.refScrollXWrapperElem)&&(m.style.left=c?"".concat(h,"px"):"",m.style.width="".concat(S.clientWidth-h,"px")),n&&(n.style.width=c?"".concat(h,"px"):"",n.style.display=c&&s?"block":""),i&&(i.style.width=c?"":"".concat(h,"px"),i.style.display=!c&&s?"block":""),(d=e.$refs.refScrollYVirtualElem)&&(d.style.width="".concat(h,"px"),d.style.height="".concat(t+l+r,"px"),d.style.visibility=f),(o=e.$refs.refScrollYTopCornerElem)&&(o.style.height="".concat(l,"px"),o.style.display=l?"block":""),(m=e.$refs.refScrollYWrapperElem)&&(m.style.height="".concat(t,"px"),m.style.top="".concat(l,"px")),(S=e.$refs.refScrollYBottomCornerElem)&&(S.style.height="".concat(r,"px"),S.style.top="".concat(l+t,"px"),S.style.display=r?"block":""),(n=e.$refs.refColInfoElem)&&(u.viewCellWidth=n.clientWidth||40),i=u.viewCellWidth*p.length,a&&0<(s=(c=a.clientWidth)-i)&&(u.viewCellWidth+=Math.floor(s/p.length),i=c),h=(0,_util.getRefElem)(v["main-header-table"]),d=(0,_util.getRefElem)(v["main-body-table"]),h&&(h.style.width="".concat(i,"px")),d&&(d.style.width="".concat(i,"px")),u.scrollXWidth=i,updateChart(e)}function _handleLazyRecalculate(e){return calcScrollbar(e),updateStyle(e),updateChart(e),e.$nextTick()}function updateScrollYSpace(e){var t=e.reactData,l=e.internalData,r=t.scrollYLoad,a=t.overflowY,o=l.elemStore,l=l.xeTable,n=(0,_util.getRefElem)(o["main-body-scroll"]),i=(0,_util.getRefElem)(o["main-body-table"]),c=0,s=0,d=!1,l=(l&&(c=l.scrollYTop,s=l.scrollYHeight,d=l.isScrollYBig),s),u=c,f=0,n=(n&&(f=n.clientHeight),d&&(u=n&&i&&n.scrollTop+f>=maxYHeight?maxYHeight-i.clientHeight:c/(s-f)*(maxYHeight-f),l=maxYHeight),r&&a||(u=0),(0,_util.getRefElem)(o["main-chart-wrapper"])),c=(i&&(i.style.transform="translate(".concat(t.scrollXLeft||0,"px, ").concat(u,"px)")),n&&(n.style.transform="translate(".concat(t.scrollXLeft||0,"px, ").concat(u,"px)")),(0,_util.getRefElem)(o["main-body-ySpace"])),f=(c&&(c.style.height=l?"".concat(l,"px"):""),e.$refs.refScrollYSpaceElem);return f&&(f.style.height=l?"".concat(l,"px"):""),t.scrollYTop=u,t.scrollYHeight=s,t.isScrollYBig=d,calcScrollbar(e),e.$nextTick().then(function(){updateStyle(e)})}function checkLastSyncScroll(e,t,l){var r=e.reactData,a=e.internalData,e=a.lcsTimeout;r.lazScrollLoading=!0,e&&clearTimeout(e),a.lcsTimeout=setTimeout(function(){a.lcsRunTime=Date.now(),a.lcsTimeout=void 0,a.intoRunScroll=!1,a.inVirtualScroll=!1,a.inWheelScroll=!1,a.inHeaderScroll=!1,a.inBodyScroll=!1,a.inFooterScroll=!1,r.lazScrollLoading=!1},200)}function handleScrollEvent(e,t,l,r,a,o){checkLastSyncScroll(e,r,l)}function syncTableScrollTop(e,t){var e=e.internalData.xeTable;e&&(e=e.elemStore,e=(0,_util.getRefElem)(e["main-body-scroll"]))&&(e.scrollTop=t)}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",inject:{$xeGantt:{default:null}},provide:function(){return{$xeGanttView:this}},props:{},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{scrollXLoad:!1,scrollYLoad:!1,overflowY:!0,overflowX:!0,scrollbarWidth:0,scrollbarHeight:0,lazScrollLoading:!1,scrollVMLoading:!1,scrollYHeight:0,scrollYTop:0,isScrollYBig:!1,scrollXLeft:0,scrollXWidth:0,isScrollXBig:!1,minViewDate:null,maxViewDate:null,tableData:[],tableColumn:[],headerGroups:[],viewCellWidth:20},internalData:createInternalData()}},computed:Object.assign({},{}),methods:{refreshData:function(){return handleUpdateData(this),_handleLazyRecalculate(this)},updateViewData:function(){var e=this.reactData,t=this.internalData.xeTable;return t&&(t=t.tableData,e.tableData=t),this.$nextTick()},connectUpdate:function(e){var e=e.$table,t=this.internalData;return e&&(t.xeTable=e),this.$nextTick()},handleUpdateStyle:function(){return updateStyle(this)},handleLazyRecalculate:function(){return _handleLazyRecalculate(this)},handleUpdateCurrentRow:function(e){var t,l=this.internalData.xeTable,r=this.$refs.refElem;l&&r&&(e?(t=l.highlightCurrentRow,(l.computeRowOpts.isCurrent||t)&&_xeUtils.default.arrayEach(r.querySelectorAll('[rowid="'.concat(l.getRowid(e),'"]')),function(e){return(0,_dom.addClass)(e,"row--current")})):_xeUtils.default.arrayEach(r.querySelectorAll(".row--current"),function(e){return(0,_dom.removeClass)(e,"row--current")}))},handleUpdateHoverRow:function(e){var t=this.internalData.xeTable,l=this.$refs.refElem;t&&l&&(e?_xeUtils.default.arrayEach(l.querySelectorAll('.vxe-body--row[rowid="'.concat(t.getRowid(e),'"]')),function(e){return(0,_dom.addClass)(e,"row--hover")}):_xeUtils.default.arrayEach(l.querySelectorAll(".vxe-body--row.row--hover"),function(e){return(0,_dom.removeClass)(e,"row--hover")}))},triggerHeaderScrollEvent:function(e){var t,l,r,a=this.internalData,o=a.elemStore;a.inVirtualScroll||a.inBodyScroll||a.inFooterScroll||(t=e.currentTarget,o=(0,_util.getRefElem)(o["main-body-scroll"]),l=this.$refs.refScrollXHandleElem,o&&t&&(r=t.scrollLeft,a.inHeaderScroll=!0,(0,_dom.setScrollLeft)(l,r),(0,_dom.setScrollLeft)(o,r),handleScrollEvent(this,e,!1,!0,t.scrollTop,r)))},triggerBodyScrollEvent:function(e){var t,l,r,a,o,n=this,i=n.internalData,c=i.elemStore;i.inVirtualScroll||i.inHeaderScroll||i.inFooterScroll||(t=e.currentTarget,c=(0,_util.getRefElem)(c["main-header-scroll"]),l=n.$refs.refScrollXHandleElem,r=n.$refs.refScrollYHandleElem,c&&t&&(a=t.scrollLeft,o=t.scrollTop,i.inBodyScroll=!0,(0,_dom.setScrollLeft)(l,a),(0,_dom.setScrollLeft)(c,a),(0,_dom.setScrollTop)(r,o),syncTableScrollTop(n,o),handleScrollEvent(n,e,!0,!0,t.scrollTop,a)))},triggerFooterScrollEvent:function(e){var t,l=this.internalData;l.inVirtualScroll||l.inHeaderScroll||l.inBodyScroll||(l=e.currentTarget)&&(t=l.scrollLeft,handleScrollEvent(this,e,!1,!0,l.scrollTop,t))},triggerVirtualScrollXEvent:function(e){var t,l,r,a=this.internalData,o=a.elemStore;a.inHeaderScroll||a.inBodyScroll||(t=e.currentTarget,l=(0,_util.getRefElem)(o["main-header-scroll"]),o=(0,_util.getRefElem)(o["main-body-scroll"]),t&&(r=t.scrollLeft,a.inVirtualScroll=!0,(0,_dom.setScrollLeft)(l,r),(0,_dom.setScrollLeft)(o,r),handleScrollEvent(this,e,!1,!0,t.scrollTop,r)))},triggerVirtualScrollYEvent:function(e){var t,l,r=this.internalData,a=r.elemStore;r.inHeaderScroll||r.inBodyScroll||(t=e.currentTarget,a=(0,_util.getRefElem)(a["main-body-scroll"]),t&&(l=t.scrollTop,r.inVirtualScroll=!0,(0,_dom.setScrollTop)(a,l),syncTableScrollTop(this,l),handleScrollEvent(this,e,!0,!1,l,t.scrollLeft)))},handleUpdateSXSpace:function(){var e=this,t=e.reactData,l=t.scrollXLoad,r=t.scrollXWidth,a=e.internalData.elemStore,t=(["header","body","footer"].forEach(function(e){e=(0,_util.getRefElem)(a["main-".concat(e,"-xSpace")]);e&&(e.style.width=l?"".concat(r,"px"):"")}),e.$refs.refScrollXSpaceElem);return t&&(t.style.width="".concat(r,"px")),calcScrollbar(e),e.$nextTick()},handleUpdateSYSpace:function(){return updateScrollYSpace(this)},handleUpdateSYStatus:function(e){this.reactData.scrollYLoad=e},handleGlobalResizeEvent:function(){_handleLazyRecalculate(this)},renderScrollX:function(e){return e("div",{key:"vsx",ref:"refScrollXVirtualElem",class:"vxe-gantt-view--scroll-x-virtual"},[e("div",{ref:"refScrollXLeftCornerElem",class:"vxe-gantt-view--scroll-x-left-corner"}),e("div",{ref:"refScrollXWrapperElem",class:"vxe-gantt-view--scroll-x-wrapper"},[e("div",{ref:"refScrollXHandleElem",class:"vxe-gantt-view--scroll-x-handle",on:{scroll:this.triggerVirtualScrollXEvent}},[e("div",{ref:"refScrollXSpaceElem",class:"vxe-gantt-view--scroll-x-space"})])]),e("div",{ref:"refScrollXRightCornerElem",class:"vxe-gantt-view--scroll-x-right-corner"})])},renderScrollY:function(e){return e("div",{ref:"refScrollYVirtualElem",class:"vxe-gantt-view--scroll-y-virtual"},[e("div",{ref:"refScrollYTopCornerElem",class:"vxe-gantt-view--scroll-y-top-corner"}),e("div",{ref:"refScrollYWrapperElem",class:"vxe-gantt-view--scroll-y-wrapper"},[e("div",{ref:"refScrollYHandleElem",class:"vxe-gantt-view--scroll-y-handle",on:{scroll:this.triggerVirtualScrollYEvent}},[e("div",{ref:"refScrollYSpaceElem",class:"vxe-gantt-view--scroll-y-space"})])]),e("div",{ref:"refScrollYBottomCornerElem",class:"vxe-gantt-view--scroll-y-bottom-corner"})])},renderViewport:function(e){return e("div",{class:"vxe-gantt-view--viewport-wrapper"},[e(_ganttHeader.default),e(_ganttBody.default),e(_ganttFooter.default)])},renderBody:function(e){var t=this;return e("div",{class:"vxe-gantt-view--layout-wrapper"},t.$xeGantt.computeScrollbarYToLeft?[t.renderScrollY(e),t.renderViewport(e)]:[t.renderViewport(e),t.renderScrollY(e)])},renderVN:function(e){var t=this,l=t.$xeGantt,r=t.reactData,a=r.overflowX;return e("div",{ref:"refElem",class:["vxe-gantt-view",{"is--scroll-y":r.overflowY,"is--scroll-x":a,"is--virtual-x":r.scrollXLoad,"is--virtual-y":r.scrollYLoad}]},[e("div",{class:"vxe-gantt-view--render-wrapper"},l.computeScrollbarXToTop?[t.renderScrollX(e),t.renderBody(e)]:[t.renderBody(e),t.renderScrollX(e)]),e("div",{class:"vxe-gantt-view--render-vars"},[e("div",{ref:"refColInfoElem",class:"vxe-gantt-view--column-info"})])])}},watch:{"reactData.tableData":function(){handleUpdateData(this)}},mounted:function(){globalEvents.on(this,"resize",this.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createInternalData())},render:function(e){return this.renderVN(e)}});
|
package/lib/gantt/src/gantt.js
CHANGED
|
@@ -37,6 +37,20 @@ var tableProps = _vxeTable.VxeTable.props;
|
|
|
37
37
|
var tableMethods = {};
|
|
38
38
|
var propKeys = Object.keys(tableProps);
|
|
39
39
|
var defaultLayouts = [['Form'], ['Toolbar', 'Top', 'Gantt', 'Bottom', 'Pager']];
|
|
40
|
+
var viewTypeLevelMaps = {
|
|
41
|
+
year: 19,
|
|
42
|
+
quarter: 17,
|
|
43
|
+
month: 15,
|
|
44
|
+
week: 13,
|
|
45
|
+
day: 11,
|
|
46
|
+
date: 9,
|
|
47
|
+
hour: 7,
|
|
48
|
+
minute: 5,
|
|
49
|
+
second: 3
|
|
50
|
+
};
|
|
51
|
+
function getViewTypeLevel(type) {
|
|
52
|
+
return viewTypeLevelMaps[type || 'date'] || viewTypeLevelMaps.date;
|
|
53
|
+
}
|
|
40
54
|
function getTableOns($xeGantt) {
|
|
41
55
|
var _vm = $xeGantt;
|
|
42
56
|
var $listeners = _vm.$listeners;
|
|
@@ -88,6 +102,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
88
102
|
zoomConfig: Object,
|
|
89
103
|
layouts: Array,
|
|
90
104
|
taskConfig: Object,
|
|
105
|
+
taskViewScaleConfs: Object,
|
|
91
106
|
taskViewConfig: Object,
|
|
92
107
|
taskBarConfig: Object,
|
|
93
108
|
taskSplitConfig: Object,
|
|
@@ -124,7 +139,8 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
124
139
|
currentPage: 1
|
|
125
140
|
},
|
|
126
141
|
showLeftView: true,
|
|
127
|
-
showRightView: true
|
|
142
|
+
showRightView: true,
|
|
143
|
+
taskScaleList: []
|
|
128
144
|
};
|
|
129
145
|
var internalData = createInternalData();
|
|
130
146
|
return {
|
|
@@ -174,6 +190,11 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
174
190
|
var props = $xeGantt;
|
|
175
191
|
return Object.assign({}, getConfig().gantt.taskConfig, props.taskConfig);
|
|
176
192
|
},
|
|
193
|
+
computeTaskViewScaleMapsOpts: function computeTaskViewScaleMapsOpts() {
|
|
194
|
+
var $xeGantt = this;
|
|
195
|
+
var props = $xeGantt;
|
|
196
|
+
return _xeUtils.default.merge({}, getConfig().gantt.taskViewScaleConfs, props.taskViewScaleConfs);
|
|
197
|
+
},
|
|
177
198
|
computeTaskViewOpts: function computeTaskViewOpts() {
|
|
178
199
|
var $xeGantt = this;
|
|
179
200
|
var props = $xeGantt;
|
|
@@ -189,6 +210,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
189
210
|
var props = $xeGantt;
|
|
190
211
|
return Object.assign({}, getConfig().gantt.taskSplitConfig, props.taskSplitConfig);
|
|
191
212
|
},
|
|
213
|
+
computeTaskScaleConfs: function computeTaskScaleConfs() {
|
|
214
|
+
var $xeGantt = this;
|
|
215
|
+
var taskViewOpts = $xeGantt.computeTaskViewOpts;
|
|
216
|
+
var scales = taskViewOpts.scales;
|
|
217
|
+
return scales;
|
|
218
|
+
},
|
|
192
219
|
computeTitleField: function computeTitleField() {
|
|
193
220
|
var $xeGantt = this;
|
|
194
221
|
var taskOpts = $xeGantt.computeTaskOpts;
|
|
@@ -434,6 +461,10 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
434
461
|
proxyConfig: function proxyConfig() {
|
|
435
462
|
var $xeGantt = this;
|
|
436
463
|
$xeGantt.initProxy();
|
|
464
|
+
},
|
|
465
|
+
computeTaskScaleConfs: function computeTaskScaleConfs() {
|
|
466
|
+
var $xeGantt = this;
|
|
467
|
+
$xeGantt.handleTaskScaleConfig();
|
|
437
468
|
}
|
|
438
469
|
},
|
|
439
470
|
methods: Object.assign(Object.assign({}, tableMethods), {
|
|
@@ -444,6 +475,47 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
444
475
|
$gantt: $xeGantt
|
|
445
476
|
}, params));
|
|
446
477
|
},
|
|
478
|
+
handleTaskScaleConfig: function handleTaskScaleConfig() {
|
|
479
|
+
var $xeGantt = this;
|
|
480
|
+
var reactData = $xeGantt.reactData;
|
|
481
|
+
var taskScaleConfs = $xeGantt.computeTaskScaleConfs;
|
|
482
|
+
var taskViewScaleMapsOpts = $xeGantt.computeTaskViewScaleMapsOpts;
|
|
483
|
+
var scaleConfs = [];
|
|
484
|
+
if (taskScaleConfs) {
|
|
485
|
+
var keyMaps = {};
|
|
486
|
+
taskScaleConfs.forEach(function (conf) {
|
|
487
|
+
var sConf = !conf || _xeUtils.default.isString(conf) ? {
|
|
488
|
+
type: conf
|
|
489
|
+
} : conf;
|
|
490
|
+
var type = sConf.type;
|
|
491
|
+
if (!type || !viewTypeLevelMaps[type]) {
|
|
492
|
+
(0, _log.errLog)('vxe.error.errProp', ["type=".concat(type), _xeUtils.default.keys(viewTypeLevelMaps).join(',')]);
|
|
493
|
+
return;
|
|
494
|
+
}
|
|
495
|
+
if (keyMaps[type]) {
|
|
496
|
+
(0, _log.errLog)('vxe.error.repeatProp', ['type', type]);
|
|
497
|
+
return;
|
|
498
|
+
}
|
|
499
|
+
keyMaps[type] = true;
|
|
500
|
+
scaleConfs.push(Object.assign({}, type ? taskViewScaleMapsOpts[type] || {} : {}, sConf, {
|
|
501
|
+
level: getViewTypeLevel(type)
|
|
502
|
+
}));
|
|
503
|
+
});
|
|
504
|
+
}
|
|
505
|
+
if (!scaleConfs.length) {
|
|
506
|
+
scaleConfs.push({
|
|
507
|
+
type: 'month',
|
|
508
|
+
level: viewTypeLevelMaps.month
|
|
509
|
+
}, {
|
|
510
|
+
type: 'day',
|
|
511
|
+
level: viewTypeLevelMaps.day
|
|
512
|
+
});
|
|
513
|
+
}
|
|
514
|
+
reactData.taskScaleList = _xeUtils.default.orderBy(scaleConfs, {
|
|
515
|
+
field: 'level',
|
|
516
|
+
order: 'desc'
|
|
517
|
+
});
|
|
518
|
+
},
|
|
447
519
|
initToolbar: function initToolbar() {
|
|
448
520
|
var $xeGantt = this;
|
|
449
521
|
$xeGantt.$nextTick(function () {
|
|
@@ -2141,6 +2213,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
|
|
|
2141
2213
|
}
|
|
2142
2214
|
}
|
|
2143
2215
|
});
|
|
2216
|
+
$xeGantt.handleTaskScaleConfig();
|
|
2144
2217
|
$xeGantt.initPages();
|
|
2145
2218
|
},
|
|
2146
2219
|
mounted: function mounted() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_ganttView=_interopRequireDefault(require("./gantt-view")),_vxeTable=require("vxe-table");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}var getConfig=_core.VxeUI.getConfig,getIcon=_core.VxeUI.getIcon,getI18n=_core.VxeUI.getI18n,commands=_core.VxeUI.commands,globalMixins=_core.VxeUI.globalMixins,createEvent=_core.VxeUI.createEvent,globalEvents=_core.VxeUI.globalEvents,GLOBAL_EVENT_KEYS=_core.VxeUI.GLOBAL_EVENT_KEYS,renderEmptyElement=_core.VxeUI.renderEmptyElement,tableProps=_vxeTable.VxeTable.props,tableMethods={},propKeys=Object.keys(tableProps),defaultLayouts=[["Form"],["Toolbar","Top","Gantt","Bottom","Pager"]];function getTableOns(n){var e=n,t=e.$listeners,r=n.proxyConfig,o=n.computeProxyOpts,a={};return _xeUtils.default.each(t,function(e,o){a[o]=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];n.$emit.apply(n,[o].concat(t))}}),r&&(o.sort&&(a["sort-change"]=e.sortChangeEvent,a["clear-all-sort"]=e.clearAllSortEvent),o.filter)&&(a["filter-change"]=e.filterChangeEvent,a["clear-all-filter"]=e.clearAllFilterEvent),a}function createInternalData(){return{resizeTableWidth:0}}_xeUtils.default.each(_vxeTable.VxeTable.methods,function(e,t){tableMethods[t]=function(){var e=this.$refs.refTable;return e&&e[t].apply(e,arguments)}});var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGantt",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},tableProps),{columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,layouts:Array,taskConfig:Object,taskViewConfig:Object,taskBarConfig:Object,taskSplitConfig:Object,size:{type:String,default:function(){return getConfig().gantt.size||getConfig().size}}}),provide:function(){return{$xeGrid:null,$xeGantt:this}},data:function(){var e;return{xID:_xeUtils.default.uniqueId(),reactData:{tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1},showLeftView:!0,showRightView:!0},internalData:createInternalData()}},computed:Object.assign(Object.assign({},{}),{computeProxyOpts:function(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().gantt.proxyConfig,!0),this.proxyConfig)},computeIsRespMsg:function(){var e=this.computeProxyOpts;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)},computeIsActiveMsg:function(){var e=this.computeProxyOpts;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg},computePagerOpts:function(){return Object.assign({},getConfig().gantt.pagerConfig,this.pagerConfig)},computeFormOpts:function(){return Object.assign({},getConfig().gantt.formConfig,this.formConfig)},computeToolbarOpts:function(){return Object.assign({},getConfig().gantt.toolbarConfig,this.toolbarConfig)},computeZoomOpts:function(){return Object.assign({},getConfig().gantt.zoomConfig,this.zoomConfig)},computeTaskOpts:function(){return Object.assign({},getConfig().gantt.taskConfig,this.taskConfig)},computeTaskViewOpts:function(){return Object.assign({},getConfig().gantt.taskViewConfig,this.taskViewConfig)},computeTaskBarOpts:function(){return Object.assign({},getConfig().gantt.taskBarConfig,this.taskBarConfig)},computeTaskSplitOpts:function(){return Object.assign({},getConfig().gantt.taskSplitConfig,this.taskSplitConfig)},computeTitleField:function(){return this.computeTaskOpts.titleField||"title"},computeStartField:function(){return this.computeTaskOpts.startField||"start"},computeEndField:function(){return this.computeTaskOpts.endField||"end"},computeProgressField:function(){return this.computeTaskOpts.progressField||"progress"},computeScrollbarOpts:function(){return Object.assign({},getConfig().gantt.scrollbarConfig,this.scrollbarConfig)},computeScrollbarXToTop:function(){var e=this.computeScrollbarOpts;return!(!e.x||"top"!==e.x.position)},computeScrollbarYToLeft:function(){var e=this.computeScrollbarOpts;return!(!e.y||"left"!==e.y.position)},computeStyles:function(){var e=this.reactData,t=this.height,r=this.maxHeight,o=e.isZMax,n=this.computeTaskViewOpts.tableStyle,a=this.computeTaskBarOpts.barStyle,i={};return o?i.zIndex=e.tZindex:(t&&(i.height="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t)),r&&(i.maxHeight="auto"===r||"100%"===r?"100%":(0,_dom.toCssUnit)(r))),a&&(o=a.bgColor,e=a.completedBgColor,o&&(i["--vxe-ui-gantt-view-task-bar-background-color"]=o),e)&&(i["--vxe-ui-gantt-view-task-bar-completed-background-color"]=e),n&&(t=n.width)&&(i["--vxe-ui-gantt-view-table-default-width"]=(0,_dom.toCssUnit)(t)),i},computeTableExtendProps:function(){var t={},r=this;return propKeys.forEach(function(e){t[e]=r[e]}),t},computeTableProps:function(){var e=this,t=e.reactData,r=e.seqConfig,o=e.pagerConfig,n=e.editConfig,a=e.proxyConfig,i=t.isZMax,t=t.tablePage,s=e.computeTaskViewOpts.tableStyle,l=e.computeTableExtendProps,c=e.computeProxyOpts,u=e.computePagerOpts,e=e.computeIsLoading,g=Object.assign({},l,{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0});return s&&(s=s.border,_xeUtils.default.eqNull(s)||(g.border=s)),i&&(l.maxHeight?g.maxHeight="100%":g.height="100%"),a&&(0,_utils.isEnableConf)(c)&&(g.loading=e,o)&&c.seq&&(0,_utils.isEnableConf)(u)&&(g.seqConfig=Object.assign({},r,{startIndex:(t.currentPage-1)*t.pageSize})),n&&(g.editConfig=Object.assign({},n)),g},tableProps:function(){return this.computeTableProps},computeCurrLayoutConf:function(){var e=this.layouts,t=[],r=[],o=[],n=[];return(t=e&&e.length?e:getConfig().gantt.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],n=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:n}},computeCustomCurrentPageFlag:function(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag:function(){return this.computePagerOpts.pageSize},computeCustomTotalFlag:function(){return this.computePagerOpts.total},computePageCount:function(){var e=this.reactData.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)},computeIsLoading:function(){var e=this.reactData,t=this.loading,r=this.proxyConfig,e=e.tableLoading,o=this.computeProxyOpts,n=o.showLoading;return t||e&&n&&r&&(0,_utils.isEnableConf)(o)},computeTableBorder:function(){var e=this.border,t=this.computeTaskViewOpts.viewStyle;return!0===(e=t&&!_xeUtils.default.eqNull(t.border)?t.border:e)?"full":e||"default"}}),watch:{columns:function(){var e=this,t=e;e.$nextTick(function(){return e.loadColumn(t.columns||[])})},toolbarConfig:function(){this.initToolbar()},computeCustomCurrentPageFlag:function(){this.initPages("currentPage")},computeCustomPageSizeFlag:function(){this.initPages("pageSize")},computeCustomTotalFlag:function(){this.initPages("total")},proxyConfig:function(){this.initProxy()}},methods:Object.assign(Object.assign({},tableMethods),{dispatchEvent:function(e,t,r){this.$emit(e,createEvent(r,{$grid:null,$gantt:this},t))},initToolbar:function(){var r=this;r.$nextTick(function(){var e=r.$refs.refTable,t=r.$refs.refToolbar;e&&t&&e.connectToolbar(t)})},initGanttView:function(){var e=this.$refs.refTable,t=this.$refs.refGanttView;e&&t&&e.handleConnectGanttView(t)},initPages:function(e){var t=this.reactData.tablePage,r=this.pagerConfig,o=this.computePagerOpts;r&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):(r=o.currentPage,e=o.pageSize,o=o.total,r&&(t.currentPage=r),e&&(t.pageSize=e),o&&(t.total=o)))},triggerPendingEvent:function(e){var t=this.computeIsActiveMsg,r=this.$refs.refTable,o=r.getCheckboxRecords();o.length?(r.togglePendingRow(o),this.clearCheckboxRow()):t&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})},getRespMsg:function(e,t){var r,o=this.computeProxyOpts,o=(o.response||o.props||{}).message,n=this.$refs.refTable;return(r=e&&o?_xeUtils.default.isFunction(o)?o({data:e,$table:n,$grid:null,$gantt:this}):_xeUtils.default.get(e,o):r)||getI18n(t)},handleDeleteRow:function(e,t,r){var o=this.computeIsActiveMsg,n=this.getCheckboxRecords();if(o)if(n.length){if(_core.VxeUI.modal)return _core.VxeUI.modal.confirm({id:"cfm_".concat(e),content:getI18n(t),escClosable:!0}).then(function(e){if("confirm"===e)return r()})}else _core.VxeUI.modal&&_core.VxeUI.modal.message({id:"msg_".concat(e),content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else n.length&&r();return Promise.resolve()},pageChangeEvent:function(e){var t=this,r=t.reactData,o=t.proxyConfig,r=r.tablePage,n=e.$event,a=e.pageSize,i=t.computeProxyOpts;r.currentPage=e.currentPage,r.pageSize=a,t.dispatchEvent("page-change",e,n),o&&(0,_utils.isEnableConf)(i)&&t.commitProxy("query").then(function(e){t.dispatchEvent("proxy-query",e,n)})},handleSortEvent:function(t){var r=this,e=r.reactData,o=r.$refs.refTable,n=r.proxyConfig,a=r.computeProxyOpts;o.computeSortOpts.remote&&(e.sortData=t.sortList,n)&&(0,_utils.isEnableConf)(a)&&(e.tablePage.currentPage=1,r.commitProxy("query").then(function(e){r.dispatchEvent("proxy-query",e,t.$event)}))},sortChangeEvent:function(e){this.handleSortEvent(e),this.dispatchEvent("sort-change",e,e.$event)},clearAllSortEvent:function(e){this.handleSortEvent(e),this.dispatchEvent("clear-all-sort",e,e.$event)},handleFilterEvent:function(t){var r=this,e=r.reactData,o=r.$refs.refTable,n=r.proxyConfig,a=r.computeProxyOpts;o.computeFilterOpts.remote&&(e.filterData=t.filterList,n)&&(0,_utils.isEnableConf)(a)&&(e.tablePage.currentPage=1,r.commitProxy("query").then(function(e){r.dispatchEvent("proxy-query",e,t.$event)}))},filterChangeEvent:function(e){this.handleFilterEvent(e),this.dispatchEvent("filter-change",e,e.$event)},clearAllFilterEvent:function(e){this.handleFilterEvent(e),this.dispatchEvent("clear-all-filter",e,e.$event)},submitFormEvent:function(t){var r=this,e=r.reactData,o=r.proxyConfig;e.tableLoading||(o&&(0,_utils.isEnableConf)(r.computeProxyOpts)&&r.commitProxy("reload").then(function(e){r.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),r.dispatchEvent("form-submit",t,t.$event))},resetFormEvent:function(e){var t=this,r=t.$refs.refTable,o=t.proxyConfig,n=e.$event;o&&(0,_utils.isEnableConf)(t.computeProxyOpts)&&(r.clearScroll(),t.commitProxy("reload").then(function(e){t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),n)})),t.dispatchEvent("form-reset",e,n)},submitInvalidEvent:function(e){this.dispatchEvent("form-submit-invalid",e,e.$event)},collapseEvent:function(e){var t=e.$event;this.dispatchEvent("form-toggle-collapse",e,t),this.dispatchEvent("form-collapse",e,t)},handleZoom:function(e){var t=this,r=t.reactData,o=r.isZMax;return(e?!o:o)&&(r.isZMax=!o,r.tZindex<(0,_utils.getLastZIndex)())&&(r.tZindex=(0,_utils.nextZIndex)()),t.$nextTick().then(function(){return t.recalculate(!0)}).then(function(){return setTimeout(function(){return t.recalculate(!0)},15),r.isZMax})},dragSplitEvent:function(e){var t,r,n,o,a,i,s,l,c,u,g,f,d,p=this,m=p.$refs.refElem;m&&(t=p.$refs.refGanttContainerElem)&&(r=p.$refs.refTableWrapper)&&(n=p.$refs.refResizableSplitTip)&&(o=p.computeTaskViewOpts,a=t.getBoundingClientRect(),i=n.children[0],s=e.clientX,l=t.clientWidth,c=r.clientWidth,u=o.tableStyle&&_xeUtils.default.toNumber(o.tableStyle.minWidth)||80,g=c,f=-1,(0,_dom.addClass)(m,"is--split-drag"),d=function(e){var t=i.children[0],r=i.children[1],o=0,t=(t&&(f<0?(t.textContent="".concat(g,"px"),t.style.display="block",o=t.offsetHeight):t.style.display="none"),r&&(f<0?r.style.display="none":(r.textContent="".concat(Math.floor(a.width-g),"px"),r.style.display="block",o=r.offsetHeight)),e.clientY-a.top-o/2);n.style.left="".concat(g,"px"),i.style.top="".concat(Math.min(a.height-o-1,Math.max(1,t)),"px")},document.onmousemove=function(e){e.preventDefault(),f=e.clientX-s,g=Math.min(l-80,Math.max(u,c+f)),d(e)},document.onmouseup=function(){document.onmousemove=null,document.onmouseup=null,n.style.display="",r.style.width="".concat(g,"px"),(0,_dom.removeClass)(m,"is--split-drag");var e=p.$refs.refTable;e&&e.recalculate(!0)},n.style.display="block",d(e))},handleSplitLeftViewEvent:function(){var e=this.reactData;e.showLeftView=!e.showLeftView},handleSplitRightViewEvent:function(){var e=this.reactData;e.showRightView=!e.showRightView},getDefaultFormData:function(){var n,e=this.computeFormOpts;return e.items?(n={},e.items.forEach(function(e){var t,r=e.field,o=e.itemRender;r&&(t=null,o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?t=o({item:e}):_xeUtils.default.isUndefined(o)||(t=o)),n[r]=t)}),n):{}},initProxy:function(){var t=this,e=t.reactData,r=t.proxyConfig,o=e.proxyInited,n=t.computeProxyOpts,a=t.computeFormOpts;r&&((0,_utils.isEnableConf)(t.formConfig)&&n.form&&a.items&&(e.formData=t.getDefaultFormData()),o||!1===n.autoLoad||(e.proxyInited=!0,t.$nextTick().then(function(){return t.commitProxy("initial")}).then(function(e){t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))})))},handleGlobalKeydownEvent:function(e){var t=this.reactData,r=this.computeZoomOpts;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&t.isZMax&&!1!==r.escRestore&&this.triggerZoomEvent(e)},getEl:function(){return this.$refs.refElem},commitProxy:function(t){for(var n=this,e=n,a=n.reactData,F=e.toolbar,R=e.proxyConfig,r=e.toolbarConfig,i=e.pagerConfig,M=e.editRules,j=e.validConfig,s=a.tablePage,A=n.computeIsActiveMsg,o=n.computeIsRespMsg,l=n.computeProxyOpts,q=n.computePagerOpts,e=n.computeToolbarOpts,z=l.beforeQuery,B=l.afterQuery,Z=l.beforeDelete,G=l.afterDelete,W=l.beforeSave,N=l.afterSave,c=l.ajax,u=void 0===c?{}:c,g=l.response||l.props||{},f=n.$refs.refTable,d=n.getFormData(),p=null,m=null,h=(m=_xeUtils.default.isString(t)?(c=e.buttons,p=(r=(r||F)&&(0,_utils.isEnableConf)(e)&&c?_xeUtils.default.findTree(c,function(e){return e.code===t},{children:"dropdowns"}):null)?r.item:null,t):(p=t).code,p?p.params:null),b=arguments.length,v=new Array(1<b?b-1:0),x=1;x<b;x++)v[x-1]=arguments[x];switch(m){case"insert":return f.insert({});case"insert_edit":return f.insert({}).then(function(e){e=e.row;return f.setEditRow(e,!0)});case"insert_actived":return f.insert({}).then(function(e){e=e.row;return f.setEditRow(e,!0)});case"mark_cancel":n.triggerPendingEvent(m);break;case"remove":return n.handleDeleteRow(m,"vxe.grid.removeSelectRecord",function(){return f.removeCheckboxRow()});case"import":f.importData(h);break;case"open_import":f.openImport(h);break;case"export":f.exportData(h);break;case"open_export":f.openExport(h);break;case"reset_custom":f.resetCustom(!0);break;case"initial":case"reload":case"query":var y,_,C,E,H,T,P,w=u.query,K=u.querySuccess,Y=u.queryError;if(w)return y="reload"===m,!(L="initial"===m)&&a.tableLoading?n.$nextTick():(_=[],C=[],E={},i&&((L||y)&&(s.currentPage=1),(0,_utils.isEnableConf)(i))&&(E=Object.assign({},s)),L?(R&&(0,_utils.isEnableConf)(l)&&l.form&&(d=n.getDefaultFormData(),a.formData=d),f&&(D=f.tableFullColumn,H=f.fullColumnFieldData,U=f.computeSortOpts.defaultSort,D.forEach(function(e){e.order=null}),U&&(_=(U=_xeUtils.default.isArray(U)?U:[U]).map(function(e){var t=e.field,e=e.order,r=H[t];return r&&(r=r.column)&&(r.order=e),{field:t,property:t,order:e}})),C=f.getCheckedFilters())):f&&(y?f.clearAll():(_=f.getSortColumns(),C=f.getCheckedFilters())),T={$table:f,$grid:null,$gantt:n,code:m,button:p,isInited:L,isReload:y,page:E,sort:_.length?_[0]:{},sorts:_,filters:C,form:d,options:w},a.sortData=_,a.filterData=C,a.tableLoading=!0,P=[T].concat(v),Promise.resolve((z||w).apply(void 0,_toConsumableArray(P))).then(function(e){var t,r,o=[];return a.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(q)?(r=g.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$table:f,$grid:null,$gantt:n}):_xeUtils.default.get(e,r||"page.total"))||0,s.total=_xeUtils.default.toNumber(r),t=g.result,o=(_xeUtils.default.isFunction(t)?t({data:e,$table:f,$grid:null,$gantt:n}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(r/s.pageSize),1),s.currentPage>t&&(s.currentPage=t)):(r=g.list,o=(r?_xeUtils.default.isFunction(r)?r({data:e,$table:f,$grid:null,$gantt:n}):_xeUtils.default.get(e,r):e)||[])),f?f.loadData(o):f.$nextTick(function(){f&&f.loadData(o)}),B&&B.apply(void 0,_toConsumableArray(P)),K&&K(Object.assign(Object.assign({},T),{response:e})),{status:!0}}).catch(function(e){return a.tableLoading=!1,Y&&Y(Object.assign(Object.assign({},T),{response:e})),{status:!1}}));(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break;case"delete":var O=u.delete,X=u.deleteSuccess,Q=u.deleteError;if(O){var S=f.getCheckboxRecords(),$=S.filter(function(e){return!f.isInsertByRow(e)}),J={$table:f,$grid:null,$gantt:n,code:m,button:p,body:{removeRecords:$},form:d,options:O},ee=[J].concat(v);if(S.length)return n.handleDeleteRow(m,"vxe.grid.deleteSelectRecord",function(){return $.length?(a.tableLoading=!0,Promise.resolve((Z||O).apply(void 0,_toConsumableArray(ee))).then(function(e){return a.tableLoading=!1,f.setPendingRow($,!1),o&&(_core.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_core.VxeUI.modal.message({content:n.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),G?G.apply(void 0,_toConsumableArray(ee)):n.commitProxy("query"),X&&X(Object.assign(Object.assign({},J),{response:e})),{status:!0}}).catch(function(e){return a.tableLoading=!1,o&&(_core.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_core.VxeUI.modal.message({id:m,content:n.getRespMsg(e,"vxe.grid.operError"),status:"error"})),Q&&Q(Object.assign(Object.assign({},J),{response:e})),{status:!1}})):f.remove(S)});A&&(_core.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_core.VxeUI.modal.message({id:m,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break;case"save":var k,V,te,re,I,oe,ne,D,ae=u.save,ie=u.saveSuccess,se=u.saveError;if(ae)return k=n.getRecordset(),V=k.insertRecords,te=k.removeRecords,re=k.updateRecords,I=k.pendingRecords,ne=[oe={$table:f,$grid:null,$gantt:n,code:m,button:p,body:k,form:d,options:ae}].concat(v),V.length&&(k.pendingRecords=I.filter(function(e){return-1===V.indexOf(e)})),I.length&&(k.insertRecords=V.filter(function(e){return-1===I.indexOf(e)})),D=Promise.resolve(),(D=M?n[j&&"full"===j.msgMode?"fullValidate":"validate"](k.insertRecords.concat(re)):D).then(function(e){if(!e)return k.insertRecords.length||te.length||re.length||k.pendingRecords.length?(a.tableLoading=!0,Promise.resolve((W||ae).apply(void 0,_toConsumableArray(ne))).then(function(e){return a.tableLoading=!1,f.clearPendingRow(),o&&(_core.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_core.VxeUI.modal.message({content:n.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),N?N.apply(void 0,_toConsumableArray(ne)):n.commitProxy("query"),ie&&ie(Object.assign(Object.assign({},oe),{response:e})),{status:!0}}).catch(function(e){return a.tableLoading=!1,o&&(_core.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_core.VxeUI.modal.message({id:m,content:n.getRespMsg(e,"vxe.grid.operError"),status:"error"})),se&&se(Object.assign(Object.assign({},oe),{response:e})),{status:!1}})):void(A&&(_core.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_core.VxeUI.modal.message({id:m,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))});(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break;default:var L,U=commands.get(m);U&&((L=U.tableCommandMethod||U.commandMethod)?L.apply(void 0,[{code:m,button:p,$grid:null,$table:f,$gantt:n}].concat(v)):(0,_log.errLog)("vxe.error.notCommands",[m]))}return n.$nextTick()},getParams:function(){return this.params},zoom:function(){return this.reactData.isZMax?this.revert():this.maximize()},isMaximized:function(){return this.reactData.isZMax},maximize:function(){return this.handleZoom(!0)},revert:function(){return this.handleZoom()},getFormData:function(){var e=this.reactData,t=this.proxyConfig,e=e.formData,r=this.computeProxyOpts,o=this.computeFormOpts;return t&&(0,_utils.isEnableConf)(r)&&r.form?e:o.data},getFormItems:function(e){var t=this.computeFormOpts,r=this.formConfig,o=t.items,n=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&o?o:[],function(e){n.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?n:n[e]},resetForm:function(){var e=this.$refs.refForm;return e?e.reset():this.$nextTick()},validateForm:function(){var e=this.$refs.refForm;return e?e.validate():this.$nextTick()},validateFormField:function(e){var t=this.$refs.refForm;return t?t.validateField(e):this.$nextTick()},clearFormValidate:function(e){var t=this.$refs.refForm;return t?t.clearValidate(e):this.$nextTick()},homePage:function(){return this.reactData.tablePage.currentPage=1,this.$nextTick()},homePageByEvent:function(e){var t=this.$refs.refPager;t&&t.homePageByEvent(e)},endPage:function(){var e=this.reactData.tablePage,t=this.computePageCount;return e.currentPage=t,this.$nextTick()},endPageByEvent:function(e){var t=this.$refs.refPager;t&&t.endPageByEvent(e)},setCurrentPage:function(e){var t=this.reactData.tablePage,r=this.computePageCount;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),this.$nextTick()},setCurrentPageByEvent:function(e,t){var r=this.$refs.refPager;r&&r.setCurrentPageByEvent(e,t)},setPageSize:function(e){return this.reactData.tablePage.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),this.$nextTick()},setPageSizeByEvent:function(e,t){var r=this.$refs.refPager;r&&r.setPageSizeByEvent(e,t)},getProxyInfo:function(){var e,t=this.$refs.refTable,r=this.reactData;return this.proxyConfig?(e=r.sortData,{data:t?t.getFullData():[],filter:r.filterData,form:this.getFormData(),sort:e.length?e[0]:{},sorts:e,pager:r.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},refreshTaskView:function(){var e=this.$refs.refGanttView;return e?e.refreshData():this.$nextTick()},hasTableViewVisible:function(){return this.reactData.showLeftView},showTableView:function(){return this.reactData.showLeftView=!0,this.$nextTick()},hideTableView:function(){return this.reactData.showLeftView=!1,this.$nextTick()},hasTaskViewVisible:function(){return this.reactData.showRightView},showTaskView:function(){return this.reactData.showRightView=!0,this.$nextTick()},hideTaskView:function(){return this.reactData.showRightView=!1,this.$nextTick()},callSlot:function(e,t,r){var o=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=o[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r)):[]},getExcludeHeight:function(){var e,t,r,o,n,a=this,i=a.reactData.isZMax,s=a.$refs.refElem;return s?(e=a.$refs.refFormWrapper,t=a.$refs.refToolbarWrapper,r=a.$refs.refTopWrapper,o=a.$refs.refBottomWrapper,a=a.$refs.refPagerWrapper,n=s.parentElement,(!i&&n?(0,_dom.getPaddingTopBottomSize)(n):0)+(0,_dom.getPaddingTopBottomSize)(s)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(a)):0},getParentHeight:function(){var e=this.reactData,t=this.$refs.refElem;return t?(t=t.parentElement,(e.isZMax?(0,_dom.getDomNode)().visibleHeight:t?_xeUtils.default.toNumber(getComputedStyle(t).height):0)-this.getExcludeHeight()):0},triggerToolbarCommitEvent:function(e,t){var r=this,o=e.code;return r.commitProxy(e,t).then(function(e){o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&r.dispatchEvent("delete"===o||"save"===o?"proxy-".concat(o):"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===o}),t)})},triggerToolbarBtnEvent:function(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent:function(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent:function(e){var t=this.reactData;this.zoom(),this.dispatchEvent("zoom",{type:t.isZMax?"max":"revert"},e)},handleTaskCellClickEvent:function(e,t){var r,o,n,a,i,s,l,c=this.$refs.refTable;c&&(r=c.highlightCurrentRow,o=c.radioColumn,n=c.checkboxColumn,a=c.computeRadioOpts,i=c.computeCheckboxOpts,s=c.computeRowOpts,l=t.row,(s.isCurrent||r)&&c.triggerCurrentRowEvent(e,Object.assign({$table:c,rowIndex:c.getRowIndex(l),$rowIndex:c.getVMRowIndex(l)},t)),o&&"row"===a.trigger&&c.triggerRadioRowEvent(e,t),n)&&"row"===i.trigger&&c.handleToggleCheckRowEvent(e,t),this.dispatchEvent("task-cell-click",t,e)},handleTaskCellDblclickEvent:function(e,t){this.dispatchEvent("task-cell-dblclick",t,e)},handleTaskBarClickEvent:function(e,t){this.dispatchEvent("task-bar-click",t,e)},handleTaskBarDblclickEvent:function(e,t){this.dispatchEvent("task-bar-dblclick",t,e)},loadColumn:function(e){var r=this.$scopedSlots,t=this.$refs.refTable;return _xeUtils.default.eachTree(e,function(e){var t=e.type;e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||r[e]||(0,_log.errLog)("vxe.error.notSlot",[e])}),"expand"===t&&(0,_log.errLog)("vxe.error.errProp",["type=expand","type=seq,radio,checkbox,html"])}),t.loadColumn(e)},reloadColumn:function(e){return this.clearAll(),this.loadColumn(e)},getConfigSlot:function(e){var r=this.$scopedSlots,o={};return _xeUtils.default.objectMap(e,function(e,t){e&&(_xeUtils.default.isString(e)?r[e]?o[t]=r[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):o[t]=e)}),o},getToolbarSlots:function(){var e,t,r,o,n=this,a=n.$scopedSlots,i=n.computeToolbarOpts.slots,s={};return!a.buttons||i&&"buttons"===i.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!a.tools||i&&"tools"===i.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"]),i&&(a=n.getFuncSlot(i,"buttons"),e=n.getFuncSlot(i,"buttonPrefix"),t=n.getFuncSlot(i,"buttonSuffix"),r=n.getFuncSlot(i,"tools"),o=n.getFuncSlot(i,"toolPrefix"),n=n.getFuncSlot(i,"toolSuffix"),a&&(s.buttons=a),e&&(s.buttonPrefix=e),t&&(s.buttonSuffix=t),r&&(s.tools=r),o&&(s.toolPrefix=o),n)&&(s.toolSuffix=n),s},getFuncSlot:function(e,t){var r=this.$scopedSlots,e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(r[e])return r[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},renderDefaultForm:function(e){var t,r,o=_core.VxeUI.getComponent("VxeForm"),n=this,a=n.$scopedSlots,i=n.proxyConfig,s=n.reactData.formData,l=n.computeProxyOpts,c=n.computeFormOpts;return(0,_utils.isEnableConf)(n.formConfig)&&c.items&&c.items.length?(t={},c.inited||(c.inited=!0,r=l.beforeItem,l&&r&&c.items.forEach(function(e){r.call(n,{$grid:n,$gantt:null,item:e})})),c.items.forEach(function(e){_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||a[e]&&(t[e]=a[e])})}),[o?e(o,{props:Object.assign({},c,{data:i&&l.form?s:c.data}),on:{submit:n.submitFormEvent,reset:n.resetFormEvent,collapse:n.collapseEvent,"submit-invalid":n.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(n)]):[]},renderForm:function(e){var t=this,r=t.$scopedSlots,o=t.formConfig,r=r.form;return!r&&!(0,_utils.isEnableConf)(o)?renderEmptyElement(t):e("div",{key:"form",ref:"refFormWrapper",class:"vxe-gantt--form-wrapper"},r?r.call(t,{$grid:null,$gantt:t}):t.renderDefaultForm(e))},renderToolbar:function(e){var t=_core.VxeUI.getComponent("VxeToolbar"),r=this,o=r.$scopedSlots,n=r.toolbarConfig,o=o.toolbar,a=r.computeToolbarOpts;return n&&(0,_utils.isEnableConf)(a)||o?e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-gantt--toolbar-wrapper"},o?o.call(r,{$grid:null,$gantt:r}):[e(t,{props:Object.assign({},a,{slots:void 0}),ref:"refToolbar",scopedSlots:r.getToolbarSlots()})]):renderEmptyElement(r)},renderTop:function(e){var t=this.$scopedSlots.top;return t?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-gantt--top-wrapper"},t.call(this,{$grid:null,$gantt:this})):renderEmptyElement(this)},renderTableLeft:function(e){var t=this.$scopedSlots.left;return t?e("div",{class:"vxe-gantt--left-wrapper"},t({$grid:null,$gantt:this})):renderEmptyElement(this)},renderTableRight:function(e){var t=this.$scopedSlots.right;return t?e("div",{class:"vxe-gantt--right-wrapper"},t({$grid:null,$gantt:this})):renderEmptyElement(this)},renderTable:function(e){var t=this.$scopedSlots,r=this.computeTableProps;return e("div",{ref:"refTableWrapper",class:"vxe-gantt--table-wrapper"},[e(_vxeTable.VxeTable,{key:"table",props:r,on:getTableOns(this),scopedSlots:t,ref:"refTable"})])},renderBottom:function(e){var t=this.$scopedSlots.bottom;return t?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-gantt--bottom-wrapper"},t.call(this,{$grid:null,$gantt:this})):renderEmptyElement(this)},renderPager:function(e){var t=_core.VxeUI.getComponent("VxePager"),r=this,o=r.$scopedSlots,n=r.reactData,a=r.proxyConfig,i=r.computeProxyOpts,s=r.computePagerOpts,l=o.pager;return r.pagerConfig&&(0,_utils.isEnableConf)(s)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-gantt--pager-wrapper"},l?l.call(r,{$grid:null,$gantt:r}):[t?e(t,{ref:"refPager",props:Object.assign(Object.assign({},s),a&&(0,_utils.isEnableConf)(i)?n.tablePage:{}),on:{"page-change":r.pageChangeEvent},scopedSlots:r.getConfigSlot(s.slots)}):renderEmptyElement(r)]):renderEmptyElement(r)},renderTaskView:function(e){return e("div",{ref:"refGanttWrapper",class:"vxe-gantt--view-wrapper"},[e(_ganttView.default,{ref:"refGanttView"})])},renderSplitBar:function(e){var t=this,r=t.reactData,o=r.showLeftView,r=r.showRightView,n=t.computeTaskSplitOpts,a=n.enabled,i=n.showCollapseTableButton,s=n.showCollapseTaskButton;return a?(a={},(n=n.resize&&o&&r)&&(a.mousedown=t.dragSplitEvent),e("div",{class:["vxe-gantt--view-split-bar",{"is--resize":n}]},[e("div",{class:"vxe-gantt--view-split-bar-handle",on:a}),i||s?e("div",{class:"vxe-gantt--view-split-bar-btn-wrapper"},[i&&r?e("div",{class:"vxe-gantt--view-split-bar-left-btn",on:{click:t.handleSplitLeftViewEvent}},[e("i",{class:o?getIcon().GANTT_VIEW_LEFT_OPEN:getIcon().GANTT_VIEW_LEFT_CLOSE})]):renderEmptyElement(t),s&&o?e("div",{class:"vxe-gantt--view-split-bar-right-btn",on:{click:t.handleSplitRightViewEvent}},[e("i",{class:r?getIcon().GANTT_VIEW_RIGHT_OPEN:getIcon().GANTT_VIEW_RIGHT_CLOSE})]):renderEmptyElement(t)]):renderEmptyElement(t)])):renderEmptyElement(t)},renderChildLayout:function(t,e){var r=this,o=[];return e.forEach(function(e){switch(e){case"Form":o.push(r.renderForm(t));break;case"Toolbar":o.push(r.renderToolbar(t));break;case"Top":o.push(r.renderTop(t));break;case"Gantt":o.push(t("div",{ref:"refGanttContainerElem",key:"tv",class:"vxe-gantt--gantt-container"},[r.renderTableLeft(t),r.renderTable(t),r.renderSplitBar(t),r.renderTaskView(t),r.renderTableRight(t),t("div",{ref:"refClassifyWrapperElem"}),t("div",{ref:"refResizableSplitTip",class:"vxe-gantt--resizable-split-tip"},[t("div",{class:"vxe-gantt--resizable-split-tip-number"},[t("div",{class:"vxe-gantt--resizable-split-number-left"},"10px"),t("div",{class:"vxe-gantt--resizable-split-number-right"},"20px")])]),t("div",{class:"vxe-gantt--border-line"})]));break;case"Bottom":o.push(r.renderBottom(t));break;case"Pager":o.push(r.renderPager(t));break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> ".concat(e)])}}),o},renderLayout:function(e){var t=this,r=t.$scopedSlots,o=t.computeCurrLayoutConf,n=o.headKeys,a=o.bodyKeys,o=o.footKeys,i=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-gantt--layout-header-wrapper"},t.renderChildLayout(e,n)),e("div",{class:"vxe-gantt--layout-body-wrapper"},[i?e("div",{class:"vxe-gantt--layout-aside-left-wrapper"},i({})):renderEmptyElement(t),e("div",{class:"vxe-gantt--layout-body-content-wrapper"},t.renderChildLayout(e,a)),r?e("div",{class:"vxe-gantt--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-gantt--layout-footer-wrapper"},t.renderChildLayout(e,o))]},renderVN:function(e){var t=this,r=t,o=t.reactData,n=o.showLeftView,a=o.showRightView,i=t.computeSize,s=t.computeStyles,l=t.computeIsLoading,c=t.computeScrollbarXToTop,u=t.computeScrollbarYToLeft;return e("div",{ref:"refElem",class:["vxe-gantt","border--".concat(t.computeTableBorder),"sx-pos--".concat(c?"top":"bottom"),"sy-pos--".concat(u?"left":"right"),_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(i),i),"is--round",r.round),"is--maximize",o.isZMax),"is--loading",l),"show--left",n),"show--right",a)],style:s},t.renderLayout(e))}}),created:function(){var e=_core.VxeUI.getComponent("VxeForm"),t=_core.VxeUI.getComponent("VxePager"),r=_core.VxeUI.getComponent("VxeToolbar"),o=this,n=this.computeProxyOpts;o.toolbar&&(0,_log.errLog)("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),o.toolbarConfig&&!_xeUtils.default.isObject(o.toolbarConfig)&&(0,_log.errLog)("vxe.error.errProp",["grid.toolbar-config=".concat(o.toolbarConfig),"grid.toolbar-config={}"]),n.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),o.expandConfig&&(0,_log.warnLog)("vxe.error.notProp",["expand-config"]),o.aggregateConfig&&(0,_log.warnLog)("vxe.error.notProp",["aggregate-config"]),this.$nextTick(function(){o.formConfig&&!e&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),o.pagerConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),o.toolbarConfig&&!r&&(0,_log.errLog)("vxe.error.reqComp",["vxe-toolbar"])}),this.initPages()},mounted:function(){var e=this,t=e.columns;t&&t.length&&e.loadColumn(t),e.initToolbar(),e.initProxy(),e.initGanttView(),globalEvents.on(e,"keydown",e.handleGlobalKeydownEvent)},destroyed:function(){var e=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createInternalData())},render:function(e){return this.renderVN(e)}});
|
|
1
|
+
function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_core=require("@vxe-ui/core"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_log=require("../../ui/src/log"),_ganttView=_interopRequireDefault(require("./gantt-view")),_vxeTable=require("vxe-table");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r={}.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,o=Array(t);r<t;r++)o[r]=e[r];return o}var getConfig=_core.VxeUI.getConfig,getIcon=_core.VxeUI.getIcon,getI18n=_core.VxeUI.getI18n,commands=_core.VxeUI.commands,globalMixins=_core.VxeUI.globalMixins,createEvent=_core.VxeUI.createEvent,globalEvents=_core.VxeUI.globalEvents,GLOBAL_EVENT_KEYS=_core.VxeUI.GLOBAL_EVENT_KEYS,renderEmptyElement=_core.VxeUI.renderEmptyElement,tableProps=_vxeTable.VxeTable.props,tableMethods={},propKeys=Object.keys(tableProps),defaultLayouts=[["Form"],["Toolbar","Top","Gantt","Bottom","Pager"]],viewTypeLevelMaps={year:19,quarter:17,month:15,week:13,day:11,date:9,hour:7,minute:5,second:3};function getViewTypeLevel(e){return viewTypeLevelMaps[e||"date"]||viewTypeLevelMaps.date}function getTableOns(n){var e=n,t=e.$listeners,r=n.proxyConfig,o=n.computeProxyOpts,a={};return _xeUtils.default.each(t,function(e,o){a[o]=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];n.$emit.apply(n,[o].concat(t))}}),r&&(o.sort&&(a["sort-change"]=e.sortChangeEvent,a["clear-all-sort"]=e.clearAllSortEvent),o.filter)&&(a["filter-change"]=e.filterChangeEvent,a["clear-all-filter"]=e.clearAllFilterEvent),a}function createInternalData(){return{resizeTableWidth:0}}_xeUtils.default.each(_vxeTable.VxeTable.methods,function(e,t){tableMethods[t]=function(){var e=this.$refs.refTable;return e&&e[t].apply(e,arguments)}});var _default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGantt",mixins:[globalMixins.sizeMixin],props:Object.assign(Object.assign({},tableProps),{columns:Array,pagerConfig:Object,proxyConfig:Object,toolbarConfig:Object,formConfig:Object,zoomConfig:Object,layouts:Array,taskConfig:Object,taskViewScaleConfs:Object,taskViewConfig:Object,taskBarConfig:Object,taskSplitConfig:Object,size:{type:String,default:function(){return getConfig().gantt.size||getConfig().size}}}),provide:function(){return{$xeGrid:null,$xeGantt:this}},data:function(){var e;return{xID:_xeUtils.default.uniqueId(),reactData:{tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(e=getConfig().pager)?void 0:e.pageSize)||10,currentPage:1},showLeftView:!0,showRightView:!0,taskScaleList:[]},internalData:createInternalData()}},computed:Object.assign(Object.assign({},{}),{computeProxyOpts:function(){return _xeUtils.default.merge({},_xeUtils.default.clone(getConfig().gantt.proxyConfig,!0),this.proxyConfig)},computeIsRespMsg:function(){var e=this.computeProxyOpts;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)},computeIsActiveMsg:function(){var e=this.computeProxyOpts;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg},computePagerOpts:function(){return Object.assign({},getConfig().gantt.pagerConfig,this.pagerConfig)},computeFormOpts:function(){return Object.assign({},getConfig().gantt.formConfig,this.formConfig)},computeToolbarOpts:function(){return Object.assign({},getConfig().gantt.toolbarConfig,this.toolbarConfig)},computeZoomOpts:function(){return Object.assign({},getConfig().gantt.zoomConfig,this.zoomConfig)},computeTaskOpts:function(){return Object.assign({},getConfig().gantt.taskConfig,this.taskConfig)},computeTaskViewScaleMapsOpts:function(){return _xeUtils.default.merge({},getConfig().gantt.taskViewScaleConfs,this.taskViewScaleConfs)},computeTaskViewOpts:function(){return Object.assign({},getConfig().gantt.taskViewConfig,this.taskViewConfig)},computeTaskBarOpts:function(){return Object.assign({},getConfig().gantt.taskBarConfig,this.taskBarConfig)},computeTaskSplitOpts:function(){return Object.assign({},getConfig().gantt.taskSplitConfig,this.taskSplitConfig)},computeTaskScaleConfs:function(){return this.computeTaskViewOpts.scales},computeTitleField:function(){return this.computeTaskOpts.titleField||"title"},computeStartField:function(){return this.computeTaskOpts.startField||"start"},computeEndField:function(){return this.computeTaskOpts.endField||"end"},computeProgressField:function(){return this.computeTaskOpts.progressField||"progress"},computeScrollbarOpts:function(){return Object.assign({},getConfig().gantt.scrollbarConfig,this.scrollbarConfig)},computeScrollbarXToTop:function(){var e=this.computeScrollbarOpts;return!(!e.x||"top"!==e.x.position)},computeScrollbarYToLeft:function(){var e=this.computeScrollbarOpts;return!(!e.y||"left"!==e.y.position)},computeStyles:function(){var e=this.reactData,t=this.height,r=this.maxHeight,o=e.isZMax,n=this.computeTaskViewOpts.tableStyle,a=this.computeTaskBarOpts.barStyle,i={};return o?i.zIndex=e.tZindex:(t&&(i.height="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t)),r&&(i.maxHeight="auto"===r||"100%"===r?"100%":(0,_dom.toCssUnit)(r))),a&&(o=a.bgColor,e=a.completedBgColor,o&&(i["--vxe-ui-gantt-view-task-bar-background-color"]=o),e)&&(i["--vxe-ui-gantt-view-task-bar-completed-background-color"]=e),n&&(t=n.width)&&(i["--vxe-ui-gantt-view-table-default-width"]=(0,_dom.toCssUnit)(t)),i},computeTableExtendProps:function(){var t={},r=this;return propKeys.forEach(function(e){t[e]=r[e]}),t},computeTableProps:function(){var e=this,t=e.reactData,r=e.seqConfig,o=e.pagerConfig,n=e.editConfig,a=e.proxyConfig,i=t.isZMax,t=t.tablePage,s=e.computeTaskViewOpts.tableStyle,l=e.computeTableExtendProps,c=e.computeProxyOpts,u=e.computePagerOpts,e=e.computeIsLoading,g=Object.assign({},l,{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0});return s&&(s=s.border,_xeUtils.default.eqNull(s)||(g.border=s)),i&&(l.maxHeight?g.maxHeight="100%":g.height="100%"),a&&(0,_utils.isEnableConf)(c)&&(g.loading=e,o)&&c.seq&&(0,_utils.isEnableConf)(u)&&(g.seqConfig=Object.assign({},r,{startIndex:(t.currentPage-1)*t.pageSize})),n&&(g.editConfig=Object.assign({},n)),g},tableProps:function(){return this.computeTableProps},computeCurrLayoutConf:function(){var e=this.layouts,t=[],r=[],o=[],n=[];return(t=e&&e.length?e:getConfig().gantt.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(r=t[0],o=t[1]||[],n=t[2]||[]):o=t),{headKeys:r,bodyKeys:o,footKeys:n}},computeCustomCurrentPageFlag:function(){return this.computePagerOpts.currentPage},computeCustomPageSizeFlag:function(){return this.computePagerOpts.pageSize},computeCustomTotalFlag:function(){return this.computePagerOpts.total},computePageCount:function(){var e=this.reactData.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)},computeIsLoading:function(){var e=this.reactData,t=this.loading,r=this.proxyConfig,e=e.tableLoading,o=this.computeProxyOpts,n=o.showLoading;return t||e&&n&&r&&(0,_utils.isEnableConf)(o)},computeTableBorder:function(){var e=this.border,t=this.computeTaskViewOpts.viewStyle;return!0===(e=t&&!_xeUtils.default.eqNull(t.border)?t.border:e)?"full":e||"default"}}),watch:{columns:function(){var e=this,t=e;e.$nextTick(function(){return e.loadColumn(t.columns||[])})},toolbarConfig:function(){this.initToolbar()},computeCustomCurrentPageFlag:function(){this.initPages("currentPage")},computeCustomPageSizeFlag:function(){this.initPages("pageSize")},computeCustomTotalFlag:function(){this.initPages("total")},proxyConfig:function(){this.initProxy()},computeTaskScaleConfs:function(){this.handleTaskScaleConfig()}},methods:Object.assign(Object.assign({},tableMethods),{dispatchEvent:function(e,t,r){this.$emit(e,createEvent(r,{$grid:null,$gantt:this},t))},handleTaskScaleConfig:function(){var r,e=this.reactData,t=this.computeTaskScaleConfs,o=this.computeTaskViewScaleMapsOpts,n=[];t&&(r={},t.forEach(function(e){var e=!e||_xeUtils.default.isString(e)?{type:e}:e,t=e.type;t&&viewTypeLevelMaps[t]?r[t]?(0,_log.errLog)("vxe.error.repeatProp",["type",t]):(r[t]=!0,n.push(Object.assign({},t&&o[t]||{},e,{level:getViewTypeLevel(t)}))):(0,_log.errLog)("vxe.error.errProp",["type=".concat(t),_xeUtils.default.keys(viewTypeLevelMaps).join(",")])})),n.length||n.push({type:"month",level:viewTypeLevelMaps.month},{type:"day",level:viewTypeLevelMaps.day}),e.taskScaleList=_xeUtils.default.orderBy(n,{field:"level",order:"desc"})},initToolbar:function(){var r=this;r.$nextTick(function(){var e=r.$refs.refTable,t=r.$refs.refToolbar;e&&t&&e.connectToolbar(t)})},initGanttView:function(){var e=this.$refs.refTable,t=this.$refs.refGanttView;e&&t&&e.handleConnectGanttView(t)},initPages:function(e){var t=this.reactData.tablePage,r=this.pagerConfig,o=this.computePagerOpts;r&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):(r=o.currentPage,e=o.pageSize,o=o.total,r&&(t.currentPage=r),e&&(t.pageSize=e),o&&(t.total=o)))},triggerPendingEvent:function(e){var t=this.computeIsActiveMsg,r=this.$refs.refTable,o=r.getCheckboxRecords();o.length?(r.togglePendingRow(o),this.clearCheckboxRow()):t&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})},getRespMsg:function(e,t){var r,o=this.computeProxyOpts,o=(o.response||o.props||{}).message,n=this.$refs.refTable;return(r=e&&o?_xeUtils.default.isFunction(o)?o({data:e,$table:n,$grid:null,$gantt:this}):_xeUtils.default.get(e,o):r)||getI18n(t)},handleDeleteRow:function(e,t,r){var o=this.computeIsActiveMsg,n=this.getCheckboxRecords();if(o)if(n.length){if(_core.VxeUI.modal)return _core.VxeUI.modal.confirm({id:"cfm_".concat(e),content:getI18n(t),escClosable:!0}).then(function(e){if("confirm"===e)return r()})}else _core.VxeUI.modal&&_core.VxeUI.modal.message({id:"msg_".concat(e),content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else n.length&&r();return Promise.resolve()},pageChangeEvent:function(e){var t=this,r=t.reactData,o=t.proxyConfig,r=r.tablePage,n=e.$event,a=e.pageSize,i=t.computeProxyOpts;r.currentPage=e.currentPage,r.pageSize=a,t.dispatchEvent("page-change",e,n),o&&(0,_utils.isEnableConf)(i)&&t.commitProxy("query").then(function(e){t.dispatchEvent("proxy-query",e,n)})},handleSortEvent:function(t){var r=this,e=r.reactData,o=r.$refs.refTable,n=r.proxyConfig,a=r.computeProxyOpts;o.computeSortOpts.remote&&(e.sortData=t.sortList,n)&&(0,_utils.isEnableConf)(a)&&(e.tablePage.currentPage=1,r.commitProxy("query").then(function(e){r.dispatchEvent("proxy-query",e,t.$event)}))},sortChangeEvent:function(e){this.handleSortEvent(e),this.dispatchEvent("sort-change",e,e.$event)},clearAllSortEvent:function(e){this.handleSortEvent(e),this.dispatchEvent("clear-all-sort",e,e.$event)},handleFilterEvent:function(t){var r=this,e=r.reactData,o=r.$refs.refTable,n=r.proxyConfig,a=r.computeProxyOpts;o.computeFilterOpts.remote&&(e.filterData=t.filterList,n)&&(0,_utils.isEnableConf)(a)&&(e.tablePage.currentPage=1,r.commitProxy("query").then(function(e){r.dispatchEvent("proxy-query",e,t.$event)}))},filterChangeEvent:function(e){this.handleFilterEvent(e),this.dispatchEvent("filter-change",e,e.$event)},clearAllFilterEvent:function(e){this.handleFilterEvent(e),this.dispatchEvent("clear-all-filter",e,e.$event)},submitFormEvent:function(t){var r=this,e=r.reactData,o=r.proxyConfig;e.tableLoading||(o&&(0,_utils.isEnableConf)(r.computeProxyOpts)&&r.commitProxy("reload").then(function(e){r.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),r.dispatchEvent("form-submit",t,t.$event))},resetFormEvent:function(e){var t=this,r=t.$refs.refTable,o=t.proxyConfig,n=e.$event;o&&(0,_utils.isEnableConf)(t.computeProxyOpts)&&(r.clearScroll(),t.commitProxy("reload").then(function(e){t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),n)})),t.dispatchEvent("form-reset",e,n)},submitInvalidEvent:function(e){this.dispatchEvent("form-submit-invalid",e,e.$event)},collapseEvent:function(e){var t=e.$event;this.dispatchEvent("form-toggle-collapse",e,t),this.dispatchEvent("form-collapse",e,t)},handleZoom:function(e){var t=this,r=t.reactData,o=r.isZMax;return(e?!o:o)&&(r.isZMax=!o,r.tZindex<(0,_utils.getLastZIndex)())&&(r.tZindex=(0,_utils.nextZIndex)()),t.$nextTick().then(function(){return t.recalculate(!0)}).then(function(){return setTimeout(function(){return t.recalculate(!0)},15),r.isZMax})},dragSplitEvent:function(e){var t,r,n,o,a,i,s,l,c,u,g,f,p,d=this,m=d.$refs.refElem;m&&(t=d.$refs.refGanttContainerElem)&&(r=d.$refs.refTableWrapper)&&(n=d.$refs.refResizableSplitTip)&&(o=d.computeTaskViewOpts,a=t.getBoundingClientRect(),i=n.children[0],s=e.clientX,l=t.clientWidth,c=r.clientWidth,u=o.tableStyle&&_xeUtils.default.toNumber(o.tableStyle.minWidth)||80,g=c,f=-1,(0,_dom.addClass)(m,"is--split-drag"),p=function(e){var t=i.children[0],r=i.children[1],o=0,t=(t&&(f<0?(t.textContent="".concat(g,"px"),t.style.display="block",o=t.offsetHeight):t.style.display="none"),r&&(f<0?r.style.display="none":(r.textContent="".concat(Math.floor(a.width-g),"px"),r.style.display="block",o=r.offsetHeight)),e.clientY-a.top-o/2);n.style.left="".concat(g,"px"),i.style.top="".concat(Math.min(a.height-o-1,Math.max(1,t)),"px")},document.onmousemove=function(e){e.preventDefault(),f=e.clientX-s,g=Math.min(l-80,Math.max(u,c+f)),p(e)},document.onmouseup=function(){document.onmousemove=null,document.onmouseup=null,n.style.display="",r.style.width="".concat(g,"px"),(0,_dom.removeClass)(m,"is--split-drag");var e=d.$refs.refTable;e&&e.recalculate(!0)},n.style.display="block",p(e))},handleSplitLeftViewEvent:function(){var e=this.reactData;e.showLeftView=!e.showLeftView},handleSplitRightViewEvent:function(){var e=this.reactData;e.showRightView=!e.showRightView},getDefaultFormData:function(){var n,e=this.computeFormOpts;return e.items?(n={},e.items.forEach(function(e){var t,r=e.field,o=e.itemRender;r&&(t=null,o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?t=o({item:e}):_xeUtils.default.isUndefined(o)||(t=o)),n[r]=t)}),n):{}},initProxy:function(){var t=this,e=t.reactData,r=t.proxyConfig,o=e.proxyInited,n=t.computeProxyOpts,a=t.computeFormOpts;r&&((0,_utils.isEnableConf)(t.formConfig)&&n.form&&a.items&&(e.formData=t.getDefaultFormData()),o||!1===n.autoLoad||(e.proxyInited=!0,t.$nextTick().then(function(){return t.commitProxy("initial")}).then(function(e){t.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))})))},handleGlobalKeydownEvent:function(e){var t=this.reactData,r=this.computeZoomOpts;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&t.isZMax&&!1!==r.escRestore&&this.triggerZoomEvent(e)},getEl:function(){return this.$refs.refElem},commitProxy:function(t){for(var n=this,e=n,a=n.reactData,F=e.toolbar,M=e.proxyConfig,r=e.toolbarConfig,i=e.pagerConfig,R=e.editRules,j=e.validConfig,s=a.tablePage,q=n.computeIsActiveMsg,o=n.computeIsRespMsg,l=n.computeProxyOpts,A=n.computePagerOpts,e=n.computeToolbarOpts,z=l.beforeQuery,B=l.afterQuery,Z=l.beforeDelete,G=l.afterDelete,W=l.beforeSave,N=l.afterSave,c=l.ajax,u=void 0===c?{}:c,g=l.response||l.props||{},f=n.$refs.refTable,p=n.getFormData(),d=null,m=null,h=(m=_xeUtils.default.isString(t)?(c=e.buttons,d=(r=(r||F)&&(0,_utils.isEnableConf)(e)&&c?_xeUtils.default.findTree(c,function(e){return e.code===t},{children:"dropdowns"}):null)?r.item:null,t):(d=t).code,d?d.params:null),v=arguments.length,b=new Array(1<v?v-1:0),x=1;x<v;x++)b[x-1]=arguments[x];switch(m){case"insert":return f.insert({});case"insert_edit":return f.insert({}).then(function(e){e=e.row;return f.setEditRow(e,!0)});case"insert_actived":return f.insert({}).then(function(e){e=e.row;return f.setEditRow(e,!0)});case"mark_cancel":n.triggerPendingEvent(m);break;case"remove":return n.handleDeleteRow(m,"vxe.grid.removeSelectRecord",function(){return f.removeCheckboxRow()});case"import":f.importData(h);break;case"open_import":f.openImport(h);break;case"export":f.exportData(h);break;case"open_export":f.openExport(h);break;case"reset_custom":f.resetCustom(!0);break;case"initial":case"reload":case"query":var y,_,C,E,H,T,w,P=u.query,K=u.querySuccess,Y=u.queryError;if(P)return y="reload"===m,!(D="initial"===m)&&a.tableLoading?n.$nextTick():(_=[],C=[],E={},i&&((D||y)&&(s.currentPage=1),(0,_utils.isEnableConf)(i))&&(E=Object.assign({},s)),D?(M&&(0,_utils.isEnableConf)(l)&&l.form&&(p=n.getDefaultFormData(),a.formData=p),f&&(I=f.tableFullColumn,H=f.fullColumnFieldData,U=f.computeSortOpts.defaultSort,I.forEach(function(e){e.order=null}),U&&(_=(U=_xeUtils.default.isArray(U)?U:[U]).map(function(e){var t=e.field,e=e.order,r=H[t];return r&&(r=r.column)&&(r.order=e),{field:t,property:t,order:e}})),C=f.getCheckedFilters())):f&&(y?f.clearAll():(_=f.getSortColumns(),C=f.getCheckedFilters())),T={$table:f,$grid:null,$gantt:n,code:m,button:d,isInited:D,isReload:y,page:E,sort:_.length?_[0]:{},sorts:_,filters:C,form:p,options:P},a.sortData=_,a.filterData=C,a.tableLoading=!0,w=[T].concat(b),Promise.resolve((z||P).apply(void 0,_toConsumableArray(w))).then(function(e){var t,r,o=[];return a.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(A)?(r=g.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$table:f,$grid:null,$gantt:n}):_xeUtils.default.get(e,r||"page.total"))||0,s.total=_xeUtils.default.toNumber(r),t=g.result,o=(_xeUtils.default.isFunction(t)?t({data:e,$table:f,$grid:null,$gantt:n}):_xeUtils.default.get(e,t||"result"))||[],t=Math.max(Math.ceil(r/s.pageSize),1),s.currentPage>t&&(s.currentPage=t)):(r=g.list,o=(r?_xeUtils.default.isFunction(r)?r({data:e,$table:f,$grid:null,$gantt:n}):_xeUtils.default.get(e,r):e)||[])),f?f.loadData(o):f.$nextTick(function(){f&&f.loadData(o)}),B&&B.apply(void 0,_toConsumableArray(w)),K&&K(Object.assign(Object.assign({},T),{response:e})),{status:!0}}).catch(function(e){return a.tableLoading=!1,Y&&Y(Object.assign(Object.assign({},T),{response:e})),{status:!1}}));(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break;case"delete":var S=u.delete,X=u.deleteSuccess,Q=u.deleteError;if(S){var O=f.getCheckboxRecords(),k=O.filter(function(e){return!f.isInsertByRow(e)}),J={$table:f,$grid:null,$gantt:n,code:m,button:d,body:{removeRecords:k},form:p,options:S},ee=[J].concat(b);if(O.length)return n.handleDeleteRow(m,"vxe.grid.deleteSelectRecord",function(){return k.length?(a.tableLoading=!0,Promise.resolve((Z||S).apply(void 0,_toConsumableArray(ee))).then(function(e){return a.tableLoading=!1,f.setPendingRow(k,!1),o&&(_core.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_core.VxeUI.modal.message({content:n.getRespMsg(e,"vxe.grid.delSuccess"),status:"success"})),G?G.apply(void 0,_toConsumableArray(ee)):n.commitProxy("query"),X&&X(Object.assign(Object.assign({},J),{response:e})),{status:!0}}).catch(function(e){return a.tableLoading=!1,o&&(_core.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_core.VxeUI.modal.message({id:m,content:n.getRespMsg(e,"vxe.grid.operError"),status:"error"})),Q&&Q(Object.assign(Object.assign({},J),{response:e})),{status:!1}})):f.remove(O)});q&&(_core.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_core.VxeUI.modal.message({id:m,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"}))}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break;case"save":var $,V,te,re,L,oe,ne,I,ae=u.save,ie=u.saveSuccess,se=u.saveError;if(ae)return $=n.getRecordset(),V=$.insertRecords,te=$.removeRecords,re=$.updateRecords,L=$.pendingRecords,ne=[oe={$table:f,$grid:null,$gantt:n,code:m,button:d,body:$,form:p,options:ae}].concat(b),V.length&&($.pendingRecords=L.filter(function(e){return-1===V.indexOf(e)})),L.length&&($.insertRecords=V.filter(function(e){return-1===L.indexOf(e)})),I=Promise.resolve(),(I=R?n[j&&"full"===j.msgMode?"fullValidate":"validate"]($.insertRecords.concat(re)):I).then(function(e){if(!e)return $.insertRecords.length||te.length||re.length||$.pendingRecords.length?(a.tableLoading=!0,Promise.resolve((W||ae).apply(void 0,_toConsumableArray(ne))).then(function(e){return a.tableLoading=!1,f.clearPendingRow(),o&&(_core.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_core.VxeUI.modal.message({content:n.getRespMsg(e,"vxe.grid.saveSuccess"),status:"success"})),N?N.apply(void 0,_toConsumableArray(ne)):n.commitProxy("query"),ie&&ie(Object.assign(Object.assign({},oe),{response:e})),{status:!0}}).catch(function(e){return a.tableLoading=!1,o&&(_core.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_core.VxeUI.modal.message({id:m,content:n.getRespMsg(e,"vxe.grid.operError"),status:"error"})),se&&se(Object.assign(Object.assign({},oe),{response:e})),{status:!1}})):void(q&&(_core.VxeUI.modal||(0,_log.errLog)("vxe.error.reqModule",["Modal"]),_core.VxeUI.modal.message({id:m,content:getI18n("vxe.grid.dataUnchanged"),status:"info"})))});(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break;default:var D,U=commands.get(m);U&&((D=U.tableCommandMethod||U.commandMethod)?D.apply(void 0,[{code:m,button:d,$grid:null,$table:f,$gantt:n}].concat(b)):(0,_log.errLog)("vxe.error.notCommands",[m]))}return n.$nextTick()},getParams:function(){return this.params},zoom:function(){return this.reactData.isZMax?this.revert():this.maximize()},isMaximized:function(){return this.reactData.isZMax},maximize:function(){return this.handleZoom(!0)},revert:function(){return this.handleZoom()},getFormData:function(){var e=this.reactData,t=this.proxyConfig,e=e.formData,r=this.computeProxyOpts,o=this.computeFormOpts;return t&&(0,_utils.isEnableConf)(r)&&r.form?e:o.data},getFormItems:function(e){var t=this.computeFormOpts,r=this.formConfig,o=t.items,n=[];return _xeUtils.default.eachTree(r&&(0,_utils.isEnableConf)(t)&&o?o:[],function(e){n.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?n:n[e]},resetForm:function(){var e=this.$refs.refForm;return e?e.reset():this.$nextTick()},validateForm:function(){var e=this.$refs.refForm;return e?e.validate():this.$nextTick()},validateFormField:function(e){var t=this.$refs.refForm;return t?t.validateField(e):this.$nextTick()},clearFormValidate:function(e){var t=this.$refs.refForm;return t?t.clearValidate(e):this.$nextTick()},homePage:function(){return this.reactData.tablePage.currentPage=1,this.$nextTick()},homePageByEvent:function(e){var t=this.$refs.refPager;t&&t.homePageByEvent(e)},endPage:function(){var e=this.reactData.tablePage,t=this.computePageCount;return e.currentPage=t,this.$nextTick()},endPageByEvent:function(e){var t=this.$refs.refPager;t&&t.endPageByEvent(e)},setCurrentPage:function(e){var t=this.reactData.tablePage,r=this.computePageCount;return t.currentPage=Math.min(r,Math.max(1,_xeUtils.default.toNumber(e))),this.$nextTick()},setCurrentPageByEvent:function(e,t){var r=this.$refs.refPager;r&&r.setCurrentPageByEvent(e,t)},setPageSize:function(e){return this.reactData.tablePage.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),this.$nextTick()},setPageSizeByEvent:function(e,t){var r=this.$refs.refPager;r&&r.setPageSizeByEvent(e,t)},getProxyInfo:function(){var e,t=this.$refs.refTable,r=this.reactData;return this.proxyConfig?(e=r.sortData,{data:t?t.getFullData():[],filter:r.filterData,form:this.getFormData(),sort:e.length?e[0]:{},sorts:e,pager:r.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},refreshTaskView:function(){var e=this.$refs.refGanttView;return e?e.refreshData():this.$nextTick()},hasTableViewVisible:function(){return this.reactData.showLeftView},showTableView:function(){return this.reactData.showLeftView=!0,this.$nextTick()},hideTableView:function(){return this.reactData.showLeftView=!1,this.$nextTick()},hasTaskViewVisible:function(){return this.reactData.showRightView},showTaskView:function(){return this.reactData.showRightView=!0,this.$nextTick()},hideTaskView:function(){return this.reactData.showRightView=!1,this.$nextTick()},callSlot:function(e,t,r){var o=this.$scopedSlots;return e&&(_xeUtils.default.isString(e)&&(e=o[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e.call(this,t,r)):[]},getExcludeHeight:function(){var e,t,r,o,n,a=this,i=a.reactData.isZMax,s=a.$refs.refElem;return s?(e=a.$refs.refFormWrapper,t=a.$refs.refToolbarWrapper,r=a.$refs.refTopWrapper,o=a.$refs.refBottomWrapper,a=a.$refs.refPagerWrapper,n=s.parentElement,(!i&&n?(0,_dom.getPaddingTopBottomSize)(n):0)+(0,_dom.getPaddingTopBottomSize)(s)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(a)):0},getParentHeight:function(){var e=this.reactData,t=this.$refs.refElem;return t?(t=t.parentElement,(e.isZMax?(0,_dom.getDomNode)().visibleHeight:t?_xeUtils.default.toNumber(getComputedStyle(t).height):0)-this.getExcludeHeight()):0},triggerToolbarCommitEvent:function(e,t){var r=this,o=e.code;return r.commitProxy(e,t).then(function(e){o&&e&&e.status&&["query","reload","delete","save"].includes(o)&&r.dispatchEvent("delete"===o||"save"===o?"proxy-".concat(o):"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===o}),t)})},triggerToolbarBtnEvent:function(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent:function(e,t){this.triggerToolbarCommitEvent(e,t),this.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent:function(e){var t=this.reactData;this.zoom(),this.dispatchEvent("zoom",{type:t.isZMax?"max":"revert"},e)},handleTaskCellClickEvent:function(e,t){var r,o,n,a,i,s,l,c=this.$refs.refTable;c&&(r=c.highlightCurrentRow,o=c.radioColumn,n=c.checkboxColumn,a=c.computeRadioOpts,i=c.computeCheckboxOpts,s=c.computeRowOpts,l=t.row,(s.isCurrent||r)&&c.triggerCurrentRowEvent(e,Object.assign({$table:c,rowIndex:c.getRowIndex(l),$rowIndex:c.getVMRowIndex(l)},t)),o&&"row"===a.trigger&&c.triggerRadioRowEvent(e,t),n)&&"row"===i.trigger&&c.handleToggleCheckRowEvent(e,t),this.dispatchEvent("task-cell-click",t,e)},handleTaskCellDblclickEvent:function(e,t){this.dispatchEvent("task-cell-dblclick",t,e)},handleTaskBarClickEvent:function(e,t){this.dispatchEvent("task-bar-click",t,e)},handleTaskBarDblclickEvent:function(e,t){this.dispatchEvent("task-bar-dblclick",t,e)},loadColumn:function(e){var r=this.$scopedSlots,t=this.$refs.refTable;return _xeUtils.default.eachTree(e,function(e){var t=e.type;e.slots&&_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||r[e]||(0,_log.errLog)("vxe.error.notSlot",[e])}),"expand"===t&&(0,_log.errLog)("vxe.error.errProp",["type=expand","type=seq,radio,checkbox,html"])}),t.loadColumn(e)},reloadColumn:function(e){return this.clearAll(),this.loadColumn(e)},getConfigSlot:function(e){var r=this.$scopedSlots,o={};return _xeUtils.default.objectMap(e,function(e,t){e&&(_xeUtils.default.isString(e)?r[e]?o[t]=r[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):o[t]=e)}),o},getToolbarSlots:function(){var e,t,r,o,n=this,a=n.$scopedSlots,i=n.computeToolbarOpts.slots,s={};return!a.buttons||i&&"buttons"===i.buttons||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.buttons"]),!a.tools||i&&"tools"===i.tools||(0,_log.warnLog)("vxe.error.reqProp",["toolbar-config.slots.tools"]),i&&(a=n.getFuncSlot(i,"buttons"),e=n.getFuncSlot(i,"buttonPrefix"),t=n.getFuncSlot(i,"buttonSuffix"),r=n.getFuncSlot(i,"tools"),o=n.getFuncSlot(i,"toolPrefix"),n=n.getFuncSlot(i,"toolSuffix"),a&&(s.buttons=a),e&&(s.buttonPrefix=e),t&&(s.buttonSuffix=t),r&&(s.tools=r),o&&(s.toolPrefix=o),n)&&(s.toolSuffix=n),s},getFuncSlot:function(e,t){var r=this.$scopedSlots,e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(r[e])return r[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},renderDefaultForm:function(e){var t,r,o=_core.VxeUI.getComponent("VxeForm"),n=this,a=n.$scopedSlots,i=n.proxyConfig,s=n.reactData.formData,l=n.computeProxyOpts,c=n.computeFormOpts;return(0,_utils.isEnableConf)(n.formConfig)&&c.items&&c.items.length?(t={},c.inited||(c.inited=!0,r=l.beforeItem,l&&r&&c.items.forEach(function(e){r.call(n,{$grid:n,$gantt:null,item:e})})),c.items.forEach(function(e){_xeUtils.default.each(e.slots,function(e){_xeUtils.default.isFunction(e)||a[e]&&(t[e]=a[e])})}),[o?e(o,{props:Object.assign({},c,{data:i&&l.form?s:c.data}),on:{submit:n.submitFormEvent,reset:n.resetFormEvent,collapse:n.collapseEvent,"submit-invalid":n.submitInvalidEvent},scopedSlots:t}):renderEmptyElement(n)]):[]},renderForm:function(e){var t=this,r=t.$scopedSlots,o=t.formConfig,r=r.form;return!r&&!(0,_utils.isEnableConf)(o)?renderEmptyElement(t):e("div",{key:"form",ref:"refFormWrapper",class:"vxe-gantt--form-wrapper"},r?r.call(t,{$grid:null,$gantt:t}):t.renderDefaultForm(e))},renderToolbar:function(e){var t=_core.VxeUI.getComponent("VxeToolbar"),r=this,o=r.$scopedSlots,n=r.toolbarConfig,o=o.toolbar,a=r.computeToolbarOpts;return n&&(0,_utils.isEnableConf)(a)||o?e("div",{key:"toolbar",ref:"refToolbarWrapper",class:"vxe-gantt--toolbar-wrapper"},o?o.call(r,{$grid:null,$gantt:r}):[e(t,{props:Object.assign({},a,{slots:void 0}),ref:"refToolbar",scopedSlots:r.getToolbarSlots()})]):renderEmptyElement(r)},renderTop:function(e){var t=this.$scopedSlots.top;return t?e("div",{key:"top",ref:"refTopWrapper",class:"vxe-gantt--top-wrapper"},t.call(this,{$grid:null,$gantt:this})):renderEmptyElement(this)},renderTableLeft:function(e){var t=this.$scopedSlots.left;return t?e("div",{class:"vxe-gantt--left-wrapper"},t({$grid:null,$gantt:this})):renderEmptyElement(this)},renderTableRight:function(e){var t=this.$scopedSlots.right;return t?e("div",{class:"vxe-gantt--right-wrapper"},t({$grid:null,$gantt:this})):renderEmptyElement(this)},renderTable:function(e){var t=this.$scopedSlots,r=this.computeTableProps;return e("div",{ref:"refTableWrapper",class:"vxe-gantt--table-wrapper"},[e(_vxeTable.VxeTable,{key:"table",props:r,on:getTableOns(this),scopedSlots:t,ref:"refTable"})])},renderBottom:function(e){var t=this.$scopedSlots.bottom;return t?e("div",{key:"bottom",ref:"refBottomWrapper",class:"vxe-gantt--bottom-wrapper"},t.call(this,{$grid:null,$gantt:this})):renderEmptyElement(this)},renderPager:function(e){var t=_core.VxeUI.getComponent("VxePager"),r=this,o=r.$scopedSlots,n=r.reactData,a=r.proxyConfig,i=r.computeProxyOpts,s=r.computePagerOpts,l=o.pager;return r.pagerConfig&&(0,_utils.isEnableConf)(s)||o.pager?e("div",{ref:"refPagerWrapper",key:"pager",class:"vxe-gantt--pager-wrapper"},l?l.call(r,{$grid:null,$gantt:r}):[t?e(t,{ref:"refPager",props:Object.assign(Object.assign({},s),a&&(0,_utils.isEnableConf)(i)?n.tablePage:{}),on:{"page-change":r.pageChangeEvent},scopedSlots:r.getConfigSlot(s.slots)}):renderEmptyElement(r)]):renderEmptyElement(r)},renderTaskView:function(e){return e("div",{ref:"refGanttWrapper",class:"vxe-gantt--view-wrapper"},[e(_ganttView.default,{ref:"refGanttView"})])},renderSplitBar:function(e){var t=this,r=t.reactData,o=r.showLeftView,r=r.showRightView,n=t.computeTaskSplitOpts,a=n.enabled,i=n.showCollapseTableButton,s=n.showCollapseTaskButton;return a?(a={},(n=n.resize&&o&&r)&&(a.mousedown=t.dragSplitEvent),e("div",{class:["vxe-gantt--view-split-bar",{"is--resize":n}]},[e("div",{class:"vxe-gantt--view-split-bar-handle",on:a}),i||s?e("div",{class:"vxe-gantt--view-split-bar-btn-wrapper"},[i&&r?e("div",{class:"vxe-gantt--view-split-bar-left-btn",on:{click:t.handleSplitLeftViewEvent}},[e("i",{class:o?getIcon().GANTT_VIEW_LEFT_OPEN:getIcon().GANTT_VIEW_LEFT_CLOSE})]):renderEmptyElement(t),s&&o?e("div",{class:"vxe-gantt--view-split-bar-right-btn",on:{click:t.handleSplitRightViewEvent}},[e("i",{class:r?getIcon().GANTT_VIEW_RIGHT_OPEN:getIcon().GANTT_VIEW_RIGHT_CLOSE})]):renderEmptyElement(t)]):renderEmptyElement(t)])):renderEmptyElement(t)},renderChildLayout:function(t,e){var r=this,o=[];return e.forEach(function(e){switch(e){case"Form":o.push(r.renderForm(t));break;case"Toolbar":o.push(r.renderToolbar(t));break;case"Top":o.push(r.renderTop(t));break;case"Gantt":o.push(t("div",{ref:"refGanttContainerElem",key:"tv",class:"vxe-gantt--gantt-container"},[r.renderTableLeft(t),r.renderTable(t),r.renderSplitBar(t),r.renderTaskView(t),r.renderTableRight(t),t("div",{ref:"refClassifyWrapperElem"}),t("div",{ref:"refResizableSplitTip",class:"vxe-gantt--resizable-split-tip"},[t("div",{class:"vxe-gantt--resizable-split-tip-number"},[t("div",{class:"vxe-gantt--resizable-split-number-left"},"10px"),t("div",{class:"vxe-gantt--resizable-split-number-right"},"20px")])]),t("div",{class:"vxe-gantt--border-line"})]));break;case"Bottom":o.push(r.renderBottom(t));break;case"Pager":o.push(r.renderPager(t));break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> ".concat(e)])}}),o},renderLayout:function(e){var t=this,r=t.$scopedSlots,o=t.computeCurrLayoutConf,n=o.headKeys,a=o.bodyKeys,o=o.footKeys,i=r.asideLeft||r["aside-left"],r=r.asideRight||r["aside-right"];return[e("div",{class:"vxe-gantt--layout-header-wrapper"},t.renderChildLayout(e,n)),e("div",{class:"vxe-gantt--layout-body-wrapper"},[i?e("div",{class:"vxe-gantt--layout-aside-left-wrapper"},i({})):renderEmptyElement(t),e("div",{class:"vxe-gantt--layout-body-content-wrapper"},t.renderChildLayout(e,a)),r?e("div",{class:"vxe-gantt--layout-aside-right-wrapper"},r({})):renderEmptyElement(t)]),e("div",{class:"vxe-gantt--layout-footer-wrapper"},t.renderChildLayout(e,o))]},renderVN:function(e){var t=this,r=t,o=t.reactData,n=o.showLeftView,a=o.showRightView,i=t.computeSize,s=t.computeStyles,l=t.computeIsLoading,c=t.computeScrollbarXToTop,u=t.computeScrollbarYToLeft;return e("div",{ref:"refElem",class:["vxe-gantt","border--".concat(t.computeTableBorder),"sx-pos--".concat(c?"top":"bottom"),"sy-pos--".concat(u?"left":"right"),_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(i),i),"is--round",r.round),"is--maximize",o.isZMax),"is--loading",l),"show--left",n),"show--right",a)],style:s},t.renderLayout(e))}}),created:function(){var e=_core.VxeUI.getComponent("VxeForm"),t=_core.VxeUI.getComponent("VxePager"),r=_core.VxeUI.getComponent("VxeToolbar"),o=this,n=o,a=o.computeProxyOpts;n.toolbar&&(0,_log.errLog)("vxe.error.delProp",["grid.toolbar","grid.toolbar-config"]),n.toolbarConfig&&!_xeUtils.default.isObject(n.toolbarConfig)&&(0,_log.errLog)("vxe.error.errProp",["grid.toolbar-config=".concat(n.toolbarConfig),"grid.toolbar-config={}"]),a.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),n.expandConfig&&(0,_log.warnLog)("vxe.error.notProp",["expand-config"]),n.aggregateConfig&&(0,_log.warnLog)("vxe.error.notProp",["aggregate-config"]),o.$nextTick(function(){n.formConfig&&!e&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),n.pagerConfig&&!t&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),n.toolbarConfig&&!r&&(0,_log.errLog)("vxe.error.reqComp",["vxe-toolbar"])}),o.handleTaskScaleConfig(),o.initPages()},mounted:function(){var e=this,t=e.columns;t&&t.length&&e.loadColumn(t),e.initToolbar(),e.initProxy(),e.initGanttView(),globalEvents.on(e,"keydown",e.handleGlobalKeydownEvent)},destroyed:function(){var e=this.internalData;globalEvents.off(this,"keydown"),_xeUtils.default.assign(e,createInternalData())},render:function(e){return this.renderVN(e)}});
|