vxe-gantt 3.0.22 → 3.0.24
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 +31 -10
- package/es/gantt/src/gantt-view.js +97 -2
- package/es/ui/index.js +1 -1
- package/es/ui/src/dom.js +1 -1
- package/es/ui/src/log.js +1 -1
- package/es/ui/src/utils.js +3 -0
- package/lib/gantt/src/gantt-body.js +30 -5
- package/lib/gantt/src/gantt-body.min.js +1 -1
- package/lib/gantt/src/gantt-view.js +96 -2
- package/lib/gantt/src/gantt-view.min.js +1 -1
- package/lib/index.umd.js +133 -10
- 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/dom.js +1 -1
- package/lib/ui/src/dom.min.js +1 -1
- package/lib/ui/src/log.js +1 -1
- package/lib/ui/src/log.min.js +1 -1
- package/lib/ui/src/utils.js +4 -0
- package/lib/ui/src/utils.min.js +1 -1
- package/package.json +3 -3
- package/packages/gantt/src/gantt-body.ts +39 -17
- package/packages/gantt/src/gantt-view.ts +99 -2
- package/packages/ui/src/dom.ts +1 -1
- package/packages/ui/src/utils.ts +4 -0
package/lib/ui/index.js
CHANGED
|
@@ -15,7 +15,7 @@ var _log = require("./src/log");
|
|
|
15
15
|
var setConfig = _core.VxeUI.setConfig,
|
|
16
16
|
setIcon = _core.VxeUI.setIcon,
|
|
17
17
|
checkVersion = _core.VxeUI.checkVersion;
|
|
18
|
-
_core.VxeUI.ganttVersion = "3.0.
|
|
18
|
+
_core.VxeUI.ganttVersion = "3.0.24";
|
|
19
19
|
setConfig({
|
|
20
20
|
gantt: {
|
|
21
21
|
// size: null,
|
package/lib/ui/index.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.default=void 0;var _core=require("@vxe-ui/core"),_log=require("./src/log"),setConfig=_core.VxeUI.setConfig,setIcon=_core.VxeUI.setIcon,checkVersion=_core.VxeUI.checkVersion,iconPrefix=(_core.VxeUI.ganttVersion="3.0.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"VxeUI",{enumerable:!0,get:function(){return _core.VxeUI}}),exports.default=void 0;var _core=require("@vxe-ui/core"),_log=require("./src/log"),setConfig=_core.VxeUI.setConfig,setIcon=_core.VxeUI.setIcon,checkVersion=_core.VxeUI.checkVersion,iconPrefix=(_core.VxeUI.ganttVersion="3.0.24",setConfig({gantt:{formConfig:{enabled:!0},pagerConfig:{enabled:!0},toolbarConfig:{enabled:!0},proxyConfig:{enabled:!0,autoLoad:!0,showLoading:!0,showResponseMsg:!0,showActionMsg:!0,response:{list:null,result:"result",total:"page.total",message:"message"}},taskViewScaleConfs:{week:{startDay:1}},taskViewConfig:{showNowLine:!0},taskSplitConfig:{enabled:!0,resize:!0,showCollapseTableButton:!0,showCollapseTaskButton:!0}}}),"vxe-icon-"),pVersion=(setIcon({GANTT_VIEW_LEFT_OPEN:iconPrefix+"arrow-left",GANTT_VIEW_LEFT_CLOSE:iconPrefix+"arrow-right",GANTT_VIEW_RIGHT_OPEN:iconPrefix+"arrow-right",GANTT_VIEW_RIGHT_CLOSE:iconPrefix+"arrow-left"}),3),sVersion=18,_default=(checkVersion?checkVersion(_core.VxeUI.tableVersion,pVersion,sVersion)||(0,_log.errLog)("vxe.error.errorVersion",["vxe-table@".concat(_core.VxeUI.tableVersion||"?"),"vxe-table v".concat(pVersion,".").concat(sVersion,"+")]):(0,_log.errLog)("Requires vxe-table v".concat(pVersion,".").concat(sVersion,"+")),exports.default=_core.VxeUI);
|
package/lib/ui/src/dom.js
CHANGED
|
@@ -68,7 +68,7 @@ function getNodeOffset(elem, container, rest) {
|
|
|
68
68
|
return rest;
|
|
69
69
|
}
|
|
70
70
|
function isPx(val) {
|
|
71
|
-
return val && /^\d+(\.\d+)?px?$/.test(val);
|
|
71
|
+
return val && /^\d+(\.\d+)?(px)?$/.test(val);
|
|
72
72
|
}
|
|
73
73
|
function isScale(val) {
|
|
74
74
|
return val && /^\d+(\.\d+)?%$/.test(val);
|
package/lib/ui/src/dom.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.getAbsolutePos=getAbsolutePos,exports.getDomNode=getDomNode,exports.getEventTargetNode=getEventTargetNode,exports.getOffsetHeight=getOffsetHeight,exports.getOffsetPos=getOffsetPos,exports.getPaddingTopBottomSize=getPaddingTopBottomSize,exports.getPropClass=getPropClass,exports.getTpImg=getTpImg,exports.hasClass=hasClass,exports.hasControlKey=hasControlKey,exports.initTpImg=initTpImg,exports.isNodeElement=isNodeElement,exports.isPx=isPx,exports.isScale=isScale,exports.queryElement=queryElement,exports.removeClass=removeClass,exports.scrollToView=scrollToView,exports.setScrollLeft=setScrollLeft,exports.setScrollTop=setScrollTop,exports.toCssUnit=toCssUnit,exports.triggerEvent=triggerEvent,exports.updateCellTitle=updateCellTitle;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var tpImgEl,reClsMap={};function initTpImg(){return tpImgEl||((tpImgEl=new Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),tpImgEl}function getTpImg(){return tpImgEl||initTpImg()}function getPropClass(e,t){return e?_xeUtils.default.isFunction(e)?e(t):e:""}function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp("(?:^|\\s)".concat(e,"(?!\\S)"),"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var s=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,s&&s!==document.documentElement&&s!==document.body&&(o.top-=s.scrollTop,o.left-=s.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}function isPx(e){return e&&/^\d+(\.\d+)?px?$/.test(e)}function isScale(e){return e&&/^\d+(\.\d+)?%$/.test(e)}function hasClass(e,t){return!!(e&&e.className&&e.className.match&&e.className.match(getClsRE(t)))}function removeClass(e,t){e&&hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))}function addClass(e,t){e&&!hasClass(e,t)&&(removeClass(e,t),e.className="".concat(e.className," ").concat(t))}function hasControlKey(e){return e.ctrlKey||e.metaKey}function toCssUnit(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"px";return _xeUtils.default.isNumber(e)||/^\d+$/.test("".concat(e))?"".concat(e).concat(t):"".concat(e||"")}function queryElement(e,t){return e?e.querySelector(t):null}function getDomNode(){var e=document.documentElement,t=document.body;return{scrollTop:e.scrollTop||t.scrollTop,scrollLeft:e.scrollLeft||t.scrollLeft,visibleHeight:e.clientHeight||t.clientHeight,visibleWidth:e.clientWidth||t.clientWidth}}function getOffsetHeight(e){return e?e.offsetHeight:0}function getPaddingTopBottomSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingTop)+_xeUtils.default.toNumber(e.paddingBottom)):0}function setScrollTop(e,t){e&&(e.scrollTop=t)}function setScrollLeft(e,t){e&&(e.scrollLeft=t)}function updateCellTitle(e,t){t="html"===t.type?e.innerText:e.textContent;e.getAttribute("title")!==t&&e.setAttribute("title",t)}function getEventTargetNode(e,t,o,s){for(var l,n=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;n&&n.nodeType&&n!==document;){if(o&&hasClass(n,o)&&(!s||s(n)))l=n;else if(n===t)return{flag:!o||!!l,container:t,targetElem:l};n=n.parentNode}return{flag:!1}}function getOffsetPos(e,t){return getNodeOffset(e,t,{left:0,top:0})}function getAbsolutePos(e){var e=e.getBoundingClientRect(),t=e.top,e=e.left,o=getDomNode();return{boundingTop:t,top:o.scrollTop+t,boundingLeft:e,left:o.scrollLeft+e,visibleHeight:o.visibleHeight,visibleWidth:o.visibleWidth}}var scrollIntoViewIfNeeded="scrollIntoViewIfNeeded",scrollIntoView="scrollIntoView";function scrollToView(e){e&&(e[scrollIntoViewIfNeeded]?e[scrollIntoViewIfNeeded]():e[scrollIntoView]&&e[scrollIntoView]())}function triggerEvent(e,t){e&&e.dispatchEvent(new Event(t))}function isNodeElement(e){return e&&1===e.nodeType}
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.addClass=addClass,exports.getAbsolutePos=getAbsolutePos,exports.getDomNode=getDomNode,exports.getEventTargetNode=getEventTargetNode,exports.getOffsetHeight=getOffsetHeight,exports.getOffsetPos=getOffsetPos,exports.getPaddingTopBottomSize=getPaddingTopBottomSize,exports.getPropClass=getPropClass,exports.getTpImg=getTpImg,exports.hasClass=hasClass,exports.hasControlKey=hasControlKey,exports.initTpImg=initTpImg,exports.isNodeElement=isNodeElement,exports.isPx=isPx,exports.isScale=isScale,exports.queryElement=queryElement,exports.removeClass=removeClass,exports.scrollToView=scrollToView,exports.setScrollLeft=setScrollLeft,exports.setScrollTop=setScrollTop,exports.toCssUnit=toCssUnit,exports.triggerEvent=triggerEvent,exports.updateCellTitle=updateCellTitle;var _xeUtils=_interopRequireDefault(require("xe-utils"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var tpImgEl,reClsMap={};function initTpImg(){return tpImgEl||((tpImgEl=new Image).src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),tpImgEl}function getTpImg(){return tpImgEl||initTpImg()}function getPropClass(e,t){return e?_xeUtils.default.isFunction(e)?e(t):e:""}function getClsRE(e){return reClsMap[e]||(reClsMap[e]=new RegExp("(?:^|\\s)".concat(e,"(?!\\S)"),"g")),reClsMap[e]}function getNodeOffset(e,t,o){if(e){var s=e.parentNode;if(o.top+=e.offsetTop,o.left+=e.offsetLeft,s&&s!==document.documentElement&&s!==document.body&&(o.top-=s.scrollTop,o.left-=s.scrollLeft),(!t||e!==t&&e.offsetParent!==t)&&e.offsetParent)return getNodeOffset(e.offsetParent,t,o)}return o}function isPx(e){return e&&/^\d+(\.\d+)?(px)?$/.test(e)}function isScale(e){return e&&/^\d+(\.\d+)?%$/.test(e)}function hasClass(e,t){return!!(e&&e.className&&e.className.match&&e.className.match(getClsRE(t)))}function removeClass(e,t){e&&hasClass(e,t)&&(e.className=e.className.replace(getClsRE(t),""))}function addClass(e,t){e&&!hasClass(e,t)&&(removeClass(e,t),e.className="".concat(e.className," ").concat(t))}function hasControlKey(e){return e.ctrlKey||e.metaKey}function toCssUnit(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"px";return _xeUtils.default.isNumber(e)||/^\d+$/.test("".concat(e))?"".concat(e).concat(t):"".concat(e||"")}function queryElement(e,t){return e?e.querySelector(t):null}function getDomNode(){var e=document.documentElement,t=document.body;return{scrollTop:e.scrollTop||t.scrollTop,scrollLeft:e.scrollLeft||t.scrollLeft,visibleHeight:e.clientHeight||t.clientHeight,visibleWidth:e.clientWidth||t.clientWidth}}function getOffsetHeight(e){return e?e.offsetHeight:0}function getPaddingTopBottomSize(e){return e?(e=getComputedStyle(e),_xeUtils.default.toNumber(e.paddingTop)+_xeUtils.default.toNumber(e.paddingBottom)):0}function setScrollTop(e,t){e&&(e.scrollTop=t)}function setScrollLeft(e,t){e&&(e.scrollLeft=t)}function updateCellTitle(e,t){t="html"===t.type?e.innerText:e.textContent;e.getAttribute("title")!==t&&e.setAttribute("title",t)}function getEventTargetNode(e,t,o,s){for(var l,n=e.target.shadowRoot&&e.composed&&e.composedPath()[0]||e.target;n&&n.nodeType&&n!==document;){if(o&&hasClass(n,o)&&(!s||s(n)))l=n;else if(n===t)return{flag:!o||!!l,container:t,targetElem:l};n=n.parentNode}return{flag:!1}}function getOffsetPos(e,t){return getNodeOffset(e,t,{left:0,top:0})}function getAbsolutePos(e){var e=e.getBoundingClientRect(),t=e.top,e=e.left,o=getDomNode();return{boundingTop:t,top:o.scrollTop+t,boundingLeft:e,left:o.scrollLeft+e,visibleHeight:o.visibleHeight,visibleWidth:o.visibleWidth}}var scrollIntoViewIfNeeded="scrollIntoViewIfNeeded",scrollIntoView="scrollIntoView";function scrollToView(e){e&&(e[scrollIntoViewIfNeeded]?e[scrollIntoViewIfNeeded]():e[scrollIntoView]&&e[scrollIntoView]())}function triggerEvent(e,t){e&&e.dispatchEvent(new Event(t))}function isNodeElement(e){return e&&1===e.nodeType}
|
package/lib/ui/src/log.js
CHANGED
|
@@ -6,6 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.warnLog = exports.errLog = void 0;
|
|
7
7
|
var _core = require("@vxe-ui/core");
|
|
8
8
|
var log = _core.VxeUI.log;
|
|
9
|
-
var version = "gantt v".concat("3.0.
|
|
9
|
+
var version = "gantt v".concat("3.0.24");
|
|
10
10
|
var warnLog = exports.warnLog = log.create('warn', version);
|
|
11
11
|
var errLog = exports.errLog = log.create('error', version);
|
package/lib/ui/src/log.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core"),log=_core.VxeUI.log,version="gantt v".concat("3.0.
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.warnLog=exports.errLog=void 0;var _core=require("@vxe-ui/core"),log=_core.VxeUI.log,version="gantt v".concat("3.0.24"),warnLog=exports.warnLog=log.create("warn",version),errLog=exports.errLog=log.create("error",version);
|
package/lib/ui/src/utils.js
CHANGED
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.eqEmptyValue = eqEmptyValue;
|
|
7
|
+
exports.getClass = getClass;
|
|
7
8
|
exports.getFuncText = getFuncText;
|
|
8
9
|
exports.getGlobalDefaultConfig = getGlobalDefaultConfig;
|
|
9
10
|
exports.getLastZIndex = getLastZIndex;
|
|
@@ -53,4 +54,7 @@ function eqEmptyValue(cellValue) {
|
|
|
53
54
|
}
|
|
54
55
|
function getStringValue(cellValue) {
|
|
55
56
|
return eqEmptyValue(cellValue) ? '' : cellValue;
|
|
57
|
+
}
|
|
58
|
+
function getClass(property, params) {
|
|
59
|
+
return property ? _xeUtils.default.isFunction(property) ? property(params) : property : '';
|
|
56
60
|
}
|
package/lib/ui/src/utils.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,"__esModule",{value:!0}),exports.eqEmptyValue=eqEmptyValue,exports.getFuncText=getFuncText,exports.getGlobalDefaultConfig=getGlobalDefaultConfig,exports.getLastZIndex=getLastZIndex,exports.getStringValue=getStringValue,exports.getSubLastZIndex=getSubLastZIndex,exports.isEnableConf=isEnableConf,exports.nextSubZIndex=nextSubZIndex,exports.nextZIndex=nextZIndex;var _xeUtils=_interopRequireDefault(require("xe-utils")),_core=require("@vxe-ui/core"),_domZindex=_interopRequireDefault(require("dom-zindex"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var getConfig=_core.VxeUI.getConfig;function isEnableConf(e){return e&&!1!==e.enabled}function nextZIndex(){return _domZindex.default.getNext()}function getLastZIndex(){return _domZindex.default.getCurrent()}function nextSubZIndex(){return _domZindex.default.getSubNext()}function getSubLastZIndex(){return _domZindex.default.getSubCurrent()}function getGlobalDefaultConfig(e,t){return _xeUtils.default.eqNull(e)?t:e}function getFuncText(e,t){var n;return e?(n=getConfig().translate,_xeUtils.default.toValueString(n?n(""+e,t):e)):""}function eqEmptyValue(e){return null==e||""===e}function getStringValue(e){return eqEmptyValue(e)?"":e}
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:!0}),exports.eqEmptyValue=eqEmptyValue,exports.getClass=getClass,exports.getFuncText=getFuncText,exports.getGlobalDefaultConfig=getGlobalDefaultConfig,exports.getLastZIndex=getLastZIndex,exports.getStringValue=getStringValue,exports.getSubLastZIndex=getSubLastZIndex,exports.isEnableConf=isEnableConf,exports.nextSubZIndex=nextSubZIndex,exports.nextZIndex=nextZIndex;var _xeUtils=_interopRequireDefault(require("xe-utils")),_core=require("@vxe-ui/core"),_domZindex=_interopRequireDefault(require("dom-zindex"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var getConfig=_core.VxeUI.getConfig;function isEnableConf(e){return e&&!1!==e.enabled}function nextZIndex(){return _domZindex.default.getNext()}function getLastZIndex(){return _domZindex.default.getCurrent()}function nextSubZIndex(){return _domZindex.default.getSubNext()}function getSubLastZIndex(){return _domZindex.default.getSubCurrent()}function getGlobalDefaultConfig(e,t){return _xeUtils.default.eqNull(e)?t:e}function getFuncText(e,t){var n;return e?(n=getConfig().translate,_xeUtils.default.toValueString(n?n(""+e,t):e)):""}function eqEmptyValue(e){return null==e||""===e}function getStringValue(e){return eqEmptyValue(e)?"":e}function getClass(e,t){return e?_xeUtils.default.isFunction(e)?e(t):e:""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vxe-gantt",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.24",
|
|
4
4
|
"description": "A vue based gantt component",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"update": "npm install --legacy-peer-deps",
|
|
@@ -64,8 +64,8 @@
|
|
|
64
64
|
"vue": "~2.6.14",
|
|
65
65
|
"vue-i18n": "^8.15.1",
|
|
66
66
|
"vue-router": "^3.5.1",
|
|
67
|
-
"vxe-pc-ui": "^3.10.
|
|
68
|
-
"vxe-table": "^3.19.
|
|
67
|
+
"vxe-pc-ui": "^3.10.32",
|
|
68
|
+
"vxe-table": "^3.19.20"
|
|
69
69
|
},
|
|
70
70
|
"vetur": {
|
|
71
71
|
"tags": "helper/vetur/tags.json",
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { VNode, CreateElement } from 'vue'
|
|
2
2
|
import { defineVxeComponent } from '../../ui/src/comp'
|
|
3
3
|
import { getCellRestHeight } from './util'
|
|
4
|
+
import { getClass } from '../../ui/src/utils'
|
|
5
|
+
import XEUtils from 'xe-utils'
|
|
4
6
|
import GanttViewChartComponent from './gantt-chart'
|
|
5
7
|
|
|
6
8
|
import type { TableInternalData, TableReactData, VxeTableConstructor, VxeTableMethods, VxeTablePrivateMethods, VxeTableDefines } from 'vxe-table'
|
|
@@ -48,9 +50,10 @@ export default defineVxeComponent({
|
|
|
48
50
|
const { headerGroups } = reactData
|
|
49
51
|
const { todayDateMaps } = internalData
|
|
50
52
|
const taskViewOpts = $xeGantt.computeTaskViewOpts
|
|
51
|
-
const { showNowLine } = taskViewOpts
|
|
53
|
+
const { showNowLine, viewStyle } = taskViewOpts
|
|
52
54
|
const { scaleItem } = headerGroups[headerGroups.length - 1] || {}
|
|
53
|
-
const { field } = column
|
|
55
|
+
const { field, dateObj } = column
|
|
56
|
+
const { cellClassName, cellStyle } = viewStyle || {}
|
|
54
57
|
const todayValue = showNowLine && scaleItem ? todayDateMaps[scaleItem.type] : null
|
|
55
58
|
|
|
56
59
|
const rowRest = fullAllDataRowIdData[rowid] || {}
|
|
@@ -96,16 +99,24 @@ export default defineVxeComponent({
|
|
|
96
99
|
})
|
|
97
100
|
)
|
|
98
101
|
}
|
|
99
|
-
const ctParams = { source: sourceType, type: viewType, row, column, $rowIndex, rowIndex, _rowIndex }
|
|
102
|
+
const ctParams = { source: sourceType, type: viewType, dateObj, row, column, $rowIndex, rowIndex, _rowIndex }
|
|
100
103
|
return h('td', {
|
|
101
104
|
key: $columnIndex,
|
|
102
|
-
class: [
|
|
103
|
-
'
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
class: [
|
|
106
|
+
'vxe-gantt-view--body-column',
|
|
107
|
+
{
|
|
108
|
+
'is--now': showNowLine && todayValue === field,
|
|
109
|
+
'col--rs-height': isRsHeight
|
|
110
|
+
},
|
|
111
|
+
getClass(cellClassName, ctParams)
|
|
112
|
+
],
|
|
113
|
+
style: cellStyle
|
|
114
|
+
? Object.assign({}, XEUtils.isFunction(cellStyle) ? cellStyle(ctParams) : cellStyle, {
|
|
115
|
+
height: `${cellHeight}px`
|
|
116
|
+
})
|
|
117
|
+
: {
|
|
118
|
+
height: `${cellHeight}px`
|
|
119
|
+
},
|
|
109
120
|
on: {
|
|
110
121
|
click (evnt: MouseEvent) {
|
|
111
122
|
$xeGantt.handleTaskCellClickEvent(evnt, { row, column })
|
|
@@ -122,6 +133,7 @@ export default defineVxeComponent({
|
|
|
122
133
|
renderRows (h: CreateElement, $xeTable: VxeTableConstructor & VxeTableMethods & VxeTablePrivateMethods, tableData: any[]) {
|
|
123
134
|
const _vm = this
|
|
124
135
|
const $xeGanttView = _vm.$xeGanttView
|
|
136
|
+
const $xeGantt = _vm.$xeGantt
|
|
125
137
|
const { reactData } = $xeGanttView
|
|
126
138
|
|
|
127
139
|
const tableProps = $xeTable
|
|
@@ -137,6 +149,10 @@ export default defineVxeComponent({
|
|
|
137
149
|
const { transform } = treeOpts
|
|
138
150
|
const childrenField = treeOpts.children || treeOpts.childrenField
|
|
139
151
|
|
|
152
|
+
const taskViewOpts = $xeGantt.computeTaskViewOpts
|
|
153
|
+
const { viewStyle } = taskViewOpts
|
|
154
|
+
const { rowClassName, rowStyle } = viewStyle || {}
|
|
155
|
+
|
|
140
156
|
const { tableColumn, scrollYLoad } = reactData
|
|
141
157
|
|
|
142
158
|
const trVNs:VNode[] = []
|
|
@@ -170,16 +186,22 @@ export default defineVxeComponent({
|
|
|
170
186
|
trOns.dragend = $xeTable.handleRowDragDragendEvent
|
|
171
187
|
trOns.dragover = $xeTable.handleRowDragDragoverEvent
|
|
172
188
|
}
|
|
189
|
+
const rowParams = { source: sourceType, type: viewType, row, rowIndex, $rowIndex, _rowIndex }
|
|
173
190
|
trVNs.push(
|
|
174
191
|
h('tr', {
|
|
175
192
|
key: treeConfig ? rowid : $rowIndex,
|
|
176
|
-
class: [
|
|
177
|
-
'row
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
193
|
+
class: [
|
|
194
|
+
'vxe-gantt-view--body-row',
|
|
195
|
+
{
|
|
196
|
+
'row--stripe': stripe && (_rowIndex + 1) % 2 === 0,
|
|
197
|
+
'is--new': isNewRow,
|
|
198
|
+
'row--radio': radioOpts.highlight && $xeTable.eqRow(selectRadioRow, row),
|
|
199
|
+
'row--checked': checkboxOpts.highlight && $xeTable.isCheckedByCheckboxRow(row),
|
|
200
|
+
'row--pending': !!pendingRowFlag && !!pendingRowMaps[rowid]
|
|
201
|
+
},
|
|
202
|
+
getClass(rowClassName, rowParams)
|
|
203
|
+
],
|
|
204
|
+
style: rowStyle ? XEUtils.isFunction(rowStyle) ? rowStyle(rowParams) : rowStyle : undefined,
|
|
183
205
|
attrs: {
|
|
184
206
|
rowid
|
|
185
207
|
},
|
|
@@ -13,6 +13,8 @@ import type { VxeGanttViewConstructor, GanttViewReactData, VxeGanttDefines, VxeG
|
|
|
13
13
|
|
|
14
14
|
const { globalEvents } = VxeUI
|
|
15
15
|
|
|
16
|
+
const sourceType = 'gantt'
|
|
17
|
+
|
|
16
18
|
function createInternalData (): GanttViewInternalData {
|
|
17
19
|
return {
|
|
18
20
|
xeTable: null,
|
|
@@ -826,11 +828,106 @@ function checkLastSyncScroll ($xeGanttView: VxeGanttViewConstructor & VxeGanttVi
|
|
|
826
828
|
}, 200)
|
|
827
829
|
}
|
|
828
830
|
|
|
829
|
-
|
|
830
|
-
|
|
831
|
+
function handleScrollData ($xeGanttView: VxeGanttViewConstructor & VxeGanttViewPrivateMethods, isRollY: boolean, isRollX: boolean, scrollTop: number, scrollLeft: number) {
|
|
832
|
+
const reactData = $xeGanttView.reactData
|
|
833
|
+
const internalData = $xeGanttView.internalData
|
|
834
|
+
|
|
835
|
+
if (isRollX) {
|
|
836
|
+
internalData.lastScrollLeft = scrollLeft
|
|
837
|
+
}
|
|
838
|
+
if (isRollY) {
|
|
839
|
+
internalData.lastScrollTop = scrollTop
|
|
840
|
+
}
|
|
841
|
+
reactData.lastScrollTime = Date.now()
|
|
831
842
|
checkLastSyncScroll($xeGanttView, isRollX, isRollY)
|
|
832
843
|
}
|
|
833
844
|
|
|
845
|
+
function handleScrollEvent ($xeGanttView: VxeGanttViewConstructor & VxeGanttViewPrivateMethods, evnt: Event, isRollY: boolean, isRollX: boolean, scrollTop: number, scrollLeft: number) {
|
|
846
|
+
const $xeGantt = $xeGanttView.$xeGantt
|
|
847
|
+
const internalData = $xeGanttView.internalData
|
|
848
|
+
const $xeTable = internalData.xeTable
|
|
849
|
+
|
|
850
|
+
const { lastScrollLeft, lastScrollTop } = internalData
|
|
851
|
+
const xHandleEl = $xeGanttView.$refs.refScrollXHandleElem as HTMLDivElement
|
|
852
|
+
const yHandleEl = $xeGanttView.$refs.refScrollYHandleElem as HTMLDivElement
|
|
853
|
+
if (!xHandleEl || !yHandleEl) {
|
|
854
|
+
return
|
|
855
|
+
}
|
|
856
|
+
if (!$xeTable) {
|
|
857
|
+
return
|
|
858
|
+
}
|
|
859
|
+
const bodyHeight = yHandleEl.clientHeight
|
|
860
|
+
const bodyWidth = xHandleEl.clientWidth
|
|
861
|
+
const scrollHeight = yHandleEl.scrollHeight
|
|
862
|
+
const scrollWidth = xHandleEl.scrollWidth
|
|
863
|
+
let isTop = false
|
|
864
|
+
let isBottom = false
|
|
865
|
+
let isLeft = false
|
|
866
|
+
let isRight = false
|
|
867
|
+
let direction = ''
|
|
868
|
+
let isTopBoundary = false
|
|
869
|
+
let isBottomBoundary = false
|
|
870
|
+
let isLeftBoundary = false
|
|
871
|
+
let isRightBoundary = false
|
|
872
|
+
if (isRollX) {
|
|
873
|
+
const xThreshold = $xeTable.computeScrollXThreshold
|
|
874
|
+
isLeft = scrollLeft <= 0
|
|
875
|
+
if (!isLeft) {
|
|
876
|
+
isRight = scrollLeft + bodyWidth >= scrollWidth - 1
|
|
877
|
+
}
|
|
878
|
+
if (scrollLeft > lastScrollLeft) {
|
|
879
|
+
direction = 'right'
|
|
880
|
+
if (scrollLeft + bodyWidth >= scrollWidth - xThreshold) {
|
|
881
|
+
isRightBoundary = true
|
|
882
|
+
}
|
|
883
|
+
} else {
|
|
884
|
+
direction = 'left'
|
|
885
|
+
if (scrollLeft <= xThreshold) {
|
|
886
|
+
isLeftBoundary = true
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
if (isRollY) {
|
|
891
|
+
const yThreshold = $xeTable.computeScrollYThreshold
|
|
892
|
+
isTop = scrollTop <= 0
|
|
893
|
+
if (!isTop) {
|
|
894
|
+
isBottom = scrollTop + bodyHeight >= scrollHeight - 1
|
|
895
|
+
}
|
|
896
|
+
if (scrollTop > lastScrollTop) {
|
|
897
|
+
direction = 'bottom'
|
|
898
|
+
if (scrollTop + bodyHeight >= scrollHeight - yThreshold) {
|
|
899
|
+
isBottomBoundary = true
|
|
900
|
+
}
|
|
901
|
+
} else {
|
|
902
|
+
direction = 'top'
|
|
903
|
+
if (scrollTop <= yThreshold) {
|
|
904
|
+
isTopBoundary = true
|
|
905
|
+
}
|
|
906
|
+
}
|
|
907
|
+
}
|
|
908
|
+
handleScrollData($xeGanttView, isRollY, isRollX, scrollTop, scrollLeft)
|
|
909
|
+
const evntParams = {
|
|
910
|
+
source: sourceType,
|
|
911
|
+
scrollTop,
|
|
912
|
+
scrollLeft,
|
|
913
|
+
bodyHeight,
|
|
914
|
+
bodyWidth,
|
|
915
|
+
scrollHeight,
|
|
916
|
+
scrollWidth,
|
|
917
|
+
isX: isRollX,
|
|
918
|
+
isY: isRollY,
|
|
919
|
+
isTop,
|
|
920
|
+
isBottom,
|
|
921
|
+
isLeft,
|
|
922
|
+
isRight,
|
|
923
|
+
direction
|
|
924
|
+
}
|
|
925
|
+
if (isBottomBoundary || isTopBoundary || isRightBoundary || isLeftBoundary) {
|
|
926
|
+
$xeGantt.dispatchEvent('scroll-boundary', evntParams, evnt)
|
|
927
|
+
}
|
|
928
|
+
$xeGantt.dispatchEvent('scroll', evntParams, evnt)
|
|
929
|
+
}
|
|
930
|
+
|
|
834
931
|
/**
|
|
835
932
|
* 同步表格滚动
|
|
836
933
|
*/
|
package/packages/ui/src/dom.ts
CHANGED
package/packages/ui/src/utils.ts
CHANGED
|
@@ -49,3 +49,7 @@ export function eqEmptyValue (cellValue: any) {
|
|
|
49
49
|
export function getStringValue (cellValue: any) {
|
|
50
50
|
return eqEmptyValue(cellValue) ? '' : cellValue
|
|
51
51
|
}
|
|
52
|
+
|
|
53
|
+
export function getClass (property: any, params: any) {
|
|
54
|
+
return property ? XEUtils.isFunction(property) ? property(params) : property : ''
|
|
55
|
+
}
|