vxe-gantt 4.0.15 → 4.0.16
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-body.js +11 -2
- package/es/gantt/src/gantt-chart.js +16 -3
- package/es/gantt/src/gantt-footer.js +7 -1
- package/es/gantt/src/gantt-header.js +7 -2
- package/es/gantt/src/gantt.js +44 -0
- package/es/ui/index.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/lib/gantt/src/gantt-body.js +25 -2
- package/lib/gantt/src/gantt-body.min.js +1 -1
- package/lib/gantt/src/gantt-chart.js +23 -2
- package/lib/gantt/src/gantt-chart.min.js +1 -1
- package/lib/gantt/src/gantt-footer.js +11 -1
- package/lib/gantt/src/gantt-footer.min.js +1 -1
- package/lib/gantt/src/gantt-header.js +9 -1
- package/lib/gantt/src/gantt-header.min.js +1 -1
- package/lib/gantt/src/gantt.js +52 -0
- package/lib/gantt/src/gantt.min.js +1 -1
- package/lib/index.umd.js +122 -8
- package/lib/index.umd.min.js +1 -1
- package/lib/ui/index.js +1 -1
- package/lib/ui/index.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/package.json +2 -2
- package/packages/gantt/src/gantt-body.ts +14 -4
- package/packages/gantt/src/gantt-chart.ts +17 -3
- package/packages/gantt/src/gantt-footer.ts +9 -2
- package/packages/gantt/src/gantt-header.ts +8 -2
- package/packages/gantt/src/gantt.ts +44 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_core=require("@vxe-ui/core"),_emits=require("./emits"),_tableEmits=require("./table-emits"),_log=require("../../ui/src/log"),_ganttView=_interopRequireDefault(require("./gantt-view")),_vxeTable=require("vxe-table");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getIcon,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_core.VxeUI,tableProps=_vxeTable.VxeTable.props,tableComponentPropKeys=Object.keys(tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeRowLevel","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect"],defaultLayouts=[["Form"],["Toolbar","Top","Gantt","Bottom","Pager"]];function createInternalData(){return{resizeTableWidth:0}}let 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}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGantt",mixins:[],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,taskResizeConfig:Object,taskDragConfig:Object,size:{type:String,default:()=>getConfig().gantt.size||getConfig().size}}),emits:_emits.ganttEmits,setup(c,e){let t,{slots:d,emit:r}=e;var T=_xeUtils.default.uniqueId();let n=_core.VxeUI.getComponent("VxeForm"),l=_core.VxeUI.getComponent("VxePager"),O=_core.VxeUI.getComponent("VxeTable"),P=_core.VxeUI.getComponent("VxeToolbar"),S=useFns.useSize(c).computeSize,V=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1},showLeftView:!0,showRightView:!0,taskScaleList:[]}),a=createInternalData(),s=(0,_vue.ref)(),U=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),g=(0,_vue.ref)(),o=(0,_vue.ref)(),v=(0,_vue.ref)(),p=(0,_vue.ref)(),m=(0,_vue.ref)(),f=(0,_vue.ref)(),I=(0,_vue.ref)(),q=(0,_vue.ref)(),z=(0,_vue.ref)(),A=(0,_vue.ref)(),G=(0,_vue.ref)(),H=(0,_vue.ref)(),N=(0,_vue.ref)();var Z=e=>{let t={};return e.forEach(a=>{t[a]=(...e)=>{var t=U.value;if(t&&t[a])return t[a](...e)}}),t};let K=Z(tableComponentMethodKeys),j=(tableComponentMethodKeys.forEach(a=>{K[a]=(...e)=>{var t=U.value;if(t&&t[a])return t&&t[a](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().gantt.proxyConfig,!0),c.proxyConfig))),W=(0,_vue.computed)(()=>{var e=j.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),L=(0,_vue.computed)(()=>{var e=j.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),M=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.pagerConfig,c.pagerConfig)),x=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.formConfig,c.formConfig)),F=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.toolbarConfig,c.toolbarConfig)),Y=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.zoomConfig,c.zoomConfig)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskConfig,c.taskConfig)),X=(0,_vue.computed)(()=>_xeUtils.default.merge({},getConfig().gantt.taskViewScaleConfs,c.taskViewScaleConfs)),b=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskViewConfig,c.taskViewConfig)),Q=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskBarConfig,c.taskBarConfig)),J=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskSplitConfig,c.taskSplitConfig)),_=(0,_vue.computed)(()=>{var e=b.value.scales;return e});var C=(0,_vue.computed)(()=>h.value.titleField||"title"),ee=(0,_vue.computed)(()=>h.value.startField||"start"),te=(0,_vue.computed)(()=>h.value.endField||"end"),ae=(0,_vue.computed)(()=>h.value.progressField||"progress");let w=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.scrollbarConfig,c.scrollbarConfig)),re=(0,_vue.computed)(()=>{var e=w.value;return!(!e.x||"top"!==e.x.position)}),oe=(0,_vue.computed)(()=>{var e=w.value;return!(!e.y||"left"!==e.y.position)}),le=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=c,{isZMax:a,tZindex:r}=V,o=b.value.tableStyle,l=Q.value.barStyle,n={};return a?n.zIndex=r:(e&&(n.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(n.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),l&&!_xeUtils.default.isFunction(l)&&({bgColor:a,completedBgColor:r}=l,a&&(n["--vxe-ui-gantt-view-task-bar-background-color"]=a),r)&&(n["--vxe-ui-gantt-view-task-bar-completed-background-color"]=r),o&&(e=o.width,e)&&(n["--vxe-ui-gantt-view-table-default-width"]=(0,_dom.toCssUnit)(e)),n}),ne=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{t[e]=c[e]}),t}),ie=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:a,proxyConfig:r}=c,{isZMax:o,tablePage:l}=V,n=b.value.tableStyle,i=ne.value,s=j.value,u=M.value,g=ve.value,d=Object.assign({},i,{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0});return n&&(n=n.border,_xeUtils.default.eqNull(n)||(d.border=n)),o&&(i.maxHeight?d.maxHeight="100%":d.height="100%"),r&&(0,_utils.isEnableConf)(s)&&(d.loading=g,t)&&s.seq&&(0,_utils.isEnableConf)(u)&&(d.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),a&&(d.editConfig=Object.assign({},a)),d}),se=(0,_vue.computed)(()=>{var e=c.layouts;let t=[],a=[],r=[],o=[];return(t=e&&e.length?e:getConfig().gantt.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(a=t[0],r=t[1]||[],o=t[2]||[]):r=t),{headKeys:a,bodyKeys:r,footKeys:o}});var ue=(0,_vue.computed)(()=>M.value.currentPage),ge=(0,_vue.computed)(()=>M.value.pageSize),de=(0,_vue.computed)(()=>M.value.total);let ce=(0,_vue.computed)(()=>{var e=V.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),ve=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=c,a=V.tableLoading,r=j.value,o=r.showLoading;return e||a&&o&&t&&(0,_utils.isEnableConf)(r)}),pe=(0,_vue.computed)(()=>{let e=c.border;var t=b.value.viewStyle;return!0===(e=t&&!_xeUtils.default.eqNull(t.border)?t.border:e)?"full":e||"default"}),me={refElem:s,refTable:U,refForm:i,refToolbar:u,refPager:g,refGanttContainerElem:o,refClassifyWrapperElem:v,refPopupContainerElem:m},fe={computeProxyOpts:j,computePagerOpts:M,computeFormOpts:x,computeToolbarOpts:F,computeZoomOpts:Y,computeTaskOpts:h,computeTaskViewScaleMapsOpts:X,computeTaskViewOpts:b,computeTaskBarOpts:Q,computeTaskSplitOpts:J,computeTaskScaleConfs:_,computeTitleField:C,computeStartField:ee,computeEndField:te,computeProgressField:ae,computeScrollbarOpts:w,computeScrollbarXToTop:re,computeScrollbarYToLeft:oe},$={xID:T,props:c,context:e,reactData:V,internalData:a,getRefMaps:()=>me,getComputeMaps:()=>fe},xe=()=>{var e=_.value;let r=X.value,o=[];if(e){let a={};e.forEach(e=>{var e=!e||_xeUtils.default.isString(e)?{type:e}:e,t=e.type;t&&viewTypeLevelMaps[t]?a[t]?(0,_log.errLog)("vxe.error.repeatProp",["type",t]):(a[t]=!0,o.push(Object.assign({},t&&r[t]||{},e,{level:getViewTypeLevel(t)}))):(0,_log.errLog)("vxe.error.errProp",["type="+t,_xeUtils.default.keys(viewTypeLevelMaps).join(",")])})}o.length||o.push({type:"month",level:viewTypeLevelMaps.month},{type:"date",level:viewTypeLevelMaps.date}),V.taskScaleList=_xeUtils.default.orderBy(o,{field:"level",order:"desc"})},he=()=>{var e=F.value;c.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=U.value,t=u.value;e&&t&&e.connectToolbar(t)})},B=()=>{var e=c.proxyConfig,t=V.formData,a=j.value,r=x.value;return e&&(0,_utils.isEnableConf)(a)&&a.form?t:r.data},y=e=>{var t=V.tablePage,a=c.pagerConfig,r=M.value;a&&(0,_utils.isEnableConf)(r)&&(e?r[e]&&(t[e]=_xeUtils.default.toNumber(r[e])):({currentPage:a,pageSize:e,total:r}=r,a&&(t.currentPage=a),e&&(t.pageSize=e),r&&(t.total=r)))},D=(e,t)=>{var a=j.value,a=(a.response||a.props||{}).message,r=U.value;let o;return(o=e&&a?_xeUtils.default.isFunction(a)?a({data:e,$table:r,$grid:null,$gantt:$}):_xeUtils.default.get(e,a):o)||getI18n(t)},be=(e,t,a)=>{var r=L.value,o=$.getCheckboxRecords();if(r)if(o.length){if(_core.VxeUI.modal)return _core.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return a()})}else _core.VxeUI.modal&&_core.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else o.length&&a();return Promise.resolve()},_e=e=>{var t=c.proxyConfig,a=V.tablePage;let{$event:r,currentPage:o,pageSize:l}=e;var n=j.value;a.currentPage=o,a.pageSize=l,$.dispatchEvent("page-change",e,r),t&&(0,_utils.isEnableConf)(n)&&$.commitProxy("query").then(e=>{$.dispatchEvent("proxy-query",e,r)})},Ce=t=>{var e,a=U.value,r=c.proxyConfig;a&&(a=a.getComputeMaps().computeSortOpts,e=j.value,a.value.remote)&&(V.sortData=t.sortList,r)&&(0,_utils.isEnableConf)(e)&&(V.tablePage.currentPage=1,$.commitProxy("query").then(e=>{$.dispatchEvent("proxy-query",e,t.$event)}))},we=e=>{Ce(e),$.dispatchEvent("sort-change",e,e.$event)},ye=e=>{Ce(e),$.dispatchEvent("clear-all-sort",e,e.$event)},Ee=t=>{var e,a=U.value,r=c.proxyConfig;a&&(a=a.getComputeMaps().computeFilterOpts,e=j.value,a.value.remote)&&(V.filterData=t.filterList,r)&&(0,_utils.isEnableConf)(e)&&(V.tablePage.currentPage=1,$.commitProxy("query").then(e=>{$.dispatchEvent("proxy-query",e,t.$event)}))},Re=e=>{Ee(e),$.dispatchEvent("filter-change",e,e.$event)},ke=e=>{Ee(e),$.dispatchEvent("clear-all-filter",e,e.$event)},Te=t=>{var e=c.proxyConfig,a=j.value;V.tableLoading||(e&&(0,_utils.isEnableConf)(a)&&$.commitProxy("reload").then(e=>{$.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),$.dispatchEvent("form-submit",t,t.$event))},Oe=e=>{var t=U.value,a=c.proxyConfig;let r=e.$event;var o=j.value;a&&(0,_utils.isEnableConf)(o)&&(t&&t.clearScroll(),$.commitProxy("reload").then(e=>{$.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),r)})),$.dispatchEvent("form-reset",e,r)},Pe=e=>{$.dispatchEvent("form-submit-invalid",e,e.$event)},Se=e=>{var t=e.$event;$.dispatchEvent("form-toggle-collapse",e,t),$.dispatchEvent("form-collapse",e,t)},Ie=e=>{var t=V.isZMax;return(e?!t:t)&&(V.isZMax=!t,V.tZindex<(0,_utils.getLastZIndex)())&&(V.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>$.recalculate(!0)).then(()=>(setTimeout(()=>$.recalculate(!0),15),V.isZMax))},E=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(d[e])return d[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},Ve=e=>{let a={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?d[e]?a[t]=d[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):a[t]=e)}),a},Ue=e=>{let c=s.value;if(c){var v=o.value;if(v){let d=G.value;if(d){let g=N.value;if(g){var p=b.value;let o=v.getBoundingClientRect(),l=g.children[0],t=e.clientX,a=v.clientWidth,r=d.clientWidth,n=p.tableStyle&&_xeUtils.default.toNumber(p.tableStyle.minWidth)||80,i=r,s=-1,u=((0,_dom.addClass)(c,"is--split-drag"),e=>{var t=l.children[0],a=l.children[1];let r=0;t&&(s<0?t.style.display="none":(t.textContent=i+"px",t.style.display="block",r=t.offsetHeight)),a&&(s<0?(a.textContent=Math.floor(o.width-i)+"px",a.style.display="block",r=a.offsetHeight):a.style.display="none");t=e.clientY-o.top-r/2;g.style.left=i+"px",l.style.top=Math.min(o.height-r-1,Math.max(1,t))+"px"});document.onmousemove=e=>{e.preventDefault(),s=e.clientX-t,i=Math.min(a-80,Math.max(n,r+s)),u(e)},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,g.style.display="",d.style.width=i+"px",(0,_dom.removeClass)(c,"is--split-drag");var e=U.value;e&&e.recalculate(!0)},g.style.display="block",u(e)}}}}},je=()=>{V.showLeftView=!V.showLeftView},Le=()=>{V.showRightView=!V.showRightView},Me={},Fe=(_tableEmits.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);Me[e]=(...e)=>r(t,...e)}),()=>{var e=x.value;if(e.items){let o={};return e.items.forEach(t=>{var{field:a,itemRender:r}=t;if(a){let e=null;r&&(r=r.defaultValue,_xeUtils.default.isFunction(r)?e=r({item:t}):_xeUtils.default.isUndefined(r)||(e=r)),o[a]=e}}),o}return{}}),$e=()=>{var{proxyConfig:e,formConfig:t}=c,a=V.proxyInited,r=j.value,o=x.value;e&&(0,_utils.isEnableConf)(r)&&(t&&(0,_utils.isEnableConf)(o)&&r.form&&o.items&&(V.formData=Fe()),a||!(V.proxyInited=!0)!==r.autoLoad&&(0,_vue.nextTick)().then(()=>$.commitProxy("initial")).then(e=>{De("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},Be=e=>{var t=Y.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&V.isZMax&&!1!==t.escRestore&&$.triggerZoomEvent(e)},De=(e,t,a)=>{r(e,createEvent(a,{$grid:null,$gantt:$},t))};C={dispatchEvent:De,getEl(){return s.value},commitProxy(t,...v){let{proxyConfig:r,toolbarConfig:e,pagerConfig:i,editRules:p,validConfig:m}=c,s=V.tablePage,f=L.value,x=W.value;var u=j.value;let h=M.value;var a=F.value;let{beforeQuery:b,afterQuery:_,beforeDelete:n,afterDelete:C,beforeSave:w,afterSave:y,ajax:E={}}=u,R=u.response||u.props||{},k=U.value;if(k){let g=B(),d=null,c=null;c=_xeUtils.default.isString(t)?(o=a.buttons,a=e&&(0,_utils.isEnableConf)(a)&&o?_xeUtils.default.findTree(o,e=>e.code===t,{children:"dropdowns"}):null,d=a?a.item:null,t):(d=t).code;var o,l=d?d.params:null;switch(c){case"insert":return k.insert({});case"insert_edit":return k.insert({}).then(({row:e})=>k.setEditRow(e,!0));case"insert_actived":return k.insert({}).then(({row:e})=>k.setEditRow(e,!0));case"mark_cancel":S=c,P=L.value,T=U.value,(O=T?T.getCheckboxRecords():[]).length?(T&&T.togglePendingRow(O),$.clearCheckboxRow()):P&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:S,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return be(c,"vxe.grid.removeSelectRecord",()=>k.removeCheckboxRow());case"import":k.importData(l);break;case"open_import":k.openImport(l);break;case"export":k.exportData(l);break;case"open_export":k.openExport(l);break;case"reset_custom":return k.resetCustom(!0);case"initial":case"reload":case"query":{var T=E.query;let n=E.querySuccess,t=E.queryError;if(T){var O="initial"===c,P="reload"===c;if(!O&&V.tableLoading)return(0,_vue.nextTick)();let a=[],o=[],e={};if(i&&((O||P)&&(s.currentPage=1),(0,_utils.isEnableConf)(h))&&(e=Object.assign({},s)),O){if(r&&(0,_utils.isEnableConf)(u)&&u.form&&(g=Fe(),V.formData=g),k){let{tableFullColumn:e,fullColumnFieldData:r}=k.internalData;var S=k.getComputeMaps().computeSortOpts;let t=S.value.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),a=t.map(e=>{var{field:e,order:t}=e,a=r[e];return a&&(a=a.column)&&(a.order=t),{field:e,property:e,order:t}})),o=k.getCheckedFilters()}}else k&&(P?k.clearAll():(a=k.getSortColumns(),o=k.getCheckedFilters()));let l={$table:k,$grid:null,$gantt:$,code:c,button:d,isInited:O,isReload:P,page:e,sort:a.length?a[0]:{},sorts:a,filters:o,form:g,options:T};return V.sortData=a,V.filterData=o,V.tableLoading=!0,Promise.resolve((b||T)(l,...v)).then(e=>{let t=[];var a,r;return V.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(h)?(r=R.total,r=(_xeUtils.default.isFunction(r)?r({data:e,$table:k,$grid:null,$gantt:$}):_xeUtils.default.get(e,r||"page.total"))||0,s.total=_xeUtils.default.toNumber(r),a=R.result,t=(_xeUtils.default.isFunction(a)?a({data:e,$table:k,$grid:null,$gantt:$}):_xeUtils.default.get(e,a||"result"))||[],a=Math.max(Math.ceil(r/s.pageSize),1),s.currentPage>a&&(s.currentPage=a)):(r=R.list,t=(r?_xeUtils.default.isFunction(r)?r({data:e,$table:k,$grid:null,$gantt:$}):_xeUtils.default.get(e,r):e)||[])),k?k.loadData(t):(0,_vue.nextTick)(()=>{k&&k.loadData(t)}),_&&_(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(V.tableLoading=!1,t&&t(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let r=E.delete,o=E.deleteSuccess,l=E.deleteError;if(r){let e=$.getCheckboxRecords(),t=e.filter(e=>!k.isInsertByRow(e));var I={removeRecords:t};let a={$table:k,$grid:null,$gantt:$,code:c,button:d,body:I,form:g,options:r};if(e.length)return be(c,"vxe.grid.deleteSelectRecord",()=>t.length?(V.tableLoading=!0,Promise.resolve((n||r)(a,...v)).then(e=>(V.tableLoading=!1,k.setPendingRow(t,!1),x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({content:D(e,"vxe.grid.delSuccess"),status:"success"}),C?C(a,...v):$.commitProxy("query"),o&&o(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(V.tableLoading=!1,x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:D(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):k.remove(e));f&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let i=E.save,s=E.saveSuccess,u=E.saveError;if(i){let t=k.getRecordset(),{insertRecords:a,removeRecords:r,updateRecords:o,pendingRecords:l}=t,n={$table:k,$grid:null,$gantt:$,code:c,button:d,body:t,form:g,options:i},e=(a.length&&(t.pendingRecords=l.filter(e=>-1===k.findRowIndexOf(a,e))),l.length&&(t.insertRecords=a.filter(e=>-1===k.findRowIndexOf(l,e))),Promise.resolve());return(e=p?k[m&&"full"===m.msgMode?"fullValidate":"validate"](t.insertRecords.concat(o)):e).then(e=>{if(!e)return t.insertRecords.length||r.length||o.length||t.pendingRecords.length?(V.tableLoading=!0,Promise.resolve((w||i)(n,...v)).then(e=>(V.tableLoading=!1,k.clearPendingRow(),x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({content:D(e,"vxe.grid.saveSuccess"),status:"success"}),y?y(n,...v):$.commitProxy("query"),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(V.tableLoading=!1,x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:D(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(f&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var I=commands.get(c);I&&((I=I.tableCommandMethod||I.commandMethod)?I({code:c,button:d,$table:k,$grid:null,$gantt:$},...v):(0,_log.errLog)("vxe.error.notCommands",[c]))}}return(0,_vue.nextTick)()},getParams(){return c.params},zoom(){return V.isZMax?$.revert():$.maximize()},isMaximized(){return V.isZMax},maximize(){return Ie(!0)},revert(){return Ie()},getFormData:B,getFormItems(e){var t=x.value,a=c.formConfig,r=t.items;let o=[];return _xeUtils.default.eachTree(a&&(0,_utils.isEnableConf)(t)&&r?r:[],e=>{o.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?o:o[e]},resetForm(){var e=i.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=i.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=i.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=i.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=V.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=g.value;t&&t.homePageByEvent(e)},endPage(){var e=V.tablePage,t=ce.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=g.value;t&&t.endPageByEvent(e)},setCurrentPage(e){var t=V.tablePage,a=ce.value;return t.currentPage=Math.min(a,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var a=g.value;a&&a.setCurrentPageByEvent(e,t)},setPageSize(e){var t=V.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var a=g.value;a&&a.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=U.value;return c.proxyConfig?(e=V.sortData,{data:t?t.getFullData():[],filter:V.filterData,form:B(),sort:e.length?e[0]:{},sorts:e,pager:V.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},refreshTaskView(){var e=p.value;return e?e.refreshData():(0,_vue.nextTick)()},hasTableViewVisible(){return V.showLeftView},showTableView(){return V.showLeftView=!0,(0,_vue.nextTick)()},hideTableView(){return(V.showLeftView=!1,_vue.nextTick)()},hasTaskViewVisible(){return V.showRightView},showTaskView(){return V.showRightView=!0,(0,_vue.nextTick)()},hideTaskView(){return(V.showRightView=!1,_vue.nextTick)()}};let qe={extendTableMethods:Z,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e,t,a,r,o,l,n=V.isZMax,i=s.value;return i?(e=f.value,t=I.value,a=q.value,r=z.value,o=A.value,l=i.parentElement,(!n&&l?(0,_dom.getPaddingTopBottomSize)(l):0)+(0,_dom.getPaddingTopBottomSize)(i)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(r)+(0,_dom.getOffsetHeight)(o)):0},getParentHeight(){var e=s.value;return e?(e=e.parentElement,(V.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-qe.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let a=e.code;return $.commitProxy(e,t).then(e=>{a&&e&&e.status&&["query","reload","delete","save"].includes(a)&&$.dispatchEvent("delete"===a||"save"===a?"proxy-"+a:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===a}),t)})},triggerToolbarBtnEvent(e,t){$.triggerToolbarCommitEvent(e,t),$.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){$.triggerToolbarCommitEvent(e,t),$.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){$.zoom(),$.dispatchEvent("zoom",{type:V.isZMax?"max":"revert"},e)},handleTaskCellClickEvent(e,t){var a,r,o,l,n,i,s,u=U.value;u&&(a=u.props.highlightCurrentRow,{radioColumn:r,checkboxColumn:o}=u.reactData,{computeRadioOpts:n,computeCheckboxOpts:i,computeRowOpts:l}=u.getComputeMaps(),n=n.value,i=i.value,s=t.row,(l.value.isCurrent||a)&&u.triggerCurrentRowEvent(e,Object.assign({$table:u,rowIndex:u.getRowIndex(s),$rowIndex:u.getVMRowIndex(s)},t)),r&&"row"===n.trigger&&u.triggerRadioRowEvent(e,t),o)&&"row"===i.trigger&&u.handleToggleCheckRowEvent(e,t),$.dispatchEvent("task-cell-click",t,e)},handleTaskCellDblclickEvent(e,t){$.dispatchEvent("task-cell-dblclick",t,e)},handleTaskBarClickEvent(e,t){$.dispatchEvent("task-bar-click",t,e)},handleTaskBarDblclickEvent(e,t){$.dispatchEvent("task-bar-dblclick",t,e)}},ze=(Object.assign($,K,C,qe,{loadColumn(e){var t=U.value;return _xeUtils.default.eachTree(e,e=>{var t=e.type;e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",[e])}),"expand"===t&&(0,_log.errLog)("vxe.error.errProp",["type=expand","type=seq,radio,checkbox,html"])}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return $.clearAll(),$.loadColumn(e)}}),()=>{var{formConfig:e,proxyConfig:a}=c,r=V.formData,o=j.value,l=x.value;if(e&&(0,_utils.isEnableConf)(l)||d.form){let e=[];if(d.form)e=d.form({$grid:null,$gantt:$});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=o.beforeItem;o&&t&&l.items.forEach(e=>{t({$grid:null,$gantt:$,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]&&(t[e]=d[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:a&&(0,_utils.isEnableConf)(o)&&o.form?r:l.data})),{onSubmit:Te,onReset:Oe,onSubmitInvalid:Pe,onCollapse:Se}),t))}return(0,_vue.h)("div",{ref:f,key:"form",class:"vxe-gantt--form-wrapper"},e)}return renderEmptyElement($)}),Ae=()=>{var t,a,r,o,l,n=c.toolbarConfig,i=F.value,s=d.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return d.toolbar?e=d.toolbar({$grid:null,$gantt:$}):(n={},(s=i.slots)&&(t=E(s,"buttons"),a=E(s,"buttonPrefix"),r=E(s,"buttonSuffix"),o=E(s,"tools"),l=E(s,"toolPrefix"),s=E(s,"toolSuffix"),t&&(n.buttons=t),a&&(n.buttonPrefix=a),r&&(n.buttonSuffix=r),o&&(n.tools=o),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(P,Object.assign(Object.assign({ref:u},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:I,key:"toolbar",class:"vxe-gantt--toolbar-wrapper"},e)}return renderEmptyElement($)},Ge=()=>{var e=d.top;return e?(0,_vue.h)("div",{ref:q,key:"top",class:"vxe-gantt--top-wrapper"},e({$grid:null,$gantt:$})):renderEmptyElement($)},He=()=>{var e=d.left;return e?(0,_vue.h)("div",{class:"vxe-gantt--left-wrapper"},e({$grid:null,$gantt:$})):renderEmptyElement($)},Ne=()=>{var e=d.right;return e?(0,_vue.h)("div",{class:"vxe-gantt--right-wrapper"},e({$grid:null,$gantt:$})):renderEmptyElement($)},Ze=()=>{var e=c.proxyConfig,t=ie.value,a=j.value,r=Object.assign({},Me),o=d.empty,l=d.loading,n=d.rowDragIcon||d["row-drag-icon"],i=d.columnDragIcon||d["column-drag-icon"],s=d.headerTooltip||d["header-tooltip"],u=d.tooltip,g=d.footerTooltip||d["footer-tooltip"],e=(e&&(0,_utils.isEnableConf)(a)&&(a.sort&&(r.onSortChange=we,r.onClearAllSort=ye),a.filter)&&(r.onFilterChange=Re,r.onClearAllFilter=ke),{});return o&&(e.empty=o),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),s&&(e.headerTooltip=s),u&&(e.tooltip=u),g&&(e.footerTooltip=g),(0,_vue.h)("div",{ref:G,class:"vxe-gantt--table-wrapper"},[(0,_vue.h)(O,Object.assign(Object.assign({ref:U},t),r),e)])},Ke=()=>d.bottom?(0,_vue.h)("div",{ref:z,key:"bottom",class:"vxe-gantt--bottom-wrapper"},d.bottom({$grid:null,$gantt:$})):renderEmptyElement($),We=()=>{var{proxyConfig:e,pagerConfig:t}=c,a=j.value,r=M.value,o=d.pager;return t&&(0,_utils.isEnableConf)(r)||d.pager?(0,_vue.h)("div",{ref:A,key:"pager",class:"vxe-gantt--pager-wrapper"},o?o({$grid:null,$gantt:$}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:g},r),e&&(0,_utils.isEnableConf)(a)?V.tablePage:{}),{onPageChange:_e}),Ve(r.slots)):renderEmptyElement($)]):renderEmptyElement($)},Ye=()=>(0,_vue.h)("div",{ref:H,class:"vxe-gantt--view-wrapper"},[(0,_vue.h)(_ganttView.default,{ref:p})]),Xe=()=>{var{showLeftView:e,showRightView:t}=V,{enabled:a,resize:r,showCollapseTableButton:o,showCollapseTaskButton:l}=J.value;return a?(a={},(r=r&&e&&t)&&(a.onMousedown=Ue),(0,_vue.h)("div",{class:["vxe-gantt--view-split-bar",{"is--resize":r}]},[(0,_vue.h)("div",Object.assign({class:"vxe-gantt--view-split-bar-handle"},a)),o||l?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-btn-wrapper"},[o&&t?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-left-btn",onClick:je},[(0,_vue.h)("i",{class:e?getIcon().GANTT_VIEW_LEFT_OPEN:getIcon().GANTT_VIEW_LEFT_CLOSE})]):renderEmptyElement($),l&&e?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-right-btn",onClick:Le},[(0,_vue.h)("i",{class:t?getIcon().GANTT_VIEW_RIGHT_OPEN:getIcon().GANTT_VIEW_RIGHT_CLOSE})]):renderEmptyElement($)]):renderEmptyElement($)])):renderEmptyElement($)},R=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(ze());break;case"Toolbar":t.push(Ae());break;case"Top":t.push(Ge());break;case"Gantt":t.push((0,_vue.h)("div",{ref:o,key:"tv",class:"vxe-gantt--gantt-container"},[He(),Ze(),Xe(),Ye(),Ne(),(0,_vue.h)("div",{ref:v}),(0,_vue.h)("div",{ref:N,class:"vxe-gantt--resizable-split-tip"},[(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-tip-number"},[(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-number-left"}),(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-number-right"})])]),(0,_vue.h)("div",{class:"vxe-gantt--border-line"})]));break;case"Bottom":t.push(Ke());break;case"Pager":t.push(We());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t};let k=(0,_vue.ref)(0);return(0,_vue.watch)(()=>c.columns?c.columns.length:-1,()=>{k.value++}),(0,_vue.watch)(()=>c.columns,()=>{k.value++}),(0,_vue.watch)(k,()=>{(0,_vue.nextTick)(()=>$.loadColumn(c.columns||[]))}),(0,_vue.watch)(()=>c.toolbarConfig,()=>{he()}),(0,_vue.watch)(ue,()=>{y("currentPage")}),(0,_vue.watch)(ge,()=>{y("pageSize")}),(0,_vue.watch)(de,()=>{y("total")}),(0,_vue.watch)(()=>c.proxyConfig,()=>{$e()}),(0,_vue.watch)(_,()=>{xe()}),hooks.forEach(e=>{var e=e.setupGantt;e&&(e=e($))&&_xeUtils.default.isObject(e)&&Object.assign($,e)}),xe(),y(),(0,_vue.onMounted)(()=>{var e,t;(0,_vue.nextTick)(()=>{var e=c.columns,t=j.value;c.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),c.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),c.expandConfig&&(0,_log.warnLog)("vxe.error.notProp",["expand-config"]),e&&e.length&&$.loadColumn(e),he(),$e()}),e=U.value,t=p.value,e&&t&&e.handleConnectGanttView(t),globalEvents.on($,"keydown",Be)}),(0,_vue.onUnmounted)(()=>{globalEvents.off($,"keydown"),_xeUtils.default.assign(a,createInternalData())}),$.renderVN=()=>{var{showLeftView:e,showRightView:t}=V,a=S.value,r=le.value,o=ve.value,l=pe.value,n=re.value,i=oe.value;return(0,_vue.h)("div",{ref:s,class:["vxe-gantt","border--"+l,"sx-pos--"+(n?"top":"bottom"),"sy-pos--"+(i?"left":"right"),{["size--"+a]:a,"is--round":c.round,"is--maximize":V.isZMax,"is--loading":o,"show--left":e,"show--right":t}],style:r},(()=>{var{headKeys:e,bodyKeys:t,footKeys:a}=se.value,r=d.asideLeft||d["aside-left"],o=d.asideRight||d["aside-right"];return[(0,_vue.h)("div",{class:"vxe-gantt--layout-header-wrapper"},R(e)),(0,_vue.h)("div",{class:"vxe-gantt--layout-body-wrapper"},[r?(0,_vue.h)("div",{class:"vxe-gantt--layout-aside-left-wrapper"},r({})):renderEmptyElement($),(0,_vue.h)("div",{class:"vxe-gantt--layout-body-content-wrapper"},R(t)),o?(0,_vue.h)("div",{class:"vxe-gantt--layout-aside-right-wrapper"},o({})):renderEmptyElement($)]),(0,_vue.h)("div",{class:"vxe-gantt--layout-footer-wrapper"},R(a)),(0,_vue.h)("div",{ref:m})]})())},(0,_vue.provide)("$xeGrid",null),(0,_vue.provide)("$xeGantt",$),$},render(){return this.renderVN()}});
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _vue=require("vue"),_comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_utils=require("../../ui/src/utils"),_dom=require("../../ui/src/dom"),_vn=require("../../ui/src/vn"),_core=require("@vxe-ui/core"),_emits=require("./emits"),_tableEmits=require("./table-emits"),_log=require("../../ui/src/log"),_ganttView=_interopRequireDefault(require("./gantt-view")),_vxeTable=require("vxe-table");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}let{getConfig,getIcon,getI18n,commands,hooks,useFns,createEvent,globalEvents,GLOBAL_EVENT_KEYS,renderEmptyElement}=_core.VxeUI,tableProps=_vxeTable.VxeTable.props,tableComponentPropKeys=Object.keys(tableProps),tableComponentMethodKeys=["clearAll","syncData","updateData","loadData","reloadData","reloadRow","loadColumn","reloadColumn","getRowNode","getColumnNode","getRowIndex","getVTRowIndex","getVMRowIndex","getColumnIndex","getVTColumnIndex","getVMColumnIndex","setRow","createData","createRow","revertData","clearData","isRemoveByRow","isInsertByRow","isUpdateByRow","getColumns","getColumnById","getColumnByField","getTableColumn","getFullColumns","getData","getCheckboxRecords","getParentRow","getTreeRowChildren","getTreeRowLevel","getTreeParentRow","getRowSeq","getRowById","getRowid","getTableData","getFullData","setColumnFixed","clearColumnFixed","setColumnWidth","getColumnWidth","recalcRowHeight","setRowHeightConf","getRowHeightConf","setRowHeight","getRowHeight","hideColumn","showColumn","resetColumn","refreshColumn","refreshScroll","recalculate","closeTooltip","isAllCheckboxChecked","isAllCheckboxIndeterminate","getCheckboxIndeterminateRecords","setCheckboxRow","setCheckboxRowKey","isCheckedByCheckboxRow","isCheckedByCheckboxRowKey","isIndeterminateByCheckboxRow","isIndeterminateByCheckboxRowKey","toggleCheckboxRow","setAllCheckboxRow","getRadioReserveRecord","clearRadioReserve","getCheckboxReserveRecords","clearCheckboxReserve","toggleAllCheckboxRow","clearCheckboxRow","setCurrentRow","isCheckedByRadioRow","isCheckedByRadioRowKey","setRadioRow","setRadioRowKey","clearCurrentRow","clearRadioRow","getCurrentRecord","getRadioRecord","getCurrentColumn","setCurrentColumn","clearCurrentColumn","setPendingRow","togglePendingRow","hasPendingByRow","isPendingByRow","getPendingRecords","clearPendingRow","setFilterByEvent","sort","setSort","setSortByEvent","clearSort","clearSortByEvent","isSort","getSortColumns","closeFilter","isFilter","clearFilterByEvent","isActiveFilterByColumn","isRowExpandLoaded","clearRowExpandLoaded","reloadRowExpand","reloadRowExpand","toggleRowExpand","setAllRowExpand","setRowExpand","isExpandByRow","isRowExpandByRow","clearRowExpand","clearRowExpandReserve","getRowExpandRecords","getTreeExpandRecords","isTreeExpandLoaded","clearTreeExpandLoaded","reloadTreeExpand","reloadTreeChilds","toggleTreeExpand","setAllTreeExpand","setTreeExpand","isTreeExpandByRow","clearTreeExpand","clearTreeExpandReserve","getScroll","scrollTo","scrollToRow","scrollToColumn","clearScroll","updateFooter","updateStatus","setMergeCells","removeInsertRow","removeMergeCells","getMergeCells","clearMergeCells","setMergeFooterItems","removeMergeFooterItems","getMergeFooterItems","clearMergeFooterItems","getCustomStoreData","setRowGroupExpand","setRowGroupExpandByField","setAllRowGroupExpand","clearRowGroupExpand","isRowGroupExpandByRow","isRowGroupRecord","isAggregateRecord","isAggregateExpandByRow","getAggregateContentByRow","getAggregateRowChildren","setRowGroups","clearRowGroups","openTooltip","moveColumnTo","moveRowTo","getCellLabel","getCellElement","focus","blur","connect"],defaultLayouts=[["Form"],["Toolbar","Top","Gantt","Bottom","Pager"]];function createInternalData(){return{resizeTableWidth:0}}let 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}var _default=exports.default=(0,_comp.defineVxeComponent)({name:"VxeGantt",mixins:[],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,taskResizeConfig:Object,taskDragConfig:Object,size:{type:String,default:()=>getConfig().gantt.size||getConfig().size}}),emits:_emits.ganttEmits,setup(c,e){let t,{slots:d,emit:o}=e;var T=_xeUtils.default.uniqueId();let n=_core.VxeUI.getComponent("VxeForm"),l=_core.VxeUI.getComponent("VxePager"),O=_core.VxeUI.getComponent("VxeTable"),P=_core.VxeUI.getComponent("VxeToolbar"),S=useFns.useSize(c).computeSize,V=(0,_vue.reactive)({tableLoading:!1,proxyInited:!1,isZMax:!1,tableData:[],filterData:[],formData:{},sortData:[],tZindex:0,tablePage:{total:0,pageSize:(null==(t=getConfig().pager)?void 0:t.pageSize)||10,currentPage:1},showLeftView:!0,showRightView:!0,taskScaleList:[]}),a=createInternalData(),s=(0,_vue.ref)(),U=(0,_vue.ref)(),i=(0,_vue.ref)(),u=(0,_vue.ref)(),g=(0,_vue.ref)(),r=(0,_vue.ref)(),v=(0,_vue.ref)(),p=(0,_vue.ref)(),m=(0,_vue.ref)(),f=(0,_vue.ref)(),I=(0,_vue.ref)(),q=(0,_vue.ref)(),z=(0,_vue.ref)(),A=(0,_vue.ref)(),G=(0,_vue.ref)(),H=(0,_vue.ref)(),N=(0,_vue.ref)();var Z=e=>{let t={};return e.forEach(a=>{t[a]=(...e)=>{var t=U.value;if(t&&t[a])return t[a](...e)}}),t};let K=Z(tableComponentMethodKeys),j=(tableComponentMethodKeys.forEach(a=>{K[a]=(...e)=>{var t=U.value;if(t&&t[a])return t&&t[a](...e)}}),(0,_vue.computed)(()=>_xeUtils.default.merge({},_xeUtils.default.clone(getConfig().gantt.proxyConfig,!0),c.proxyConfig))),W=(0,_vue.computed)(()=>{var e=j.value;return!!(_xeUtils.default.isBoolean(e.message)?e.message:e.showResponseMsg)}),M=(0,_vue.computed)(()=>{var e=j.value;return _xeUtils.default.isBoolean(e.showActionMsg)?e.showActionMsg:!!e.showActiveMsg}),L=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.pagerConfig,c.pagerConfig)),x=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.formConfig,c.formConfig)),F=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.toolbarConfig,c.toolbarConfig)),Y=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.zoomConfig,c.zoomConfig)),h=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskConfig,c.taskConfig)),X=(0,_vue.computed)(()=>_xeUtils.default.merge({},getConfig().gantt.taskViewScaleConfs,c.taskViewScaleConfs)),b=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskViewConfig,c.taskViewConfig)),Q=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskBarConfig,c.taskBarConfig)),J=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.taskSplitConfig,c.taskSplitConfig)),_=(0,_vue.computed)(()=>{var e=b.value.scales;return e});var C=(0,_vue.computed)(()=>h.value.titleField||"title"),ee=(0,_vue.computed)(()=>h.value.startField||"start"),te=(0,_vue.computed)(()=>h.value.endField||"end"),ae=(0,_vue.computed)(()=>h.value.progressField||"progress");let w=(0,_vue.computed)(()=>Object.assign({},getConfig().gantt.scrollbarConfig,c.scrollbarConfig)),oe=(0,_vue.computed)(()=>{var e=w.value;return!(!e.x||"top"!==e.x.position)}),re=(0,_vue.computed)(()=>{var e=w.value;return!(!e.y||"left"!==e.y.position)}),le=(0,_vue.computed)(()=>{var{height:e,maxHeight:t}=c,{isZMax:a,tZindex:o}=V,r=b.value.tableStyle,l=Q.value.barStyle,n={};return a?n.zIndex=o:(e&&(n.height="auto"===e||"100%"===e?"100%":(0,_dom.toCssUnit)(e)),t&&(n.maxHeight="auto"===t||"100%"===t?"100%":(0,_dom.toCssUnit)(t))),l&&!_xeUtils.default.isFunction(l)&&({bgColor:a,completedBgColor:o}=l,a&&(n["--vxe-ui-gantt-view-task-bar-background-color"]=a),o)&&(n["--vxe-ui-gantt-view-task-bar-completed-background-color"]=o),r&&(e=r.width,e)&&(n["--vxe-ui-gantt-view-table-default-width"]=(0,_dom.toCssUnit)(e)),n}),ne=(0,_vue.computed)(()=>{let t={};return tableComponentPropKeys.forEach(e=>{t[e]=c[e]}),t}),ie=(0,_vue.computed)(()=>{var{seqConfig:e,pagerConfig:t,editConfig:a,proxyConfig:o}=c,{isZMax:r,tablePage:l}=V,n=b.value.tableStyle,i=ne.value,s=j.value,u=L.value,g=ve.value,d=Object.assign({},i,{showOverflow:!0,showHeaderOverflow:!0,showFooterOverflow:!0});return n&&(n=n.border,_xeUtils.default.eqNull(n)||(d.border=n)),r&&(i.maxHeight?d.maxHeight="100%":d.height="100%"),o&&(0,_utils.isEnableConf)(s)&&(d.loading=g,t)&&s.seq&&(0,_utils.isEnableConf)(u)&&(d.seqConfig=Object.assign({},e,{startIndex:(l.currentPage-1)*l.pageSize})),a&&(d.editConfig=Object.assign({},a)),d}),se=(0,_vue.computed)(()=>{var e=c.layouts;let t=[],a=[],o=[],r=[];return(t=e&&e.length?e:getConfig().gantt.layouts||defaultLayouts).length&&(_xeUtils.default.isArray(t[0])?(a=t[0],o=t[1]||[],r=t[2]||[]):o=t),{headKeys:a,bodyKeys:o,footKeys:r}});var ue=(0,_vue.computed)(()=>L.value.currentPage),ge=(0,_vue.computed)(()=>L.value.pageSize),de=(0,_vue.computed)(()=>L.value.total);let ce=(0,_vue.computed)(()=>{var e=V.tablePage;return Math.max(Math.ceil(e.total/e.pageSize),1)}),ve=(0,_vue.computed)(()=>{var{loading:e,proxyConfig:t}=c,a=V.tableLoading,o=j.value,r=o.showLoading;return e||a&&r&&t&&(0,_utils.isEnableConf)(o)}),pe=(0,_vue.computed)(()=>{let e=c.border;var t=b.value.viewStyle;return!0===(e=t&&!_xeUtils.default.eqNull(t.border)?t.border:e)?"full":e||"default"}),me={refElem:s,refTable:U,refForm:i,refToolbar:u,refPager:g,refGanttContainerElem:r,refClassifyWrapperElem:v,refPopupContainerElem:m},fe={computeProxyOpts:j,computePagerOpts:L,computeFormOpts:x,computeToolbarOpts:F,computeZoomOpts:Y,computeTaskOpts:h,computeTaskViewScaleMapsOpts:X,computeTaskViewOpts:b,computeTaskBarOpts:Q,computeTaskSplitOpts:J,computeTaskScaleConfs:_,computeTitleField:C,computeStartField:ee,computeEndField:te,computeProgressField:ae,computeScrollbarOpts:w,computeScrollbarXToTop:oe,computeScrollbarYToLeft:re},$={xID:T,props:c,context:e,reactData:V,internalData:a,getRefMaps:()=>me,getComputeMaps:()=>fe},xe=()=>{var e=_.value;let o=X.value,r=[];if(e){let a={};e.forEach(e=>{var e=!e||_xeUtils.default.isString(e)?{type:e}:e,t=e.type;t&&viewTypeLevelMaps[t]?a[t]?(0,_log.errLog)("vxe.error.repeatProp",["type",t]):(a[t]=!0,r.push(Object.assign({},t&&o[t]||{},e,{level:getViewTypeLevel(t)}))):(0,_log.errLog)("vxe.error.errProp",["type="+t,_xeUtils.default.keys(viewTypeLevelMaps).join(",")])})}r.length||r.push({type:"month",level:viewTypeLevelMaps.month},{type:"date",level:viewTypeLevelMaps.date}),V.taskScaleList=_xeUtils.default.orderBy(r,{field:"level",order:"desc"})},he=()=>{var e=F.value;c.toolbarConfig&&(0,_utils.isEnableConf)(e)&&(0,_vue.nextTick)(()=>{var e=U.value,t=u.value;e&&t&&e.connectToolbar(t)})},B=()=>{var e=c.proxyConfig,t=V.formData,a=j.value,o=x.value;return e&&(0,_utils.isEnableConf)(a)&&a.form?t:o.data},y=e=>{var t=V.tablePage,a=c.pagerConfig,o=L.value;a&&(0,_utils.isEnableConf)(o)&&(e?o[e]&&(t[e]=_xeUtils.default.toNumber(o[e])):({currentPage:a,pageSize:e,total:o}=o,a&&(t.currentPage=a),e&&(t.pageSize=e),o&&(t.total=o)))},D=(e,t)=>{var a=j.value,a=(a.response||a.props||{}).message,o=U.value;let r;return(r=e&&a?_xeUtils.default.isFunction(a)?a({data:e,$table:o,$grid:null,$gantt:$}):_xeUtils.default.get(e,a):r)||getI18n(t)},be=(e,t,a)=>{var o=M.value,r=$.getCheckboxRecords();if(o)if(r.length){if(_core.VxeUI.modal)return _core.VxeUI.modal.confirm({id:"cfm_"+e,content:getI18n(t),escClosable:!0}).then(e=>{if("confirm"===e)return a()})}else _core.VxeUI.modal&&_core.VxeUI.modal.message({id:"msg_"+e,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});else r.length&&a();return Promise.resolve()},_e=e=>{var t=c.proxyConfig,a=V.tablePage;let{$event:o,currentPage:r,pageSize:l}=e;var n=j.value;a.currentPage=r,a.pageSize=l,$.dispatchEvent("page-change",e,o),t&&(0,_utils.isEnableConf)(n)&&$.commitProxy("query").then(e=>{$.dispatchEvent("proxy-query",e,o)})},Ce=t=>{var e,a=U.value,o=c.proxyConfig;a&&(a=a.getComputeMaps().computeSortOpts,e=j.value,a.value.remote)&&(V.sortData=t.sortList,o)&&(0,_utils.isEnableConf)(e)&&(V.tablePage.currentPage=1,$.commitProxy("query").then(e=>{$.dispatchEvent("proxy-query",e,t.$event)}))},we=e=>{Ce(e),$.dispatchEvent("sort-change",e,e.$event)},ye=e=>{Ce(e),$.dispatchEvent("clear-all-sort",e,e.$event)},Ee=t=>{var e,a=U.value,o=c.proxyConfig;a&&(a=a.getComputeMaps().computeFilterOpts,e=j.value,a.value.remote)&&(V.filterData=t.filterList,o)&&(0,_utils.isEnableConf)(e)&&(V.tablePage.currentPage=1,$.commitProxy("query").then(e=>{$.dispatchEvent("proxy-query",e,t.$event)}))},Re=e=>{Ee(e),$.dispatchEvent("filter-change",e,e.$event)},ke=e=>{Ee(e),$.dispatchEvent("clear-all-filter",e,e.$event)},Te=t=>{var e=c.proxyConfig,a=j.value;V.tableLoading||(e&&(0,_utils.isEnableConf)(a)&&$.commitProxy("reload").then(e=>{$.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),t.$event)}),$.dispatchEvent("form-submit",t,t.$event))},Oe=e=>{var t=U.value,a=c.proxyConfig;let o=e.$event;var r=j.value;a&&(0,_utils.isEnableConf)(r)&&(t&&t.clearScroll(),$.commitProxy("reload").then(e=>{$.dispatchEvent("proxy-query",Object.assign(Object.assign({},e),{isReload:!0}),o)})),$.dispatchEvent("form-reset",e,o)},Pe=e=>{$.dispatchEvent("form-submit-invalid",e,e.$event)},Se=e=>{var t=e.$event;$.dispatchEvent("form-toggle-collapse",e,t),$.dispatchEvent("form-collapse",e,t)},Ie=e=>{var t=V.isZMax;return(e?!t:t)&&(V.isZMax=!t,V.tZindex<(0,_utils.getLastZIndex)())&&(V.tZindex=(0,_utils.nextZIndex)()),(0,_vue.nextTick)().then(()=>$.recalculate(!0)).then(()=>(setTimeout(()=>$.recalculate(!0),15),V.isZMax))},E=(e,t)=>{e=e[t];if(e){if(!_xeUtils.default.isString(e))return e;if(d[e])return d[e];(0,_log.errLog)("vxe.error.notSlot",[e])}return null},Ve=e=>{let a={};return _xeUtils.default.objectMap(e,(e,t)=>{e&&(_xeUtils.default.isString(e)?d[e]?a[t]=d[e]:(0,_log.errLog)("vxe.error.notSlot",[e]):a[t]=e)}),a},Ue=e=>{let c=s.value;if(c){var v=r.value;if(v){let d=G.value;if(d){let g=N.value;if(g){var p=b.value;let r=v.getBoundingClientRect(),l=g.children[0],t=e.clientX,a=v.clientWidth,o=d.clientWidth,n=p.tableStyle&&_xeUtils.default.toNumber(p.tableStyle.minWidth)||80,i=o,s=-1,u=((0,_dom.addClass)(c,"is--split-drag"),e=>{var t=l.children[0],a=l.children[1];let o=0;t&&(s<0?t.style.display="none":(t.textContent=i+"px",t.style.display="block",o=t.offsetHeight)),a&&(s<0?(a.textContent=Math.floor(r.width-i)+"px",a.style.display="block",o=a.offsetHeight):a.style.display="none");t=e.clientY-r.top-o/2;g.style.left=i+"px",l.style.top=Math.min(r.height-o-1,Math.max(1,t))+"px"});document.onmousemove=e=>{e.preventDefault(),s=e.clientX-t,i=Math.min(a-80,Math.max(n,o+s)),u(e)},document.onmouseup=()=>{document.onmousemove=null,document.onmouseup=null,g.style.display="",d.style.width=i+"px",(0,_dom.removeClass)(c,"is--split-drag");var e=U.value;e&&e.recalculate(!0)},g.style.display="block",u(e)}}}}},je=()=>{V.showLeftView=!V.showLeftView},Me=()=>{V.showRightView=!V.showRightView},Le={},Fe=(_tableEmits.tableEmits.forEach(t=>{var e=_xeUtils.default.camelCase("on-"+t);Le[e]=(...e)=>o(t,...e)}),()=>{var e=x.value;if(e.items){let r={};return e.items.forEach(t=>{var{field:a,itemRender:o}=t;if(a){let e=null;o&&(o=o.defaultValue,_xeUtils.default.isFunction(o)?e=o({item:t}):_xeUtils.default.isUndefined(o)||(e=o)),r[a]=e}}),r}return{}}),$e=()=>{var{proxyConfig:e,formConfig:t}=c,a=V.proxyInited,o=j.value,r=x.value;e&&(0,_utils.isEnableConf)(o)&&(t&&(0,_utils.isEnableConf)(r)&&o.form&&r.items&&(V.formData=Fe()),a||!(V.proxyInited=!0)!==o.autoLoad&&(0,_vue.nextTick)().then(()=>$.commitProxy("initial")).then(e=>{De("proxy-query",Object.assign(Object.assign({},e),{isInited:!0}),new Event("initial"))}))},Be=e=>{var t=Y.value;globalEvents.hasKey(e,GLOBAL_EVENT_KEYS.ESCAPE)&&V.isZMax&&!1!==t.escRestore&&$.triggerZoomEvent(e)},De=(e,t,a)=>{o(e,createEvent(a,{$grid:null,$gantt:$},t))};C={dispatchEvent:De,getEl(){return s.value},commitProxy(t,...v){let{proxyConfig:o,toolbarConfig:e,pagerConfig:i,editRules:p,validConfig:m}=c,s=V.tablePage,f=M.value,x=W.value;var u=j.value;let h=L.value;var a=F.value;let{beforeQuery:b,afterQuery:_,beforeDelete:n,afterDelete:C,beforeSave:w,afterSave:y,ajax:E={}}=u,R=u.response||u.props||{},k=U.value;if(k){let g=B(),d=null,c=null;c=_xeUtils.default.isString(t)?(r=a.buttons,a=e&&(0,_utils.isEnableConf)(a)&&r?_xeUtils.default.findTree(r,e=>e.code===t,{children:"dropdowns"}):null,d=a?a.item:null,t):(d=t).code;var r,l=d?d.params:null;switch(c){case"insert":return k.insert({});case"insert_edit":return k.insert({}).then(({row:e})=>k.setEditRow(e,!0));case"insert_actived":return k.insert({}).then(({row:e})=>k.setEditRow(e,!0));case"mark_cancel":S=c,P=M.value,T=U.value,(O=T?T.getCheckboxRecords():[]).length?(T&&T.togglePendingRow(O),$.clearCheckboxRow()):P&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:S,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"});break;case"remove":return be(c,"vxe.grid.removeSelectRecord",()=>k.removeCheckboxRow());case"import":k.importData(l);break;case"open_import":k.openImport(l);break;case"export":k.exportData(l);break;case"open_export":k.openExport(l);break;case"reset_custom":return k.resetCustom(!0);case"initial":case"reload":case"query":{var T=E.query;let n=E.querySuccess,t=E.queryError;if(T){var O="initial"===c,P="reload"===c;if(!O&&V.tableLoading)return(0,_vue.nextTick)();let a=[],r=[],e={};if(i&&((O||P)&&(s.currentPage=1),(0,_utils.isEnableConf)(h))&&(e=Object.assign({},s)),O){if(o&&(0,_utils.isEnableConf)(u)&&u.form&&(g=Fe(),V.formData=g),k){let{tableFullColumn:e,fullColumnFieldData:o}=k.internalData;var S=k.getComputeMaps().computeSortOpts;let t=S.value.defaultSort;e.forEach(e=>{e.order=null}),t&&(_xeUtils.default.isArray(t)||(t=[t]),a=t.map(e=>{var{field:e,order:t}=e,a=o[e];return a&&(a=a.column)&&(a.order=t),{field:e,property:e,order:t}})),r=k.getCheckedFilters()}}else k&&(P?k.clearAll():(a=k.getSortColumns(),r=k.getCheckedFilters()));let l={$table:k,$grid:null,$gantt:$,code:c,button:d,isInited:O,isReload:P,page:e,sort:a.length?a[0]:{},sorts:a,filters:r,form:g,options:T};return V.sortData=a,V.filterData=r,V.tableLoading=!0,Promise.resolve((b||T)(l,...v)).then(e=>{let t=[];var a,o;return V.tableLoading=!1,e&&(i&&(0,_utils.isEnableConf)(h)?(o=R.total,o=(_xeUtils.default.isFunction(o)?o({data:e,$table:k,$grid:null,$gantt:$}):_xeUtils.default.get(e,o||"page.total"))||0,s.total=_xeUtils.default.toNumber(o),a=R.result,t=(_xeUtils.default.isFunction(a)?a({data:e,$table:k,$grid:null,$gantt:$}):_xeUtils.default.get(e,a||"result"))||[],a=Math.max(Math.ceil(o/s.pageSize),1),s.currentPage>a&&(s.currentPage=a)):(o=R.list,t=(o?_xeUtils.default.isFunction(o)?o({data:e,$table:k,$grid:null,$gantt:$}):_xeUtils.default.get(e,o):e)||[])),k?k.loadData(t):(0,_vue.nextTick)(()=>{k&&k.loadData(t)}),_&&_(l,...v),n&&n(Object.assign(Object.assign({},l),{response:e})),{status:!0}}).catch(e=>(V.tableLoading=!1,t&&t(Object.assign(Object.assign({},l),{response:e})),{status:!1}))}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.query"]);break}case"delete":{let o=E.delete,r=E.deleteSuccess,l=E.deleteError;if(o){let e=$.getCheckboxRecords(),t=e.filter(e=>!k.isInsertByRow(e));var I={removeRecords:t};let a={$table:k,$grid:null,$gantt:$,code:c,button:d,body:I,form:g,options:o};if(e.length)return be(c,"vxe.grid.deleteSelectRecord",()=>t.length?(V.tableLoading=!0,Promise.resolve((n||o)(a,...v)).then(e=>(V.tableLoading=!1,k.setPendingRow(t,!1),x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({content:D(e,"vxe.grid.delSuccess"),status:"success"}),C?C(a,...v):$.commitProxy("query"),r&&r(Object.assign(Object.assign({},a),{response:e})),{status:!0})).catch(e=>(V.tableLoading=!1,x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:D(e,"vxe.grid.operError"),status:"error"}),l&&l(Object.assign(Object.assign({},a),{response:e})),{status:!1}))):k.remove(e));f&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.selectOneRecord"),status:"warning"})}else(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.delete"]);break}case"save":{let i=E.save,s=E.saveSuccess,u=E.saveError;if(i){let t=k.getRecordset(),{insertRecords:a,removeRecords:o,updateRecords:r,pendingRecords:l}=t,n={$table:k,$grid:null,$gantt:$,code:c,button:d,body:t,form:g,options:i},e=(a.length&&(t.pendingRecords=l.filter(e=>-1===k.findRowIndexOf(a,e))),l.length&&(t.insertRecords=a.filter(e=>-1===k.findRowIndexOf(l,e))),Promise.resolve());return(e=p?k[m&&"full"===m.msgMode?"fullValidate":"validate"](t.insertRecords.concat(r)):e).then(e=>{if(!e)return t.insertRecords.length||o.length||r.length||t.pendingRecords.length?(V.tableLoading=!0,Promise.resolve((w||i)(n,...v)).then(e=>(V.tableLoading=!1,k.clearPendingRow(),x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({content:D(e,"vxe.grid.saveSuccess"),status:"success"}),y?y(n,...v):$.commitProxy("query"),s&&s(Object.assign(Object.assign({},n),{response:e})),{status:!0})).catch(e=>(V.tableLoading=!1,x&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:D(e,"vxe.grid.operError"),status:"error"}),u&&u(Object.assign(Object.assign({},n),{response:e})),{status:!1}))):void(f&&_core.VxeUI.modal&&_core.VxeUI.modal.message({id:c,content:getI18n("vxe.grid.dataUnchanged"),status:"info"}))})}(0,_log.errLog)("vxe.error.notFunc",["proxy-config.ajax.save"]);break}default:var I=commands.get(c);I&&((I=I.tableCommandMethod||I.commandMethod)?I({code:c,button:d,$table:k,$grid:null,$gantt:$},...v):(0,_log.errLog)("vxe.error.notCommands",[c]))}}return(0,_vue.nextTick)()},getParams(){return c.params},zoom(){return V.isZMax?$.revert():$.maximize()},isMaximized(){return V.isZMax},maximize(){return Ie(!0)},revert(){return Ie()},getFormData:B,getFormItems(e){var t=x.value,a=c.formConfig,o=t.items;let r=[];return _xeUtils.default.eachTree(a&&(0,_utils.isEnableConf)(t)&&o?o:[],e=>{r.push(e)},{children:"children"}),_xeUtils.default.isUndefined(e)?r:r[e]},resetForm(){var e=i.value;return e?e.reset():(0,_vue.nextTick)()},validateForm(){var e=i.value;return e?e.validate():(0,_vue.nextTick)()},validateFormField(e){var t=i.value;return t?t.validateField(e):(0,_vue.nextTick)()},clearFormValidate(e){var t=i.value;return t?t.clearValidate(e):(0,_vue.nextTick)()},homePage(){var e=V.tablePage;return e.currentPage=1,(0,_vue.nextTick)()},homePageByEvent(e){var t=g.value;t&&t.homePageByEvent(e)},endPage(){var e=V.tablePage,t=ce.value;return e.currentPage=t,(0,_vue.nextTick)()},endPageByEvent(e){var t=g.value;t&&t.endPageByEvent(e)},setCurrentPage(e){var t=V.tablePage,a=ce.value;return t.currentPage=Math.min(a,Math.max(1,_xeUtils.default.toNumber(e))),(0,_vue.nextTick)()},setCurrentPageByEvent(e,t){var a=g.value;a&&a.setCurrentPageByEvent(e,t)},setPageSize(e){var t=V.tablePage;return t.pageSize=Math.max(1,_xeUtils.default.toNumber(e)),(0,_vue.nextTick)()},setPageSizeByEvent(e,t){var a=g.value;a&&a.setPageSizeByEvent(e,t)},getProxyInfo(){var e,t=U.value;return c.proxyConfig?(e=V.sortData,{data:t?t.getFullData():[],filter:V.filterData,form:B(),sort:e.length?e[0]:{},sorts:e,pager:V.tablePage,pendingRecords:t?t.getPendingRecords():[]}):null},refreshTaskView(){var e=p.value;return e?e.refreshData():(0,_vue.nextTick)()},hasTableViewVisible(){return V.showLeftView},showTableView(){return V.showLeftView=!0,(0,_vue.nextTick)()},hideTableView(){return(V.showLeftView=!1,_vue.nextTick)()},hasTaskViewVisible(){return V.showRightView},showTaskView(){return V.showRightView=!0,(0,_vue.nextTick)()},hideTaskView(){return(V.showRightView=!1,_vue.nextTick)()}};let qe={extendTableMethods:Z,callSlot(e,t){return e&&(_xeUtils.default.isString(e)&&(e=d[e]||null),_xeUtils.default.isFunction(e))?(0,_vn.getSlotVNs)(e(t)):[]},getExcludeHeight(){var e,t,a,o,r,l,n=V.isZMax,i=s.value;return i?(e=f.value,t=I.value,a=q.value,o=z.value,r=A.value,l=i.parentElement,(!n&&l?(0,_dom.getPaddingTopBottomSize)(l):0)+(0,_dom.getPaddingTopBottomSize)(i)+(0,_dom.getOffsetHeight)(e)+(0,_dom.getOffsetHeight)(t)+(0,_dom.getOffsetHeight)(a)+(0,_dom.getOffsetHeight)(o)+(0,_dom.getOffsetHeight)(r)):0},getParentHeight(){var e=s.value;return e?(e=e.parentElement,(V.isZMax?(0,_dom.getDomNode)().visibleHeight:e?_xeUtils.default.toNumber(getComputedStyle(e).height):0)-qe.getExcludeHeight()):0},triggerToolbarCommitEvent(e,t){let a=e.code;return $.commitProxy(e,t).then(e=>{a&&e&&e.status&&["query","reload","delete","save"].includes(a)&&$.dispatchEvent("delete"===a||"save"===a?"proxy-"+a:"proxy-query",Object.assign(Object.assign({},e),{isReload:"reload"===a}),t)})},triggerToolbarBtnEvent(e,t){$.triggerToolbarCommitEvent(e,t),$.dispatchEvent("toolbar-button-click",{code:e.code,button:e},t)},triggerToolbarTolEvent(e,t){$.triggerToolbarCommitEvent(e,t),$.dispatchEvent("toolbar-tool-click",{code:e.code,tool:e},t)},triggerZoomEvent(e){$.zoom(),$.dispatchEvent("zoom",{type:V.isZMax?"max":"revert"},e)},handleTaskCellClickEvent(e,t){var a,o,r,l,n,i,s,u=U.value;u&&(a=u.props.highlightCurrentRow,{radioColumn:o,checkboxColumn:r}=u.reactData,{computeRadioOpts:n,computeCheckboxOpts:i,computeRowOpts:l}=u.getComputeMaps(),n=n.value,i=i.value,s=t.row,(l.value.isCurrent||a)&&u.triggerCurrentRowEvent(e,Object.assign({$table:u,rowIndex:u.getRowIndex(s),$rowIndex:u.getVMRowIndex(s)},t)),o&&"row"===n.trigger&&u.triggerRadioRowEvent(e,t),r)&&"row"===i.trigger&&u.handleToggleCheckRowEvent(e,t),$.dispatchEvent("task-cell-click",t,e)},handleTaskCellDblclickEvent(e,t){$.dispatchEvent("task-cell-dblclick",t,e)},handleTaskBarClickEvent(e,t){$.dispatchEvent("task-bar-click",t,e)},handleTaskBarDblclickEvent(e,t){$.dispatchEvent("task-bar-dblclick",t,e)},handleTaskHeaderContextmenuEvent(e,t){var a,o=U.value;o&&(a=o.props.menuConfig,(0,_utils.isEnableConf)(a))&&(e.stopPropagation(),o.handleOpenMenuEvent(e,"header",t))},handleTaskBodyContextmenuEvent(e,t){var a,o=U.value;o&&(a=o.props.menuConfig,(0,_utils.isEnableConf)(a))&&(e.stopPropagation(),o.handleOpenMenuEvent(e,"body",t))},handleTaskFooterContextmenuEvent(e,t){var a,o=U.value;o&&(a=o.props.menuConfig,(0,_utils.isEnableConf)(a))&&(e.stopPropagation(),o.handleOpenMenuEvent(e,"footer",t))},handleTaskBarContextmenuEvent(e,t){var a,o=U.value;o&&(a=o.props.menuConfig,(0,_utils.isEnableConf)(a))&&(e.stopPropagation(),o.handleOpenMenuEvent(e,"body",t))}},ze=(Object.assign($,K,C,qe,{loadColumn(e){var t=U.value;return _xeUtils.default.eachTree(e,e=>{var t=e.type;e.slots&&_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]||(0,_log.errLog)("vxe.error.notSlot",[e])}),"expand"===t&&(0,_log.errLog)("vxe.error.errProp",["type=expand","type=seq,radio,checkbox,html"])}),t?t.loadColumn(e):(0,_vue.nextTick)()},reloadColumn(e){return $.clearAll(),$.loadColumn(e)}}),()=>{var{formConfig:e,proxyConfig:a}=c,o=V.formData,r=j.value,l=x.value;if(e&&(0,_utils.isEnableConf)(l)||d.form){let e=[];if(d.form)e=d.form({$grid:null,$gantt:$});else if(l.items){let t={};if(!l.inited){l.inited=!0;let t=r.beforeItem;r&&t&&l.items.forEach(e=>{t({$grid:null,$gantt:$,item:e})})}l.items.forEach(e=>{_xeUtils.default.each(e.slots,e=>{_xeUtils.default.isFunction(e)||d[e]&&(t[e]=d[e])})}),n&&e.push((0,_vue.h)(n,Object.assign(Object.assign({ref:i},Object.assign({},l,{data:a&&(0,_utils.isEnableConf)(r)&&r.form?o:l.data})),{onSubmit:Te,onReset:Oe,onSubmitInvalid:Pe,onCollapse:Se}),t))}return(0,_vue.h)("div",{ref:f,key:"form",class:"vxe-gantt--form-wrapper"},e)}return renderEmptyElement($)}),Ae=()=>{var t,a,o,r,l,n=c.toolbarConfig,i=F.value,s=d.toolbar;if(n&&(0,_utils.isEnableConf)(i)||s){let e=[];return d.toolbar?e=d.toolbar({$grid:null,$gantt:$}):(n={},(s=i.slots)&&(t=E(s,"buttons"),a=E(s,"buttonPrefix"),o=E(s,"buttonSuffix"),r=E(s,"tools"),l=E(s,"toolPrefix"),s=E(s,"toolSuffix"),t&&(n.buttons=t),a&&(n.buttonPrefix=a),o&&(n.buttonSuffix=o),r&&(n.tools=r),l&&(n.toolPrefix=l),s)&&(n.toolSuffix=s),e.push((0,_vue.h)(P,Object.assign(Object.assign({ref:u},i),{slots:void 0}),n))),(0,_vue.h)("div",{ref:I,key:"toolbar",class:"vxe-gantt--toolbar-wrapper"},e)}return renderEmptyElement($)},Ge=()=>{var e=d.top;return e?(0,_vue.h)("div",{ref:q,key:"top",class:"vxe-gantt--top-wrapper"},e({$grid:null,$gantt:$})):renderEmptyElement($)},He=()=>{var e=d.left;return e?(0,_vue.h)("div",{class:"vxe-gantt--left-wrapper"},e({$grid:null,$gantt:$})):renderEmptyElement($)},Ne=()=>{var e=d.right;return e?(0,_vue.h)("div",{class:"vxe-gantt--right-wrapper"},e({$grid:null,$gantt:$})):renderEmptyElement($)},Ze=()=>{var e=c.proxyConfig,t=ie.value,a=j.value,o=Object.assign({},Le),r=d.empty,l=d.loading,n=d.rowDragIcon||d["row-drag-icon"],i=d.columnDragIcon||d["column-drag-icon"],s=d.headerTooltip||d["header-tooltip"],u=d.tooltip,g=d.footerTooltip||d["footer-tooltip"],e=(e&&(0,_utils.isEnableConf)(a)&&(a.sort&&(o.onSortChange=we,o.onClearAllSort=ye),a.filter)&&(o.onFilterChange=Re,o.onClearAllFilter=ke),{});return r&&(e.empty=r),l&&(e.loading=l),n&&(e.rowDragIcon=n),i&&(e.columnDragIcon=i),s&&(e.headerTooltip=s),u&&(e.tooltip=u),g&&(e.footerTooltip=g),(0,_vue.h)("div",{ref:G,class:"vxe-gantt--table-wrapper"},[(0,_vue.h)(O,Object.assign(Object.assign({ref:U},t),o),e)])},Ke=()=>d.bottom?(0,_vue.h)("div",{ref:z,key:"bottom",class:"vxe-gantt--bottom-wrapper"},d.bottom({$grid:null,$gantt:$})):renderEmptyElement($),We=()=>{var{proxyConfig:e,pagerConfig:t}=c,a=j.value,o=L.value,r=d.pager;return t&&(0,_utils.isEnableConf)(o)||d.pager?(0,_vue.h)("div",{ref:A,key:"pager",class:"vxe-gantt--pager-wrapper"},r?r({$grid:null,$gantt:$}):[l?(0,_vue.h)(l,Object.assign(Object.assign(Object.assign({ref:g},o),e&&(0,_utils.isEnableConf)(a)?V.tablePage:{}),{onPageChange:_e}),Ve(o.slots)):renderEmptyElement($)]):renderEmptyElement($)},Ye=()=>(0,_vue.h)("div",{ref:H,class:"vxe-gantt--view-wrapper"},[(0,_vue.h)(_ganttView.default,{ref:p})]),Xe=()=>{var{showLeftView:e,showRightView:t}=V,{enabled:a,resize:o,showCollapseTableButton:r,showCollapseTaskButton:l}=J.value;return a?(a={},(o=o&&e&&t)&&(a.onMousedown=Ue),(0,_vue.h)("div",{class:["vxe-gantt--view-split-bar",{"is--resize":o}]},[(0,_vue.h)("div",Object.assign({class:"vxe-gantt--view-split-bar-handle"},a)),r||l?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-btn-wrapper"},[r&&t?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-left-btn",onClick:je},[(0,_vue.h)("i",{class:e?getIcon().GANTT_VIEW_LEFT_OPEN:getIcon().GANTT_VIEW_LEFT_CLOSE})]):renderEmptyElement($),l&&e?(0,_vue.h)("div",{class:"vxe-gantt--view-split-bar-right-btn",onClick:Me},[(0,_vue.h)("i",{class:t?getIcon().GANTT_VIEW_RIGHT_OPEN:getIcon().GANTT_VIEW_RIGHT_CLOSE})]):renderEmptyElement($)]):renderEmptyElement($)])):renderEmptyElement($)},R=e=>{let t=[];return e.forEach(e=>{switch(e){case"Form":t.push(ze());break;case"Toolbar":t.push(Ae());break;case"Top":t.push(Ge());break;case"Gantt":t.push((0,_vue.h)("div",{ref:r,key:"tv",class:"vxe-gantt--gantt-container"},[He(),Ze(),Xe(),Ye(),Ne(),(0,_vue.h)("div",{ref:v}),(0,_vue.h)("div",{ref:N,class:"vxe-gantt--resizable-split-tip"},[(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-tip-number"},[(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-number-left"}),(0,_vue.h)("div",{class:"vxe-gantt--resizable-split-number-right"})])]),(0,_vue.h)("div",{class:"vxe-gantt--border-line"})]));break;case"Bottom":t.push(Ke());break;case"Pager":t.push(We());break;default:(0,_log.errLog)("vxe.error.notProp",["layouts -> "+e])}}),t};let k=(0,_vue.ref)(0);return(0,_vue.watch)(()=>c.columns?c.columns.length:-1,()=>{k.value++}),(0,_vue.watch)(()=>c.columns,()=>{k.value++}),(0,_vue.watch)(k,()=>{(0,_vue.nextTick)(()=>$.loadColumn(c.columns||[]))}),(0,_vue.watch)(()=>c.toolbarConfig,()=>{he()}),(0,_vue.watch)(ue,()=>{y("currentPage")}),(0,_vue.watch)(ge,()=>{y("pageSize")}),(0,_vue.watch)(de,()=>{y("total")}),(0,_vue.watch)(()=>c.proxyConfig,()=>{$e()}),(0,_vue.watch)(_,()=>{xe()}),hooks.forEach(e=>{var e=e.setupGantt;e&&(e=e($))&&_xeUtils.default.isObject(e)&&Object.assign($,e)}),xe(),y(),(0,_vue.onMounted)(()=>{var e,t;(0,_vue.nextTick)(()=>{var e=c.columns,t=j.value;c.formConfig&&!n&&(0,_log.errLog)("vxe.error.reqComp",["vxe-form"]),c.pagerConfig&&!l&&(0,_log.errLog)("vxe.error.reqComp",["vxe-pager"]),t.props&&(0,_log.warnLog)("vxe.error.delProp",["proxy-config.props","proxy-config.response"]),c.expandConfig&&(0,_log.warnLog)("vxe.error.notProp",["expand-config"]),e&&e.length&&$.loadColumn(e),he(),$e()}),e=U.value,t=p.value,e&&t&&e.handleConnectGanttView(t),globalEvents.on($,"keydown",Be)}),(0,_vue.onUnmounted)(()=>{globalEvents.off($,"keydown"),_xeUtils.default.assign(a,createInternalData())}),$.renderVN=()=>{var{showLeftView:e,showRightView:t}=V,a=S.value,o=le.value,r=ve.value,l=pe.value,n=oe.value,i=re.value;return(0,_vue.h)("div",{ref:s,class:["vxe-gantt","border--"+l,"sx-pos--"+(n?"top":"bottom"),"sy-pos--"+(i?"left":"right"),{["size--"+a]:a,"is--round":c.round,"is--maximize":V.isZMax,"is--loading":r,"show--left":e,"show--right":t}],style:o},(()=>{var{headKeys:e,bodyKeys:t,footKeys:a}=se.value,o=d.asideLeft||d["aside-left"],r=d.asideRight||d["aside-right"];return[(0,_vue.h)("div",{class:"vxe-gantt--layout-header-wrapper"},R(e)),(0,_vue.h)("div",{class:"vxe-gantt--layout-body-wrapper"},[o?(0,_vue.h)("div",{class:"vxe-gantt--layout-aside-left-wrapper"},o({})):renderEmptyElement($),(0,_vue.h)("div",{class:"vxe-gantt--layout-body-content-wrapper"},R(t)),r?(0,_vue.h)("div",{class:"vxe-gantt--layout-aside-right-wrapper"},r({})):renderEmptyElement($)]),(0,_vue.h)("div",{class:"vxe-gantt--layout-footer-wrapper"},R(a)),(0,_vue.h)("div",{ref:m})]})())},(0,_vue.provide)("$xeGrid",null),(0,_vue.provide)("$xeGantt",$),$},render(){return this.renderVN()}});
|
package/lib/index.umd.js
CHANGED
|
@@ -2780,7 +2780,7 @@ var core_ = __webpack_require__(4345);
|
|
|
2780
2780
|
const {
|
|
2781
2781
|
log
|
|
2782
2782
|
} = core_.VxeUI;
|
|
2783
|
-
const version = `gantt v${"4.0.
|
|
2783
|
+
const version = `gantt v${"4.0.16"}`;
|
|
2784
2784
|
const warnLog = log.create('warn', version);
|
|
2785
2785
|
const errLog = log.create('error', version);
|
|
2786
2786
|
;// ./packages/ui/index.ts
|
|
@@ -2791,7 +2791,7 @@ const {
|
|
|
2791
2791
|
setIcon,
|
|
2792
2792
|
checkVersion
|
|
2793
2793
|
} = core_.VxeUI;
|
|
2794
|
-
core_.VxeUI.ganttVersion = "4.0.
|
|
2794
|
+
core_.VxeUI.ganttVersion = "4.0.16";
|
|
2795
2795
|
setConfig({
|
|
2796
2796
|
gantt: {
|
|
2797
2797
|
// size: null,
|
|
@@ -3324,6 +3324,8 @@ function getCellRestHeight(rowRest, cellOpts, rowOpts, defaultRowHeight) {
|
|
|
3324
3324
|
const {
|
|
3325
3325
|
getI18n
|
|
3326
3326
|
} = core_.VxeUI;
|
|
3327
|
+
const sourceType = 'gantt';
|
|
3328
|
+
const viewType = 'header';
|
|
3327
3329
|
/* harmony default export */ var gantt_header = (defineVxeComponent({
|
|
3328
3330
|
name: 'VxeGanttViewHeader',
|
|
3329
3331
|
setup() {
|
|
@@ -3403,6 +3405,9 @@ const {
|
|
|
3403
3405
|
}
|
|
3404
3406
|
let cellVNs = label;
|
|
3405
3407
|
const ctParams = {
|
|
3408
|
+
source: sourceType,
|
|
3409
|
+
type: viewType,
|
|
3410
|
+
column,
|
|
3406
3411
|
scaleObj: scaleItem,
|
|
3407
3412
|
title: label,
|
|
3408
3413
|
dateObj: dateObj,
|
|
@@ -3428,7 +3433,10 @@ const {
|
|
|
3428
3433
|
}],
|
|
3429
3434
|
colspan: childCount || null,
|
|
3430
3435
|
title: titleSlot ? null : label,
|
|
3431
|
-
style: cellStys
|
|
3436
|
+
style: cellStys,
|
|
3437
|
+
onContextmenu(evnt) {
|
|
3438
|
+
$xeGantt.handleTaskHeaderContextmenuEvent(evnt, ctParams);
|
|
3439
|
+
}
|
|
3432
3440
|
}, cellVNs);
|
|
3433
3441
|
}));
|
|
3434
3442
|
}))])])]);
|
|
@@ -3469,6 +3477,8 @@ const {
|
|
|
3469
3477
|
const {
|
|
3470
3478
|
renderEmptyElement
|
|
3471
3479
|
} = core_.VxeUI;
|
|
3480
|
+
const gantt_chart_sourceType = 'gantt';
|
|
3481
|
+
const gantt_chart_viewType = 'chart';
|
|
3472
3482
|
/* harmony default export */ var gantt_chart = (defineVxeComponent({
|
|
3473
3483
|
name: 'VxeGanttViewChart',
|
|
3474
3484
|
setup() {
|
|
@@ -3484,7 +3494,7 @@ const {
|
|
|
3484
3494
|
computeTaskBarOpts
|
|
3485
3495
|
} = $xeGantt.getComputeMaps();
|
|
3486
3496
|
const refElem = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.ref)();
|
|
3487
|
-
const renderTaskBar = ($xeTable, row, rowid, $rowIndex) => {
|
|
3497
|
+
const renderTaskBar = ($xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex) => {
|
|
3488
3498
|
const tableProps = $xeTable.props;
|
|
3489
3499
|
const {
|
|
3490
3500
|
treeConfig
|
|
@@ -3553,6 +3563,14 @@ const {
|
|
|
3553
3563
|
title
|
|
3554
3564
|
}));
|
|
3555
3565
|
}
|
|
3566
|
+
const ctParams = {
|
|
3567
|
+
source: gantt_chart_sourceType,
|
|
3568
|
+
type: gantt_chart_viewType,
|
|
3569
|
+
row,
|
|
3570
|
+
$rowIndex,
|
|
3571
|
+
rowIndex,
|
|
3572
|
+
_rowIndex
|
|
3573
|
+
};
|
|
3556
3574
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
3557
3575
|
key: treeConfig ? rowid : $rowIndex,
|
|
3558
3576
|
rowid,
|
|
@@ -3562,6 +3580,9 @@ const {
|
|
|
3562
3580
|
}],
|
|
3563
3581
|
style: {
|
|
3564
3582
|
height: `${cellHeight}px`
|
|
3583
|
+
},
|
|
3584
|
+
onContextmenu(evnt) {
|
|
3585
|
+
$xeGantt.handleTaskBarContextmenuEvent(evnt, ctParams);
|
|
3565
3586
|
}
|
|
3566
3587
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
3567
3588
|
class: taskBarSlot ? 'vxe-gantt-view--chart-custom-bar' : 'vxe-gantt-view--chart-bar',
|
|
@@ -3596,6 +3617,7 @@ const {
|
|
|
3596
3617
|
} = tableReactData;
|
|
3597
3618
|
const tableInternalData = $xeTable.internalData;
|
|
3598
3619
|
const {
|
|
3620
|
+
fullAllDataRowIdData,
|
|
3599
3621
|
treeExpandedMaps
|
|
3600
3622
|
} = tableInternalData;
|
|
3601
3623
|
const {
|
|
@@ -3612,7 +3634,14 @@ const {
|
|
|
3612
3634
|
const trVNs = [];
|
|
3613
3635
|
tableData.forEach((row, $rowIndex) => {
|
|
3614
3636
|
const rowid = $xeTable ? $xeTable.getRowid(row) : '';
|
|
3615
|
-
|
|
3637
|
+
const rowRest = fullAllDataRowIdData[rowid] || {};
|
|
3638
|
+
let rowIndex = $rowIndex;
|
|
3639
|
+
let _rowIndex = -1;
|
|
3640
|
+
if (rowRest) {
|
|
3641
|
+
rowIndex = rowRest.index;
|
|
3642
|
+
_rowIndex = rowRest._index;
|
|
3643
|
+
}
|
|
3644
|
+
trVNs.push(renderTaskBar($xeTable, row, rowid, rowIndex, $rowIndex, _rowIndex));
|
|
3616
3645
|
let isExpandTree = false;
|
|
3617
3646
|
let rowChildren = [];
|
|
3618
3647
|
if (treeConfig && !scrollYLoad && !transform) {
|
|
@@ -3662,6 +3691,8 @@ const {
|
|
|
3662
3691
|
|
|
3663
3692
|
|
|
3664
3693
|
|
|
3694
|
+
const gantt_body_sourceType = 'gantt';
|
|
3695
|
+
const gantt_body_viewType = 'body';
|
|
3665
3696
|
/* harmony default export */ var gantt_body = (defineVxeComponent({
|
|
3666
3697
|
name: 'VxeGanttViewBody',
|
|
3667
3698
|
setup() {
|
|
@@ -3740,7 +3771,7 @@ const {
|
|
|
3740
3771
|
$columnIndex: 0,
|
|
3741
3772
|
_columnIndex: 0,
|
|
3742
3773
|
fixed: '',
|
|
3743
|
-
type:
|
|
3774
|
+
type: gantt_body_viewType,
|
|
3744
3775
|
isHidden: false,
|
|
3745
3776
|
isEdit: false,
|
|
3746
3777
|
level: -1,
|
|
@@ -3755,6 +3786,15 @@ const {
|
|
|
3755
3786
|
onDblclick: evnt => $xeTable.handleRowResizeDblclickEvent(evnt, cellParams)
|
|
3756
3787
|
}));
|
|
3757
3788
|
}
|
|
3789
|
+
const ctParams = {
|
|
3790
|
+
source: gantt_body_sourceType,
|
|
3791
|
+
type: gantt_body_viewType,
|
|
3792
|
+
row,
|
|
3793
|
+
column,
|
|
3794
|
+
$rowIndex,
|
|
3795
|
+
rowIndex,
|
|
3796
|
+
_rowIndex
|
|
3797
|
+
};
|
|
3758
3798
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('td', {
|
|
3759
3799
|
key: $columnIndex,
|
|
3760
3800
|
class: ['vxe-gantt-view--body-column', {
|
|
@@ -3775,6 +3815,9 @@ const {
|
|
|
3775
3815
|
row,
|
|
3776
3816
|
column
|
|
3777
3817
|
});
|
|
3818
|
+
},
|
|
3819
|
+
onContextmenu(evnt) {
|
|
3820
|
+
$xeGantt.handleTaskBodyContextmenuEvent(evnt, ctParams);
|
|
3778
3821
|
}
|
|
3779
3822
|
}, tdVNs);
|
|
3780
3823
|
};
|
|
@@ -3889,7 +3932,16 @@ const {
|
|
|
3889
3932
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
3890
3933
|
ref: refBodyScroll,
|
|
3891
3934
|
class: 'vxe-gantt-view--body-inner-wrapper',
|
|
3892
|
-
onScroll: $xeGanttView.triggerBodyScrollEvent
|
|
3935
|
+
onScroll: $xeGanttView.triggerBodyScrollEvent,
|
|
3936
|
+
onContextmenu(evnt) {
|
|
3937
|
+
$xeGantt.handleTaskBodyContextmenuEvent(evnt, {
|
|
3938
|
+
source: gantt_body_sourceType,
|
|
3939
|
+
type: gantt_body_viewType,
|
|
3940
|
+
rowIndex: -1,
|
|
3941
|
+
$rowIndex: -1,
|
|
3942
|
+
_rowIndex: -1
|
|
3943
|
+
});
|
|
3944
|
+
}
|
|
3893
3945
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
3894
3946
|
ref: refBodyXSpace,
|
|
3895
3947
|
class: 'vxe-body--x-space'
|
|
@@ -3936,9 +3988,12 @@ const {
|
|
|
3936
3988
|
;// ./packages/gantt/src/gantt-footer.ts
|
|
3937
3989
|
|
|
3938
3990
|
|
|
3991
|
+
const gantt_footer_sourceType = 'gantt';
|
|
3992
|
+
const gantt_footer_viewType = 'footer';
|
|
3939
3993
|
/* harmony default export */ var gantt_footer = (defineVxeComponent({
|
|
3940
3994
|
name: 'VxeGanttViewFooter',
|
|
3941
3995
|
setup() {
|
|
3996
|
+
const $xeGantt = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeGantt', {});
|
|
3942
3997
|
const $xeGanttView = (0,external_commonjs_vue_commonjs2_vue_root_Vue_.inject)('$xeGanttView', {});
|
|
3943
3998
|
const {
|
|
3944
3999
|
internalData
|
|
@@ -3948,7 +4003,14 @@ const {
|
|
|
3948
4003
|
const renderVN = () => {
|
|
3949
4004
|
return (0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
3950
4005
|
ref: refElem,
|
|
3951
|
-
class: 'vxe-gantt-view--footer-wrapper'
|
|
4006
|
+
class: 'vxe-gantt-view--footer-wrapper',
|
|
4007
|
+
onContextmenu(evnt) {
|
|
4008
|
+
$xeGantt.handleTaskFooterContextmenuEvent(evnt, {
|
|
4009
|
+
source: gantt_footer_sourceType,
|
|
4010
|
+
type: gantt_footer_viewType,
|
|
4011
|
+
$rowIndex: -1
|
|
4012
|
+
});
|
|
4013
|
+
}
|
|
3952
4014
|
}, [(0,external_commonjs_vue_commonjs2_vue_root_Vue_.h)('div', {
|
|
3953
4015
|
ref: refHeaderScroll,
|
|
3954
4016
|
class: 'vxe-gantt-view--footer-inner-wrapper'
|
|
@@ -6983,6 +7045,58 @@ function getViewTypeLevel(type) {
|
|
|
6983
7045
|
},
|
|
6984
7046
|
handleTaskBarDblclickEvent(evnt, params) {
|
|
6985
7047
|
$xeGantt.dispatchEvent('task-bar-dblclick', params, evnt);
|
|
7048
|
+
},
|
|
7049
|
+
handleTaskHeaderContextmenuEvent(evnt, params) {
|
|
7050
|
+
const $xeTable = refTable.value;
|
|
7051
|
+
if ($xeTable) {
|
|
7052
|
+
const tableProps = $xeTable.props;
|
|
7053
|
+
const {
|
|
7054
|
+
menuConfig
|
|
7055
|
+
} = tableProps;
|
|
7056
|
+
if (isEnableConf(menuConfig)) {
|
|
7057
|
+
evnt.stopPropagation();
|
|
7058
|
+
$xeTable.handleOpenMenuEvent(evnt, 'header', params);
|
|
7059
|
+
}
|
|
7060
|
+
}
|
|
7061
|
+
},
|
|
7062
|
+
handleTaskBodyContextmenuEvent(evnt, params) {
|
|
7063
|
+
const $xeTable = refTable.value;
|
|
7064
|
+
if ($xeTable) {
|
|
7065
|
+
const tableProps = $xeTable.props;
|
|
7066
|
+
const {
|
|
7067
|
+
menuConfig
|
|
7068
|
+
} = tableProps;
|
|
7069
|
+
if (isEnableConf(menuConfig)) {
|
|
7070
|
+
evnt.stopPropagation();
|
|
7071
|
+
$xeTable.handleOpenMenuEvent(evnt, 'body', params);
|
|
7072
|
+
}
|
|
7073
|
+
}
|
|
7074
|
+
},
|
|
7075
|
+
handleTaskFooterContextmenuEvent(evnt, params) {
|
|
7076
|
+
const $xeTable = refTable.value;
|
|
7077
|
+
if ($xeTable) {
|
|
7078
|
+
const tableProps = $xeTable.props;
|
|
7079
|
+
const {
|
|
7080
|
+
menuConfig
|
|
7081
|
+
} = tableProps;
|
|
7082
|
+
if (isEnableConf(menuConfig)) {
|
|
7083
|
+
evnt.stopPropagation();
|
|
7084
|
+
$xeTable.handleOpenMenuEvent(evnt, 'footer', params);
|
|
7085
|
+
}
|
|
7086
|
+
}
|
|
7087
|
+
},
|
|
7088
|
+
handleTaskBarContextmenuEvent(evnt, params) {
|
|
7089
|
+
const $xeTable = refTable.value;
|
|
7090
|
+
if ($xeTable) {
|
|
7091
|
+
const tableProps = $xeTable.props;
|
|
7092
|
+
const {
|
|
7093
|
+
menuConfig
|
|
7094
|
+
} = tableProps;
|
|
7095
|
+
if (isEnableConf(menuConfig)) {
|
|
7096
|
+
evnt.stopPropagation();
|
|
7097
|
+
$xeTable.handleOpenMenuEvent(evnt, 'body', params);
|
|
7098
|
+
}
|
|
7099
|
+
}
|
|
6986
7100
|
}
|
|
6987
7101
|
};
|
|
6988
7102
|
Object.assign($xeGantt, ganttExtendTableMethods, ganttMethods, ganttPrivateMethods, {
|