@syncfusion/ej2-gantt 20.1.58 → 20.2.36

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 (105) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/ej2-gantt.umd.min.js +2 -2
  3. package/dist/ej2-gantt.umd.min.js.map +1 -1
  4. package/dist/es6/ej2-gantt.es2015.js +1100 -74
  5. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  6. package/dist/es6/ej2-gantt.es5.js +1099 -71
  7. package/dist/es6/ej2-gantt.es5.js.map +1 -1
  8. package/dist/global/ej2-gantt.min.js +2 -2
  9. package/dist/global/ej2-gantt.min.js.map +1 -1
  10. package/dist/global/index.d.ts +1 -1
  11. package/package.json +18 -18
  12. package/src/gantt/actions/actions.d.ts +1 -0
  13. package/src/gantt/actions/actions.js +1 -0
  14. package/src/gantt/actions/cell-edit.js +5 -3
  15. package/src/gantt/actions/connector-line-edit.js +20 -6
  16. package/src/gantt/actions/context-menu.js +3 -4
  17. package/src/gantt/actions/critical-path.d.ts +26 -0
  18. package/src/gantt/actions/critical-path.js +735 -0
  19. package/src/gantt/actions/dependency.js +3 -0
  20. package/src/gantt/actions/dialog-edit.js +1 -1
  21. package/src/gantt/actions/edit.js +29 -3
  22. package/src/gantt/actions/filter.js +1 -1
  23. package/src/gantt/actions/keyboard.js +2 -2
  24. package/src/gantt/actions/selection.js +3 -0
  25. package/src/gantt/actions/taskbar-edit.js +6 -4
  26. package/src/gantt/actions/toolbar.js +22 -4
  27. package/src/gantt/base/css-constants.d.ts +12 -0
  28. package/src/gantt/base/css-constants.js +12 -0
  29. package/src/gantt/base/date-processor.d.ts +1 -1
  30. package/src/gantt/base/date-processor.js +8 -2
  31. package/src/gantt/base/enum.d.ts +3 -1
  32. package/src/gantt/base/gantt-chart.js +6 -2
  33. package/src/gantt/base/gantt-model.d.ts +8 -1
  34. package/src/gantt/base/gantt.d.ts +32 -1
  35. package/src/gantt/base/gantt.js +133 -5
  36. package/src/gantt/base/interface.d.ts +16 -0
  37. package/src/gantt/base/splitter.js +4 -0
  38. package/src/gantt/base/task-processor.js +19 -6
  39. package/src/gantt/base/tree-grid.js +1 -1
  40. package/src/gantt/export/export-helper.js +19 -6
  41. package/src/gantt/export/pdf-base/pdf-style/gantt-theme.js +16 -0
  42. package/src/gantt/renderer/chart-rows.js +16 -5
  43. package/src/gantt/renderer/nonworking-day.js +5 -2
  44. package/src/gantt/renderer/timeline.js +35 -14
  45. package/src/global.js +1 -1
  46. package/styles/bootstrap-dark.css +272 -14
  47. package/styles/bootstrap.css +271 -14
  48. package/styles/bootstrap4.css +273 -12
  49. package/styles/bootstrap5-dark.css +272 -15
  50. package/styles/bootstrap5.css +272 -15
  51. package/styles/fabric-dark.css +270 -12
  52. package/styles/fabric.css +276 -18
  53. package/styles/fluent-dark.css +272 -14
  54. package/styles/fluent.css +272 -14
  55. package/styles/gantt/_bootstrap-dark-definition.scss +59 -16
  56. package/styles/gantt/_bootstrap-definition.scss +57 -14
  57. package/styles/gantt/_bootstrap4-definition.scss +65 -21
  58. package/styles/gantt/_bootstrap5-definition.scss +55 -12
  59. package/styles/gantt/_fabric-dark-definition.scss +58 -15
  60. package/styles/gantt/_fabric-definition.scss +58 -15
  61. package/styles/gantt/_fluent-definition.scss +53 -10
  62. package/styles/gantt/_fusionnew-definition.scss +212 -0
  63. package/styles/gantt/_highcontrast-definition.scss +57 -14
  64. package/styles/gantt/_highcontrast-light-definition.scss +55 -12
  65. package/styles/gantt/_layout.scss +293 -7
  66. package/styles/gantt/_material-dark-definition.scss +60 -16
  67. package/styles/gantt/_material-definition.scss +65 -21
  68. package/styles/gantt/_material3-definition.scss +213 -0
  69. package/styles/gantt/_tailwind-definition.scss +52 -8
  70. package/styles/gantt/_theme.scss +56 -1
  71. package/styles/gantt/bootstrap-dark.css +272 -14
  72. package/styles/gantt/bootstrap.css +271 -14
  73. package/styles/gantt/bootstrap4.css +273 -12
  74. package/styles/gantt/bootstrap5-dark.css +272 -15
  75. package/styles/gantt/bootstrap5.css +272 -15
  76. package/styles/gantt/fabric-dark.css +270 -12
  77. package/styles/gantt/fabric.css +276 -18
  78. package/styles/gantt/fluent-dark.css +272 -14
  79. package/styles/gantt/fluent.css +272 -14
  80. package/styles/gantt/highcontrast-light.css +260 -13
  81. package/styles/gantt/highcontrast.css +271 -13
  82. package/styles/gantt/icons/_bootstrap-dark.scss +12 -1
  83. package/styles/gantt/icons/_bootstrap.scss +12 -1
  84. package/styles/gantt/icons/_bootstrap4.scss +12 -1
  85. package/styles/gantt/icons/_bootstrap5.scss +12 -0
  86. package/styles/gantt/icons/_fabric-dark.scss +12 -0
  87. package/styles/gantt/icons/_fabric.scss +12 -0
  88. package/styles/gantt/icons/_fluent.scss +12 -0
  89. package/styles/gantt/icons/_fusionnew.scss +120 -0
  90. package/styles/gantt/icons/_highcontrast.scss +12 -0
  91. package/styles/gantt/icons/_material-dark.scss +12 -0
  92. package/styles/gantt/icons/_material.scss +12 -0
  93. package/styles/gantt/icons/_material3.scss +124 -0
  94. package/styles/gantt/icons/_tailwind-dark.scss +12 -0
  95. package/styles/gantt/icons/_tailwind.scss +12 -0
  96. package/styles/gantt/material-dark.css +277 -12
  97. package/styles/gantt/material.css +279 -14
  98. package/styles/gantt/tailwind-dark.css +279 -15
  99. package/styles/gantt/tailwind.css +276 -12
  100. package/styles/highcontrast-light.css +260 -13
  101. package/styles/highcontrast.css +271 -13
  102. package/styles/material-dark.css +277 -12
  103. package/styles/material.css +279 -14
  104. package/styles/tailwind-dark.css +279 -15
  105. package/styles/tailwind.css +276 -12
@@ -37,6 +37,9 @@ var Timeline = /** @class */ (function () {
37
37
  this.totalTimelineWidth = 0;
38
38
  this.customTimelineSettings = null;
39
39
  this.parent.isTimelineRoundOff = this.isZoomToFit ? false : isNullOrUndefined(this.parent.projectStartDate) ? true : false;
40
+ if (this.parent.enablePersistence) {
41
+ this.parent.timelineSettings = this.parent.currentZoomingLevel;
42
+ }
40
43
  };
41
44
  /**
42
45
  * To render timeline header series.
@@ -164,6 +167,10 @@ var Timeline = /** @class */ (function () {
164
167
  this.parent.isTimelineRoundOff = this.isZoomToFit ? false : isNullOrUndefined(this.parent.projectStartDate) ? true : false;
165
168
  this.processTimelineUnit();
166
169
  this.parent.updateProjectDates(this.parent.cloneProjectStartDate, this.parent.cloneProjectEndDate, this.parent.isTimelineRoundOff);
170
+ var criticalModule = this.parent.criticalPathModule;
171
+ if (this.parent.enableCriticalPath && criticalModule) {
172
+ criticalModule.criticalConnectorLine(criticalModule.criticalPathCollection, criticalModule.detailPredecessorCollection, true, criticalModule.predecessorCollectionTaskIds);
173
+ }
167
174
  if (this.isZooming || this.isZoomToFit) {
168
175
  var args = {
169
176
  requestType: this.isZoomIn ? 'AfterZoomIn' : this.isZoomToFit ? 'AfterZoomToProject' : 'AfterZoomOut',
@@ -186,6 +193,9 @@ var Timeline = /** @class */ (function () {
186
193
  this.parent.zoomingProjectEndDate = this.parent.cloneProjectEndDate;
187
194
  }
188
195
  this.parent.dataOperation.calculateProjectDates();
196
+ if (this.parent.zoomingProjectStartDate > this.parent.cloneProjectStartDate) {
197
+ this.parent.cloneProjectStartDate = new Date(this.parent.allowUnscheduledTasks ? this.parent.zoomingProjectStartDate : this.parent.cloneProjectStartDate);
198
+ }
189
199
  var timeDifference = (this.parent.cloneProjectEndDate.getTime() - this.parent.cloneProjectStartDate.getTime());
190
200
  var totalDays = (timeDifference / (1000 * 3600 * 24));
191
201
  var chartWidth = this.parent.ganttChartModule.chartElement.offsetWidth;
@@ -824,7 +834,7 @@ var Timeline = /** @class */ (function () {
824
834
  parentTr = this.getHeaterTemplateString(new Date(startDate.toString()), mode, tier, false, count, timelineCell, isFirstCell);
825
835
  scheduleDateCollection.push(new Date(startDate.toString()));
826
836
  if (isFirstCell) {
827
- newTime = this.calculateQuarterEndDate(startDate).getTime();
837
+ newTime = this.calculateQuarterEndDate(startDate, count).getTime();
828
838
  }
829
839
  else {
830
840
  increment = this.getIncrement(startDate, count, mode);
@@ -980,19 +990,29 @@ var Timeline = /** @class */ (function () {
980
990
  mode === 'Hour' || mode === 'Minutes') &&
981
991
  this.parent.nonWorkingDayIndex.indexOf(day.getDay()) !== -1;
982
992
  };
983
- Timeline.prototype.calculateQuarterEndDate = function (date) {
993
+ Timeline.prototype.calculateQuarterEndDate = function (date, count) {
984
994
  var month = date.getMonth();
985
- if (month >= 0 && month <= 2) {
986
- return new Date(date.getFullYear(), 3, 1);
987
- }
988
- else if (month >= 3 && month <= 5) {
989
- return new Date(date.getFullYear(), 6, 1);
990
- }
991
- else if (month >= 6 && month <= 8) {
992
- return new Date(date.getFullYear(), 9, 1);
995
+ if (count === 3) {
996
+ if (month >= 0 && month <= 2) {
997
+ return new Date(date.getFullYear(), 3, 1);
998
+ }
999
+ else if (month >= 3 && month <= 5) {
1000
+ return new Date(date.getFullYear(), 6, 1);
1001
+ }
1002
+ else if (month >= 6 && month <= 8) {
1003
+ return new Date(date.getFullYear(), 9, 1);
1004
+ }
1005
+ else {
1006
+ return new Date(date.getFullYear() + 1, 0, 1);
1007
+ }
993
1008
  }
994
1009
  else {
995
- return new Date(date.getFullYear() + 1, 0, 1);
1010
+ if (month >= 0 && month <= 5) {
1011
+ return new Date(date.getFullYear(), 6, 1);
1012
+ }
1013
+ else {
1014
+ return new Date(date.getFullYear() + 1, 0, 1);
1015
+ }
996
1016
  }
997
1017
  };
998
1018
  /**
@@ -1023,7 +1043,7 @@ var Timeline = /** @class */ (function () {
1023
1043
  this.customFormat(scheduleWeeks, format, tier, mode, formatter);
1024
1044
  thWidth = (this.getIncrement(scheduleWeeks, count, mode) / (1000 * 60 * 60 * 24)) * this.parent.perDayWidth;
1025
1045
  var cellWidth = thWidth;
1026
- thWidth = isLast || isFirstCell ? isLast ? this.calculateWidthBetweenTwoDate(mode, scheduleWeeks, this.timelineRoundOffEndDate) : this.calculateWidthBetweenTwoDate(mode, scheduleWeeks, this.calculateQuarterEndDate(scheduleWeeks))
1046
+ thWidth = isLast || isFirstCell ? isLast ? this.calculateWidthBetweenTwoDate(mode, scheduleWeeks, this.timelineRoundOffEndDate) : this.calculateWidthBetweenTwoDate(mode, scheduleWeeks, this.calculateQuarterEndDate(scheduleWeeks, count))
1027
1047
  : thWidth;
1028
1048
  var isWeekendCell = this.isWeekendHeaderCell(mode, tier, scheduleWeeks);
1029
1049
  var textClassName = tier === 'topTier' ? ' e-gantt-top-cell-text' : '';
@@ -1373,8 +1393,9 @@ var Timeline = /** @class */ (function () {
1373
1393
  if (type === 'prevTimeSpan' && isFrom === 'publicMethod') {
1374
1394
  this.parent.ganttChartModule.updateScrollLeft(0);
1375
1395
  }
1376
- else if (type === 'nextTimeSpan' && isFrom === 'publicMethod') {
1377
- this.parent.ganttChartModule.updateScrollLeft(this.parent.timelineModule.totalTimelineWidth);
1396
+ else if ((type === 'nextTimeSpan' && isFrom === 'publicMethod') || (type === 'nextTimeSpan' && isFrom === 'TaskbarEditing')) {
1397
+ var currentScrollLeft = document.getElementsByClassName('e-chart-scroll-container e-content')[0].scrollLeft;
1398
+ this.parent.element.querySelector('.e-timeline-header-container').scrollLeft = currentScrollLeft;
1378
1399
  }
1379
1400
  this.parent.timelineModule.timeSpanActionEvent('actionComplete', type, isFrom);
1380
1401
  }
package/src/global.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import * as index from './index';
2
- index.Gantt.Inject(index.Filter, index.Selection, index.Sort, index.Reorder, index.Resize, index.Edit, index.DayMarkers, index.Toolbar, index.ContextMenu, index.ExcelExport, index.RowDD, index.ColumnMenu, index.PdfExport, index.VirtualScroll);
2
+ index.Gantt.Inject(index.Filter, index.Selection, index.Sort, index.Reorder, index.Resize, index.Edit, index.DayMarkers, index.Toolbar, index.ContextMenu, index.ExcelExport, index.RowDD, index.ColumnMenu, index.PdfExport, index.VirtualScroll, index.CriticalPath);
3
3
  export * from './index';
@@ -162,6 +162,9 @@
162
162
  .e-gantt .e-add::before {
163
163
  content: "\e823";
164
164
  }
165
+ .e-gantt .e-critical-path::before {
166
+ content: "\e93a";
167
+ }
165
168
  .e-gantt .e-edit::before {
166
169
  content: "\e944";
167
170
  }
@@ -242,26 +245,219 @@
242
245
  content: "\e903";
243
246
  }
244
247
 
248
+ .e-gantt-tooltip-arrow-left::before {
249
+ content: "\e85b";
250
+ }
251
+
252
+ .e-gantt-tooltip-arrow-right::before {
253
+ content: "\e85f";
254
+ }
255
+
245
256
  .e-bigger .e-gantt .e-gantt-chart .e-timeline-header-container {
246
257
  height: 64px;
247
258
  }
248
259
  .e-bigger .e-gantt .e-gantt-chart .e-timeline-top-header-cell {
249
260
  height: 32px;
250
261
  }
262
+ .e-bigger .e-gantt .e-gantt-chart .e-event-markers .e-span-label {
263
+ border-radius: 4px !important;
264
+ font-size: 12px !important;
265
+ height: 26px !important;
266
+ padding: 4px 11px 4px 9px !important;
267
+ top: 65px !important;
268
+ }
269
+ .e-bigger .e-gantt .e-gantt-chart .e-event-markers .e-gantt-right-arrow {
270
+ border-bottom: 6px solid transparent;
271
+ border-right: 6px solid transparent;
272
+ border-right-color: #d9edf7;
273
+ border-top: 6px solid transparent;
274
+ top: 73px !important;
275
+ }
276
+ .e-bigger .e-gantt .e-gantt-chart .e-left-resize-gripper::before,
277
+ .e-bigger .e-gantt .e-gantt-chart .e-right-resize-gripper::before {
278
+ content: "\e92c";
279
+ }
280
+ .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-right,
281
+ .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-left,
282
+ .e-bigger .e-gantt .e-gantt-chart .e-right-connectorpoint-outer-div,
283
+ .e-bigger .e-gantt .e-gantt-chart .e-left-connectorpoint-outer-div {
284
+ border-radius: 50%;
285
+ display: inline-block;
286
+ position: absolute;
287
+ }
288
+ .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-left-hover,
289
+ .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-right-hover {
290
+ border-style: solid;
291
+ border-width: 1px;
292
+ box-sizing: content-box;
293
+ cursor: pointer;
294
+ display: inline-block;
295
+ }
296
+ .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-left-hover,
297
+ .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-right-hover {
298
+ background-color: #21527d;
299
+ border-color: #1a1a1a;
300
+ }
301
+ .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-left-hover:hover,
302
+ .e-bigger .e-gantt .e-gantt-chart .e-connectorpoint-right-hover:hover {
303
+ background-color: #21527d;
304
+ border-color: #1a1a1a;
305
+ outline: 2px solid #75ACDB;
306
+ }
307
+ .e-bigger .e-gantt .e-tab .e-content {
308
+ height: 242px !important;
309
+ }
251
310
  .e-bigger .e-gantt .e-gantt-tree-grid-pane .e-columnheader .e-headercell {
252
311
  height: 63px !important;
253
312
  }
313
+ .e-bigger .e-gantt .e-dialog .e-dlg-header-content {
314
+ padding: 16px 4px 16px 16px !important;
315
+ }
316
+ .e-bigger .e-gantt .e-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn {
317
+ left: 0 !important;
318
+ }
319
+ .e-bigger .e-gantt .e-dialog .e-btn .e-btn-icon.e-icon-dlg-close {
320
+ font-size: 12px !important;
321
+ }
322
+ .e-bigger .e-gantt .e-dialog .e-footer-content {
323
+ height: 70px !important;
324
+ padding: 16px !important;
325
+ }
326
+ .e-bigger .e-gantt .e-dialog .e-footer-content .e-btn {
327
+ margin-left: 12px;
328
+ }
329
+ .e-bigger .e-gantt .e-dialog .e-dlg-header {
330
+ line-height: 28px;
331
+ }
332
+ .e-bigger .e-gantt .e-filter-popup {
333
+ width: 350px !important;
334
+ }
335
+ .e-bigger .e-gantt .e-grid .e-flmenu-valuediv {
336
+ padding: 16px 0 0 !important;
337
+ }
338
+ .e-bigger .e-gantt .e-filter-popup .e-dlg-content {
339
+ border-radius: 6px !important;
340
+ padding: 32px 16px 16px !important;
341
+ }
254
342
  .e-bigger .e-columnmenu {
255
343
  top: 40px;
256
344
  }
345
+ .e-bigger .e-gantt-dialog {
346
+ border-radius: 6px;
347
+ width: 556px !important;
348
+ }
349
+ .e-bigger .e-gantt-dialog .e-tab .e-tab-header .e-toolbar-item .e-tab-wrap {
350
+ padding: 0 16px !important;
351
+ }
257
352
  .e-bigger .e-gantt-dialog .e-edit-form-column:nth-child(odd) {
258
- padding: 16px 18px 0 18px;
353
+ padding: 16px 12px 0 16px;
259
354
  }
260
355
  .e-bigger .e-gantt-dialog .e-edit-form-column:nth-child(even) {
261
- padding: 16px 18px 0 0;
356
+ padding: 16px 16px 0 12px;
262
357
  }
263
358
  .e-bigger .e-gantt-dialog .e-edit-form-row.e-scroll .e-edit-form-column:nth-child(even) {
264
- padding: 16px 18px 0 0;
359
+ padding: 16px 18px 0 9px;
360
+ }
361
+ .e-bigger .e-gantt-dialog .e-edit-form-row {
362
+ height: 242px !important;
363
+ }
364
+ .e-bigger .e-gantt-dialog .e-edit-form-column {
365
+ height: 76px !important;
366
+ }
367
+ .e-bigger .e-gantt-dialog .e-dlg-header-content {
368
+ border-bottom: 0 !important;
369
+ }
370
+ .e-bigger .e-gantt-dialog > .e-dlg-content {
371
+ border-radius: 0 !important;
372
+ }
373
+ .e-bigger .e-gantt-dialog .e-dlg-header-content {
374
+ border-radius: 6px 6px 0px 0px;
375
+ padding-bottom: 20px;
376
+ }
377
+ .e-bigger .e-gantt-dialog .e-dlg-header-content .e-btn.e-dlg-closeicon-btn {
378
+ border-radius: 50%;
379
+ height: auto !important;
380
+ width: auto;
381
+ }
382
+ .e-bigger .e-gantt-dialog .e-tab .e-tab-header .e-toolbar-item.e-active {
383
+ margin-left: 5px !important;
384
+ }
385
+ .e-bigger .e-gantt-dialog .e-control-wrapper .e-input-group-icon.e-date-icon {
386
+ font-size: 16px !important;
387
+ }
388
+ .e-bigger .e-gantt-dialog .e-control-wrapper .e-input-group-icon.e-date-icon {
389
+ min-height: 35px !important;
390
+ min-width: 35.82px !important;
391
+ }
392
+ .e-bigger .e-gantt-dialog .e-btn.e-flat {
393
+ line-height: 24px;
394
+ padding: 6px 16px 6px 15px !important;
395
+ }
396
+ .e-bigger .e-gantt-dialog .e-btn.e-primary {
397
+ padding: 6px 21px 6px 23px !important;
398
+ }
399
+ .e-bigger .e-gantt-dialog .e-datetime-wrapper .e-time-icon.e-icons::before {
400
+ font-size: 16px !important;
401
+ }
402
+ .e-bigger .e-gantt-dialog .e-float-input.e-control-wrapper input ~ label.e-label-top.e-float-text {
403
+ font-size: 14px;
404
+ line-height: 22px;
405
+ }
406
+ .e-bigger .e-gantt-dialog .e-float-input.e-control-wrapper input[disabled] ~ label.e-label-top.e-float-text {
407
+ font-size: 14px;
408
+ line-height: 22px;
409
+ }
410
+ .e-bigger .e-gantt-dialog .e-float-input.e-control-wrapper input {
411
+ height: 34px !important;
412
+ }
413
+ .e-bigger .e-gantt-dialog .e-numeric.e-control-wrapper.e-input-group .e-input-group-icon {
414
+ min-height: 35px !important;
415
+ min-width: 35.82px !important;
416
+ }
417
+ .e-bigger .e-gantt-dialog .e-control-wrapper .e-input-group-icon.e-time-icon {
418
+ min-height: 35px !important;
419
+ min-width: 35.82px !important;
420
+ }
421
+ .e-bigger .e-gantt-dialog .e-input-group.e-control-wrapper {
422
+ height: 36px;
423
+ }
424
+ .e-bigger .e-gantt-dialog .e-input-group-icon.e-date-icon {
425
+ min-width: 36px !important;
426
+ }
427
+ .e-bigger .e-predecessor-tooltip {
428
+ background-color: #000;
429
+ }
430
+ .e-bigger .e-predecessor-tooltip .e-left-btn:disabled {
431
+ color: #adadad !important;
432
+ }
433
+ .e-bigger .e-predecessor-tooltip .e-right-btn:disabled {
434
+ color: #adadad !important;
435
+ }
436
+ .e-bigger .e-predecessor-tooltip .e-tip-content {
437
+ padding: 3px !important;
438
+ }
439
+ .e-bigger .e-predecessor-tooltip .e-btn-group:not(.e-rtl):not(.e-vertical) .e-btn:first-of-type {
440
+ background-color: #000;
441
+ border-color: #000;
442
+ color: #fff;
443
+ font-size: 12px;
444
+ line-height: 18px;
445
+ padding: 0 8px 0 0;
446
+ }
447
+ .e-bigger .e-predecessor-tooltip .e-btn-group:not(.e-rtl):not(.e-vertical) .e-btn:last-of-type {
448
+ background-color: #000;
449
+ border-color: #000;
450
+ color: #fff;
451
+ font-size: 12px;
452
+ line-height: 18px;
453
+ padding: 0 0 0 8px;
454
+ }
455
+ .e-bigger .e-predecessor-dialog {
456
+ background-color: #fff;
457
+ }
458
+ .e-bigger .e-predecessor-dialog .e-dlg-content {
459
+ background-color: #fff;
460
+ padding: 10px 9px 9px 14px !important;
265
461
  }
266
462
 
267
463
  .e-gantt {
@@ -416,9 +612,11 @@
416
612
  position: absolute;
417
613
  }
418
614
  .e-gantt .e-gantt-chart .e-chart-root-container .e-holiday-container {
615
+ height: 100%;
419
616
  position: absolute;
420
617
  }
421
618
  .e-gantt .e-gantt-chart .e-chart-root-container .e-weekend-container {
619
+ height: 100%;
422
620
  position: absolute;
423
621
  }
424
622
  .e-gantt .e-gantt-chart .e-timeline-header-container {
@@ -667,37 +865,35 @@
667
865
  cursor: col-resize;
668
866
  }
669
867
  .e-gantt .e-gantt-chart .e-progress-resize-gripper .e-progressbar-handler {
670
- border-style: solid;
671
868
  border-width: 1px;
672
869
  box-sizing: content-box;
673
870
  cursor: col-resize;
674
871
  height: 2px;
675
872
  position: absolute;
676
873
  top: 7px;
677
- width: 12px;
678
874
  }
679
875
  .e-gantt .e-gantt-chart .e-progress-resize-gripper .e-progressbar-handler-element {
680
876
  border-bottom-style: solid;
681
- border-bottom-width: 6px;
877
+ border-bottom-width: 8px;
682
878
  border-left: 7px solid transparent;
683
879
  border-right: 7px solid transparent;
684
880
  cursor: col-resize;
685
881
  height: 0;
686
- left: -1px;
882
+ left: 0;
687
883
  position: absolute;
688
884
  top: -7px;
689
885
  width: 0;
690
886
  }
691
887
  .e-gantt .e-gantt-chart .e-progress-resize-gripper .e-progressbar-handler-after {
692
888
  border-bottom-style: solid;
693
- border-bottom-width: 6px;
889
+ border-bottom-width: 8px;
694
890
  border-left: 6px solid transparent;
695
891
  border-right: 6px solid transparent;
696
892
  cursor: col-resize;
697
893
  height: 0;
698
- left: -1px;
894
+ left: 1px;
699
895
  position: absolute;
700
- top: -6px;
896
+ top: -7px;
701
897
  width: 0;
702
898
  }
703
899
  .e-gantt .e-gantt-chart .e-baseline-bar {
@@ -832,6 +1028,9 @@
832
1028
  .e-gantt .e-gantt-chart .e-connector-line-hover {
833
1029
  outline: 1px solid;
834
1030
  }
1031
+ .e-gantt .e-gantt-chart .e-critical-connector-line-hover {
1032
+ outline: 1px solid;
1033
+ }
835
1034
  .e-gantt .e-gantt-chart .e-connector-line-hover-z-index {
836
1035
  z-index: 100;
837
1036
  }
@@ -1124,6 +1323,10 @@
1124
1323
  height: 100%;
1125
1324
  }
1126
1325
 
1326
+ .e-predecessor-tooltip {
1327
+ visibility: hidden;
1328
+ }
1329
+
1127
1330
  /*! Gantt theme */
1128
1331
  .e-gantt .e-gantt-splitter {
1129
1332
  border-color: #484848;
@@ -1266,6 +1469,10 @@
1266
1469
  background-color: #67c1b2;
1267
1470
  border: #4fb29f;
1268
1471
  }
1472
+ .e-gantt .e-gantt-chart .e-gantt-critical-child-manualprogressbar {
1473
+ background-color: #67c1b2;
1474
+ border: #4fb29f;
1475
+ }
1269
1476
  .e-gantt .e-gantt-chart .e-holiday {
1270
1477
  background: #393939;
1271
1478
  }
@@ -1297,7 +1504,6 @@
1297
1504
  }
1298
1505
  .e-gantt .e-gantt-chart .e-gantt-unscheduled-taskbar {
1299
1506
  background: linear-gradient(to right, rgba(0, 112, 240, 0.2), #0070f0 30%, #0070f0 70%, #0070f0 70%, rgba(0, 112, 240, 0.2) 100%);
1300
- background-color: rgba(0, 112, 240, 0.2);
1301
1507
  border: 0px;
1302
1508
  border-radius: 4px;
1303
1509
  }
@@ -1308,10 +1514,10 @@
1308
1514
  border-top-color: #dadada;
1309
1515
  }
1310
1516
  .e-gantt .e-gantt-chart .e-progress-resize-gripper .e-progressbar-handler {
1311
- background: #222;
1517
+ background: #2a2a2a;
1312
1518
  }
1313
1519
  .e-gantt .e-gantt-chart .e-progress-resize-gripper .e-progressbar-handler-after {
1314
- border-bottom-color: #222;
1520
+ border-bottom-color: #2a2a2a;
1315
1521
  }
1316
1522
  .e-gantt .e-gantt-chart .e-gantt-dependency-view-container {
1317
1523
  display: block;
@@ -1341,7 +1547,7 @@
1341
1547
  }
1342
1548
  .e-gantt .e-gantt-chart .e-connectorpoint-left-hover,
1343
1549
  .e-gantt .e-gantt-chart .e-connectorpoint-right-hover {
1344
- background-color: #acacac;
1550
+ background-color: #21527d;
1345
1551
  border-color: #1a1a1a;
1346
1552
  }
1347
1553
  .e-gantt .e-gantt-chart .e-connectorpoint-left-hover:hover,
@@ -1598,4 +1804,56 @@
1598
1804
  }
1599
1805
  .e-gantt.e-device .e-backarrowspan {
1600
1806
  color: #000;
1807
+ }
1808
+
1809
+ .e-gantt .e-gantt-chart .e-criticalconnector-line {
1810
+ border-color: #d13438;
1811
+ }
1812
+
1813
+ .e-gantt .e-gantt-chart .e-criticalconnector-line-right-arrow {
1814
+ border-left-color: #d13438;
1815
+ }
1816
+
1817
+ .e-gantt .e-gantt-chart .e-criticalconnector-line-left-arrow {
1818
+ border-right-color: #d13438;
1819
+ }
1820
+
1821
+ .e-gantt .e-gantt-chart .e-critical-connector-line-hover {
1822
+ border-color: #f3d8da;
1823
+ outline-color: #f3d8da;
1824
+ }
1825
+
1826
+ .e-gantt .e-gantt-chart .e-critical-connector-line-right-arrow-hover {
1827
+ border-left-color: #f3d8da;
1828
+ }
1829
+
1830
+ .e-gantt .e-gantt-chart .e-critical-connector-line-left-arrow-hover {
1831
+ border-right-color: #f3d8da;
1832
+ }
1833
+
1834
+ .e-gantt .e-gantt-chart .e-gantt-child-critical-taskbar-inner-div {
1835
+ background-color: #F3D8DA;
1836
+ border: 1px solid #F3D8DA;
1837
+ border-radius: 4px;
1838
+ }
1839
+
1840
+ .e-gantt .e-gantt-chart .e-gantt-child-critical-progressbar-inner-div {
1841
+ background-color: #D13438;
1842
+ border: 1px solid #0070f0;
1843
+ border-radius: 4px;
1844
+ }
1845
+
1846
+ .e-gantt .e-gantt-chart .e-gantt-critical-unscheduled-taskbar {
1847
+ background: linear-gradient(to right, rgba(255, 85, 85, 0.2), #D13438 30%, #D13438 70%, #D13438 70%, rgba(255, 85, 85, 0.2) 100%);
1848
+ background-color: rgba(255, 85, 85, 0.2);
1849
+ border: 0px;
1850
+ border-radius: 4px;
1851
+ }
1852
+
1853
+ .e-gantt .e-gantt-chart .e-critical-milestone-top {
1854
+ border-bottom-color: #D13438;
1855
+ }
1856
+
1857
+ .e-gantt .e-gantt-chart .e-critical-milestone-bottom {
1858
+ border-top-color: #D13438;
1601
1859
  }