Skip to content

Commit 2eba3c1

Browse files
committed
[update] version 8.0.8
1 parent 4925e36 commit 2eba3c1

16 files changed

+121
-28
lines changed

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# dhtmlxGantt #
22

33
[![dhtmlx.com](https://img.shields.io/badge/made%20by-DHTMLX-blue)](https://dhtmlx.com/)
4-
[![npm: v.8.0.7](https://img.shields.io/badge/npm-v.8.0.7-blue.svg)](https://www.npmjs.com/package/dhtmlx-gantt)
4+
[![npm: v.8.0.8](https://img.shields.io/badge/npm-v.8.0.8-blue.svg)](https://www.npmjs.com/package/dhtmlx-gantt)
55
[![License: GPL v2](https://img.shields.io/badge/license-GPL%20v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
66

77
[Getting started](#getting-started) | [Features](#features) | [License](#license) | [Useful links](#links) | [Follow us](#followus)
@@ -117,7 +117,7 @@ Resource management, critical path calculation, auto scheduling, and other enhan
117117
<a name="license"></a>
118118
## License ##
119119

120-
dhtmlxGantt v.8.0.7 Standard
120+
dhtmlxGantt v.8.0.8 Standard
121121

122122
This version of dhtmlxGantt is distributed under GPL 2.0 license and can be legally used in GPL projects.
123123

bower.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "gantt",
3-
"version": "8.0.7",
3+
"version": "8.0.8",
44
"homepage": "https://dhtmlx.com/docs/products/dhtmlxGantt/",
55
"description": "An open source JavaScript Gantt chart that helps you illustrate a project schedule in a nice-looking chart.",
66
"main": [

codebase/dhtmlxgantt.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Type definitions for dhtmlxGantt 8.0.7
1+
// Type definitions for dhtmlxGantt 8.0.8
22
// Project: https://dhtmlx.com/docs/products/dhtmlxGantt
33

44
type GanttCallback = (...args: any[]) => any;

codebase/dhtmlxgantt.js

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codebase/dhtmlxgantt.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

codebase/sources/dhtmlxgantt.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
@license
33
4-
dhtmlxGantt v.8.0.7 Standard
4+
dhtmlxGantt v.8.0.8 Standard
55
66
This version of dhtmlxGantt is distributed under GPL 2.0 license and can be legally used in GPL projects.
77

codebase/sources/dhtmlxgantt.js

+95-11
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
@license
33

4-
dhtmlxGantt v.8.0.7 Standard
4+
dhtmlxGantt v.8.0.8 Standard
55

66
This version of dhtmlxGantt is distributed under GPL 2.0 license and can be legally used in GPL projects.
77

@@ -19231,6 +19231,10 @@ DataStore.prototype = {
1923119231

1923219232
this._removeItemInner(id);
1923319233

19234+
if (this.isSilent()) {
19235+
this.callEvent("onAfterSilentDelete", [obj.id, obj]);
19236+
}
19237+
1923419238
if (!this.isSilent()) {
1923519239
this.filter();
1923619240
this.callEvent("onAfterDelete", [obj.id, obj]); //repaint signal
@@ -19758,6 +19762,9 @@ function initDataStores(gantt) {
1975819762
linksStore.attachEvent("onAfterDelete", function (id, link) {
1975919763
sync_link_delete(link);
1976019764
});
19765+
linksStore.attachEvent("onAfterSilentDelete", function (id, link) {
19766+
sync_link_delete(link);
19767+
});
1976119768
linksStore.attachEvent("onBeforeIdChange", function (oldId, newId) {
1976219769
sync_link_delete(gantt.mixin({
1976319770
id: oldId
@@ -22306,13 +22313,23 @@ module.exports = function (gantt) {
2230622313
this.$root = domHelpers.toNode(node);
2230722314
rebuildLayout();
2230822315
this.$mouseEvents.reset(this.$root);
22316+
addMinimalSizes(gantt);
2230922317
}
2231022318

2231122319
this.callEvent("onTemplatesReady", []);
2231222320
this.callEvent("onGanttReady", []);
2231322321
this.render();
2231422322
};
2231522323

22324+
function addMinimalSizes(gantt) {
22325+
if (gantt.$container && !gantt.config.autosize) {
22326+
if (gantt.$root.offsetHeight < 50) {
22327+
// eslint-disable-next-line no-console
22328+
console.warn("The Gantt container has a small height, so you cannot see its content. If it is not intended, you need to set the 'height' style rule to the container:\nhttps://docs.dhtmlx.com/gantt/faq.html#theganttchartisntrenderedcorrectly");
22329+
}
22330+
}
22331+
}
22332+
2231622333
gantt.$click = {
2231722334
buttons: {
2231822335
"edit": function edit(id) {
@@ -24680,10 +24697,12 @@ function createHelper(gantt) {
2468024697
}
2468124698

2468224699
timeoutId = requestAnimationFrame(function () {
24683-
var cells = Array.prototype.slice.call(gantt.$container.querySelectorAll(".resourceTimeline_cell [data-assignment-cell]"));
24684-
cells.forEach(function (cell) {
24685-
cell.contentEditable = true;
24686-
});
24700+
if (gantt.$container) {
24701+
var cells = Array.prototype.slice.call(gantt.$container.querySelectorAll(".resourceTimeline_cell [data-assignment-cell]"));
24702+
cells.forEach(function (cell) {
24703+
cell.contentEditable = true;
24704+
});
24705+
}
2468724706
});
2468824707
return true;
2468924708
}
@@ -39201,6 +39220,14 @@ function ScaleHelper(gantt) {
3920139220
var scales;
3920239221

3920339222
if (legacyMode) {
39223+
var docLink = "https://docs.dhtmlx.com/gantt/migrating.html#:~:text=%3D%20false%3B-,Time%20scale%20settings,-Configuration%20of%20time";
39224+
39225+
if (gantt.env.isFF) {
39226+
docLink = "https://docs.dhtmlx.com/gantt/migrating.html#6162";
39227+
} // eslint-disable-next-line no-console
39228+
39229+
39230+
console.warn("You are using the obsolete scale configuration.\nIt will stop working in the future versions.\nPlease migrate the configuration to the newer version:\n".concat(docLink));
3920439231
scales = scaleConfig.subscales || [];
3920539232
} else {
3920639233
scales = scaleConfig.scales.slice(1);
@@ -40906,7 +40933,7 @@ module.exports = Timeline;
4090640933
/***/ (function(module, exports) {
4090740934

4090840935
module.exports = function (gantt) {
40909-
gantt.config.touch_drag = 500; //nearly immediate dnd
40936+
gantt.config.touch_drag = 75; //nearly immediate dnd
4091040937

4091140938
gantt.config.touch = true;
4091240939
gantt.config.touch_feedback = true;
@@ -50282,6 +50309,10 @@ var Tooltip = /** @class */ (function () {
5028250309
var node = this.getNode();
5028350310
if (!domHelpers.isChildOf(node, container)) {
5028450311
this.hide();
50312+
// GS-2463. Don't put the node beyond the body coordinates
50313+
// as it may trigger the resize event
50314+
node.style.top = node.style.top || "0px";
50315+
node.style.left = node.style.left || "0px";
5028550316
container.appendChild(node);
5028650317
}
5028750318
if (this._isLikeMouseEvent(left)) {
@@ -50979,15 +51010,65 @@ var Monitor = /** @class */ (function () {
5097951010
saveInitialAll();
5098051011
return true;
5098151012
});
50982-
gantt.attachEvent("onBeforeTaskDrag", function (taskId) { return _this.store(taskId, gantt.config.undo_types.task); });
51013+
var dragId = null;
51014+
var projectDrag = false;
51015+
gantt.attachEvent("onBeforeTaskDrag", function (taskId) {
51016+
dragId = gantt.getState().drag_id;
51017+
if (dragId === taskId) {
51018+
var task = gantt.getTask(taskId);
51019+
if (gantt.isSummaryTask(task) && gantt.config.drag_project) {
51020+
projectDrag = true;
51021+
}
51022+
}
51023+
// GS-99. Store the initial task dates before multiple drag
51024+
if (gantt.plugins().multiselect) {
51025+
var selectedIds = gantt.getSelectedTasks();
51026+
if (selectedIds.length > 1) {
51027+
selectedIds.forEach(function (id) {
51028+
_this.store(id, gantt.config.undo_types.task, true);
51029+
});
51030+
}
51031+
}
51032+
return _this.store(taskId, gantt.config.undo_types.task);
51033+
});
51034+
gantt.attachEvent("onAfterTaskDrag", function (taskId) {
51035+
// if we drag multiple tasks and other tasks move to another date after that,
51036+
// auto-scheduling/correct work time should occur in anoher command.
51037+
// otherwise, when we undo the changes, the task constraint is not restored correctly
51038+
var multipleDrag = projectDrag || (gantt.plugins().multiselect && gantt.getSelectedTasks().length > 1);
51039+
if (multipleDrag && dragId === taskId) {
51040+
projectDrag = false;
51041+
dragId = null;
51042+
_this.stopBatchAction();
51043+
}
51044+
// GS-99. When dragging multiple tasks, we need to store the initial tasks
51045+
_this.store(taskId, gantt.config.undo_types.task, true);
51046+
});
5098351047
gantt.attachEvent("onLightbox", function (taskId) { return _this.store(taskId, gantt.config.undo_types.task); });
5098451048
gantt.attachEvent("onBeforeTaskAutoSchedule", function (task) {
50985-
_this.store(task.id, gantt.config.undo_types.task);
51049+
_this.store(task.id, gantt.config.undo_types.task, true);
5098651050
return true;
5098751051
});
5098851052
if (gantt.ext.inlineEditors) {
50989-
gantt.ext.inlineEditors.attachEvent("onEditStart", function (state) {
50990-
_this.store(state.id, gantt.config.undo_types.task);
51053+
// remove the onGanttLayoutReady wrapper when GS-1288 is merged
51054+
var onBeforeEditStartId_1 = null;
51055+
var onEditStart_1 = null;
51056+
gantt.attachEvent("onGanttLayoutReady", function () {
51057+
if (onBeforeEditStartId_1) {
51058+
gantt.ext.inlineEditors.detachEvent(onBeforeEditStartId_1);
51059+
}
51060+
if (onEditStart_1) {
51061+
gantt.ext.inlineEditors.detachEvent(onEditStart_1);
51062+
}
51063+
onEditStart_1 = gantt.ext.inlineEditors.attachEvent("onEditStart", function (state) {
51064+
_this.store(state.id, gantt.config.undo_types.task);
51065+
});
51066+
// GS-99. If another inline editor is opened and we open a new inline editor,
51067+
// we shouldn't use the batchAction
51068+
onBeforeEditStartId_1 = gantt.ext.inlineEditors.attachEvent("onBeforeEditStart", function (state) {
51069+
_this.stopBatchAction();
51070+
return true;
51071+
});
5099151072
});
5099251073
}
5099351074
};
@@ -51261,6 +51342,9 @@ var Undo = /** @class */ (function () {
5126151342
isExists: "isLinkExists"
5126251343
};
5126351344
gantt.batchUpdate(function () {
51345+
// it is logical to undo actions from the last one to the first one
51346+
// but we have to do it from the first one because the order
51347+
// of tasks ($index and $local_index) depends on the existing tasks
5126451348
for (var i = 0; i < action.commands.length; i++) {
5126551349
command = action.commands[i];
5126651350
var method = methods[command.entity][command.type];
@@ -51309,7 +51393,7 @@ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "functi
5130951393

5131051394
function DHXGantt() {
5131151395
this.constants = __webpack_require__(/*! ../constants */ "./sources/constants/index.js");
51312-
this.version = "8.0.7";
51396+
this.version = "8.0.8";
5131351397
this.license = "gpl";
5131451398
this.templates = {};
5131551399
this.ext = {};

codebase/sources/skins/dhtmlxgantt_broadway.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
@license
33
4-
dhtmlxGantt v.8.0.7 Standard
4+
dhtmlxGantt v.8.0.8 Standard
55
66
This version of dhtmlxGantt is distributed under GPL 2.0 license and can be legally used in GPL projects.
77

codebase/sources/skins/dhtmlxgantt_contrast_black.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
@license
33
4-
dhtmlxGantt v.8.0.7 Standard
4+
dhtmlxGantt v.8.0.8 Standard
55
66
This version of dhtmlxGantt is distributed under GPL 2.0 license and can be legally used in GPL projects.
77

codebase/sources/skins/dhtmlxgantt_contrast_white.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
@license
33
4-
dhtmlxGantt v.8.0.7 Standard
4+
dhtmlxGantt v.8.0.8 Standard
55
66
This version of dhtmlxGantt is distributed under GPL 2.0 license and can be legally used in GPL projects.
77

codebase/sources/skins/dhtmlxgantt_material.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
@license
33
4-
dhtmlxGantt v.8.0.7 Standard
4+
dhtmlxGantt v.8.0.8 Standard
55
66
This version of dhtmlxGantt is distributed under GPL 2.0 license and can be legally used in GPL projects.
77

codebase/sources/skins/dhtmlxgantt_meadow.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
@license
33
4-
dhtmlxGantt v.8.0.7 Standard
4+
dhtmlxGantt v.8.0.8 Standard
55
66
This version of dhtmlxGantt is distributed under GPL 2.0 license and can be legally used in GPL projects.
77

codebase/sources/skins/dhtmlxgantt_skyblue.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
@license
33
4-
dhtmlxGantt v.8.0.7 Standard
4+
dhtmlxGantt v.8.0.8 Standard
55
66
This version of dhtmlxGantt is distributed under GPL 2.0 license and can be legally used in GPL projects.
77

codebase/sources/skins/dhtmlxgantt_terrace.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
@license
33
4-
dhtmlxGantt v.8.0.7 Standard
4+
dhtmlxGantt v.8.0.8 Standard
55
66
This version of dhtmlxGantt is distributed under GPL 2.0 license and can be legally used in GPL projects.
77

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "dhtmlx-gantt",
3-
"version": "8.0.7",
3+
"version": "8.0.8",
44
"description": "An open source JavaScript Gantt chart that helps you illustrate a project schedule in a nice-looking chart.",
55
"main": "codebase/dhtmlxgantt.js",
66
"types": "codebase/dhtmlxgantt.d.ts",

whatsnew.md

+9
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
### 8.0.8
2+
3+
Fix the issue that caused the Undo extension to skip some actions in bulk operations
4+
Fix the script error that occurs when gantt.deleteLink is called from the gantt.silent function
5+
Fix the incorrect behavior of Auto Scheduling when two connected tasks have different calendars
6+
Fix the script error that occurs after creating a circular link
7+
Fix the script error that occurs after destroying the Gantt which has an editable Resource Panel
8+
Fix the issue that caused the tooltip to disappear in some browsers
9+
110
### 8.0.7
211

312
Fix the script error occurring in the trial build on SalesForce

0 commit comments

Comments
 (0)