vxe-gantt 0.0.3 → 3.0.0-beta.1

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.
Files changed (106) hide show
  1. package/README.md +14 -46
  2. package/es/components.js +3 -2
  3. package/es/gantt/src/gantt-body.js +83 -49
  4. package/es/gantt/src/gantt-chart.js +91 -43
  5. package/es/gantt/src/gantt-header.js +63 -36
  6. package/es/gantt/src/gantt-view.js +638 -586
  7. package/es/gantt/src/gantt.js +1346 -1178
  8. package/es/gantt/src/util.js +1 -4
  9. package/es/gantt/style.css +62 -28
  10. package/es/gantt/style.min.css +1 -1
  11. package/es/index.esm.js +5 -2
  12. package/es/style.css +1 -1
  13. package/es/style.min.css +1 -1
  14. package/es/ui/index.js +9 -3
  15. package/es/ui/src/comp.js +1 -2
  16. package/es/ui/src/log.js +3 -2
  17. package/es/ui/src/utils.js +17 -17
  18. package/es/vxe-gantt/style.css +62 -28
  19. package/es/vxe-gantt/style.min.css +1 -1
  20. package/helper/vetur/attributes.json +1 -1
  21. package/helper/vetur/tags.json +1 -1
  22. package/lib/components.js +20 -19
  23. package/lib/components.min.js +1 -1
  24. package/lib/gantt/index.js +3 -3
  25. package/lib/gantt/index.min.js +1 -1
  26. package/lib/gantt/src/gantt-body.js +109 -87
  27. package/lib/gantt/src/gantt-body.min.js +1 -1
  28. package/lib/gantt/src/gantt-chart.js +109 -69
  29. package/lib/gantt/src/gantt-chart.min.js +1 -1
  30. package/lib/gantt/src/gantt-header.js +75 -56
  31. package/lib/gantt/src/gantt-header.min.js +1 -1
  32. package/lib/gantt/src/gantt-view.js +684 -686
  33. package/lib/gantt/src/gantt-view.min.js +1 -1
  34. package/lib/gantt/src/gantt.js +1630 -1559
  35. package/lib/gantt/src/gantt.min.js +1 -1
  36. package/lib/gantt/src/util.js +1 -4
  37. package/lib/gantt/src/util.min.js +1 -1
  38. package/lib/gantt/style/style.css +62 -28
  39. package/lib/gantt/style/style.min.css +1 -1
  40. package/lib/index.common.js +12 -7
  41. package/lib/index.umd.js +10704 -5870
  42. package/lib/index.umd.min.js +1 -1
  43. package/lib/style.css +1 -1
  44. package/lib/style.min.css +1 -1
  45. package/lib/ui/index.js +12 -16
  46. package/lib/ui/index.min.js +1 -1
  47. package/lib/ui/src/comp.js +3 -2
  48. package/lib/ui/src/comp.min.js +1 -1
  49. package/lib/ui/src/dom.js +33 -33
  50. package/lib/ui/src/dom.min.js +1 -1
  51. package/lib/ui/src/log.js +4 -3
  52. package/lib/ui/src/log.min.js +1 -1
  53. package/lib/ui/src/utils.js +21 -24
  54. package/lib/ui/src/utils.min.js +1 -1
  55. package/lib/vxe-gantt/index.js +4 -2
  56. package/lib/vxe-gantt/index.min.js +1 -1
  57. package/lib/vxe-gantt/style/style.css +62 -28
  58. package/lib/vxe-gantt/style/style.min.css +1 -1
  59. package/lib/vxe-ui/index.js +4 -2
  60. package/lib/vxe-ui/index.min.js +1 -1
  61. package/package.json +13 -13
  62. package/packages/components.ts +8 -5
  63. package/packages/gantt/index.ts +2 -2
  64. package/packages/gantt/src/gantt-body.ts +89 -53
  65. package/packages/gantt/src/gantt-chart.ts +100 -49
  66. package/packages/gantt/src/gantt-header.ts +69 -39
  67. package/packages/gantt/src/gantt-view.ts +692 -624
  68. package/packages/gantt/src/gantt.ts +1459 -1240
  69. package/packages/gantt/src/util.ts +1 -4
  70. package/packages/index.ts +6 -2
  71. package/packages/ui/index.ts +9 -3
  72. package/packages/ui/src/comp.ts +2 -2
  73. package/packages/ui/src/log.ts +3 -1
  74. package/packages/ui/src/utils.ts +22 -21
  75. package/styles/components/gantt-module/gantt-chart.scss +28 -9
  76. package/styles/components/gantt.scss +36 -21
  77. package/styles/theme/base.scss +5 -1
  78. package/types/all.d.ts +3 -3
  79. package/types/index.d.ts +2 -2
  80. package/README.en.md +0 -72
  81. package/README.ja-JP.md +0 -72
  82. package/README.zh-TW.md +0 -73
  83. package/es/gantt/src/emits.js +0 -4
  84. package/es/gantt/src/grid-emits.js +0 -16
  85. package/es/gantt/src/grid-props.js +0 -7
  86. package/es/gantt/src/props.js +0 -2
  87. package/es/gantt/src/table-emits.js +0 -97
  88. package/es/gantt/src/table-props.js +0 -298
  89. package/lib/gantt/src/emits.js +0 -8
  90. package/lib/gantt/src/emits.min.js +0 -1
  91. package/lib/gantt/src/grid-emits.js +0 -8
  92. package/lib/gantt/src/grid-emits.min.js +0 -1
  93. package/lib/gantt/src/grid-props.js +0 -24
  94. package/lib/gantt/src/grid-props.min.js +0 -1
  95. package/lib/gantt/src/props.js +0 -13
  96. package/lib/gantt/src/props.min.js +0 -1
  97. package/lib/gantt/src/table-emits.js +0 -7
  98. package/lib/gantt/src/table-emits.min.js +0 -1
  99. package/lib/gantt/src/table-props.js +0 -306
  100. package/lib/gantt/src/table-props.min.js +0 -1
  101. package/packages/gantt/src/emits.ts +0 -7
  102. package/packages/gantt/src/grid-emits.ts +0 -19
  103. package/packages/gantt/src/grid-props.ts +0 -23
  104. package/packages/gantt/src/props.ts +0 -13
  105. package/packages/gantt/src/table-emits.ts +0 -109
  106. package/packages/gantt/src/table-props.ts +0 -304
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_dom=require("../../ui/src/dom"),_ui=require("../../ui"),_util=require("./util"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ganttHeader=_interopRequireDefault(require("./gantt-header")),_ganttBody=_interopRequireDefault(require("./gantt-body"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let globalEvents=_ui.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}}}let maxYHeight=5e6,maxXWidth=5e6;var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGanttView",setup(e,l){var t=_xeUtils.default.uniqueId();let{computeTaskViewOpts:c,computeStartField:h,computeEndField:g,computeScrollbarOpts:o,computeScrollbarXToTop:f,computeScrollbarYToLeft:r}=(0,_vue.inject)("$xeGantt",{}).getComputeMaps(),m=(0,_vue.ref)(),p=(0,_vue.ref)(),x=(0,_vue.ref)(),s=(0,_vue.ref)(),_=(0,_vue.ref)(),S=(0,_vue.ref)(),n=(0,_vue.ref)(),y=(0,_vue.ref)(),w=(0,_vue.ref)(),b=(0,_vue.ref)(),T=(0,_vue.ref)(),u=(0,_vue.ref)(),d=(0,_vue.ref)(),E=(0,_vue.ref)(),D=(0,_vue.reactive)({scrollXLoad:!1,scrollYLoad:!1,overflowY:!1,overflowX:!1,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}}),H=createInternalData(),k={refElem:m},z={},a={xID:t,props:e,context:l,reactData:D,internalData:H,getRefMaps:()=>k,getComputeMaps:()=>z},B=()=>{var e=H.xeTable;let a=null,i=null;if(e){let t=h.value,r=g.value;e=e.internalData.afterFullData;e.forEach(e=>{var l=_xeUtils.default.get(e,t),e=_xeUtils.default.get(e,r);l&&e&&(l=_xeUtils.default.toStringDate(l),(!a||a.getTime()>l.getTime())&&(a=l),l=_xeUtils.default.toStringDate(e),!i||i.getTime()<l.getTime())&&(i=l)})}D.minViewDate=a,D.maxViewDate=i,H.startMaps={},H.endMaps={},(()=>{let{minViewDate:n,maxViewDate:e}=D;var t=[],l=[];switch(c.value.mode){case"year":case"quarter":case"month":case"week":break;default:if(n&&e){var r=n.getTime(),a=e.getTime()-n.getTime(),i=Math.max(6,Math.floor(a/864e5)+1),o=[],s=[],u={};for(let l=0;l<i;l++){var v=new Date(r+864e5*l),d=v.getFullYear()+"-"+(v.getMonth()+1),v=""+v.getDate();let e=u[d];v={field:d+"-"+v,title:v};e?(e.children.push(v),t.push(e)):(e={field:d,title:d,children:[v]},o.push(e),t.push(e),u[d]=e),s.push(v)}l.push(o,s);let c=H.xeTable;if(c){let i=h.value,o=g.value;a=c.internalData.afterFullData;let s={};a.forEach(e=>{var l,t=c.getRowid(e),r=_xeUtils.default.get(e,i),a=_xeUtils.default.get(e,o);r&&a&&(r=_xeUtils.default.toStringDate(r),a=_xeUtils.default.toStringDate(a),l=Math.floor((r.getTime()-n.getTime())/864e5),a=Math.floor((a.getTime()-r.getTime())/864e5)+1,s[t]={row:e,rowid:t,oLeftSize:l,oWidthSize:a})}),H.chartMaps=s}}}D.tableColumn=t,D.headerGroups=l})()},W=()=>{var{scrollXWidth:e,scrollYHeight:l}=D,t=H.elemStore,r=o.value,t=(0,_util.getRefElem)(t["main-body-wrapper"]),a=s.value,i=n.value;t&&(l=l>t.clientHeight,i&&(D.scrollbarWidth=r.width||i.offsetWidth-i.clientWidth||14),D.overflowY=l,i=e>t.clientWidth,a&&(D.scrollbarHeight=r.height||a.offsetHeight-a.clientHeight||14),D.overflowX=i)},L=()=>{var{scrollbarWidth:a,scrollbarHeight:i,tableColumn:o}=D,s=H.elemStore,c=H.xeTable,n=m.value;if(n&&n.clientHeight){var u=f.value,v=_.value,d=S.value,h=p.value;let e=0,l=0,t=0;c&&(c=c.internalData,e=c.tBodyHeight,l=c.tHeaderHeight,t=c.tFooterHeight);c=(0,_util.getRefElem)(s["main-header-scroll"]),c=(c&&(c.style.height=l+"px"),(0,_util.getRefElem)(s["main-body-scroll"])),h=(c&&(c.style.height=e+"px"),h&&(h.style.height=i+"px",h.style.visibility="visible"),w.value),h=(h&&(h.style.left=u?a+"px":"",h.style.width=n.clientWidth-a+"px"),v&&(v.style.width=u?a+"px":"",v.style.display=u&&i?"block":""),d&&(d.style.width=u?"":a+"px",d.style.display=!u&&i?"block":""),x.value),n=(h&&(h.style.width=a+"px",h.style.height=e+l+t+"px",h.style.visibility="visible"),y.value),v=(n&&(n.style.height=l+"px",n.style.display=l?"block":""),b.value),d=(v&&(v.style.height=e+"px",v.style.top=l+"px"),T.value),u=(d&&(d.style.height=t+"px",d.style.top=l+e+"px",d.style.display=t?"block":""),E.value);u&&(D.viewCellWidth=u.clientWidth||40);let r=D.viewCellWidth*o.length;c&&0<(a=(i=c.clientWidth)-r)&&(D.viewCellWidth+=Math.floor(a/o.length),r=i);h=(0,_util.getRefElem)(s["main-header-table"]),n=(0,_util.getRefElem)(s["main-body-table"]);return h&&(h.style.width=r+"px"),n&&(n.style.width=r+"px"),D.scrollXWidth=r,(()=>{let t=D.viewCellWidth,{elemStore:e,chartMaps:r}=H;var l=(0,_util.getRefElem)(e["main-chart-wrapper"]);return l&&_xeUtils.default.arrayEach(l.children,e=>{var l=e.children[0];l&&(e=(e=e.getAttribute("rowid"))?r[e]:null)&&(l.style.left=t*e.oLeftSize+"px",l.style.width=t*e.oWidthSize+"px")}),(0,_vue.nextTick)()})()}},i=()=>(W(),L(),(0,_vue.nextTick)());let v=(e,l,t,r,a)=>{var i;i=H.lcsTimeout,D.lazScrollLoading=!0,i&&clearTimeout(i),H.lcsTimeout=setTimeout(()=>{H.lcsRunTime=Date.now(),H.lcsTimeout=void 0,H.intoRunScroll=!1,H.inVirtualScroll=!1,H.inWheelScroll=!1,H.inHeaderScroll=!1,H.inBodyScroll=!1,H.inFooterScroll=!1,D.lazScrollLoading=!1},200)},Y=e=>{var l=H.xeTable;l&&(l=l.internalData.elemStore,l=(0,_util.getRefElem)(l["main-body-scroll"]))&&(l.scrollTop=e)};t={handleUpdateStyle:L,handleLazyRecalculate:i,triggerHeaderScrollEvent(e){var{elemStore:l,inVirtualScroll:t,inBodyScroll:r,inFooterScroll:a}=H;t||r||a||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-body-scroll"]),a=s.value,r&&t&&(e=t.scrollLeft,H.inHeaderScroll=!0,(0,_dom.setScrollLeft)(a,e),(0,_dom.setScrollLeft)(r,e),v(0,0,0,t.scrollTop)))},triggerBodyScrollEvent(e){var l,{elemStore:t,inVirtualScroll:r,inHeaderScroll:a,inFooterScroll:i}=H;r||a||i||(r=e.currentTarget,a=(0,_util.getRefElem)(t["main-header-scroll"]),i=s.value,e=n.value,a&&r&&(t=r.scrollLeft,l=r.scrollTop,H.inBodyScroll=!0,(0,_dom.setScrollLeft)(i,t),(0,_dom.setScrollLeft)(a,t),(0,_dom.setScrollTop)(e,l),Y(l),v(0,0,0,r.scrollTop)))},triggerFooterScrollEvent(e){var{inVirtualScroll:l,inHeaderScroll:t,inBodyScroll:r}=H;l||t||r||(l=e.currentTarget)&&(l.scrollLeft,v(0,0,0,l.scrollTop))},triggerVirtualScrollXEvent(e){var{elemStore:l,inHeaderScroll:t,inBodyScroll:r}=H;t||r||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-header-scroll"]),e=(0,_util.getRefElem)(l["main-body-scroll"]),t&&(l=t.scrollLeft,H.inVirtualScroll=!0,(0,_dom.setScrollLeft)(r,l),(0,_dom.setScrollLeft)(e,l),v(0,0,0,t.scrollTop)))},triggerVirtualScrollYEvent(e){var{elemStore:l,inHeaderScroll:t,inBodyScroll:r}=H;t||r||(t=e.currentTarget,r=(0,_util.getRefElem)(l["main-body-scroll"]),t&&(e=t.scrollTop,H.inVirtualScroll=!0,(0,_dom.setScrollTop)(r,e),Y(e),v(0,0,0,0,t.scrollLeft)))},updateScrollXSpace:()=>{let{scrollXLoad:l,scrollXWidth:e}=D,t=H.elemStore;var r=(0,_util.getRefElem)(t["main-body-scroll"]),a=(0,_util.getRefElem)(t["main-body-table"]);let i=0,o=0,s=(r&&(o=r.clientWidth),!1),c=e;e>maxXWidth&&(i=r&&a&&r.scrollLeft+o>=maxXWidth?maxXWidth-a.clientWidth:(maxXWidth-o)*(i/(e-o)),c=maxXWidth,s=!0),a&&(a.style.transform=`translate(${i}px, ${D.scrollYTop||0}px)`);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(t[`main-${e}-xSpace`]);e&&(e.style.width=l?c+"px":"")}),D.scrollXLeft=i,D.scrollXWidth=c,D.isScrollXBig=s;r=u.value;return r&&(r.style.width=c+"px"),W(),(0,_vue.nextTick)().then(()=>{L()})},updateScrollYSpace:()=>{var{scrollYLoad:e,overflowY:l}=D;let t=H.elemStore;var r=H.xeTable,a=(0,_util.getRefElem)(t["main-body-scroll"]),i=(0,_util.getRefElem)(t["main-body-table"]);let o=0,s=0,c=!1,n=(r&&(r=r.reactData,o=r.scrollYTop,s=r.scrollYHeight,c=r.isScrollYBig),s),u=o,v=0;a&&(v=a.clientHeight),c&&(u=a&&i&&a.scrollTop+v>=maxYHeight?maxYHeight-i.clientHeight:(maxYHeight-v)*(o/(s-v)),n=maxYHeight),e&&l||(u=0),i&&(i.style.transform=`translate(${D.scrollXLeft||0}px, ${u}px)`);["header","body","footer"].forEach(e=>{e=(0,_util.getRefElem)(t[`main-${e}-ySpace`]);e&&(e.style.height=n?n+"px":"")});r=d.value;return r&&(r.style.height=n?n+"px":""),D.scrollYTop=u,D.scrollYHeight=s,D.isScrollYBig=c,W(),(0,_vue.nextTick)().then(()=>{L()})}};let q=()=>{i()},R=(Object.assign(a,{updateViewData(){var e=H.xeTable;return e&&(e=e.reactData.tableData,D.tableData=e),(0,_vue.nextTick)()},connectUpdate({$table:e}){return e&&(H.xeTable=e),(0,_vue.nextTick)()}},t),()=>(0,_vue.h)("div",{key:"vsx",ref:p,class:"vxe-gantt-view--scroll-x-virtual"},[(0,_vue.h)("div",{ref:_,class:"vxe-gantt-view--scroll-x-left-corner"}),(0,_vue.h)("div",{ref:w,class:"vxe-gantt-view--scroll-x-wrapper"},[(0,_vue.h)("div",{ref:s,class:"vxe-gantt-view--scroll-x-handle",onScroll:a.triggerVirtualScrollXEvent},[(0,_vue.h)("div",{ref:u,class:"vxe-gantt-view--scroll-x-space"})])]),(0,_vue.h)("div",{ref:S,class:"vxe-gantt-view--scroll-x-right-corner"})])),X=()=>(0,_vue.h)("div",{ref:x,class:"vxe-gantt-view--scroll-y-virtual"},[(0,_vue.h)("div",{ref:y,class:"vxe-gantt-view--scroll-y-top-corner"}),(0,_vue.h)("div",{ref:b,class:"vxe-gantt-view--scroll-y-wrapper"},[(0,_vue.h)("div",{ref:n,class:"vxe-gantt-view--scroll-y-handle",onScroll:a.triggerVirtualScrollYEvent},[(0,_vue.h)("div",{ref:d,class:"vxe-gantt-view--scroll-y-space"})])]),(0,_vue.h)("div",{ref:T,class:"vxe-gantt-view--scroll-y-bottom-corner"})]),V=()=>(0,_vue.h)("div",{class:"vxe-gantt-view--viewport-wrapper"},[(0,_vue.h)(_ganttHeader.default),(0,_vue.h)(_ganttBody.default)]),M=()=>{var e=r.value;return(0,_vue.h)("div",{class:"vxe-gantt-view--layout-wrapper"},e?[X(),V()]:[V(),X()])};let U=(0,_vue.ref)(0);return(0,_vue.watch)(()=>D.tableData,()=>{U.value++}),(0,_vue.watch)(()=>D.tableData.length,()=>{U.value++}),(0,_vue.watch)(U,()=>{B()}),(0,_vue.onMounted)(()=>{globalEvents.on(a,"resize",q)}),(0,_vue.onUnmounted)(()=>{globalEvents.off(a,"keydown"),_xeUtils.default.assign(H,createInternalData())}),a.renderVN=()=>{var{overflowX:e,overflowY:l,scrollXLoad:t,scrollYLoad:r}=D,a=c.value,i=f.value;return(0,_vue.h)("div",{ref:m,class:["vxe-gantt-view","mode--"+(a.mode||"day"),{"is--scroll-y":l,"is--scroll-x":e,"is--virtual-x":t,"is--virtual-y":r}]},[(0,_vue.h)("div",{class:"vxe-gantt-view--render-wrapper"},i?[R(),M()]:[M(),R()]),(0,_vue.h)("div",{class:"vxe-gantt-view--render-vars"},[(0,_vue.h)("div",{ref:E,class:"vxe-gantt-view--column-info"})])])},(0,_vue.provide)("$xeGanttView",a),a},render(){return this.renderVN()}});
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"));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,maxXWidth=5e6;function handleParseColumn(e){var t=e.$xeGantt,l=e.reactData,r=e.internalData,o=l.minViewDate,a=l.maxViewDate,i=[],n=[];switch(t.computeTaskViewOpts.mode){case"year":case"quarter":case"month":case"week":break;default:if(o&&a){for(var c=o.getTime(),s=a.getTime()-o.getTime(),d=Math.max(6,Math.floor(s/864e5)+1),u=[],f=[],h={},m=0;m<d;m++){var p=new Date(c+864e5*m),S="".concat(p.getFullYear(),"-").concat(p.getMonth()+1),p="".concat(p.getDate()),g=h[S],p={field:"".concat(S,"-").concat(p),title:p};g?(g.children.push(p),i.push(g)):(u.push(g={field:S,title:S,children:[p]}),i.push(g),h[S]=g),f.push(p)}n.push(u,f);var v,x,y,b=r.xeTable;b&&(v=t.computeStartField,x=t.computeEndField,s=b.afterFullData,y={},s.forEach(function(e){var t,l=b.getRowid(e),r=_xeUtils.default.get(e,v),a=_xeUtils.default.get(e,x);r&&a&&(r=_xeUtils.default.toStringDate(r),a=_xeUtils.default.toStringDate(a),t=Math.floor((r.getTime()-o.getTime())/864e5),a=Math.floor((a.getTime()-r.getTime())/864e5)+1,y[l]={row:e,rowid:l,oLeftSize:t,oWidthSize:a})}),r.chartMaps=y)}}l.tableColumn=i,l.headerGroups=n}function handleUpdateData(e){var l,r,t=e.$xeGantt,a=e.reactData,o=e.internalData,i=o.xeTable,n=null,c=null;i&&(l=t.computeStartField,r=t.computeEndField,i.afterFullData.forEach(function(e){var t=_xeUtils.default.get(e,l),e=_xeUtils.default.get(e,r);t&&e&&(t=_xeUtils.default.toStringDate(t),(!n||n.getTime()>t.getTime())&&(n=t),t=_xeUtils.default.toStringDate(e),!c||c.getTime()<t.getTime())&&(c=t)})),a.minViewDate=n,a.maxViewDate=c,o.startMaps={},o.endMaps={},handleParseColumn(e)}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=e.$xeGantt,s=e.reactData,d=e.internalData,u=s.scrollbarWidth,f=s.tableColumn,h=d.elemStore,d=d.xeTable,m=e.$refs.refElem;if(m&&m.clientHeight)return c=c.computeScrollbarXToTop,n=e.$refs.refScrollXLeftCornerElem,a=e.$refs.refScrollXRightCornerElem,i=e.$refs.refScrollXVirtualElem,u=u,o=s.scrollbarHeight,r=l=t=0,d&&(t=d.tBodyHeight,l=d.tHeaderHeight,r=d.tFooterHeight),(d=(0,_util.getRefElem)(h["main-header-scroll"]))&&(d.style.height="".concat(l,"px")),(d=(0,_util.getRefElem)(h["main-body-scroll"]))&&(d.style.height="".concat(t,"px")),i&&(i.style.height="".concat(o,"px"),i.style.visibility="visible"),(i=e.$refs.refScrollXWrapperElem)&&(i.style.left=c?"".concat(u,"px"):"",i.style.width="".concat(m.clientWidth-u,"px")),n&&(n.style.width=c?"".concat(u,"px"):"",n.style.display=c&&o?"block":""),a&&(a.style.width=c?"":"".concat(u,"px"),a.style.display=!c&&o?"block":""),(i=e.$refs.refScrollYVirtualElem)&&(i.style.width="".concat(u,"px"),i.style.height="".concat(t+l+r,"px"),i.style.visibility="visible"),(m=e.$refs.refScrollYTopCornerElem)&&(m.style.height="".concat(l,"px"),m.style.display=l?"block":""),(n=e.$refs.refScrollYWrapperElem)&&(n.style.height="".concat(t,"px"),n.style.top="".concat(l,"px")),(a=e.$refs.refScrollYBottomCornerElem)&&(a.style.height="".concat(r,"px"),a.style.top="".concat(l+t,"px"),a.style.display=r?"block":""),(c=e.$refs.refColInfoElem)&&(s.viewCellWidth=c.clientWidth||40),o=s.viewCellWidth*f.length,d&&0<(i=(u=d.clientWidth)-o)&&(s.viewCellWidth+=Math.floor(i/f.length),o=u),m=(0,_util.getRefElem)(h["main-header-table"]),n=(0,_util.getRefElem)(h["main-body-table"]),m&&(m.style.width="".concat(o,"px")),n&&(n.style.width="".concat(o,"px")),s.scrollXWidth=o,updateChart(e)}function _handleLazyRecalculate(e){return calcScrollbar(e),updateStyle(e),e.$nextTick()}function _updateScrollXSpace(e){var t=e.reactData,l=t.scrollXLoad,r=t.scrollXWidth,a=e.internalData.elemStore,o=(0,_util.getRefElem)(a["main-body-scroll"]),i=(0,_util.getRefElem)(a["main-body-table"]),n=0,c=0,s=(o&&(c=o.clientWidth),!1),d=r,o=(maxXWidth<r&&(n=o&&i&&o.scrollLeft+c>=maxXWidth?maxXWidth-i.clientWidth:n/(r-c)*(maxXWidth-c),d=maxXWidth,s=!0),i&&(i.style.transform="translate(".concat(n,"px, ").concat(t.scrollYTop||0,"px)")),["header","body","footer"].forEach(function(e){e=(0,_util.getRefElem)(a["main-".concat(e,"-xSpace")]);e&&(e.style.width=l?"".concat(d,"px"):"")}),t.scrollXLeft=n,t.scrollXWidth=d,t.isScrollXBig=s,e.$refs.refScrollXSpaceElem);return o&&(o.style.width="".concat(d,"px")),calcScrollbar(e),e.$nextTick().then(function(){updateStyle(e)})}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,u=(l&&(c=l.scrollYTop,s=l.scrollYHeight,d=l.isScrollYBig),s),l=c,f=0,i=(i&&(f=i.clientHeight),d&&(l=i&&n&&i.scrollTop+f>=maxYHeight?maxYHeight-n.clientHeight:c/(s-f)*(maxYHeight-f),u=maxYHeight),r&&a||(l=0),n&&(n.style.transform="translate(".concat(t.scrollXLeft||0,"px, ").concat(l,"px)")),["header","body","footer"].forEach(function(e){e=(0,_util.getRefElem)(o["main-".concat(e,"-ySpace")]);e&&(e.style.height=u?"".concat(u,"px"):"")}),e.$refs.refScrollYSpaceElem);return i&&(i.style.height=u?"".concat(u,"px"):""),t.scrollYTop=l,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:!1,overflowX:!1,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)},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)))},updateScrollXSpace:function(){return _updateScrollXSpace(this)},updateScrollYSpace:function(){return _updateScrollYSpace(this)},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)])},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)}});