jsgantt-improved 2.8.10 → 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 (98) 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 +579 -472
  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/options.js +14 -13
  27. package/dist/src/options.js.map +1 -1
  28. package/dist/src/task.js +61 -49
  29. package/dist/src/task.js.map +1 -1
  30. package/dist/src/utils/date_utils.js +46 -15
  31. package/dist/src/utils/date_utils.js.map +1 -1
  32. package/dist/src/utils/draw_utils.js +24 -18
  33. package/dist/src/utils/draw_utils.js.map +1 -1
  34. package/dist/src/utils/general_utils.js +59 -36
  35. package/dist/src/utils/general_utils.js.map +1 -1
  36. package/dist/src/utils.js +498 -0
  37. package/dist/src/utils.js.map +1 -0
  38. package/dist/src/xml.js +74 -67
  39. package/dist/src/xml.js.map +1 -1
  40. package/dist/test/e2e/gantt.page.js +150 -0
  41. package/dist/test/e2e/gantt.page.js.map +1 -0
  42. package/dist/test/e2e/issue172-row-alignment.spec.js +198 -0
  43. package/dist/test/e2e/issue172-row-alignment.spec.js.map +1 -0
  44. package/dist/test/e2e/issue207-bar-axis-alignment.spec.js +329 -0
  45. package/dist/test/e2e/issue207-bar-axis-alignment.spec.js.map +1 -0
  46. package/dist/test/e2e/issue255-show-weekends.spec.js +102 -0
  47. package/dist/test/e2e/issue255-show-weekends.spec.js.map +1 -0
  48. package/dist/test/e2e/issue349-taskname-click-event.spec.js +270 -0
  49. package/dist/test/e2e/issue349-taskname-click-event.spec.js.map +1 -0
  50. package/dist/test/e2e/issue48-dependency-lines.spec.js +204 -0
  51. package/dist/test/e2e/issue48-dependency-lines.spec.js.map +1 -0
  52. package/dist/test/e2e/issue54-month-today.spec.js +181 -0
  53. package/dist/test/e2e/issue54-month-today.spec.js.map +1 -0
  54. package/dist/test/e2e/issue68-working-days.spec.js +243 -0
  55. package/dist/test/e2e/issue68-working-days.spec.js.map +1 -0
  56. package/dist/test/e2e/zoom-alignment.spec.js +133 -0
  57. package/dist/test/e2e/zoom-alignment.spec.js.map +1 -0
  58. package/dist/test/index.js +3 -8
  59. package/dist/test/index.js.map +1 -1
  60. package/dist/test/unit/date-utils.spec.js +180 -0
  61. package/dist/test/unit/date-utils.spec.js.map +1 -0
  62. package/dist/test/unit/draw-cols-chart.spec.js +105 -0
  63. package/dist/test/unit/draw-cols-chart.spec.js.map +1 -0
  64. package/dist/test/unit/gantt-chart-constructor.spec.js +85 -0
  65. package/dist/test/unit/gantt-chart-constructor.spec.js.map +1 -0
  66. package/dist/test/unit/helpers.js +67 -0
  67. package/dist/test/unit/helpers.js.map +1 -0
  68. package/dist/test/unit/task-item.spec.js +46 -0
  69. package/dist/test/unit/task-item.spec.js.map +1 -0
  70. package/dist/test/unit/task-management.spec.js +141 -0
  71. package/dist/test/unit/task-management.spec.js.map +1 -0
  72. package/dist/test/unit/working-days.spec.js +109 -0
  73. package/dist/test/unit/working-days.spec.js.map +1 -0
  74. package/dist/utils/draw_utils.js +169 -0
  75. package/dist/utils/general_utils.js +498 -0
  76. package/dist/xml.js +345 -0
  77. package/dist-e2e/gantt.page.js +79 -0
  78. package/dist-e2e/gantt.page.js.map +1 -0
  79. package/dist-e2e/issue-setMinDate-setMaxDate.spec.js +96 -0
  80. package/dist-e2e/issue172-row-alignment.spec.js +90 -0
  81. package/dist-e2e/issue172-row-alignment.spec.js.map +1 -0
  82. package/dist-e2e/issue207-bar-axis-alignment.spec.js +161 -0
  83. package/dist-e2e/issue207-bar-axis-alignment.spec.js.map +1 -0
  84. package/dist-e2e/issue349-taskname-click-event.spec.js +170 -0
  85. package/dist-e2e/issue349-taskname-click-event.spec.js.map +1 -0
  86. package/dist-e2e/issue375-column-visibility.spec.js +129 -0
  87. package/dist-e2e/issue375-column-visibility.spec.js.map +1 -0
  88. package/dist-e2e/issue54-month-today.spec.js +84 -0
  89. package/dist-e2e/issue54-month-today.spec.js.map +1 -0
  90. package/dist-e2e/issue68-working-days.spec.js +105 -0
  91. package/dist-e2e/issue68-working-days.spec.js.map +1 -0
  92. package/docs/index.js +5 -2
  93. package/docs/jsgantt.js +5749 -0
  94. package/jsgantt.js +5749 -0
  95. package/package.json +10 -18
  96. package/pw-e2e.config.js +13 -0
  97. package/test-results/.last-run.json +4 -0
  98. package/protractor.conf.js +0 -29
package/dist/src/task.js CHANGED
@@ -16,7 +16,7 @@ var general_utils_1 = require("./utils/general_utils");
16
16
  var draw_utils_1 = require("./utils/draw_utils");
17
17
  var date_utils_1 = require("./utils/date_utils");
18
18
  // function to open window to display task link
19
- exports.taskLink = function (pRef, pWidth, pHeight) {
19
+ var taskLink = function (pRef, pWidth, pHeight) {
20
20
  var vWidth, vHeight;
21
21
  if (pWidth)
22
22
  vWidth = pWidth;
@@ -28,7 +28,8 @@ exports.taskLink = function (pRef, pWidth, pHeight) {
28
28
  vHeight = 400;
29
29
  window.open(pRef, 'newwin', 'height=' + vHeight + ',width=' + vWidth); // let OpenWindow =
30
30
  };
31
- exports.sortTasks = function (pList, pID, pIdx) {
31
+ exports.taskLink = taskLink;
32
+ var sortTasks = function (pList, pID, pIdx) {
32
33
  if (pList.length < 2) {
33
34
  return pIdx;
34
35
  }
@@ -53,20 +54,22 @@ exports.sortTasks = function (pList, pID, pIdx) {
53
54
  for (var i = 0; i < pList.length; i++) {
54
55
  if (pList[i].getID() == sortArr[j].getID()) {
55
56
  pList[i].setSortIdx(sortIdx++);
56
- sortIdx = exports.sortTasks(pList, pList[i].getID(), sortIdx);
57
+ sortIdx = (0, exports.sortTasks)(pList, pList[i].getID(), sortIdx);
57
58
  }
58
59
  }
59
60
  }
60
61
  return sortIdx;
61
62
  };
62
- exports.TaskItemObject = function (object) {
63
+ exports.sortTasks = sortTasks;
64
+ var TaskItemObject = function (object) {
63
65
  var pDataObject = __assign({}, object);
64
66
  general_utils_1.internalProperties.forEach(function (property) {
65
67
  delete pDataObject[property];
66
68
  });
67
69
  return new exports.TaskItem(object.pID, object.pName, object.pStart, object.pEnd, object.pClass, object.pLink, object.pMile, object.pRes, object.pComp, object.pGroup, object.pParent, object.pOpen, object.pDepend, object.pCaption, object.pNotes, object.pGantt, object.pCost, object.pPlanStart, object.pPlanEnd, object.pDuration, object.pBarText, object, object.pPlanClass);
68
70
  };
69
- exports.TaskItem = function (pID, pName, pStart, pEnd, pClass, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption, pNotes, pGantt, pCost, pPlanStart, pPlanEnd, pDuration, pBarText, pDataObject, pPlanClass) {
71
+ exports.TaskItemObject = TaskItemObject;
72
+ var TaskItem = function (pID, pName, pStart, pEnd, pClass, pLink, pMile, pRes, pComp, pGroup, pParent, pOpen, pDepend, pCaption, pNotes, pGantt, pCost, pPlanStart, pPlanEnd, pDuration, pBarText, pDataObject, pPlanClass) {
70
73
  if (pCost === void 0) { pCost = null; }
71
74
  if (pPlanStart === void 0) { pPlanStart = null; }
72
75
  if (pPlanEnd === void 0) { pPlanEnd = null; }
@@ -76,7 +79,7 @@ exports.TaskItem = function (pID, pName, pStart, pEnd, pClass, pLink, pMile, pRe
76
79
  if (pPlanClass === void 0) { pPlanClass = null; }
77
80
  var vGantt = pGantt ? pGantt : this;
78
81
  var _id = document.createTextNode(pID).data;
79
- var vID = general_utils_1.hashKey(document.createTextNode(pID).data);
82
+ var vID = (0, general_utils_1.hashKey)(document.createTextNode(pID).data);
80
83
  var vName = document.createTextNode(pName).data;
81
84
  var vStart = null;
82
85
  var vEnd = null;
@@ -98,7 +101,7 @@ exports.TaskItem = function (pID, pName, pStart, pEnd, pClass, pLink, pMile, pRe
98
101
  var vCompVal;
99
102
  var parent = document.createTextNode(pParent).data;
100
103
  if (parent && parent !== '0') {
101
- parent = general_utils_1.hashKey(parent).toString();
104
+ parent = (0, general_utils_1.hashKey)(parent).toString();
102
105
  }
103
106
  var vParent = parent;
104
107
  var vOpen = (vGroup == 2) ? 1 : parseInt(document.createTextNode(pOpen).data);
@@ -127,22 +130,22 @@ exports.TaskItem = function (pID, pName, pStart, pEnd, pClass, pLink, pMile, pRe
127
130
  vNotes.className = 'gTaskNotes';
128
131
  if (pNotes != null) {
129
132
  vNotes.innerHTML = pNotes;
130
- general_utils_1.stripUnwanted(vNotes);
133
+ (0, general_utils_1.stripUnwanted)(vNotes);
131
134
  }
132
135
  if (pStart != null && pStart != '') {
133
- vStart = (pStart instanceof Date) ? pStart : date_utils_1.parseDateStr(document.createTextNode(pStart).data, vGantt.getDateInputFormat());
136
+ vStart = (pStart instanceof Date) ? pStart : (0, date_utils_1.parseDateStr)(document.createTextNode(pStart).data, vGantt.getDateInputFormat());
134
137
  vGroupMinStart = vStart;
135
138
  }
136
139
  if (pEnd != null && pEnd != '') {
137
- vEnd = (pEnd instanceof Date) ? pEnd : date_utils_1.parseDateStr(document.createTextNode(pEnd).data, vGantt.getDateInputFormat());
140
+ vEnd = (pEnd instanceof Date) ? pEnd : (0, date_utils_1.parseDateStr)(document.createTextNode(pEnd).data, vGantt.getDateInputFormat());
138
141
  vGroupMinEnd = vEnd;
139
142
  }
140
143
  if (pPlanStart != null && pPlanStart != '') {
141
- vPlanStart = (pPlanStart instanceof Date) ? pPlanStart : date_utils_1.parseDateStr(document.createTextNode(pPlanStart).data, vGantt.getDateInputFormat());
144
+ vPlanStart = (pPlanStart instanceof Date) ? pPlanStart : (0, date_utils_1.parseDateStr)(document.createTextNode(pPlanStart).data, vGantt.getDateInputFormat());
142
145
  vGroupMinPlanStart = vPlanStart;
143
146
  }
144
147
  if (pPlanEnd != null && pPlanEnd != '') {
145
- vPlanEnd = (pPlanEnd instanceof Date) ? pPlanEnd : date_utils_1.parseDateStr(document.createTextNode(pPlanEnd).data, vGantt.getDateInputFormat());
148
+ vPlanEnd = (pPlanEnd instanceof Date) ? pPlanEnd : (0, date_utils_1.parseDateStr)(document.createTextNode(pPlanEnd).data, vGantt.getDateInputFormat());
146
149
  vGroupMinPlanEnd = vPlanEnd;
147
150
  }
148
151
  if (pDepend != null) {
@@ -171,7 +174,7 @@ exports.TaskItem = function (pID, pName, pStart, pEnd, pClass, pLink, pMile, pRe
171
174
  vDependType[k] = 'FS';
172
175
  }
173
176
  if (vDepend[k]) {
174
- vDepend[k] = general_utils_1.hashKey(vDepend[k]).toString();
177
+ vDepend[k] = (0, general_utils_1.hashKey)(vDepend[k]).toString();
175
178
  }
176
179
  }
177
180
  }
@@ -190,6 +193,8 @@ exports.TaskItem = function (pID, pName, pStart, pEnd, pClass, pLink, pMile, pRe
190
193
  this.getStartVar = function () {
191
194
  return vStart;
192
195
  };
196
+ this.hasStart = function () { return !!(vStart || vPlanStart); };
197
+ this.hasEnd = function () { return !!(vEnd || vPlanEnd || (vStart && vDuration)); };
193
198
  this.getEnd = function () {
194
199
  if (vEnd)
195
200
  return vEnd;
@@ -473,6 +478,7 @@ exports.TaskItem = function (pID, pName, pStart, pEnd, pClass, pLink, pMile, pRe
473
478
  };
474
479
  };
475
480
  };
481
+ exports.TaskItem = TaskItem;
476
482
  /**
477
483
  * @param pTask
478
484
  * @param templateStrOrFn template string or function(task). In any case parameters in template string are substituted.
@@ -481,12 +487,12 @@ exports.TaskItem = function (pID, pName, pStart, pEnd, pClass, pLink, pMile, pRe
481
487
  * If function(task): Promise<string>) - async per task template. Tooltip will show 'Loading...' if promise is not yet complete.
482
488
  * Otherwise returned template will be handled in the same manner as in other cases.
483
489
  */
484
- exports.createTaskInfo = function (pTask, templateStrOrFn) {
490
+ var createTaskInfo = function (pTask, templateStrOrFn) {
485
491
  var _this = this;
486
492
  if (templateStrOrFn === void 0) { templateStrOrFn = null; }
487
493
  var vTmpDiv;
488
494
  var vTaskInfoBox = document.createDocumentFragment();
489
- var vTaskInfo = draw_utils_1.newNode(vTaskInfoBox, 'div', null, 'gTaskInfo');
495
+ var vTaskInfo = (0, draw_utils_1.newNode)(vTaskInfoBox, 'div', null, 'gTaskInfo');
490
496
  var setupTemplate = function (template) {
491
497
  vTaskInfo.innerHTML = "";
492
498
  if (template) {
@@ -500,52 +506,52 @@ exports.createTaskInfo = function (pTask, templateStrOrFn) {
500
506
  lang = key;
501
507
  }
502
508
  var val = allData_1[key];
503
- template = template.replace("{{" + key + "}}", val);
509
+ template = template.replace("{{".concat(key, "}}"), val);
504
510
  if (lang) {
505
- template = template.replace("{{Lang:" + key + "}}", lang);
511
+ template = template.replace("{{Lang:".concat(key, "}}"), lang);
506
512
  }
507
513
  else {
508
- template = template.replace("{{Lang:" + key + "}}", key);
514
+ template = template.replace("{{Lang:".concat(key, "}}"), key);
509
515
  }
510
516
  });
511
- draw_utils_1.newNode(vTaskInfo, 'span', null, 'gTtTemplate', template);
517
+ (0, draw_utils_1.newNode)(vTaskInfo, 'span', null, 'gTtTemplate', template);
512
518
  }
513
519
  else {
514
- draw_utils_1.newNode(vTaskInfo, 'span', null, 'gTtTitle', pTask.getName());
520
+ (0, draw_utils_1.newNode)(vTaskInfo, 'span', null, 'gTtTitle', pTask.getName());
515
521
  if (_this.vShowTaskInfoStartDate == 1) {
516
- vTmpDiv = draw_utils_1.newNode(vTaskInfo, 'div', null, 'gTILine gTIsd');
517
- draw_utils_1.newNode(vTmpDiv, 'span', null, 'gTaskLabel', _this.vLangs[_this.vLang]['startdate'] + ': ');
518
- draw_utils_1.newNode(vTmpDiv, 'span', null, 'gTaskText', date_utils_1.formatDateStr(pTask.getStart(), _this.vDateTaskDisplayFormat, _this.vLangs[_this.vLang]));
522
+ vTmpDiv = (0, draw_utils_1.newNode)(vTaskInfo, 'div', null, 'gTILine gTIsd');
523
+ (0, draw_utils_1.newNode)(vTmpDiv, 'span', null, 'gTaskLabel', _this.vLangs[_this.vLang]['startdate'] + ': ');
524
+ (0, draw_utils_1.newNode)(vTmpDiv, 'span', null, 'gTaskText', (0, date_utils_1.formatDateStr)(pTask.getStart(), _this.vDateTaskDisplayFormat, _this.vLangs[_this.vLang]));
519
525
  }
520
526
  if (_this.vShowTaskInfoEndDate == 1) {
521
- vTmpDiv = draw_utils_1.newNode(vTaskInfo, 'div', null, 'gTILine gTIed');
522
- draw_utils_1.newNode(vTmpDiv, 'span', null, 'gTaskLabel', _this.vLangs[_this.vLang]['enddate'] + ': ');
523
- draw_utils_1.newNode(vTmpDiv, 'span', null, 'gTaskText', date_utils_1.formatDateStr(pTask.getEnd(), _this.vDateTaskDisplayFormat, _this.vLangs[_this.vLang]));
527
+ vTmpDiv = (0, draw_utils_1.newNode)(vTaskInfo, 'div', null, 'gTILine gTIed');
528
+ (0, draw_utils_1.newNode)(vTmpDiv, 'span', null, 'gTaskLabel', _this.vLangs[_this.vLang]['enddate'] + ': ');
529
+ (0, draw_utils_1.newNode)(vTmpDiv, 'span', null, 'gTaskText', (0, date_utils_1.formatDateStr)(pTask.getEnd(), _this.vDateTaskDisplayFormat, _this.vLangs[_this.vLang]));
524
530
  }
525
531
  if (_this.vShowTaskInfoDur == 1 && !pTask.getMile()) {
526
- vTmpDiv = draw_utils_1.newNode(vTaskInfo, 'div', null, 'gTILine gTId');
527
- draw_utils_1.newNode(vTmpDiv, 'span', null, 'gTaskLabel', _this.vLangs[_this.vLang]['dur'] + ': ');
528
- draw_utils_1.newNode(vTmpDiv, 'span', null, 'gTaskText', pTask.getDuration(_this.vFormat, _this.vLangs[_this.vLang]));
532
+ vTmpDiv = (0, draw_utils_1.newNode)(vTaskInfo, 'div', null, 'gTILine gTId');
533
+ (0, draw_utils_1.newNode)(vTmpDiv, 'span', null, 'gTaskLabel', _this.vLangs[_this.vLang]['dur'] + ': ');
534
+ (0, draw_utils_1.newNode)(vTmpDiv, 'span', null, 'gTaskText', pTask.getDuration(_this.vFormat, _this.vLangs[_this.vLang]));
529
535
  }
530
536
  if (_this.vShowTaskInfoComp == 1) {
531
- vTmpDiv = draw_utils_1.newNode(vTaskInfo, 'div', null, 'gTILine gTIc');
532
- draw_utils_1.newNode(vTmpDiv, 'span', null, 'gTaskLabel', _this.vLangs[_this.vLang]['completion'] + ': ');
533
- draw_utils_1.newNode(vTmpDiv, 'span', null, 'gTaskText', pTask.getCompStr());
537
+ vTmpDiv = (0, draw_utils_1.newNode)(vTaskInfo, 'div', null, 'gTILine gTIc');
538
+ (0, draw_utils_1.newNode)(vTmpDiv, 'span', null, 'gTaskLabel', _this.vLangs[_this.vLang]['completion'] + ': ');
539
+ (0, draw_utils_1.newNode)(vTmpDiv, 'span', null, 'gTaskText', pTask.getCompStr());
534
540
  }
535
541
  if (_this.vShowTaskInfoRes == 1) {
536
- vTmpDiv = draw_utils_1.newNode(vTaskInfo, 'div', null, 'gTILine gTIr');
537
- draw_utils_1.newNode(vTmpDiv, 'span', null, 'gTaskLabel', _this.vLangs[_this.vLang]['res'] + ': ');
538
- draw_utils_1.newNode(vTmpDiv, 'span', null, 'gTaskText', pTask.getResource());
542
+ vTmpDiv = (0, draw_utils_1.newNode)(vTaskInfo, 'div', null, 'gTILine gTIr');
543
+ (0, draw_utils_1.newNode)(vTmpDiv, 'span', null, 'gTaskLabel', _this.vLangs[_this.vLang]['res'] + ': ');
544
+ (0, draw_utils_1.newNode)(vTmpDiv, 'span', null, 'gTaskText', pTask.getResource());
539
545
  }
540
546
  if (_this.vShowTaskInfoLink == 1 && pTask.getLink() != '') {
541
- vTmpDiv = draw_utils_1.newNode(vTaskInfo, 'div', null, 'gTILine gTIl');
542
- var vTmpNode = draw_utils_1.newNode(vTmpDiv, 'span', null, 'gTaskLabel');
543
- vTmpNode = draw_utils_1.newNode(vTmpNode, 'a', null, 'gTaskText', _this.vLangs[_this.vLang]['moreinfo']);
547
+ vTmpDiv = (0, draw_utils_1.newNode)(vTaskInfo, 'div', null, 'gTILine gTIl');
548
+ var vTmpNode = (0, draw_utils_1.newNode)(vTmpDiv, 'span', null, 'gTaskLabel');
549
+ vTmpNode = (0, draw_utils_1.newNode)(vTmpNode, 'a', null, 'gTaskText', _this.vLangs[_this.vLang]['moreinfo']);
544
550
  vTmpNode.setAttribute('href', pTask.getLink());
545
551
  }
546
552
  if (_this.vShowTaskInfoNotes == 1) {
547
- vTmpDiv = draw_utils_1.newNode(vTaskInfo, 'div', null, 'gTILine gTIn');
548
- draw_utils_1.newNode(vTmpDiv, 'span', null, 'gTaskLabel', _this.vLangs[_this.vLang]['notes'] + ': ');
553
+ vTmpDiv = (0, draw_utils_1.newNode)(vTaskInfo, 'div', null, 'gTILine gTIn');
554
+ (0, draw_utils_1.newNode)(vTmpDiv, 'span', null, 'gTaskLabel', _this.vLangs[_this.vLang]['notes'] + ': ');
549
555
  if (pTask.getNotes())
550
556
  vTmpDiv.appendChild(pTask.getNotes());
551
557
  }
@@ -569,7 +575,8 @@ exports.createTaskInfo = function (pTask, templateStrOrFn) {
569
575
  }
570
576
  return { component: vTaskInfoBox, callback: callback };
571
577
  };
572
- exports.AddTaskItem = function (value) {
578
+ exports.createTaskInfo = createTaskInfo;
579
+ var AddTaskItem = function (value) {
573
580
  var vExists = false;
574
581
  for (var i = 0; i < this.vTaskList.length; i++) {
575
582
  if (this.vTaskList[i].getID() == value.getID()) {
@@ -582,13 +589,15 @@ exports.AddTaskItem = function (value) {
582
589
  this.vProcessNeeded = true;
583
590
  }
584
591
  };
585
- exports.AddTaskItemObject = function (object) {
592
+ exports.AddTaskItem = AddTaskItem;
593
+ var AddTaskItemObject = function (object) {
586
594
  if (!object.pGantt) {
587
595
  object.pGantt = this;
588
596
  }
589
- return this.AddTaskItem(exports.TaskItemObject(object));
597
+ return this.AddTaskItem((0, exports.TaskItemObject)(object));
590
598
  };
591
- exports.RemoveTaskItem = function (pID) {
599
+ exports.AddTaskItemObject = AddTaskItemObject;
600
+ var RemoveTaskItem = function (pID) {
592
601
  // simply mark the task for removal at this point - actually remove it next time we re-draw the chart
593
602
  for (var i = 0; i < this.vTaskList.length; i++) {
594
603
  if (this.vTaskList[i].getID() == pID)
@@ -598,13 +607,15 @@ exports.RemoveTaskItem = function (pID) {
598
607
  }
599
608
  this.vProcessNeeded = true;
600
609
  };
601
- exports.ClearTasks = function () {
610
+ exports.RemoveTaskItem = RemoveTaskItem;
611
+ var ClearTasks = function () {
602
612
  var _this = this;
603
613
  this.vTaskList.map(function (task) { return _this.RemoveTaskItem(task.getID()); });
604
614
  this.vProcessNeeded = true;
605
615
  };
616
+ exports.ClearTasks = ClearTasks;
606
617
  // Recursively process task tree ... set min, max dates of parent tasks and identfy task level.
607
- exports.processRows = function (pList, pID, pRow, pLevel, pOpen, pUseSort, vDebug) {
618
+ var processRows = function (pList, pID, pRow, pLevel, pOpen, pUseSort, vDebug) {
608
619
  if (vDebug === void 0) { vDebug = false; }
609
620
  var vMinDate = null;
610
621
  var vMaxDate = null;
@@ -647,7 +658,7 @@ exports.processRows = function (pList, pID, pRow, pLevel, pOpen, pUseSort, vDebu
647
658
  if (pList[i].getGroup()) {
648
659
  if (pList[i].getParItem() && pList[i].getParItem().getGroup() == 2)
649
660
  pList[i].setGroup(2);
650
- exports.processRows(vList, pList[i].getID(), i, vLevel + 1, vVisible, 0);
661
+ (0, exports.processRows)(vList, pList[i].getID(), i, vLevel + 1, vVisible, 0);
651
662
  }
652
663
  if (pList[i].getStartVar() && (vMinSet == 0 || pList[i].getStartVar() < vMinDate)) {
653
664
  vMinDate = pList[i].getStartVar();
@@ -706,7 +717,7 @@ exports.processRows = function (pList, pID, pRow, pLevel, pOpen, pUseSort, vDebu
706
717
  bd = new Date();
707
718
  console.info('before afterTasks', bd);
708
719
  }
709
- exports.sortTasks(pList, 0, 0);
720
+ (0, exports.sortTasks)(pList, 0, 0);
710
721
  if (vDebug) {
711
722
  var ad = new Date();
712
723
  console.info('after afterTasks', ad, (ad.getTime() - bd.getTime()));
@@ -723,7 +734,7 @@ exports.processRows = function (pList, pID, pRow, pLevel, pOpen, pUseSort, vDebu
723
734
  bd = new Date();
724
735
  console.info('before sortTasks', bd);
725
736
  }
726
- exports.sortTasks(pList, pList[i].getID(), pList[i].getSortIdx() + 1);
737
+ (0, exports.sortTasks)(pList, pList[i].getID(), pList[i].getSortIdx() + 1);
727
738
  if (vDebug) {
728
739
  var ad = new Date();
729
740
  console.info('after sortTasks', ad, (ad.getTime() - bd.getTime()));
@@ -734,4 +745,5 @@ exports.processRows = function (pList, pID, pRow, pLevel, pOpen, pUseSort, vDebu
734
745
  pList.sort(function (a, b) { return a.getSortIdx() - b.getSortIdx(); });
735
746
  }
736
747
  };
748
+ exports.processRows = processRows;
737
749
  //# sourceMappingURL=task.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/task.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,16 @@ exports.getIsoWeek = exports.parseDateFormatStr = exports.formatDateStr = export
4
4
  /**
5
5
  * DATES
6
6
  */
7
- exports.getMinDate = function (pList, pFormat, pMinDate) {
7
+ var getMinDate = function (pList, pFormat, pMinDate) {
8
8
  var vDate = new Date();
9
9
  if (pList.length <= 0)
10
10
  return pMinDate || vDate;
11
- vDate.setTime((pMinDate && pMinDate.getTime()) || pList[0].getStart().getTime());
12
- // Parse all Task Start dates to find min
11
+ var firstWithDate = pList.find(function (t) { return !t.hasStart || t.hasStart(); });
12
+ vDate.setTime((pMinDate && pMinDate.getTime()) || (firstWithDate ? firstWithDate.getStart().getTime() : vDate.getTime()));
13
+ // Parse all Task Start dates to find min, skipping tasks with no explicit date
13
14
  for (var i = 0; i < pList.length; i++) {
15
+ if (pList[i].hasStart && !pList[i].hasStart())
16
+ continue;
14
17
  if (pList[i].getStart().getTime() < vDate.getTime())
15
18
  vDate.setTime(pList[i].getStart().getTime());
16
19
  if (pList[i].getPlanStart() && pList[i].getPlanStart().getTime() < vDate.getTime())
@@ -54,13 +57,17 @@ exports.getMinDate = function (pList, pFormat, pMinDate) {
54
57
  vDate.setHours(0, 0, 0);
55
58
  return (vDate);
56
59
  };
57
- exports.getMaxDate = function (pList, pFormat, pMaxDate) {
60
+ exports.getMinDate = getMinDate;
61
+ var getMaxDate = function (pList, pFormat, pMaxDate) {
58
62
  var vDate = new Date();
59
63
  if (pList.length <= 0)
60
64
  return pMaxDate || vDate;
61
- vDate.setTime((pMaxDate && pMaxDate.getTime()) || pList[0].getEnd().getTime());
62
- // Parse all Task End dates to find max
65
+ var firstWithDate = pList.find(function (t) { return !t.hasEnd || t.hasEnd(); });
66
+ vDate.setTime((pMaxDate && pMaxDate.getTime()) || (firstWithDate ? firstWithDate.getEnd().getTime() : vDate.getTime()));
67
+ // Parse all Task End dates to find max, skipping tasks with no explicit date
63
68
  for (var i = 0; i < pList.length; i++) {
69
+ if (pList[i].hasEnd && !pList[i].hasEnd())
70
+ continue;
64
71
  if (pList[i].getEnd().getTime() > vDate.getTime())
65
72
  vDate.setTime(pList[i].getEnd().getTime());
66
73
  if (pList[i].getPlanEnd() && pList[i].getPlanEnd().getTime() > vDate.getTime())
@@ -104,7 +111,8 @@ exports.getMaxDate = function (pList, pFormat, pMaxDate) {
104
111
  }
105
112
  return (vDate);
106
113
  };
107
- exports.coerceDate = function (date) {
114
+ exports.getMaxDate = getMaxDate;
115
+ var coerceDate = function (date) {
108
116
  if (date instanceof Date) {
109
117
  return date;
110
118
  }
@@ -115,7 +123,8 @@ exports.coerceDate = function (date) {
115
123
  }
116
124
  }
117
125
  };
118
- exports.parseDateStr = function (pDateStr, pFormatStr) {
126
+ exports.coerceDate = coerceDate;
127
+ var parseDateStr = function (pDateStr, pFormatStr) {
119
128
  var vDate = new Date();
120
129
  var vDateParts = pDateStr.split(/[^0-9]/);
121
130
  if (pDateStr.length >= 10 && vDateParts.length >= 3) {
@@ -138,7 +147,8 @@ exports.parseDateStr = function (pDateStr, pFormatStr) {
138
147
  }
139
148
  return (vDate);
140
149
  };
141
- exports.formatDateStr = function (pDate, pDateFormatArr, pL) {
150
+ exports.parseDateStr = parseDateStr;
151
+ var formatDateStr = function (pDate, pDateFormatArr, pL) {
142
152
  // Fix on issue #303 - getXMLTask is passing null as pDates
143
153
  if (!pDate) {
144
154
  return;
@@ -151,6 +161,10 @@ exports.formatDateStr = function (pDate, pDateFormatArr, pL) {
151
161
  var vMthArr = new Array(pL['jan'], pL['feb'], pL['mar'], pL['apr'], pL['may'], pL['jun'], pL['jul'], pL['aug'], pL['sep'], pL['oct'], pL['nov'], pL['dec']);
152
162
  var vDyArr = new Array(pL['sun'], pL['mon'], pL['tue'], pL['wed'], pL['thu'], pL['fri'], pL['sat']);
153
163
  for (var i = 0; i < pDateFormatArr.length; i++) {
164
+ if (pDateFormatArr[i].charCodeAt(0) === 0) {
165
+ vDateStr += pDateFormatArr[i].slice(1);
166
+ continue;
167
+ }
154
168
  switch (pDateFormatArr[i]) {
155
169
  case 'dd':
156
170
  if (pDate.getDate() < 10)
@@ -218,13 +232,13 @@ exports.formatDateStr = function (pDate, pDateFormatArr, pL) {
218
232
  vDateStr += ((pDate.getHours()) < 12) ? 'AM' : 'PM';
219
233
  break;
220
234
  case 'ww':
221
- if (exports.getIsoWeek(pDate) < 10)
235
+ if ((0, exports.getIsoWeek)(pDate) < 10)
222
236
  vDateStr += '0'; // now fall through
223
237
  case 'w':
224
- vDateStr += exports.getIsoWeek(pDate);
238
+ vDateStr += (0, exports.getIsoWeek)(pDate);
225
239
  break;
226
240
  case 'week':
227
- var vWeekNum = exports.getIsoWeek(pDate);
241
+ var vWeekNum = (0, exports.getIsoWeek)(pDate);
228
242
  var vYear = pDate.getFullYear();
229
243
  var vDayOfWeek = (pDate.getDay() == 0) ? 7 : pDate.getDay();
230
244
  if (vWeekNum >= 52 && parseInt(vMonthStr, 10) === 1)
@@ -245,7 +259,22 @@ exports.formatDateStr = function (pDate, pDateFormatArr, pL) {
245
259
  }
246
260
  return vDateStr;
247
261
  };
248
- exports.parseDateFormatStr = function (pFormatStr) {
262
+ exports.formatDateStr = formatDateStr;
263
+ var parseDateFormatStr = function (pFormatStr) {
264
+ if (pFormatStr.includes('{{')) {
265
+ var result = [];
266
+ var parts = pFormatStr.split(/({{[^}]+}})/);
267
+ for (var _i = 0, parts_1 = parts; _i < parts_1.length; _i++) {
268
+ var part = parts_1[_i];
269
+ if (part.startsWith('{{') && part.endsWith('}}')) {
270
+ result.push(part.slice(2, -2));
271
+ }
272
+ else if (part.length > 0) {
273
+ result.push('\x00' + part);
274
+ }
275
+ }
276
+ return result;
277
+ }
249
278
  var vComponantStr = '';
250
279
  var vCurrChar = '';
251
280
  var vSeparators = new RegExp('[\/\\ -.,\'":]');
@@ -269,12 +298,13 @@ exports.parseDateFormatStr = function (pFormatStr) {
269
298
  }
270
299
  return vDateFormatArray;
271
300
  };
301
+ exports.parseDateFormatStr = parseDateFormatStr;
272
302
  /**
273
303
  * We have to compare against the monday of the first week of the year containing 04 jan *not* 01/01
274
304
  * 60*60*24*1000=86400000
275
305
  * @param pDate
276
306
  */
277
- exports.getIsoWeek = function (pDate) {
307
+ var getIsoWeek = function (pDate) {
278
308
  var dayMiliseconds = 86400000;
279
309
  var keyDay = new Date(pDate.getFullYear(), 0, 4, 0, 0, 0);
280
310
  var keyDayOfWeek = (keyDay.getDay() == 0) ? 6 : keyDay.getDay() - 1; // define monday as 0
@@ -287,9 +317,10 @@ exports.getIsoWeek = function (pDate) {
287
317
  var firstMondayYear = new Date(firstMondayYearTime);
288
318
  thisWeek = Math.ceil((daysFromFirstMonday + 1) / 7);
289
319
  if (thisWeek <= 0)
290
- thisWeek = exports.getIsoWeek(new Date(pDate.getFullYear() - 1, 11, 31, 0, 0, 0));
320
+ thisWeek = (0, exports.getIsoWeek)(new Date(pDate.getFullYear() - 1, 11, 31, 0, 0, 0));
291
321
  else if (thisWeek == 53 && (new Date(pDate.getFullYear(), 0, 1, 0, 0, 0)).getDay() != 4 && (new Date(pDate.getFullYear(), 11, 31, 0, 0, 0)).getDay() != 4)
292
322
  thisWeek = 1;
293
323
  return thisWeek;
294
324
  };
325
+ exports.getIsoWeek = getIsoWeek;
295
326
  //# sourceMappingURL=date_utils.js.map