@visactor/vtable-gantt 1.23.3 → 1.24.0
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/cjs/Gantt.d.ts +8 -0
- package/cjs/Gantt.js +91 -9
- package/cjs/Gantt.js.map +1 -1
- package/cjs/gantt-helper.js +1 -2
- package/cjs/gantt-helper.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/plugins/index.js.map +1 -1
- package/cjs/scenegraph/dependency-link.js +28 -38
- package/cjs/scenegraph/dependency-link.js.map +1 -1
- package/cjs/scenegraph/grid.js +8 -7
- package/cjs/scenegraph/grid.js.map +1 -1
- package/cjs/scenegraph/mark-line.js +10 -12
- package/cjs/scenegraph/mark-line.js.map +1 -1
- package/cjs/scenegraph/task-bar.js +3 -7
- package/cjs/scenegraph/task-bar.js.map +1 -1
- package/cjs/scenegraph/timeline-header.js +1 -4
- package/cjs/scenegraph/timeline-header.js.map +1 -1
- package/cjs/state/state-manager.js +22 -18
- package/cjs/state/state-manager.js.map +1 -1
- package/cjs/tools/isx.d.ts +1 -1
- package/cjs/ts-types/gantt-engine.d.ts +2 -0
- package/cjs/ts-types/gantt-engine.js.map +1 -1
- package/dist/vtable-gantt.js +1256 -801
- package/dist/vtable-gantt.min.js +2 -2
- package/es/Gantt.d.ts +8 -0
- package/es/Gantt.js +92 -8
- package/es/Gantt.js.map +1 -1
- package/es/gantt-helper.js +1 -2
- package/es/gantt-helper.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/plugins/index.js.map +1 -1
- package/es/scenegraph/dependency-link.js +29 -27
- package/es/scenegraph/dependency-link.js.map +1 -1
- package/es/scenegraph/grid.js +6 -8
- package/es/scenegraph/grid.js.map +1 -1
- package/es/scenegraph/mark-line.js +10 -11
- package/es/scenegraph/mark-line.js.map +1 -1
- package/es/scenegraph/task-bar.js +4 -5
- package/es/scenegraph/task-bar.js.map +1 -1
- package/es/scenegraph/timeline-header.js +2 -3
- package/es/scenegraph/timeline-header.js.map +1 -1
- package/es/state/state-manager.js +22 -18
- package/es/state/state-manager.js.map +1 -1
- package/es/tools/isx.d.ts +1 -1
- package/es/ts-types/gantt-engine.d.ts +2 -0
- package/es/ts-types/gantt-engine.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/timeline-header.ts"],"names":[],"mappings":"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","file":"timeline-header.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport { getTextPos } from '../gantt-helper';\nimport { computeCountToTimeScale, toBoxArray } from '../tools/util';\nimport type { Scenegraph } from './scenegraph';\nimport { Group, Text, createLine, Image } from '@visactor/vtable/es/vrender';\n\nconst DEFAULT_MARKLINE_CREATION_ICON = `<svg viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1471\" width=\"24\" height=\"24\"> <path d=\"M840.05 153.35a27.61875 27.61875 0 0 0-22.95-4.95c-56.25 13.05-218.25 39.6-289.8 2.25-115.65-60.75-241.65-31.95-299.7-13.05V95.75a27.05625 27.05625 0 0 0-27-27 27.05625 27.05625 0 0 0-27 27v834.75c0 14.85 12.15 27 27 27s27-12.15 27-27V611.9c44.1-13.95 199.35-56.25 293.85 1.8 45.9 28.35 96.75 37.8 143.55 37.8 89.1 0 164.7-34.2 169.65-36.45a27.9 27.9 0 0 0 15.75-24.75V174.5a27.5625 27.5625 0 0 0-10.35-21.15z\" fill=\"#f54319\" p-id=\"1472\"></path></svg>`;\nexport class TimelineHeader {\n group: Group;\n _scene: Scenegraph;\n constructor(scene: Scenegraph) {\n this._scene = scene;\n this.initNodes();\n }\n initNodes() {\n const { _scene: scene } = this;\n const dateHeader = new Group({\n x: 0,\n y: 0,\n width: scene._gantt.getAllDateColsWidth(), //width - 2,\n height: scene._gantt.getAllHeaderRowsHeight(),\n clip: true,\n pickable: false\n // fill: 'purple',\n // stroke: 'green',\n // lineWidth: 2\n });\n this.group = dateHeader;\n dateHeader.name = 'date-header-container';\n scene.ganttGroup.addChild(this.group);\n const { unit: minUnit, step } = scene._gantt.parsedOptions.reverseSortedTimelineScales[0];\n let y = 0;\n for (let i = 0; i < scene._gantt.timeLineHeaderLevel; i++) {\n const { timelineDates, customLayout, visible } = scene._gantt.parsedOptions.sortedTimelineScales[i];\n if (visible === false) {\n continue;\n }\n const rowHeader = new Group({\n x: 0,\n y,\n width: scene._gantt.getAllDateColsWidth(),\n height: scene._gantt.parsedOptions.timeLineHeaderRowHeights[i],\n clip: false\n });\n y += rowHeader.attribute.height;\n rowHeader.name = 'row-header';\n dateHeader.addChild(rowHeader);\n\n for (let j = 0; j < timelineDates?.length; j++) {\n const { days, endDate, startDate, title, dateIndex, unit } = timelineDates[j];\n const x = Math.ceil(\n computeCountToTimeScale(startDate, scene._gantt.parsedOptions.minDate, minUnit, step) *\n scene._gantt.parsedOptions.timelineColWidth\n );\n const right_x = Math.ceil(\n computeCountToTimeScale(endDate, scene._gantt.parsedOptions.minDate, minUnit, step, 1) *\n scene._gantt.parsedOptions.timelineColWidth\n );\n const width = right_x - x;\n const date = new Group({\n x,\n y: 0,\n width,\n height: rowHeader.attribute.height,\n clip: false,\n fill: scene._gantt.parsedOptions.timelineHeaderBackgroundColor\n });\n date.name = 'date-header-cell';\n let rootContainer;\n let renderDefaultText = true;\n\n const height = rowHeader.attribute.height;\n if (customLayout) {\n let customLayoutObj;\n if (typeof customLayout === 'function') {\n const arg = {\n width,\n height,\n index: j,\n startDate,\n endDate,\n days,\n dateIndex,\n title,\n ganttInstance: this._scene._gantt\n };\n customLayoutObj = customLayout(arg);\n } else {\n customLayoutObj = customLayout;\n }\n if (customLayoutObj) {\n // if (customLayoutObj.rootContainer) {\n // customLayoutObj.rootContainer = decodeReactDom(customLayoutObj.rootContainer);\n // }\n rootContainer = customLayoutObj.rootContainer;\n renderDefaultText = customLayoutObj.renderDefaultText ?? false;\n rootContainer.name = 'task-bar-custom-render';\n }\n rootContainer && date.appendChild(rootContainer);\n }\n if (renderDefaultText) {\n const {\n padding,\n textAlign,\n textBaseline,\n textOverflow,\n fontSize,\n fontWeight,\n color,\n strokeColor,\n textStick\n } = scene._gantt.parsedOptions.timelineHeaderStyles[i];\n\n const position = getTextPos(toBoxArray(padding), textAlign, textBaseline, width, height);\n const text = new Text({\n x: position.x,\n y: position.y,\n maxLineWidth: width,\n heightLimit: height,\n // clip: true,\n pickable: true,\n text: title.toLocaleString(),\n fontSize: fontSize,\n fontWeight: fontWeight,\n fill: color,\n stroke: strokeColor,\n lineWidth: 2,\n textAlign,\n textBaseline,\n ellipsis:\n textOverflow === 'clip'\n ? ''\n : textOverflow === 'ellipsis'\n ? '...'\n : isValid(textOverflow)\n ? textOverflow\n : undefined\n });\n (text.attribute as any).textStick = textStick;\n date.appendChild(text);\n text.name = 'date-header-cell-text';\n }\n if (\n i === scene._gantt.timeLineHeaderLevel - 1 &&\n scene._gantt.parsedOptions.markLineCreateOptions &&\n scene._gantt.parsedOptions.markLineCreateOptions.markLineCreatable\n ) {\n const markLineStyle = scene._gantt.parsedOptions.markLineCreateOptions.markLineCreationStyle || {};\n const size = markLineStyle.size || 24;\n const iconSize = markLineStyle.iconSize || 18;\n const marklineCreateIcon = markLineStyle.svg || DEFAULT_MARKLINE_CREATION_ICON;\n // 是否开启里程碑功能\n const marklineCreateGroup = new Group({\n x: width / 2 - size / 2,\n y: height / 2 - size / 2,\n width: size,\n height: size,\n visible: true\n });\n marklineCreateGroup.name = 'markline-hover-group';\n (marklineCreateGroup as any).data = timelineDates[j];\n const marklineCreateInnerGroup = new Group({\n x: 0,\n y: 0,\n width: size,\n height: size,\n cornerRadius: size / 2,\n fill: markLineStyle.fill || '#ccc',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n visibleAll: false\n });\n marklineCreateInnerGroup.name = 'markline-hover-inner-group';\n marklineCreateGroup.add(marklineCreateInnerGroup);\n const icon = new Image({\n width: iconSize,\n height: iconSize,\n image: marklineCreateIcon,\n cursor: 'pointer',\n pickable: true\n });\n icon.name = 'markline-hover-icon';\n marklineCreateInnerGroup.appendChild(icon);\n date.add(marklineCreateGroup);\n }\n rowHeader.addChild(date);\n\n if (j > 0) {\n const line = createLine({\n pickable: false,\n stroke: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineColor,\n lineWidth: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineWidth,\n lineDash: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineDash,\n points: [\n { x: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineWidth & 1 ? 0.5 : 0, y: 0 },\n {\n x: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineWidth & 1 ? 0.5 : 0,\n y: rowHeader.attribute.height\n }\n ]\n });\n date.appendChild(line);\n }\n }\n //创建表头分割线 水平分割线 TODO\n if (i > 0) {\n const line = createLine({\n pickable: false,\n stroke: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineColor,\n lineWidth: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth,\n lineDash: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineDash,\n points: [\n { x: 0, y: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth & 1 ? 0.5 : 0 },\n {\n x: scene._gantt.getAllDateColsWidth(),\n y: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth & 1 ? 0.5 : 0\n }\n ]\n });\n rowHeader.addChild(line);\n }\n }\n }\n setX(x: number) {\n this.group.setAttribute('x', x);\n }\n setY(y: number) {\n this.group.setAttribute('y', y);\n }\n resize() {\n this.group.setAttribute('width', this.group.attribute?.width ?? 0);\n this.group.setAttribute('height', this.group.attribute?.height ?? 0);\n }\n\n refresh() {\n this.group?.parent.removeChild(this.group);\n this.initNodes();\n }\n showMarklineIcon(target: any) {\n let innerGroup;\n target.children.forEach((child: any) => {\n if (child.name === 'date-header-cell-text') {\n child.setAttribute('visible', false);\n }\n if (child.name === 'markline-hover-group') {\n innerGroup = child.firstChild;\n innerGroup.setAttribute('visibleAll', true);\n }\n });\n return innerGroup;\n }\n hideMarklineIconHover(target: any) {\n let innerGroup;\n target.children.forEach((child: any) => {\n if (child.name === 'date-header-cell-text') {\n child.setAttribute('visible', true);\n }\n if (child.name === 'markline-hover-group') {\n innerGroup = child.firstChild;\n innerGroup.setAttribute('visibleAll', false);\n }\n });\n return innerGroup;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/timeline-header.ts"],"names":[],"mappings":"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","file":"timeline-header.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport { getTextPos } from '../gantt-helper';\nimport { toBoxArray } from '../tools/util';\nimport type { Scenegraph } from './scenegraph';\nimport { Group, Text, createLine, Image } from '@visactor/vtable/es/vrender';\n\nconst DEFAULT_MARKLINE_CREATION_ICON = `<svg viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1471\" width=\"24\" height=\"24\"> <path d=\"M840.05 153.35a27.61875 27.61875 0 0 0-22.95-4.95c-56.25 13.05-218.25 39.6-289.8 2.25-115.65-60.75-241.65-31.95-299.7-13.05V95.75a27.05625 27.05625 0 0 0-27-27 27.05625 27.05625 0 0 0-27 27v834.75c0 14.85 12.15 27 27 27s27-12.15 27-27V611.9c44.1-13.95 199.35-56.25 293.85 1.8 45.9 28.35 96.75 37.8 143.55 37.8 89.1 0 164.7-34.2 169.65-36.45a27.9 27.9 0 0 0 15.75-24.75V174.5a27.5625 27.5625 0 0 0-10.35-21.15z\" fill=\"#f54319\" p-id=\"1472\"></path></svg>`;\nexport class TimelineHeader {\n group: Group;\n _scene: Scenegraph;\n constructor(scene: Scenegraph) {\n this._scene = scene;\n this.initNodes();\n }\n initNodes() {\n const { _scene: scene } = this;\n const dateHeader = new Group({\n x: 0,\n y: 0,\n width: scene._gantt.getAllDateColsWidth(), //width - 2,\n height: scene._gantt.getAllHeaderRowsHeight(),\n clip: true,\n pickable: false\n // fill: 'purple',\n // stroke: 'green',\n // lineWidth: 2\n });\n this.group = dateHeader;\n dateHeader.name = 'date-header-container';\n scene.ganttGroup.addChild(this.group);\n let y = 0;\n for (let i = 0; i < scene._gantt.timeLineHeaderLevel; i++) {\n const { timelineDates, customLayout, visible } = scene._gantt.parsedOptions.sortedTimelineScales[i];\n if (visible === false) {\n continue;\n }\n const rowHeader = new Group({\n x: 0,\n y,\n width: scene._gantt.getAllDateColsWidth(),\n height: scene._gantt.parsedOptions.timeLineHeaderRowHeights[i],\n clip: false\n });\n y += rowHeader.attribute.height;\n rowHeader.name = 'row-header';\n dateHeader.addChild(rowHeader);\n\n for (let j = 0; j < timelineDates?.length; j++) {\n const { days, endDate, startDate, title, dateIndex, unit } = timelineDates[j];\n const x = Math.ceil(scene._gantt.getXByTime(startDate.getTime()));\n const right_x = Math.ceil(scene._gantt.getXByTime(endDate.getTime() + 1));\n const width = right_x - x;\n const date = new Group({\n x,\n y: 0,\n width,\n height: rowHeader.attribute.height,\n clip: false,\n fill: scene._gantt.parsedOptions.timelineHeaderBackgroundColor\n });\n date.name = 'date-header-cell';\n let rootContainer;\n let renderDefaultText = true;\n\n const height = rowHeader.attribute.height;\n if (customLayout) {\n let customLayoutObj;\n if (typeof customLayout === 'function') {\n const arg = {\n width,\n height,\n index: j,\n startDate,\n endDate,\n days,\n dateIndex,\n title,\n ganttInstance: this._scene._gantt\n };\n customLayoutObj = customLayout(arg);\n } else {\n customLayoutObj = customLayout;\n }\n if (customLayoutObj) {\n // if (customLayoutObj.rootContainer) {\n // customLayoutObj.rootContainer = decodeReactDom(customLayoutObj.rootContainer);\n // }\n rootContainer = customLayoutObj.rootContainer;\n renderDefaultText = customLayoutObj.renderDefaultText ?? false;\n rootContainer.name = 'task-bar-custom-render';\n }\n rootContainer && date.appendChild(rootContainer);\n }\n if (renderDefaultText) {\n const {\n padding,\n textAlign,\n textBaseline,\n textOverflow,\n fontSize,\n fontWeight,\n color,\n strokeColor,\n textStick\n } = scene._gantt.parsedOptions.timelineHeaderStyles[i];\n\n const position = getTextPos(toBoxArray(padding), textAlign, textBaseline, width, height);\n const text = new Text({\n x: position.x,\n y: position.y,\n maxLineWidth: width,\n heightLimit: height,\n // clip: true,\n pickable: true,\n text: title.toLocaleString(),\n fontSize: fontSize,\n fontWeight: fontWeight,\n fill: color,\n stroke: strokeColor,\n lineWidth: 2,\n textAlign,\n textBaseline,\n ellipsis:\n textOverflow === 'clip'\n ? ''\n : textOverflow === 'ellipsis'\n ? '...'\n : isValid(textOverflow)\n ? textOverflow\n : undefined\n });\n (text.attribute as any).textStick = textStick;\n date.appendChild(text);\n text.name = 'date-header-cell-text';\n }\n if (\n i === scene._gantt.timeLineHeaderLevel - 1 &&\n scene._gantt.parsedOptions.markLineCreateOptions &&\n scene._gantt.parsedOptions.markLineCreateOptions.markLineCreatable\n ) {\n const markLineStyle = scene._gantt.parsedOptions.markLineCreateOptions.markLineCreationStyle || {};\n const size = markLineStyle.size || 24;\n const iconSize = markLineStyle.iconSize || 18;\n const marklineCreateIcon = markLineStyle.svg || DEFAULT_MARKLINE_CREATION_ICON;\n // 是否开启里程碑功能\n const marklineCreateGroup = new Group({\n x: width / 2 - size / 2,\n y: height / 2 - size / 2,\n width: size,\n height: size,\n visible: true\n });\n marklineCreateGroup.name = 'markline-hover-group';\n (marklineCreateGroup as any).data = timelineDates[j];\n const marklineCreateInnerGroup = new Group({\n x: 0,\n y: 0,\n width: size,\n height: size,\n cornerRadius: size / 2,\n fill: markLineStyle.fill || '#ccc',\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n visibleAll: false\n });\n marklineCreateInnerGroup.name = 'markline-hover-inner-group';\n marklineCreateGroup.add(marklineCreateInnerGroup);\n const icon = new Image({\n width: iconSize,\n height: iconSize,\n image: marklineCreateIcon,\n cursor: 'pointer',\n pickable: true\n });\n icon.name = 'markline-hover-icon';\n marklineCreateInnerGroup.appendChild(icon);\n date.add(marklineCreateGroup);\n }\n rowHeader.addChild(date);\n\n if (j > 0) {\n const line = createLine({\n pickable: false,\n stroke: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineColor,\n lineWidth: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineWidth,\n lineDash: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineDash,\n points: [\n { x: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineWidth & 1 ? 0.5 : 0, y: 0 },\n {\n x: scene._gantt.parsedOptions.timelineHeaderVerticalLineStyle?.lineWidth & 1 ? 0.5 : 0,\n y: rowHeader.attribute.height\n }\n ]\n });\n date.appendChild(line);\n }\n }\n //创建表头分割线 水平分割线 TODO\n if (i > 0) {\n const line = createLine({\n pickable: false,\n stroke: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineColor,\n lineWidth: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth,\n lineDash: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineDash,\n points: [\n { x: 0, y: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth & 1 ? 0.5 : 0 },\n {\n x: scene._gantt.getAllDateColsWidth(),\n y: scene._gantt.parsedOptions.timelineHeaderHorizontalLineStyle?.lineWidth & 1 ? 0.5 : 0\n }\n ]\n });\n rowHeader.addChild(line);\n }\n }\n }\n setX(x: number) {\n this.group.setAttribute('x', x);\n }\n setY(y: number) {\n this.group.setAttribute('y', y);\n }\n resize() {\n this.group.setAttribute('width', this.group.attribute?.width ?? 0);\n this.group.setAttribute('height', this.group.attribute?.height ?? 0);\n }\n\n refresh() {\n this.group?.parent.removeChild(this.group);\n this.initNodes();\n }\n showMarklineIcon(target: any) {\n let innerGroup;\n target.children.forEach((child: any) => {\n if (child.name === 'date-header-cell-text') {\n child.setAttribute('visible', false);\n }\n if (child.name === 'markline-hover-group') {\n innerGroup = child.firstChild;\n innerGroup.setAttribute('visibleAll', true);\n }\n });\n return innerGroup;\n }\n hideMarklineIconHover(target: any) {\n let innerGroup;\n target.children.forEach((child: any) => {\n if (child.name === 'date-header-cell-text') {\n child.setAttribute('visible', true);\n }\n if (child.name === 'markline-hover-group') {\n innerGroup = child.firstChild;\n innerGroup.setAttribute('visibleAll', false);\n }\n });\n return innerGroup;\n }\n}\n"]}
|
|
@@ -230,7 +230,7 @@ export class StateManager {
|
|
|
230
230
|
this.moveTaskBar.deltaY = 0, this.moveTaskBar.moveTaskBarXSpeed = 0;
|
|
231
231
|
}
|
|
232
232
|
dealTaskBarMove(e) {
|
|
233
|
-
var _a, _b, _c, _d, _e, _f;
|
|
233
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
234
234
|
const gantt = this._gantt;
|
|
235
235
|
let target = this.moveTaskBar.target;
|
|
236
236
|
target.setAttribute("zIndex", 1e4);
|
|
@@ -243,31 +243,35 @@ export class StateManager {
|
|
|
243
243
|
gantt.parsedOptions._minDateTime = null === (_b = gantt.parsedOptions.minDate) || void 0 === _b ? void 0 : _b.getTime(),
|
|
244
244
|
gantt._generateTimeLineDateMap(), gantt._updateSize(), gantt.scenegraph.refreshAll(),
|
|
245
245
|
target = this.moveTaskBar.target = gantt.scenegraph.taskBar.getTaskBarNodeByIndex(this.moveTaskBar.target.task_index, this.moveTaskBar.target.sub_task_index),
|
|
246
|
-
gantt.scrollLeft = gantt.
|
|
246
|
+
gantt.scrollLeft = Math.max(0, gantt.getDateColWidth(0) - 1), gantt.eventManager.lastDragPointerXYOnWindow.x = e.x,
|
|
247
247
|
"milestone" === (null === (_c = target.record) || void 0 === _c ? void 0 : _c.type) ? moveTaskBar(target, gantt.scrollLeft - target.attribute.x, 0, this) : target.setAttribute("x", gantt.scrollLeft);
|
|
248
|
-
} else
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
this.moveTaskBar.
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
248
|
+
} else {
|
|
249
|
+
const colCount = null !== (_e = null === (_d = gantt.parsedOptions.reverseSortedTimelineScales[0].timelineDates) || void 0 === _d ? void 0 : _d.length) && void 0 !== _e ? _e : 0, avgColWidth = gantt.getAllDateColsWidth() / Math.max(1, colCount);
|
|
250
|
+
this.moveTaskBar.moveTaskBarXSpeed = -avgColWidth / 100, this.moveTaskBar.moveTaskBarXInertia.startInertia(this.moveTaskBar.moveTaskBarXSpeed, 0, 1),
|
|
251
|
+
this.moveTaskBar.moveTaskBarXInertia.setScrollHandle(((dx, dy) => {
|
|
252
|
+
this.moveTaskBar.deltaX += dx, this.moveTaskBar.deltaY += dy, moveTaskBar(target, dx, dy, this),
|
|
253
|
+
gantt.stateManager.setScrollLeft(target.attribute.x), 0 === gantt.stateManager.scrollLeft && this.moveTaskBar.moveTaskBarXInertia.endInertia();
|
|
254
|
+
}));
|
|
255
|
+
} else if (target.attribute.x + target.attribute.width >= gantt.stateManager.scrollLeft + gantt.tableNoFrameWidth && dx > 0) if (gantt.parsedOptions.moveTaskBarToExtendDateRange && gantt.stateManager.scrollLeft + gantt.tableNoFrameWidth === gantt.getAllDateColsWidth()) {
|
|
256
|
+
null === (_f = this.moveTaskBar.moveTaskBarXInertia) || void 0 === _f || _f.endInertia();
|
|
255
257
|
const timelineDates = gantt.parsedOptions.reverseSortedTimelineScales[0].timelineDates, timeDiff = timelineDates[1].startDate.getTime() - timelineDates[0].startDate.getTime(), {unit: minTimeUnit, startOfWeek: startOfWeek, step: step} = gantt.parsedOptions.reverseSortedTimelineScales[0];
|
|
256
258
|
if (gantt.parsedOptions.maxDate = getEndDateByTimeUnit(gantt.parsedOptions.minDate, new Date(timelineDates[timelineDates.length - 1].endDate.getTime() + timeDiff / 2), minTimeUnit, step),
|
|
257
|
-
gantt.parsedOptions._maxDateTime = null === (
|
|
259
|
+
gantt.parsedOptions._maxDateTime = null === (_g = gantt.parsedOptions.maxDate) || void 0 === _g ? void 0 : _g.getTime(),
|
|
258
260
|
gantt._generateTimeLineDateMap(), gantt._updateSize(), gantt.scenegraph.refreshAll(),
|
|
259
261
|
target = this.moveTaskBar.target = gantt.scenegraph.taskBar.getTaskBarNodeByIndex(this.moveTaskBar.target.task_index, this.moveTaskBar.target.sub_task_index),
|
|
260
|
-
gantt.scrollLeft += 1, gantt.eventManager.lastDragPointerXYOnWindow.x = e.x, "milestone" === (null === (
|
|
262
|
+
gantt.scrollLeft += 1, gantt.eventManager.lastDragPointerXYOnWindow.x = e.x, "milestone" === (null === (_h = target.record) || void 0 === _h ? void 0 : _h.type)) {
|
|
261
263
|
const newX = gantt.scrollLeft + gantt.tableNoFrameWidth - target.attribute.width;
|
|
262
264
|
moveTaskBar(target, newX - target.attribute.x, 0, this);
|
|
263
265
|
} else target.setAttribute("x", gantt.scrollLeft + gantt.tableNoFrameWidth - target.attribute.width);
|
|
264
|
-
} else
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
this.moveTaskBar.
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
266
|
+
} else {
|
|
267
|
+
const colCount = null !== (_k = null === (_j = gantt.parsedOptions.reverseSortedTimelineScales[0].timelineDates) || void 0 === _j ? void 0 : _j.length) && void 0 !== _k ? _k : 0, avgColWidth = gantt.getAllDateColsWidth() / Math.max(1, colCount);
|
|
268
|
+
this.moveTaskBar.moveTaskBarXSpeed = avgColWidth / 100, this.moveTaskBar.moveTaskBarXInertia.startInertia(this.moveTaskBar.moveTaskBarXSpeed, 0, 1),
|
|
269
|
+
this.moveTaskBar.moveTaskBarXInertia.setScrollHandle(((dx, dy) => {
|
|
270
|
+
this.moveTaskBar.deltaX += dx, this.moveTaskBar.deltaY += dy, moveTaskBar(target, dx, dy, this),
|
|
271
|
+
gantt.stateManager.setScrollLeft(target.attribute.x + target.attribute.width - gantt.tableNoFrameWidth),
|
|
272
|
+
gantt.stateManager.scrollLeft === gantt.getAllDateColsWidth() - gantt.tableNoFrameWidth && this.moveTaskBar.moveTaskBarXInertia.endInertia();
|
|
273
|
+
}));
|
|
274
|
+
} else this.moveTaskBar.moveTaskBarXInertia.isInertiaScrolling() ? this.moveTaskBar.moveTaskBarXInertia.endInertia() : this.moveTaskBar.moveTaskBarXSpeed = 0;
|
|
271
275
|
gantt.scenegraph.updateNextFrame();
|
|
272
276
|
}
|
|
273
277
|
startResizeTaskBar(target, x, y, startOffsetY, onIconName) {
|