jsgantt-improved 2.8.9 → 3.0.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.
Files changed (100) hide show
  1. package/.mocharc.cjs +5 -0
  2. package/.travis.yml +0 -2
  3. package/Documentation.md +1 -1
  4. package/dist/draw_columns.js +171 -0
  5. package/dist/draw_dependencies.js +97 -0
  6. package/dist/e2e/app.e2e-spec.js +3 -3
  7. package/dist/e2e/app.e2e-spec.js.map +1 -1
  8. package/dist/e2e/app.po.js +5 -5
  9. package/dist/e2e/app.po.js.map +1 -1
  10. package/dist/jsgantt.js +580 -473
  11. package/dist/json.js +200 -0
  12. package/dist/lang.js +1635 -0
  13. package/dist/options.js +219 -0
  14. package/dist/playwright.config.js +33 -0
  15. package/dist/playwright.config.js.map +1 -0
  16. package/dist/src/draw.js +149 -148
  17. package/dist/src/draw.js.map +1 -1
  18. package/dist/src/draw_columns.js +66 -63
  19. package/dist/src/draw_columns.js.map +1 -1
  20. package/dist/src/draw_dependencies.js +4 -2
  21. package/dist/src/draw_dependencies.js.map +1 -1
  22. package/dist/src/events.js +72 -54
  23. package/dist/src/events.js.map +1 -1
  24. package/dist/src/json.js +10 -7
  25. package/dist/src/json.js.map +1 -1
  26. package/dist/src/lang.js +1 -1
  27. package/dist/src/lang.js.map +1 -1
  28. package/dist/src/options.js +14 -13
  29. package/dist/src/options.js.map +1 -1
  30. package/dist/src/task.js +61 -49
  31. package/dist/src/task.js.map +1 -1
  32. package/dist/src/utils/date_utils.js +46 -15
  33. package/dist/src/utils/date_utils.js.map +1 -1
  34. package/dist/src/utils/draw_utils.js +24 -18
  35. package/dist/src/utils/draw_utils.js.map +1 -1
  36. package/dist/src/utils/general_utils.js +59 -36
  37. package/dist/src/utils/general_utils.js.map +1 -1
  38. package/dist/src/utils.js +498 -0
  39. package/dist/src/utils.js.map +1 -0
  40. package/dist/src/xml.js +74 -67
  41. package/dist/src/xml.js.map +1 -1
  42. package/dist/test/e2e/gantt.page.js +150 -0
  43. package/dist/test/e2e/gantt.page.js.map +1 -0
  44. package/dist/test/e2e/issue172-row-alignment.spec.js +198 -0
  45. package/dist/test/e2e/issue172-row-alignment.spec.js.map +1 -0
  46. package/dist/test/e2e/issue207-bar-axis-alignment.spec.js +329 -0
  47. package/dist/test/e2e/issue207-bar-axis-alignment.spec.js.map +1 -0
  48. package/dist/test/e2e/issue255-show-weekends.spec.js +102 -0
  49. package/dist/test/e2e/issue255-show-weekends.spec.js.map +1 -0
  50. package/dist/test/e2e/issue349-taskname-click-event.spec.js +270 -0
  51. package/dist/test/e2e/issue349-taskname-click-event.spec.js.map +1 -0
  52. package/dist/test/e2e/issue48-dependency-lines.spec.js +204 -0
  53. package/dist/test/e2e/issue48-dependency-lines.spec.js.map +1 -0
  54. package/dist/test/e2e/issue54-month-today.spec.js +181 -0
  55. package/dist/test/e2e/issue54-month-today.spec.js.map +1 -0
  56. package/dist/test/e2e/issue68-working-days.spec.js +243 -0
  57. package/dist/test/e2e/issue68-working-days.spec.js.map +1 -0
  58. package/dist/test/e2e/zoom-alignment.spec.js +133 -0
  59. package/dist/test/e2e/zoom-alignment.spec.js.map +1 -0
  60. package/dist/test/index.js +3 -8
  61. package/dist/test/index.js.map +1 -1
  62. package/dist/test/unit/date-utils.spec.js +180 -0
  63. package/dist/test/unit/date-utils.spec.js.map +1 -0
  64. package/dist/test/unit/draw-cols-chart.spec.js +105 -0
  65. package/dist/test/unit/draw-cols-chart.spec.js.map +1 -0
  66. package/dist/test/unit/gantt-chart-constructor.spec.js +85 -0
  67. package/dist/test/unit/gantt-chart-constructor.spec.js.map +1 -0
  68. package/dist/test/unit/helpers.js +67 -0
  69. package/dist/test/unit/helpers.js.map +1 -0
  70. package/dist/test/unit/task-item.spec.js +46 -0
  71. package/dist/test/unit/task-item.spec.js.map +1 -0
  72. package/dist/test/unit/task-management.spec.js +141 -0
  73. package/dist/test/unit/task-management.spec.js.map +1 -0
  74. package/dist/test/unit/working-days.spec.js +109 -0
  75. package/dist/test/unit/working-days.spec.js.map +1 -0
  76. package/dist/utils/draw_utils.js +169 -0
  77. package/dist/utils/general_utils.js +498 -0
  78. package/dist/xml.js +345 -0
  79. package/dist-e2e/gantt.page.js +79 -0
  80. package/dist-e2e/gantt.page.js.map +1 -0
  81. package/dist-e2e/issue-setMinDate-setMaxDate.spec.js +96 -0
  82. package/dist-e2e/issue172-row-alignment.spec.js +90 -0
  83. package/dist-e2e/issue172-row-alignment.spec.js.map +1 -0
  84. package/dist-e2e/issue207-bar-axis-alignment.spec.js +161 -0
  85. package/dist-e2e/issue207-bar-axis-alignment.spec.js.map +1 -0
  86. package/dist-e2e/issue349-taskname-click-event.spec.js +170 -0
  87. package/dist-e2e/issue349-taskname-click-event.spec.js.map +1 -0
  88. package/dist-e2e/issue375-column-visibility.spec.js +129 -0
  89. package/dist-e2e/issue375-column-visibility.spec.js.map +1 -0
  90. package/dist-e2e/issue54-month-today.spec.js +84 -0
  91. package/dist-e2e/issue54-month-today.spec.js.map +1 -0
  92. package/dist-e2e/issue68-working-days.spec.js +105 -0
  93. package/dist-e2e/issue68-working-days.spec.js.map +1 -0
  94. package/docs/index.js +5 -2
  95. package/docs/jsgantt.js +5749 -0
  96. package/jsgantt.js +5749 -0
  97. package/package.json +10 -18
  98. package/pw-e2e.config.js +13 -0
  99. package/test-results/.last-run.json +4 -0
  100. package/protractor.conf.js +0 -29
@@ -24,7 +24,7 @@ exports.internalPropertiesLang = {
24
24
  'pPlanEnd': 'planenddate',
25
25
  'pPlanClass': 'planclass'
26
26
  };
27
- exports.findObj = function (theObj, theDoc) {
27
+ var findObj = function (theObj, theDoc) {
28
28
  if (theDoc === void 0) { theDoc = null; }
29
29
  var p, i, foundObj;
30
30
  if (!theDoc)
@@ -33,21 +33,24 @@ exports.findObj = function (theObj, theDoc) {
33
33
  foundObj = document.getElementById(theObj);
34
34
  return foundObj;
35
35
  };
36
- exports.changeFormat = function (pFormat, ganttObj) {
36
+ exports.findObj = findObj;
37
+ var changeFormat = function (pFormat, ganttObj) {
37
38
  if (ganttObj)
38
39
  ganttObj.setFormat(pFormat);
39
40
  else
40
41
  alert('Chart undefined');
41
42
  };
42
- exports.stripIds = function (pNode) {
43
+ exports.changeFormat = changeFormat;
44
+ var stripIds = function (pNode) {
43
45
  for (var i = 0; i < pNode.childNodes.length; i++) {
44
46
  if ('removeAttribute' in pNode.childNodes[i])
45
47
  pNode.childNodes[i].removeAttribute('id');
46
48
  if (pNode.childNodes[i].hasChildNodes())
47
- exports.stripIds(pNode.childNodes[i]);
49
+ (0, exports.stripIds)(pNode.childNodes[i]);
48
50
  }
49
51
  };
50
- exports.stripUnwanted = function (pNode) {
52
+ exports.stripIds = stripIds;
53
+ var stripUnwanted = function (pNode) {
51
54
  var vAllowedTags = new Array('#text', 'p', 'br', 'ul', 'ol', 'li', 'div', 'span', 'img');
52
55
  for (var i = 0; i < pNode.childNodes.length; i++) {
53
56
  /* versions of IE<9 don't support indexOf on arrays so add trailing comma to the joined array and lookup value to stop substring matches */
@@ -55,15 +58,17 @@ exports.stripUnwanted = function (pNode) {
55
58
  pNode.replaceChild(document.createTextNode(pNode.childNodes[i].outerHTML), pNode.childNodes[i]);
56
59
  }
57
60
  if (pNode.childNodes[i].hasChildNodes())
58
- exports.stripUnwanted(pNode.childNodes[i]);
61
+ (0, exports.stripUnwanted)(pNode.childNodes[i]);
59
62
  }
60
63
  };
61
- exports.delayedHide = function (pGanttChartObj, pTool, pTimer) {
64
+ exports.stripUnwanted = stripUnwanted;
65
+ var delayedHide = function (pGanttChartObj, pTool, pTimer) {
62
66
  var vDelay = pGanttChartObj.getTooltipDelay() || 1500;
63
67
  if (pTool)
64
- pTool.delayTimeout = setTimeout(function () { exports.hideToolTip(pGanttChartObj, pTool, pTimer); }, vDelay);
68
+ pTool.delayTimeout = setTimeout(function () { (0, exports.hideToolTip)(pGanttChartObj, pTool, pTimer); }, vDelay);
65
69
  };
66
- exports.getZoomFactor = function () {
70
+ exports.delayedHide = delayedHide;
71
+ var getZoomFactor = function () {
67
72
  var vFactor = 1;
68
73
  if (document.body.getBoundingClientRect) {
69
74
  // rect is only in physical pixel size in IE before version 8
@@ -75,24 +80,27 @@ exports.getZoomFactor = function () {
75
80
  }
76
81
  return vFactor;
77
82
  };
78
- exports.benchMark = function (pItem) {
83
+ exports.getZoomFactor = getZoomFactor;
84
+ var benchMark = function (pItem) {
79
85
  var vEndTime = new Date().getTime();
80
86
  alert(pItem + ': Elapsed time: ' + ((vEndTime - this.vBenchTime) / 1000) + ' seconds.');
81
87
  this.vBenchTime = new Date().getTime();
82
88
  };
83
- exports.getScrollPositions = function () {
89
+ exports.benchMark = benchMark;
90
+ var getScrollPositions = function () {
84
91
  var vScrollLeft = window.pageXOffset;
85
92
  var vScrollTop = window.pageYOffset;
86
93
  if (!('pageXOffset' in window)) // Internet Explorer before version 9
87
94
  {
88
- var vZoomFactor = exports.getZoomFactor();
95
+ var vZoomFactor = (0, exports.getZoomFactor)();
89
96
  vScrollLeft = Math.round(document.documentElement.scrollLeft / vZoomFactor);
90
97
  vScrollTop = Math.round(document.documentElement.scrollTop / vZoomFactor);
91
98
  }
92
99
  return { x: vScrollLeft, y: vScrollTop };
93
100
  };
101
+ exports.getScrollPositions = getScrollPositions;
94
102
  var scrollbarWidth = undefined;
95
- exports.getScrollbarWidth = function () {
103
+ var getScrollbarWidth = function () {
96
104
  if (scrollbarWidth)
97
105
  return scrollbarWidth;
98
106
  var outer = document.createElement('div');
@@ -107,12 +115,14 @@ exports.getScrollbarWidth = function () {
107
115
  outer.parentNode.removeChild(outer);
108
116
  return scrollbarWidth;
109
117
  };
110
- exports.calculateCurrentDateOffset = function (curTaskStart, curTaskEnd) {
118
+ exports.getScrollbarWidth = getScrollbarWidth;
119
+ var calculateCurrentDateOffset = function (curTaskStart, curTaskEnd) {
111
120
  var tmpTaskStart = Date.UTC(curTaskStart.getFullYear(), curTaskStart.getMonth(), curTaskStart.getDate(), curTaskStart.getHours(), 0, 0);
112
121
  var tmpTaskEnd = Date.UTC(curTaskEnd.getFullYear(), curTaskEnd.getMonth(), curTaskEnd.getDate(), curTaskEnd.getHours(), 0, 0);
113
122
  return (tmpTaskEnd - tmpTaskStart);
114
123
  };
115
- exports.getOffset = function (pStartDate, pEndDate, pColWidth, pFormat, pShowWeekends) {
124
+ exports.calculateCurrentDateOffset = calculateCurrentDateOffset;
125
+ var getOffset = function (pStartDate, pEndDate, pColWidth, pFormat, pShowWeekends) {
116
126
  var DAY_CELL_MARGIN_WIDTH = 3; // Cell margin for 'day' format
117
127
  var WEEK_CELL_MARGIN_WIDTH = 3; // Cell margin for 'week' format
118
128
  var MONTH_CELL_MARGIN_WIDTH = 3; // Cell margin for 'month' format
@@ -124,7 +134,7 @@ exports.getOffset = function (pStartDate, pEndDate, pColWidth, pFormat, pShowWee
124
134
  var vTaskRightPx = 0;
125
135
  // Length of task in hours
126
136
  var oneHour = 3600000;
127
- var vTaskRight = exports.calculateCurrentDateOffset(curTaskStart, curTaskEnd) / oneHour;
137
+ var vTaskRight = (0, exports.calculateCurrentDateOffset)(curTaskStart, curTaskEnd) / oneHour;
128
138
  var vPosTmpDate;
129
139
  if (pFormat == 'day') {
130
140
  if (!pShowWeekends) {
@@ -168,7 +178,8 @@ exports.getOffset = function (pStartDate, pEndDate, pColWidth, pFormat, pShowWee
168
178
  }
169
179
  return vTaskRightPx;
170
180
  };
171
- exports.isIE = function () {
181
+ exports.getOffset = getOffset;
182
+ var isIE = function () {
172
183
  if (typeof document.all != 'undefined') {
173
184
  if ('pageXOffset' in window)
174
185
  return false; // give IE9 and above the benefit of the doubt!
@@ -178,10 +189,11 @@ exports.isIE = function () {
178
189
  else
179
190
  return false;
180
191
  };
181
- exports.hideToolTip = function (pGanttChartObj, pTool, pTimer) {
192
+ exports.isIE = isIE;
193
+ var hideToolTip = function (pGanttChartObj, pTool, pTimer) {
182
194
  if (pGanttChartObj.getUseFade()) {
183
195
  clearInterval(pTool.fadeInterval);
184
- pTool.fadeInterval = setInterval(function () { exports.fadeToolTip(-1, pTool, 0); }, pTimer);
196
+ pTool.fadeInterval = setInterval(function () { (0, exports.fadeToolTip)(-1, pTool, 0); }, pTimer);
185
197
  }
186
198
  else {
187
199
  pTool.style.opacity = 0;
@@ -190,7 +202,8 @@ exports.hideToolTip = function (pGanttChartObj, pTool, pTimer) {
190
202
  pTool.vToolCont.setAttribute("showing", null);
191
203
  }
192
204
  };
193
- exports.fadeToolTip = function (pDirection, pTool, pMaxAlpha) {
205
+ exports.hideToolTip = hideToolTip;
206
+ var fadeToolTip = function (pDirection, pTool, pMaxAlpha) {
194
207
  var vIncrement = parseInt(pTool.getAttribute('fadeIncrement'));
195
208
  var vAlpha = pTool.getAttribute('currentOpacity');
196
209
  var vCurAlpha = parseInt(vAlpha);
@@ -217,7 +230,8 @@ exports.fadeToolTip = function (pDirection, pTool, pMaxAlpha) {
217
230
  }
218
231
  }
219
232
  };
220
- exports.hashString = function (key) {
233
+ exports.fadeToolTip = fadeToolTip;
234
+ var hashString = function (key) {
221
235
  if (!key) {
222
236
  key = 'default';
223
237
  }
@@ -234,10 +248,12 @@ exports.hashString = function (key) {
234
248
  // tslint:disable-next-line:no-bitwise
235
249
  return hash >>> 0;
236
250
  };
237
- exports.hashKey = function (key) {
238
- return this.hashString(key);
251
+ exports.hashString = hashString;
252
+ var hashKey = function (key) {
253
+ return (0, exports.hashString)(key);
239
254
  };
240
- exports.criticalPath = function (tasks) {
255
+ exports.hashKey = hashKey;
256
+ var criticalPath = function (tasks) {
241
257
  var path = {};
242
258
  // calculate duration
243
259
  tasks.forEach(function (task) {
@@ -287,6 +303,7 @@ exports.criticalPath = function (tasks) {
287
303
  _loop_1();
288
304
  }
289
305
  };
306
+ exports.criticalPath = criticalPath;
290
307
  function isParentElementOrSelf(child, parent) {
291
308
  while (child) {
292
309
  if (child === parent)
@@ -295,7 +312,7 @@ function isParentElementOrSelf(child, parent) {
295
312
  }
296
313
  }
297
314
  exports.isParentElementOrSelf = isParentElementOrSelf;
298
- exports.updateFlyingObj = function (e, pGanttChartObj, pTimer) {
315
+ var updateFlyingObj = function (e, pGanttChartObj, pTimer) {
299
316
  var documentElement = document.documentElement;
300
317
  var bodyElement = document.getElementsByTagName('body')[0];
301
318
  var vCurTopBuf = 3;
@@ -316,13 +333,13 @@ exports.updateFlyingObj = function (e, pGanttChartObj, pTimer) {
316
333
  // the clientX and clientY properties include the left and top borders of the client area
317
334
  vMouseX -= documentElement === null || documentElement === void 0 ? void 0 : documentElement.clientLeft;
318
335
  vMouseY -= documentElement === null || documentElement === void 0 ? void 0 : documentElement.clientTop;
319
- var vZoomFactor = exports.getZoomFactor();
336
+ var vZoomFactor = (0, exports.getZoomFactor)();
320
337
  if (vZoomFactor != 1) { // IE 7 at non-default zoom level
321
338
  vMouseX = Math.round(vMouseX / vZoomFactor);
322
339
  vMouseY = Math.round(vMouseY / vZoomFactor);
323
340
  }
324
341
  }
325
- var vScrollPos = exports.getScrollPositions();
342
+ var vScrollPos = (0, exports.getScrollPositions)();
326
343
  /* Code for positioned right of the mouse by default*/
327
344
  /*
328
345
  if (vMouseX+vCurRightBuf+pGanttChartObj.vTool.offsetWidth>vViewportX)
@@ -362,14 +379,15 @@ exports.updateFlyingObj = function (e, pGanttChartObj, pTimer) {
362
379
  var outViewport = Math.abs(vOldX - vNewX) > screenX || Math.abs(vOldY - vNewY) > screenY;
363
380
  if (pGanttChartObj.getUseMove() && !outViewport) {
364
381
  clearInterval(pGanttChartObj.vTool.moveInterval);
365
- pGanttChartObj.vTool.moveInterval = setInterval(function () { exports.moveToolTip(vNewX, vNewY, pGanttChartObj.vTool, pTimer); }, pTimer);
382
+ pGanttChartObj.vTool.moveInterval = setInterval(function () { (0, exports.moveToolTip)(vNewX, vNewY, pGanttChartObj.vTool, pTimer); }, pTimer);
366
383
  }
367
384
  else {
368
385
  pGanttChartObj.vTool.style.left = vNewX + 'px';
369
386
  pGanttChartObj.vTool.style.top = vNewY + 'px';
370
387
  }
371
388
  };
372
- exports.moveToolTip = function (pNewX, pNewY, pTool, timer) {
389
+ exports.updateFlyingObj = updateFlyingObj;
390
+ var moveToolTip = function (pNewX, pNewY, pTool, timer) {
373
391
  var vSpeed = parseInt(pTool.getAttribute('moveSpeed'));
374
392
  var vOldX = parseInt(pTool.style.left);
375
393
  var vOldY = parseInt(pTool.style.top);
@@ -390,7 +408,8 @@ exports.moveToolTip = function (pNewX, pNewY, pTool, timer) {
390
408
  }
391
409
  }
392
410
  };
393
- exports.makeRequest = function (pFile, json, vDebug) {
411
+ exports.moveToolTip = moveToolTip;
412
+ var makeRequest = function (pFile, json, vDebug) {
394
413
  if (json === void 0) { json = true; }
395
414
  if (vDebug === void 0) { vDebug = false; }
396
415
  if (window.fetch) {
@@ -403,7 +422,7 @@ exports.makeRequest = function (pFile, json, vDebug) {
403
422
  }
404
423
  }
405
424
  else {
406
- return exports.makeRequestOldBrowsers(pFile, vDebug)
425
+ return (0, exports.makeRequestOldBrowsers)(pFile, vDebug)
407
426
  .then(function (xhttp) {
408
427
  if (json) {
409
428
  var jsonObj = JSON.parse(xhttp.response);
@@ -416,7 +435,8 @@ exports.makeRequest = function (pFile, json, vDebug) {
416
435
  });
417
436
  }
418
437
  };
419
- exports.makeRequestOldBrowsers = function (pFile, vDebug) {
438
+ exports.makeRequest = makeRequest;
439
+ var makeRequestOldBrowsers = function (pFile, vDebug) {
420
440
  if (vDebug === void 0) { vDebug = false; }
421
441
  return new Promise(function (resolve, reject) {
422
442
  var bd;
@@ -453,16 +473,18 @@ exports.makeRequestOldBrowsers = function (pFile, vDebug) {
453
473
  };
454
474
  });
455
475
  };
456
- exports.calculateStartEndFromDepend = function (tasksList) {
476
+ exports.makeRequestOldBrowsers = makeRequestOldBrowsers;
477
+ var calculateStartEndFromDepend = function (tasksList) {
457
478
  };
458
- exports.printChart = function (width, height, css) {
479
+ exports.calculateStartEndFromDepend = calculateStartEndFromDepend;
480
+ var printChart = function (width, height, css) {
459
481
  if (css === void 0) { css = undefined; }
460
482
  if (css === undefined) {
461
483
  css = // Default injected CSS
462
- "@media print {\n @page {\n size: " + width + "mm " + height + "mm;\n }\n /* set gantt container to the same width as the page */\n .gchartcontainer {\n width: " + width + "mm;\n }\n };";
484
+ "@media print {\n @page {\n size: ".concat(width, "mm ").concat(height, "mm;\n }\n /* set gantt container to the same width as the page */\n .gchartcontainer {\n width: ").concat(width, "mm;\n }\n };");
463
485
  }
464
486
  var $container = document.querySelector('.gchartcontainer');
465
- $container.insertAdjacentHTML('afterbegin', "<style>" + css + "</style>");
487
+ $container.insertAdjacentHTML('afterbegin', "<style>".concat(css, "</style>"));
466
488
  // Remove the print CSS when the print dialog is closed
467
489
  window.addEventListener('afterprint', function () {
468
490
  $container.removeChild($container.children[0]);
@@ -470,4 +492,5 @@ exports.printChart = function (width, height, css) {
470
492
  // Trigger the print
471
493
  window.print();
472
494
  };
495
+ exports.printChart = printChart;
473
496
  //# sourceMappingURL=general_utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"general_utils.js","sourceRoot":"","sources":["../../../src/utils/general_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general_utils.js","sourceRoot":"","sources":["../../../src/utils/general_utils.ts"],"names":[],"mappings":"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"}