@syncfusion/ej2-gantt 20.3.61 → 20.4.38

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/.eslintrc.json +16 -1
  2. package/CHANGELOG.md +5 -0
  3. package/dist/ej2-gantt.min.js +2 -2
  4. package/dist/ej2-gantt.umd.min.js +2 -2
  5. package/dist/ej2-gantt.umd.min.js.map +1 -1
  6. package/dist/es6/ej2-gantt.es2015.js +1412 -476
  7. package/dist/es6/ej2-gantt.es2015.js.map +1 -1
  8. package/dist/es6/ej2-gantt.es5.js +1438 -484
  9. package/dist/es6/ej2-gantt.es5.js.map +1 -1
  10. package/dist/global/ej2-gantt.min.js +2 -2
  11. package/dist/global/ej2-gantt.min.js.map +1 -1
  12. package/dist/global/index.d.ts +1 -1
  13. package/package.json +19 -18
  14. package/src/gantt/actions/chart-scroll.d.ts +5 -1
  15. package/src/gantt/actions/chart-scroll.js +39 -1
  16. package/src/gantt/actions/connector-line-edit.js +2 -0
  17. package/src/gantt/actions/context-menu.js +36 -5
  18. package/src/gantt/actions/critical-path.d.ts +2 -2
  19. package/src/gantt/actions/critical-path.js +23 -16
  20. package/src/gantt/actions/dialog-edit.js +37 -14
  21. package/src/gantt/actions/edit.d.ts +1 -0
  22. package/src/gantt/actions/edit.js +156 -34
  23. package/src/gantt/actions/excel-export.js +13 -0
  24. package/src/gantt/actions/filter.js +3 -0
  25. package/src/gantt/actions/keyboard.js +1 -0
  26. package/src/gantt/actions/pdf-export.js +12 -0
  27. package/src/gantt/actions/rowdragdrop.js +8 -2
  28. package/src/gantt/actions/taskbar-edit.js +140 -43
  29. package/src/gantt/actions/toolbar.js +21 -1
  30. package/src/gantt/base/date-processor.js +1 -1
  31. package/src/gantt/base/gantt-chart.js +31 -3
  32. package/src/gantt/base/gantt-model.d.ts +25 -2
  33. package/src/gantt/base/gantt.d.ts +64 -21
  34. package/src/gantt/base/gantt.js +396 -26
  35. package/src/gantt/base/interface.d.ts +0 -4
  36. package/src/gantt/base/splitter.js +12 -2
  37. package/src/gantt/base/task-processor.js +4 -3
  38. package/src/gantt/base/tree-grid.js +37 -0
  39. package/src/gantt/base/utils.js +1 -0
  40. package/src/gantt/export/pdf-connector-line.js +185 -187
  41. package/src/gantt/models/loading-indicator-model.d.ts +20 -0
  42. package/src/gantt/models/loading-indicator.d.ts +18 -0
  43. package/src/gantt/models/loading-indicator.js +34 -0
  44. package/src/gantt/models/models.d.ts +2 -0
  45. package/src/gantt/models/models.js +1 -0
  46. package/src/gantt/renderer/chart-rows.js +75 -30
  47. package/src/gantt/renderer/connector-line.js +100 -97
  48. package/src/gantt/renderer/edit-tooltip.js +22 -3
  49. package/src/gantt/renderer/event-marker.js +15 -2
  50. package/src/gantt/renderer/nonworking-day.js +4 -2
  51. package/src/gantt/renderer/timeline.js +21 -1
  52. package/src/gantt/renderer/tooltip.js +1 -0
  53. package/styles/bootstrap-dark.css +179 -12
  54. package/styles/bootstrap.css +179 -12
  55. package/styles/bootstrap4.css +178 -10
  56. package/styles/bootstrap5-dark.css +178 -10
  57. package/styles/bootstrap5.css +178 -10
  58. package/styles/fabric-dark.css +179 -12
  59. package/styles/fabric.css +179 -12
  60. package/styles/fluent-dark.css +180 -10
  61. package/styles/fluent.css +180 -10
  62. package/styles/gantt/_bootstrap-dark-definition.scss +6 -2
  63. package/styles/gantt/_bootstrap-definition.scss +6 -3
  64. package/styles/gantt/_bootstrap4-definition.scss +6 -3
  65. package/styles/gantt/_bootstrap5-definition.scss +6 -3
  66. package/styles/gantt/_fabric-dark-definition.scss +6 -3
  67. package/styles/gantt/_fabric-definition.scss +6 -3
  68. package/styles/gantt/_fluent-definition.scss +6 -3
  69. package/styles/gantt/_fusionnew-definition.scss +6 -3
  70. package/styles/gantt/_highcontrast-definition.scss +7 -4
  71. package/styles/gantt/_highcontrast-light-definition.scss +6 -3
  72. package/styles/gantt/_layout.scss +234 -21
  73. package/styles/gantt/_material-dark-definition.scss +6 -3
  74. package/styles/gantt/_material-definition.scss +6 -3
  75. package/styles/gantt/_material3-definition.scss +6 -3
  76. package/styles/gantt/_tailwind-definition.scss +6 -3
  77. package/styles/gantt/_theme.scss +17 -8
  78. package/styles/gantt/bootstrap-dark.css +179 -12
  79. package/styles/gantt/bootstrap.css +179 -12
  80. package/styles/gantt/bootstrap4.css +178 -10
  81. package/styles/gantt/bootstrap5-dark.css +178 -10
  82. package/styles/gantt/bootstrap5.css +178 -10
  83. package/styles/gantt/fabric-dark.css +179 -12
  84. package/styles/gantt/fabric.css +179 -12
  85. package/styles/gantt/fluent-dark.css +180 -10
  86. package/styles/gantt/fluent.css +180 -10
  87. package/styles/gantt/highcontrast-light.css +178 -10
  88. package/styles/gantt/highcontrast.css +179 -12
  89. package/styles/gantt/icons/_bootstrap-dark.scss +1 -1
  90. package/styles/gantt/icons/_bootstrap.scss +1 -1
  91. package/styles/gantt/icons/_fabric-dark.scss +1 -1
  92. package/styles/gantt/icons/_fabric.scss +1 -1
  93. package/styles/gantt/icons/_highcontrast.scss +1 -1
  94. package/styles/gantt/icons/_material-dark.scss +1 -1
  95. package/styles/gantt/icons/_material.scss +1 -1
  96. package/styles/gantt/material-dark.css +177 -12
  97. package/styles/gantt/material.css +179 -12
  98. package/styles/gantt/tailwind-dark.css +178 -10
  99. package/styles/gantt/tailwind.css +178 -10
  100. package/styles/highcontrast-light.css +178 -10
  101. package/styles/highcontrast.css +179 -12
  102. package/styles/material-dark.css +177 -12
  103. package/styles/material.css +179 -12
  104. package/styles/tailwind-dark.css +178 -10
  105. package/styles/tailwind.css +178 -10
@@ -53,19 +53,8 @@ var ConnectorLine = /** @class */ (function () {
53
53
  */
54
54
  ConnectorLine.prototype.createConnectorLineObject = function (parentGanttData, childGanttData, predecessor) {
55
55
  var connectorObj = {};
56
- var updatedRecords;
57
- if (this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport) {
58
- if (this.parent.pdfExportModule['helper']['exportProps'].exportType &&
59
- this.parent.pdfExportModule['helper']['exportProps'].exportType === 'CurrentViewData') {
60
- updatedRecords = this.expandedRecords;
61
- }
62
- else {
63
- updatedRecords = this.parent.flatData;
64
- }
65
- }
66
- else {
67
- updatedRecords = this.expandedRecords;
68
- }
56
+ var updatedRecords = this.parent.pdfExportModule && this.parent.pdfExportModule.isPdfExport ?
57
+ this.parent.flatData : this.expandedRecords;
69
58
  var parentIndex = updatedRecords.indexOf(parentGanttData);
70
59
  var childIndex = updatedRecords.indexOf(childGanttData);
71
60
  var parentGanttRecord = parentGanttData.ganttProperties;
@@ -131,6 +120,9 @@ var ConnectorLine = /** @class */ (function () {
131
120
  }
132
121
  }
133
122
  this.parent.ganttChartModule.chartBodyContent.appendChild(this.dependencyViewContainer);
123
+ for (var i = 0; i < this.dependencyViewContainer.children.length; i++) {
124
+ this.dependencyViewContainer.children[i].children[0].setAttribute('tabindex', '-1');
125
+ }
134
126
  };
135
127
  /**
136
128
  * To get parent position.
@@ -449,85 +441,96 @@ var ConnectorLine = /** @class */ (function () {
449
441
  connectorContainer = '<div id="ConnectorLine' + data.connectorLineId + '" style="background-color:black">';
450
442
  var div = '<div class="' + cls.connectorLineContainer +
451
443
  '" tabindex="-1" style="';
444
+ var direction = this.parent.enableRtl ? 'right:' : 'left:';
452
445
  var eLine = '<div class="' + cls.connectorLine + '" style="' +
453
446
  (!isNullOrUndefined(this.lineColor) ? 'outline-color:' + this.lineColor + ';' : '');
454
- var rightArrow = '<div class="' + cls.connectorLineRightArrow + '" style="' +
455
- (!isNullOrUndefined(this.lineColor) ? 'outline-color:' + this.lineColor + ';' : '');
456
- var leftArrow = '<div class="' + cls.connectorLineLeftArrow + '" style="' +
457
- (!isNullOrUndefined(this.lineColor) ? 'outline-color:' + this.lineColor + ';' : '');
458
- var duplicateStingOne = leftArrow + (isMilestone ? 'left:0px;' : '') +
459
- this.getBorderStyles('right', 10) +
447
+ var rightArrow = void 0;
448
+ var leftArrow = void 0;
449
+ if (this.parent.enableRtl) {
450
+ leftArrow = '<div class="' + cls.connectorLineRightArrow + '" style="' +
451
+ (!isNullOrUndefined(this.lineColor) ? 'outline-color:' + this.lineColor + ';' : '');
452
+ rightArrow = '<div class="' + cls.connectorLineLeftArrow + '" style="' +
453
+ (!isNullOrUndefined(this.lineColor) ? 'outline-color:' + this.lineColor + ';' : '');
454
+ }
455
+ else {
456
+ rightArrow = '<div class="' + cls.connectorLineRightArrow + '" style="' +
457
+ (!isNullOrUndefined(this.lineColor) ? 'outline-color:' + this.lineColor + ';' : '');
458
+ leftArrow = '<div class="' + cls.connectorLineLeftArrow + '" style="' +
459
+ (!isNullOrUndefined(this.lineColor) ? 'outline-color:' + this.lineColor + ';' : '');
460
+ }
461
+ var duplicateStingOne = leftArrow + (isMilestone ? (this.parent.enableRtl ? 'right:0px;' : 'left:0px;') : '') +
462
+ this.getBorderStyles((this.parent.enableRtl ? 'left' : 'right'), 10) +
460
463
  'top:' + (-5 - this.lineStroke + (this.lineStroke - 1)) + 'px;border-bottom-width:' + (5 + this.lineStroke) + 'px;' +
461
464
  'border-top-width:' + (5 + this.lineStroke) + 'px;width:0;height:0;position:relative;"></div>';
462
- var duplicateStingTwo = this.getBorderStyles('left', 10) +
465
+ var duplicateStingTwo = this.getBorderStyles((this.parent.enableRtl ? 'right' : 'left'), 10) +
463
466
  'top:' + (-6) + 'px;border-bottom-width:' + (5 + this.lineStroke) + 'px;' +
464
467
  'border-top-width:' + (5 + this.lineStroke) + 'px;width:0;height:0;position:relative;"></div>';
465
468
  var duplicateStingThree = this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>' + eLine +
466
469
  'top:' + (-(13 + ((this.lineStroke - 1) * 2))) + 'px;width:0px;' + this.getBorderStyles('left', this.lineStroke) +
467
470
  this.getBorderStyles('top', (heightValue + borderTopWidth - (this.lineStroke - 1))) + 'position:relative;"></div>';
468
- var duplicateStingFour = leftArrow + 'left:' +
471
+ var duplicateStingFour = leftArrow + (this.parent.enableRtl ? 'right:' : 'left:') +
469
472
  (((data.childLeft + data.childWidth) - (data.parentLeft)) + 10) + 'px;' +
470
- this.getBorderStyles('right', 10);
473
+ this.getBorderStyles((this.parent.enableRtl ? 'left' : 'right'), 10);
471
474
  var duplicateStingFive = 'top:' + (-(6 + (5 + this.lineStroke) + (this.lineStroke / 2))) + 'px;' +
472
475
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
473
476
  if (this.getParentPosition(data) === 'FSType1') {
474
- div = div + 'left:' + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
477
+ div = div + direction + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
475
478
  ((data.parentIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
476
479
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FSType1">';
477
480
  div = div + eLine;
478
- div = div + 'left:' + (isMilestoneParent ? -1 : 0) + 'px;width:' + (isMilestoneParent ?
481
+ div = div + direction + (isMilestoneParent ? -1 : 0) + 'px;width:' + (isMilestoneParent ?
479
482
  ((((data.childLeft - (data.parentLeft + data.parentWidth + 10)) + this.lineStroke) - 10) + 1) :
480
483
  (((data.childLeft - (data.parentLeft + data.parentWidth + 10)) + this.lineStroke) - 10)) + 'px;' +
481
484
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
482
485
  div = div + eLine;
483
- div = div + 'left:' + ((data.childLeft - (data.parentLeft + data.parentWidth + 10)) - 10) + 'px;' +
486
+ div = div + direction + ((data.childLeft - (data.parentLeft + data.parentWidth + 10)) - 10) + 'px;' +
484
487
  'width:0px;' + this.getBorderStyles('right', this.lineStroke) +
485
488
  this.getBorderStyles('top', (heightValue + borderTopWidth - this.lineStroke)) + 'position:relative;"></div>';
486
489
  div = div + eLine;
487
- div = div + 'left:' + ((data.childLeft - (data.parentLeft + data.parentWidth + 10)) - 10) + 'px;width:10px;' +
490
+ div = div + direction + ((data.childLeft - (data.parentLeft + data.parentWidth + 10)) - 10) + 'px;width:10px;' +
488
491
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
489
492
  div = div + rightArrow;
490
- div = div + 'left:' + (data.childLeft - (data.parentLeft + data.parentWidth + 10)) + 'px;' +
491
- this.getBorderStyles('left', 10) + 'top:' + (-6 - this.lineStroke) + 'px;border-bottom-width:' + (5 + this.lineStroke) +
493
+ div = div + direction + (data.childLeft - (data.parentLeft + data.parentWidth + 10)) + 'px;' +
494
+ this.getBorderStyles((this.parent.enableRtl ? 'right' : 'left'), 10) + 'top:' + (-6 - this.lineStroke) + 'px;border-bottom-width:' + (5 + this.lineStroke) +
492
495
  'px;border-top-width:' + (5 + this.lineStroke) + 'px;width:0;height:0;position:relative;"></div></div>';
493
496
  }
494
497
  if (this.getParentPosition(data) === 'FSType2') {
495
- div = div + 'left:' + data.parentLeft + 'px;top:' + (isVirtual ? connectorLine.top : ((data.parentIndex * data.rowHeight) + addTop +
498
+ div = div + direction + data.parentLeft + 'px;top:' + (isVirtual ? connectorLine.top : ((data.parentIndex * data.rowHeight) + addTop +
496
499
  this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
497
500
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FSType2">';
498
501
  div = div + eLine;
499
- div = div + 'left:' + (isMilestoneParent ? data.parentWidth - 1 : data.parentWidth) + 'px;width:' +
502
+ div = div + direction + (isMilestoneParent ? data.parentWidth - 1 : data.parentWidth) + 'px;width:' +
500
503
  (isMilestoneParent ? 11 : 10) + 'px;' +
501
504
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
502
505
  div = div + eLine;
503
- div = div + 'left:' + (data.parentWidth + 10 - this.lineStroke) + 'px;' +
506
+ div = div + direction + (data.parentWidth + 10 - this.lineStroke) + 'px;' +
504
507
  this.getBorderStyles('left', this.lineStroke) + 'width:0px;' +
505
508
  this.getBorderStyles('top', (heightValue + borderTopWidth - this.getconnectorLineGap(data) - this.lineStroke)) + 'position:relative;"></div>';
506
509
  div = div + eLine;
507
- div = div + 'left:' + (data.parentWidth - (((data.parentLeft + data.parentWidth) - data.childLeft) + 20)) + 'px;' +
510
+ div = div + direction + (data.parentWidth - (((data.parentLeft + data.parentWidth) - data.childLeft) + 20)) + 'px;' +
508
511
  'width:' + (((data.parentLeft + data.parentWidth) - data.childLeft) + 30) + 'px;' +
509
512
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
510
513
  div = div + eLine;
511
- div = div + 'left:' + (data.parentWidth - (((data.parentLeft +
514
+ div = div + direction + (data.parentWidth - (((data.parentLeft +
512
515
  data.parentWidth) - data.childLeft) + 20)) + 'px;width:0px;' +
513
516
  this.getBorderStyles('top', (this.getconnectorLineGap(data) - this.lineStroke)) +
514
517
  this.getBorderStyles('left', this.lineStroke) + 'position:relative;"></div>';
515
518
  div = div + eLine;
516
- div = div + 'left:' + (data.parentWidth - (((data.parentLeft +
519
+ div = div + direction + (data.parentWidth - (((data.parentLeft +
517
520
  data.parentWidth) - data.childLeft) + 20)) + 'px;width:10px;' +
518
521
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
519
522
  div = div + rightArrow;
520
- div = div + 'left:' + (data.parentWidth - (((data.parentLeft + data.parentWidth) - data.childLeft) + 10)) + 'px;' +
521
- this.getBorderStyles('left', 10) + 'border-bottom-width:' + (5 + this.lineStroke) + 'px;' +
523
+ div = div + direction + (data.parentWidth - (((data.parentLeft + data.parentWidth) - data.childLeft) + 10)) + 'px;' +
524
+ this.getBorderStyles((this.parent.enableRtl ? 'right' : 'left'), 10) + 'border-bottom-width:' + (5 + this.lineStroke) + 'px;' +
522
525
  'border-top-width:' + (5 + this.lineStroke) + 'px;top:' + (-6 - this.lineStroke) +
523
526
  'px;width:0;height:0;position:relative;"></div></div>';
524
527
  }
525
528
  if (this.getParentPosition(data) === 'FSType3') {
526
- div = div + 'left:' + (data.childLeft - 20) + 'px;top:' + (isVirtual ? connectorLine.top :
529
+ div = div + direction + (data.childLeft - 20) + 'px;top:' + (isVirtual ? connectorLine.top :
527
530
  ((data.childIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
528
531
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FSType3">';
529
532
  div = div + rightArrow;
530
- div = div + 'left:10px;' + this.getBorderStyles('left', 10) +
533
+ div = div + direction + '10px;' + this.getBorderStyles((this.parent.enableRtl ? 'right' : 'left'), 10) +
531
534
  'border-bottom-width:' + (5 + this.lineStroke) + 'px;border-top-width:' + (5 + this.lineStroke) + 'px;' +
532
535
  'top:' + (-6) + 'px;width:0;height:0;position:relative;"></div>';
533
536
  div = div + eLine;
@@ -541,49 +544,49 @@ var ConnectorLine = /** @class */ (function () {
541
544
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;top:' +
542
545
  (-(13 + ((this.lineStroke - 1) * 2))) + 'px;"></div>';
543
546
  div = div + eLine;
544
- div = div + 'left:' + (((data.parentLeft + data.parentWidth) - data.childLeft) + (30 - this.lineStroke)) +
547
+ div = div + direction + (((data.parentLeft + data.parentWidth) - data.childLeft) + (30 - this.lineStroke)) +
545
548
  'px;width:0px;' + 'height:' + (this.getconnectorLineGap(data) - this.lineStroke) + 'px;' +
546
549
  this.getBorderStyles('left', this.lineStroke) + 'position:relative;' +
547
550
  'top:' + (-(13 + ((this.lineStroke - 1) * 2))) + 'px;"></div>';
548
551
  div = div + eLine;
549
- div = div + (isMilestoneParent ? 'left:' + (((data.parentLeft +
550
- data.parentWidth) - data.childLeft) + (18 - this.lineStroke)) + 'px;width:' + (12 + this.lineStroke) + 'px;' : 'left:' +
552
+ div = div + (isMilestoneParent ? direction + (((data.parentLeft +
553
+ data.parentWidth) - data.childLeft) + (18 - this.lineStroke)) + 'px;width:' + (12 + this.lineStroke) + 'px;' : direction +
551
554
  (((data.parentLeft + data.parentWidth) - data.childLeft) + 20) + 'px;width:10px;') +
552
555
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;top:' +
553
556
  (-(13 + ((this.lineStroke - 1) * 2))) + 'px;"></div></div>';
554
557
  }
555
558
  if (this.getParentPosition(data) === 'FSType4') {
556
- div = div + 'left:' + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
559
+ div = div + direction + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
557
560
  ((data.childIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
558
561
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FSType4">';
559
562
  div = div + rightArrow;
560
- div = div + 'left:' + (data.childLeft - (data.parentLeft + data.parentWidth + 10)) + 'px;' +
561
- this.getBorderStyles('left', 10) + 'top:' + (-6) + 'px;' +
563
+ div = div + direction + (data.childLeft - (data.parentLeft + data.parentWidth + 10)) + 'px;' +
564
+ this.getBorderStyles((this.parent.enableRtl ? 'right' : 'left'), 10) + 'top:' + (-6) + 'px;' +
562
565
  'border-bottom-width:' + (5 + this.lineStroke) + 'px;border-top-width:' +
563
566
  (5 + this.lineStroke) + 'px;width:0;height:0;position:relative;"></div>';
564
567
  div = div + eLine;
565
- div = div + 'left:' + (data.childLeft - (data.parentLeft + data.parentWidth) - 20) +
568
+ div = div + direction + (data.childLeft - (data.parentLeft + data.parentWidth) - 20) +
566
569
  'px;top:' + (-(6 + (5 + this.lineStroke) + Math.round(this.lineStroke / 2))) + 'px;width:10px;' +
567
570
  this.getBorderStyles('top', this.lineStroke) +
568
571
  'position:relative;"></div>';
569
572
  div = div + eLine;
570
- div = div + 'top:' + (-(13 + ((this.lineStroke - 1) * 2))) + 'px;left:' +
573
+ div = div + 'top:' + (-(13 + ((this.lineStroke - 1) * 2))) + 'px;' + direction +
571
574
  (data.childLeft - (data.parentLeft + data.parentWidth) - 20) + 'px;width:0px;' +
572
575
  this.getBorderStyles('left', this.lineStroke) +
573
576
  this.getBorderStyles('top', (heightValue + borderTopWidth - this.lineStroke + 1)) + 'position:relative;"></div>';
574
577
  div = div + eLine;
575
- div = div + (isMilestoneParent ? 'left:-1px;' : '') + 'top:' +
578
+ div = div + (isMilestoneParent ? direction + '-1px;' : '') + 'top:' +
576
579
  (-(13 + ((this.lineStroke - 1) * 2))) + 'px;width:' +
577
580
  (isMilestoneParent ? ((data.childLeft - (data.parentLeft + data.parentWidth + 20) + 1) + this.lineStroke) :
578
581
  ((data.childLeft - (data.parentLeft + data.parentWidth + 20)) + this.lineStroke)) + 'px;' +
579
582
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div></div>';
580
583
  }
581
584
  if (this.getParentPosition(data) === 'SSType4') {
582
- div = div + 'left:' + (data.parentLeft - 10) + 'px;top:' + (isVirtual ? connectorLine.top :
585
+ div = div + direction + (data.parentLeft - 10) + 'px;top:' + (isVirtual ? connectorLine.top :
583
586
  ((data.childIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
584
587
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SSType4">';
585
588
  div = div + rightArrow;
586
- div = div + 'left:' + (data.childLeft - data.parentLeft) + 'px;' + duplicateStingTwo;
589
+ div = div + direction + (data.childLeft - data.parentLeft) + 'px;' + duplicateStingTwo;
587
590
  div = div + eLine;
588
591
  div = div + 'top:' + (-(6 + (5 + this.lineStroke) + (this.lineStroke / 2))) + 'px;width:' +
589
592
  (data.childLeft - data.parentLeft) + 'px;' + duplicateStingThree;
@@ -592,11 +595,11 @@ var ConnectorLine = /** @class */ (function () {
592
595
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div></div>';
593
596
  }
594
597
  if (this.getParentPosition(data) === 'SSType3') {
595
- div = div + 'left:' + (data.childLeft - 20) + 'px;top:' + (isVirtual ? connectorLine.top :
598
+ div = div + direction + (data.childLeft - 20) + 'px;top:' + (isVirtual ? connectorLine.top :
596
599
  ((data.childIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
597
600
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SSType3">';
598
601
  div = div + rightArrow;
599
- div = div + 'left:10px;' + duplicateStingTwo;
602
+ div = div + direction + '10px;' + duplicateStingTwo;
600
603
  div = div + eLine;
601
604
  div = div + 'top:' + (-(6 + (5 + this.lineStroke) + (this.lineStroke / 2))) + 'px;width:10px;' + duplicateStingThree;
602
605
  div = div + eLine;
@@ -605,7 +608,7 @@ var ConnectorLine = /** @class */ (function () {
605
608
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div></div>';
606
609
  }
607
610
  if (this.getParentPosition(data) === 'SSType2') {
608
- div = div + 'left:' + setInnerElementLeftSSType2 + 'px;top:' + (isVirtual ? connectorLine.top :
611
+ div = div + direction + setInnerElementLeftSSType2 + 'px;top:' + (isVirtual ? connectorLine.top :
609
612
  ((data.parentIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
610
613
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SSType2">';
611
614
  div = div + eLine;
@@ -618,14 +621,14 @@ var ConnectorLine = /** @class */ (function () {
618
621
  div = div + 'width:' + setInnerElementWidthSSType2 + 'px;' +
619
622
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
620
623
  div = div + rightArrow;
621
- div = div + 'left:' + setInnerElementWidthSSType2 + 'px;' +
622
- this.getBorderStyles('left', 10) + 'top:' + (-6 - this.lineStroke) + 'px;' +
624
+ div = div + direction + setInnerElementWidthSSType2 + 'px;' +
625
+ this.getBorderStyles((this.parent.enableRtl ? 'right' : 'left'), 10) + 'top:' + (-6 - this.lineStroke) + 'px;' +
623
626
  'border-bottom-width:' + (5 + this.lineStroke) + 'px;border-top-width:' +
624
627
  (5 + this.lineStroke) + 'px;width:0;' +
625
628
  'height:0;position:relative;"></div></div>';
626
629
  }
627
630
  if (this.getParentPosition(data) === 'SSType1') {
628
- div = div + 'left:' + (data.childLeft - 20) + 'px;top:' + (isVirtual ? connectorLine.top :
631
+ div = div + direction + (data.childLeft - 20) + 'px;top:' + (isVirtual ? connectorLine.top :
629
632
  ((data.parentIndex * data.rowHeight) + addTop +
630
633
  this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
631
634
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SSType1">';
@@ -638,114 +641,114 @@ var ConnectorLine = /** @class */ (function () {
638
641
  div = div + eLine;
639
642
  div = div + 'width:10px;' + this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
640
643
  div = div + rightArrow;
641
- div = div + 'left:10px;' + this.getBorderStyles('left', 10) +
644
+ div = div + direction + '10px;' + this.getBorderStyles((this.parent.enableRtl ? 'right' : 'left'), 10) +
642
645
  'top:' + (-6 - this.lineStroke) + 'px;border-bottom-width:' + (5 + this.lineStroke) + 'px;' +
643
646
  'border-top-width:' + (5 + this.lineStroke) + 'px;width:0;height:0;position:relative;"></div></div>';
644
647
  }
645
648
  if (this.getParentPosition(data) === 'FFType1') {
646
- div = div + 'left:' + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
649
+ div = div + direction + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
647
650
  ((data.parentIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
648
651
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FFType1">';
649
652
  div = div + eLine;
650
- div = div + 'left:' + (isMilestoneParent ? (((data.parentLeft + data.parentWidth) -
653
+ div = div + direction + (isMilestoneParent ? (((data.parentLeft + data.parentWidth) -
651
654
  (data.childLeft + data.childWidth)) - 1) : ((data.parentLeft + data.parentWidth) -
652
655
  (data.childLeft + data.childWidth))) + 'px;' +
653
656
  'width:' + (isMilestoneParent ? (21 + this.lineStroke) : (20 + this.lineStroke)) + 'px;' +
654
657
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
655
658
  div = div + eLine;
656
- div = div + 'left:' + (((data.parentLeft + data.parentWidth) -
659
+ div = div + direction + (((data.parentLeft + data.parentWidth) -
657
660
  (data.childLeft + data.childWidth)) + 20) + 'px;width:0px;' + this.getBorderStyles('left', this.lineStroke) +
658
661
  this.getBorderStyles('top', (heightValue + borderTopWidth - this.lineStroke)) + 'position:relative;"></div>';
659
662
  div = div + eLine;
660
- div = div + 'left:' + (isMilestone ? 4 : 10) + 'px;width:' + (isMilestone ?
663
+ div = div + direction + (isMilestone ? 4 : 10) + 'px;width:' + (isMilestone ?
661
664
  (((data.parentLeft + data.parentWidth) - (data.childLeft + data.childWidth)) + (16 + this.lineStroke)) :
662
665
  (((data.parentLeft + data.parentWidth) - (data.childLeft + data.childWidth)) + (10 + this.lineStroke))) + 'px;' +
663
666
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
664
667
  div = div + leftArrow;
665
- div = div + (isMilestone ? 'left:0px;' : '') + this.getBorderStyles('right', 10) +
668
+ div = div + (isMilestone ? direction + '0px;' : '') + this.getBorderStyles((!this.parent.enableRtl ? 'right' : 'left'), 10) +
666
669
  'top:' + (-6 - this.lineStroke) + 'px;border-bottom-width:' + (5 + this.lineStroke) + 'px;' +
667
670
  'border-top-width:' + (5 + this.lineStroke) + 'px;width:0;height:0;position:relative;"></div></div>';
668
671
  }
669
672
  if (this.getParentPosition(data) === 'FFType2') {
670
- div = div + 'left:' + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
673
+ div = div + direction + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
671
674
  ((data.parentIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
672
675
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FFType2">';
673
676
  div = div + eLine;
674
- div = div + (isMilestoneParent ? 'left:-1px;' : '') + 'width:' +
677
+ div = div + (isMilestoneParent ? direction + '-1px;' : '') + 'width:' +
675
678
  (isMilestoneParent ? (((data.childLeft + data.childWidth) - (data.parentLeft + data.parentWidth)) +
676
679
  (21 + this.lineStroke)) : (((data.childLeft + data.childWidth) -
677
680
  (data.parentLeft + data.parentWidth)) + (20 + this.lineStroke))) + 'px;' +
678
681
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
679
682
  div = div + eLine;
680
- div = div + 'left:' + (((data.childLeft + data.childWidth) - (data.parentLeft + data.parentWidth)) + 20) +
683
+ div = div + direction + (((data.childLeft + data.childWidth) - (data.parentLeft + data.parentWidth)) + 20) +
681
684
  'px;width:0px;' + this.getBorderStyles('left', this.lineStroke) +
682
685
  this.getBorderStyles('top', (heightValue + borderTopWidth - this.lineStroke)) +
683
686
  'position:relative;"></div>';
684
687
  div = div + eLine;
685
- div = div + 'left:' + (isMilestone ? (((data.childLeft + data.childWidth) - (data.parentLeft + data.parentWidth)) + 4) :
688
+ div = div + direction + (isMilestone ? (((data.childLeft + data.childWidth) - (data.parentLeft + data.parentWidth)) + 4) :
686
689
  (((data.childLeft + data.childWidth) - (data.parentLeft + data.parentWidth)) + 10)) + 'px;' +
687
690
  'width:' + (isMilestone ? (16 + this.lineStroke) : (10 + this.lineStroke)) + 'px;' +
688
691
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
689
692
  div = div + leftArrow;
690
- div = div + 'left:' + ((data.childLeft + data.childWidth) - (data.parentLeft + data.parentWidth)) + 'px;' +
691
- this.getBorderStyles('right', 10) + 'top:' + (-6 - this.lineStroke) + 'px;' +
693
+ div = div + direction + ((data.childLeft + data.childWidth) - (data.parentLeft + data.parentWidth)) + 'px;' +
694
+ this.getBorderStyles((!this.parent.enableRtl ? 'right' : 'left'), 10) + 'top:' + (-6 - this.lineStroke) + 'px;' +
692
695
  'border-bottom-width:' + (5 + this.lineStroke) + 'px;border-top-width:' + (5 + this.lineStroke) +
693
696
  'px;width:0;height:0;position:relative;"></div></div>';
694
697
  }
695
698
  if (this.getParentPosition(data) === 'FFType3') {
696
- div = div + 'left:' + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
699
+ div = div + direction + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
697
700
  ((data.childIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
698
701
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FFType3">';
699
702
  div = div + duplicateStingOne;
700
703
  div = div + eLine;
701
- div = div + (isMilestone ? ('left:4px;width:' +
704
+ div = div + (isMilestone ? (direction + '4px;width:' +
702
705
  (((data.parentLeft + data.parentWidth) - (data.childLeft + data.childWidth)) + 16)) :
703
- ('left:10px;width:' + (((data.parentLeft + data.parentWidth) -
706
+ (direction + '10px;width:' + (((data.parentLeft + data.parentWidth) -
704
707
  (data.childLeft + data.childWidth)) + 10))) + 'px;top:' + (-(6 + (5 + this.lineStroke) +
705
708
  (this.lineStroke / 2))) + 'px;' + this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
706
709
  div = div + eLine;
707
- div = div + 'left:' + (((data.parentLeft + data.parentWidth) - (data.childLeft + data.childWidth)) + 20) +
710
+ div = div + direction + (((data.parentLeft + data.parentWidth) - (data.childLeft + data.childWidth)) + 20) +
708
711
  'px;top:' + (-(13 + ((this.lineStroke - 1) * 2))) + 'px;' +
709
712
  'width:0px;' + this.getBorderStyles('left', this.lineStroke) +
710
713
  this.getBorderStyles('top', (heightValue + borderTopWidth - this.lineStroke + 1)) + 'position:relative;"></div>';
711
714
  div = div + eLine;
712
- div = div + (isMilestoneParent ? ('left:' + (((data.parentLeft + data.parentWidth) -
713
- (data.childLeft + data.childWidth)) - 1) + 'px;width:21') : ('left:' + ((data.parentLeft + data.parentWidth) -
715
+ div = div + (isMilestoneParent ? (direction + (((data.parentLeft + data.parentWidth) -
716
+ (data.childLeft + data.childWidth)) - 1) + 'px;width:21') : (direction + ((data.parentLeft + data.parentWidth) -
714
717
  (data.childLeft + data.childWidth)) + 'px;width:20')) +
715
718
  'px;top:' + (-(13 + ((this.lineStroke - 1) * 2))) + 'px;' +
716
719
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div></div>';
717
720
  }
718
721
  if (this.getParentPosition(data) === 'FFType4') {
719
- div = div + 'left:' + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
722
+ div = div + direction + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
720
723
  ((data.childIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
721
724
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FFType4">';
722
725
  div = div + leftArrow;
723
- div = div + ('left:' + ((data.childLeft + data.childWidth) -
726
+ div = div + (direction + ((data.childLeft + data.childWidth) -
724
727
  (data.parentLeft + data.parentWidth))) + 'px;' +
725
- this.getBorderStyles('right', 10) + 'top:' + (-5 - this.lineStroke + (this.lineStroke - 1)) + 'px;' +
728
+ this.getBorderStyles((!this.parent.enableRtl ? 'right' : 'left'), 10) + 'top:' + (-5 - this.lineStroke + (this.lineStroke - 1)) + 'px;' +
726
729
  'border-bottom-width:' + (5 + this.lineStroke) +
727
730
  'px;border-top-width:' + (5 + this.lineStroke) + 'px;width:0;height:0;' +
728
731
  'position:relative;"></div>';
729
732
  div = div + eLine;
730
- div = div + (isMilestone ? ('left:' + (((data.childLeft + data.childWidth) -
733
+ div = div + (isMilestone ? (direction + (((data.childLeft + data.childWidth) -
731
734
  (data.parentLeft + data.parentWidth)) + 4) +
732
- 'px;width:' + (16 + this.lineStroke)) : ('left:' + (((data.childLeft + data.childWidth) -
735
+ 'px;width:' + (16 + this.lineStroke)) : (direction + (((data.childLeft + data.childWidth) -
733
736
  (data.parentLeft + data.parentWidth)) + 10) + 'px;width:' + (10 + this.lineStroke))) +
734
737
  'px;' + duplicateStingFive;
735
738
  div = div + eLine;
736
- div = div + 'left:' + (((data.childLeft + data.childWidth) -
739
+ div = div + direction + (((data.childLeft + data.childWidth) -
737
740
  (data.parentLeft + data.parentWidth)) + 20) + 'px;top:' + (-(13 + ((this.lineStroke - 1) * 2))) +
738
741
  'px;width:0px;' + this.getBorderStyles('left', this.lineStroke) +
739
742
  this.getBorderStyles('top', (heightValue + borderTopWidth - this.lineStroke + 1)) + 'position:relative;"></div>';
740
743
  div = div + eLine;
741
- div = div + (isMilestoneParent ? ('left:-1px;width:' + (((data.childLeft + data.childWidth) -
744
+ div = div + (isMilestoneParent ? (direction + '-1px;width:' + (((data.childLeft + data.childWidth) -
742
745
  (data.parentLeft + data.parentWidth)) + (21 + this.lineStroke))) : ('width:' + (((data.childLeft + data.childWidth) -
743
746
  (data.parentLeft + data.parentWidth)) + (20 + this.lineStroke)))) + 'px;top:' +
744
747
  (-(13 + ((this.lineStroke - 1) * 2))) + 'px;' +
745
748
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div></div>';
746
749
  }
747
750
  if (this.getParentPosition(data) === 'SFType4') {
748
- div = div + 'left:' + (data.parentLeft - 10) + 'px;top:' + (isVirtual ? connectorLine.top :
751
+ div = div + direction + (data.parentLeft - 10) + 'px;top:' + (isVirtual ? connectorLine.top :
749
752
  ((data.childIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;width:1px;' +
750
753
  'height:' + heightValue + 'px;position:absolute" data-connectortype="SFType4">';
751
754
  div = div + duplicateStingFour + 'top:' + (-5 - this.lineStroke + (this.lineStroke - 1)) + 'px;' +
@@ -753,11 +756,11 @@ var ConnectorLine = /** @class */ (function () {
753
756
  'px;border-top-width:' + (5 + this.lineStroke) + 'px;width:0;height:0;' +
754
757
  'position:relative;"></div>';
755
758
  div = div + eLine;
756
- div = div + 'left:' + (isMilestone ? ((((data.childLeft + data.childWidth) - (data.parentLeft)) + (14 + this.lineStroke)) +
759
+ div = div + direction + (isMilestone ? ((((data.childLeft + data.childWidth) - (data.parentLeft)) + (14 + this.lineStroke)) +
757
760
  'px;width:16') : ((((data.childLeft + data.childWidth) - (data.parentLeft)) + 20) + 'px;width:' +
758
761
  (10 + this.lineStroke))) + 'px;' + duplicateStingFive;
759
762
  div = div + eLine;
760
- div = div + 'left:' + (((data.childLeft + data.childWidth) - (data.parentLeft)) + 30) + 'px;top:' +
763
+ div = div + direction + (((data.childLeft + data.childWidth) - (data.parentLeft)) + 30) + 'px;top:' +
761
764
  (-(13 + ((this.lineStroke - 1) * 2))) + 'px;width:0px;' + this.getBorderStyles('left', this.lineStroke) +
762
765
  this.getBorderStyles('top', (heightValue + borderTopWidth - this.getconnectorLineGap(data) - (this.lineStroke - 1))) + 'position:relative;"></div>';
763
766
  div = div + eLine;
@@ -773,25 +776,25 @@ var ConnectorLine = /** @class */ (function () {
773
776
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div></div>';
774
777
  }
775
778
  if (this.getParentPosition(data) === 'SFType3') {
776
- div = div + 'left:' + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
779
+ div = div + direction + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
777
780
  ((data.childIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
778
781
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SFType3">';
779
782
  div = div + duplicateStingOne;
780
783
  div = div + eLine;
781
- div = div + (isMilestone ? 'left:4px;width:' + (16 + this.lineStroke) : 'left:10px;width:' +
784
+ div = div + (isMilestone ? direction + '4px;width:' + (16 + this.lineStroke) : direction + '10px;width:' +
782
785
  (10 + this.lineStroke)) + 'px;top:' + (-(13 + ((this.lineStroke - 1) * 2) - 1)) + 'px;' +
783
786
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
784
787
  div = div + eLine;
785
- div = div + 'left:20px;top:' + (-(13 + ((this.lineStroke - 1) * 2))) + 'px;width:0px;' +
788
+ div = div + direction + '20px;top:' + (-(13 + ((this.lineStroke - 1) * 2))) + 'px;width:0px;' +
786
789
  this.getBorderStyles('left', this.lineStroke) +
787
790
  this.getBorderStyles('top', (heightValue + borderTopWidth - (this.lineStroke - 1))) + 'position:relative;"></div>';
788
791
  div = div + eLine;
789
- div = div + 'left:20px;top:' + (-(13 + ((this.lineStroke - 1) * 2))) + 'px;width:' +
792
+ div = div + direction + '20px;top:' + (-(13 + ((this.lineStroke - 1) * 2))) + 'px;width:' +
790
793
  ((data.parentLeft - (data.childLeft + data.childWidth + 20)) + this.lineStroke) + 'px;' +
791
794
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div></div>';
792
795
  }
793
796
  if (this.getParentPosition(data) === 'SFType1') {
794
- div = div + 'left:' + (data.parentLeft - 10) + 'px;top:' + (isVirtual ? connectorLine.top :
797
+ div = div + direction + (data.parentLeft - 10) + 'px;top:' + (isVirtual ? connectorLine.top :
795
798
  ((data.parentIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
796
799
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SFType1">';
797
800
  div = div + eLine;
@@ -803,12 +806,12 @@ var ConnectorLine = /** @class */ (function () {
803
806
  div = div + 'width:' + (((data.childLeft + data.childWidth) - (data.parentLeft)) + (30 + this.lineStroke)) + 'px;' +
804
807
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
805
808
  div = div + eLine;
806
- div = div + 'left:' + (((data.childLeft + data.childWidth) - (data.parentLeft)) + 30) +
809
+ div = div + direction + (((data.childLeft + data.childWidth) - (data.parentLeft)) + 30) +
807
810
  'px;width:0px;' + this.getBorderStyles('left', this.lineStroke) +
808
811
  this.getBorderStyles('top', (this.getconnectorLineGap(data) - this.lineStroke)) + 'position:relative;"></div>';
809
812
  div = div + eLine;
810
- div = div + (isMilestone ? ('left:' + (((data.childLeft + data.childWidth) -
811
- (data.parentLeft)) + 15) + 'px;width:' + (15 + this.lineStroke)) : ('left:' +
813
+ div = div + (isMilestone ? (direction + (((data.childLeft + data.childWidth) -
814
+ (data.parentLeft)) + 15) + 'px;width:' + (15 + this.lineStroke)) : (direction +
812
815
  (((data.childLeft + data.childWidth) - (data.parentLeft)) + 20) + 'px;width:' + (10 + this.lineStroke))) + 'px;' +
813
816
  this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
814
817
  div = div + duplicateStingFour + 'top:' + (-6 - this.lineStroke) + 'px;' +
@@ -816,23 +819,23 @@ var ConnectorLine = /** @class */ (function () {
816
819
  (5 + this.lineStroke) + 'px;position:relative;"></div></div>';
817
820
  }
818
821
  if (this.getParentPosition(data) === 'SFType2') {
819
- div = div + 'left:' + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
822
+ div = div + direction + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
820
823
  ((data.parentIndex * data.rowHeight) + addTop + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
821
824
  'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SFType2">';
822
825
  div = div + eLine;
823
- div = div + 'left:' + (((data.parentLeft) - (data.childLeft + data.childWidth)) - 10) +
826
+ div = div + direction + (((data.parentLeft) - (data.childLeft + data.childWidth)) - 10) +
824
827
  'px;width:11px;' + this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
825
828
  div = div + eLine;
826
- div = div + 'left:' + (((data.parentLeft) - (data.childLeft + data.childWidth)) - 10) +
829
+ div = div + direction + (((data.parentLeft) - (data.childLeft + data.childWidth)) - 10) +
827
830
  'px;width:0px;' + this.getBorderStyles('left', this.lineStroke) +
828
831
  this.getBorderStyles('top', (heightValue + borderTopWidth - this.lineStroke)) + 'position:relative;"></div>';
829
832
  div = div + eLine;
830
- div = div + (isMilestone ? ('left:4px;width:' + (((data.parentLeft) - (data.childLeft + data.childWidth))
831
- - (14 - this.lineStroke))) : ('left:10px;width:' + (((data.parentLeft) -
833
+ div = div + (isMilestone ? (direction + '4px;width:' + (((data.parentLeft) - (data.childLeft + data.childWidth))
834
+ - (14 - this.lineStroke))) : (direction + '10px;width:' + (((data.parentLeft) -
832
835
  (data.childLeft + data.childWidth)) - (20 - this.lineStroke)))) +
833
836
  'px;' + this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
834
837
  div = div + leftArrow;
835
- div = div + 'left:0px;' + this.getBorderStyles('right', 10) +
838
+ div = div + direction + '0px;' + this.getBorderStyles((this.parent.enableRtl ? 'right' : 'left'), 10) +
836
839
  'top:' + (-6 - this.lineStroke) + 'px;border-bottom-width:' + (5 + this.lineStroke) +
837
840
  'px;border-top-width:' + (5 + this.lineStroke) + 'px;width:0;height:0;position:relative;"></div></div>';
838
841
  }
@@ -23,6 +23,7 @@ var EditTooltip = /** @class */ (function () {
23
23
  this.toolTipObj = new Tooltip({
24
24
  opensOn: opensOn,
25
25
  position: 'TopRight',
26
+ enableRtl: this.parent.enableRtl,
26
27
  mouseTrail: mouseTrail,
27
28
  cssClass: cls.ganttTooltip,
28
29
  target: target ? target : null,
@@ -72,12 +73,15 @@ var EditTooltip = /** @class */ (function () {
72
73
  this.parent.tooltipModule.toolTipObj.close();
73
74
  this.updateTooltip(segmentIndex);
74
75
  if (this.taskbarEdit.connectorSecondAction === 'ConnectorPointLeftDrag') {
76
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
75
77
  this.toolTipObj.open(this.taskbarEdit.connectorSecondElement.querySelector('.' + cls.connectorPointLeft));
76
78
  }
77
79
  else if (this.taskbarEdit.connectorSecondAction === 'ConnectorPointRightDrag') {
80
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
78
81
  this.toolTipObj.open(this.taskbarEdit.connectorSecondElement.querySelector('.' + cls.connectorPointRight));
79
82
  }
80
83
  else {
84
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
81
85
  this.toolTipObj.open(this.taskbarEdit.taskBarEditElement);
82
86
  }
83
87
  }
@@ -110,14 +114,29 @@ var EditTooltip = /** @class */ (function () {
110
114
  this.toolTipObj.content = this.getTooltipText(segmentIndex);
111
115
  this.toolTipObj.refresh(this.taskbarEdit.taskBarEditElement);
112
116
  if (this.taskbarEdit.taskBarEditAction === 'LeftResizing') {
113
- this.toolTipObj.offsetX = -taskWidth;
117
+ if (this.parent.enableRtl) {
118
+ this.toolTipObj.offsetX = 0;
119
+ }
120
+ else {
121
+ this.toolTipObj.offsetX = -taskWidth;
122
+ }
114
123
  }
115
124
  else if (this.taskbarEdit.taskBarEditAction === 'RightResizing' ||
116
125
  this.taskbarEdit.taskBarEditAction === 'ParentResizing') {
117
- this.toolTipObj.offsetX = 0;
126
+ if (this.parent.enableRtl) {
127
+ this.toolTipObj.offsetX = -taskWidth;
128
+ }
129
+ else {
130
+ this.toolTipObj.offsetX = 0;
131
+ }
118
132
  }
119
133
  else if (this.taskbarEdit.taskBarEditAction === 'ProgressResizing') {
120
- this.toolTipObj.offsetX = -(taskWidth - progressWidth);
134
+ if (this.parent.enableRtl) {
135
+ this.toolTipObj.offsetX = -(progressWidth);
136
+ }
137
+ else {
138
+ this.toolTipObj.offsetX = -(taskWidth - progressWidth);
139
+ }
121
140
  }
122
141
  else if (this.taskbarEdit.taskBarEditAction === 'MilestoneDrag') {
123
142
  this.toolTipObj.offsetX = -(this.parent.chartRowsModule.milestoneHeight / 2);
@@ -15,7 +15,7 @@ var EventMarker = /** @class */ (function () {
15
15
  this.eventMarkersContainer = createElement('div', {
16
16
  className: cls.eventMarkersContainer
17
17
  });
18
- this.eventMarkersContainer.setAttribute("role", "term");
18
+ this.eventMarkersContainer.setAttribute('role', 'term');
19
19
  this.parent.ganttChartModule.chartBodyContent.appendChild(this.eventMarkersContainer);
20
20
  }
21
21
  this.eventMarkersContainer.innerHTML = '';
@@ -48,8 +48,15 @@ var EventMarker = /** @class */ (function () {
48
48
  var rightArrow;
49
49
  for (var i = 0; i < this.parent.eventMarkers.length; i++) {
50
50
  left = this.parent.dataOperation.getTaskLeft(this.parent.dateValidationModule.getDateFromFormat(this.parent.eventMarkers[i].day, true), false);
51
+ var align = void 0;
52
+ if (this.parent.enableRtl) {
53
+ align = "right:" + left + "px;";
54
+ }
55
+ else {
56
+ align = "left:" + left + "px;";
57
+ }
51
58
  eventMarkerElement = createElement('div', {
52
- className: cls.eventMarkersChild, styles: "left:" + left + "px; height:100%;",
59
+ className: cls.eventMarkersChild, styles: align + " height:100%;",
53
60
  id: 'stripline' + i
54
61
  });
55
62
  if (this.parent.eventMarkers[i].label) {
@@ -58,6 +65,12 @@ var EventMarker = /** @class */ (function () {
58
65
  });
59
66
  var property = this.parent.disableHtmlEncode ? 'textContent' : 'innerHTML';
60
67
  spanElement[property] = this.parent.eventMarkers[i].label;
68
+ if (this.parent.enableRtl) {
69
+ spanElement.style.right = '5px';
70
+ }
71
+ else {
72
+ spanElement.style.left = '5px';
73
+ }
61
74
  eventMarkerElement.appendChild(spanElement);
62
75
  rightArrow = createElement('div', {
63
76
  className: 'e-gantt-right-arrow'