@syncfusion/ej2-gantt 19.4.56 → 20.1.50
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.
- package/CHANGELOG.md +31 -0
- package/dist/ej2-gantt.umd.min.js +2 -2
- package/dist/ej2-gantt.umd.min.js.map +1 -1
- package/dist/es6/ej2-gantt.es2015.js +230 -83
- package/dist/es6/ej2-gantt.es2015.js.map +1 -1
- package/dist/es6/ej2-gantt.es5.js +248 -91
- package/dist/es6/ej2-gantt.es5.js.map +1 -1
- package/dist/global/ej2-gantt.min.js +2 -2
- package/dist/global/ej2-gantt.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +18 -18
- package/src/gantt/actions/cell-edit.js +2 -1
- package/src/gantt/actions/dialog-edit.js +11 -1
- package/src/gantt/actions/edit.js +11 -2
- package/src/gantt/actions/filter.js +4 -2
- package/src/gantt/actions/rowdragdrop.js +41 -17
- package/src/gantt/base/date-processor.js +0 -1
- package/src/gantt/base/gantt-chart.js +10 -5
- package/src/gantt/base/gantt.d.ts +2 -0
- package/src/gantt/base/gantt.js +3 -2
- package/src/gantt/base/splitter.js +1 -0
- package/src/gantt/base/tree-grid.js +3 -1
- package/src/gantt/renderer/chart-rows.js +80 -32
- package/src/gantt/renderer/connector-line.js +22 -18
- package/src/gantt/renderer/event-marker.js +1 -0
- package/src/gantt/renderer/nonworking-day.js +13 -6
- package/src/gantt/renderer/timeline.d.ts +1 -0
- package/src/gantt/renderer/timeline.js +37 -1
- package/src/gantt/renderer/tooltip.js +10 -3
- package/styles/bootstrap-dark.css +37 -10
- package/styles/bootstrap.css +37 -10
- package/styles/bootstrap4.css +37 -10
- package/styles/bootstrap5-dark.css +53 -19
- package/styles/bootstrap5.css +53 -19
- package/styles/fabric-dark.css +34 -7
- package/styles/fabric.css +37 -10
- package/styles/fluent-dark.css +1942 -0
- package/styles/fluent-dark.scss +1 -0
- package/styles/fluent.css +1942 -0
- package/styles/fluent.scss +1 -0
- package/styles/gantt/_bootstrap-dark-definition.scss +10 -2
- package/styles/gantt/_bootstrap-definition.scss +11 -3
- package/styles/gantt/_bootstrap4-definition.scss +10 -2
- package/styles/gantt/_bootstrap5-definition.scss +17 -9
- package/styles/gantt/_fabric-dark-definition.scss +8 -0
- package/styles/gantt/_fabric-definition.scss +10 -2
- package/styles/gantt/_fluent-dark-definition.scss +1 -0
- package/styles/gantt/_fluent-definition.scss +21 -13
- package/styles/gantt/_highcontrast-definition.scss +9 -1
- package/styles/gantt/_highcontrast-light-definition.scss +9 -1
- package/styles/gantt/_layout.scss +53 -2
- package/styles/gantt/_material-dark-definition.scss +9 -1
- package/styles/gantt/_material-definition.scss +10 -2
- package/styles/gantt/_tailwind-definition.scss +13 -5
- package/styles/gantt/_theme.scss +2 -5
- package/styles/gantt/bootstrap-dark.css +37 -10
- package/styles/gantt/bootstrap.css +37 -10
- package/styles/gantt/bootstrap4.css +37 -10
- package/styles/gantt/bootstrap5-dark.css +53 -19
- package/styles/gantt/bootstrap5.css +53 -19
- package/styles/gantt/fabric-dark.css +34 -7
- package/styles/gantt/fabric.css +37 -10
- package/styles/gantt/fluent-dark.css +1942 -0
- package/styles/gantt/fluent-dark.scss +22 -0
- package/styles/gantt/fluent.css +1942 -0
- package/styles/gantt/fluent.scss +22 -0
- package/styles/gantt/highcontrast-light.css +34 -7
- package/styles/gantt/highcontrast.css +34 -7
- package/styles/gantt/icons/_fluent-dark.scss +1 -0
- package/styles/gantt/icons/_fluent.scss +1 -1
- package/styles/gantt/icons/_tailwind-dark.scss +28 -29
- package/styles/gantt/icons/_tailwind.scss +26 -27
- package/styles/gantt/material-dark.css +37 -10
- package/styles/gantt/material.css +37 -10
- package/styles/gantt/tailwind-dark.css +70 -99
- package/styles/gantt/tailwind.css +70 -99
- package/styles/highcontrast-light.css +34 -7
- package/styles/highcontrast.css +34 -7
- package/styles/material-dark.css +37 -10
- package/styles/material.css +37 -10
- package/styles/tailwind-dark.css +70 -99
- package/styles/tailwind.css +70 -99
|
@@ -28,7 +28,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
28
28
|
_this.milestoneHeight = 0;
|
|
29
29
|
_this.milesStoneRadius = 0;
|
|
30
30
|
_this.baselineTop = 0;
|
|
31
|
-
_this.baselineHeight =
|
|
31
|
+
_this.baselineHeight = 8;
|
|
32
32
|
_this.touchLeftConnectorpoint = '';
|
|
33
33
|
_this.touchRightConnectorpoint = '';
|
|
34
34
|
_this.dropSplit = false;
|
|
@@ -111,7 +111,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
111
111
|
* @private
|
|
112
112
|
*/
|
|
113
113
|
ChartRows.prototype.getIndicatorNode = function (indicator) {
|
|
114
|
-
var templateString = '<label class="' + cls.label + ' ' + cls.taskIndicatorDiv + '"
|
|
114
|
+
var templateString = '<label class="' + cls.label + ' ' + cls.taskIndicatorDiv + '" role="LabelIndicator" style="line-height:'
|
|
115
115
|
+ (this.parent.rowHeight) + 'px;' +
|
|
116
116
|
'left:' + this.getIndicatorleft(indicator.date) + 'px;"><i class="' + indicator.iconClass + '"></i> </label>';
|
|
117
117
|
return this.createDivElement(templateString);
|
|
@@ -162,10 +162,10 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
162
162
|
'border-bottom-right-radius:' + this.getBorderRadius(data.ganttProperties) + 'px;">' +
|
|
163
163
|
'</div>');
|
|
164
164
|
}
|
|
165
|
+
var tempDiv = createElement('div');
|
|
165
166
|
if (this.taskLabelTemplateFunction && !isNullOrUndefined(progressDiv) && progressDiv.length > 0) {
|
|
166
167
|
var taskLabelTemplateNode = this.taskLabelTemplateFunction(extend({ index: i }, data), this.parent, 'TaskLabelTemplate', this.getTemplateID('TaskLabelTemplate'), false, undefined, progressDiv[0]);
|
|
167
168
|
if (taskLabelTemplateNode && taskLabelTemplateNode.length > 0) {
|
|
168
|
-
var tempDiv = createElement('div');
|
|
169
169
|
tempDiv.appendChild(taskLabelTemplateNode[0]);
|
|
170
170
|
labelString = tempDiv.innerHTML;
|
|
171
171
|
}
|
|
@@ -175,6 +175,9 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
175
175
|
labelString = labelString === 'isCustomTemplate' ? this.parent.labelSettings.taskLabel : labelString;
|
|
176
176
|
}
|
|
177
177
|
if (labelString !== 'null') {
|
|
178
|
+
if (this.getTaskLabel(this.parent.labelSettings.taskLabel) === 'isCustomTemplate') {
|
|
179
|
+
labelString = '';
|
|
180
|
+
}
|
|
178
181
|
if (isNaN(parseInt(labelString))) {
|
|
179
182
|
taskLabel = '<span class="' + cls.taskLabel + '" style="line-height:' +
|
|
180
183
|
(this.taskBarHeight - 1) + 'px; text-align: left;' +
|
|
@@ -184,9 +187,9 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
184
187
|
}
|
|
185
188
|
else {
|
|
186
189
|
taskLabel = '<span class="' + cls.taskLabel + '" style="line-height:' +
|
|
187
|
-
(this.taskBarHeight - 1) + 'px;
|
|
188
|
-
|
|
189
|
-
|
|
190
|
+
(this.taskBarHeight - 1) + 'px;' + (this.parent.viewType === 'ResourceView' ? 'text-align: left;' : '') +
|
|
191
|
+
+(this.parent.viewType === 'ResourceView' ? 'display:inline-flex;' : '') +
|
|
192
|
+
+(this.parent.viewType === 'ResourceView' ? (data.ganttProperties.width - 10) : '') + 'px; height:' +
|
|
190
193
|
this.taskBarHeight + 'px;">' + labelString + '</span>';
|
|
191
194
|
}
|
|
192
195
|
}
|
|
@@ -212,7 +215,16 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
212
215
|
(isNullOrUndefined(data.ganttProperties.segments) || (!isNullOrUndefined(data.ganttProperties.segments) &&
|
|
213
216
|
data.ganttProperties.segments.length === 0))) {
|
|
214
217
|
if (template !== '' && !isNullOrUndefined(progressDiv) && progressDiv.length > 0) {
|
|
215
|
-
|
|
218
|
+
var templateElement = this.createDivElement(template)[0];
|
|
219
|
+
templateElement.appendChild(tempDiv);
|
|
220
|
+
progressDiv[0].appendChild(templateElement);
|
|
221
|
+
var childLabel = this.parent.labelSettings.taskLabel;
|
|
222
|
+
if (progressDiv[0].querySelectorAll('.e-task-label')[0].textContent !== '' &&
|
|
223
|
+
!this.isTemplate(childLabel))
|
|
224
|
+
progressDiv[0].querySelectorAll('.e-task-label')[0].children[0].remove();
|
|
225
|
+
if (progressDiv[0].querySelectorAll('.e-task-label')[0].textContent == '' &&
|
|
226
|
+
childLabel && !childLabel['elementRef'])
|
|
227
|
+
progressDiv[0].querySelectorAll('.e-task-label')[0].textContent = childLabel;
|
|
216
228
|
}
|
|
217
229
|
if (!isNullOrUndefined(taskbarInnerDiv) && taskbarInnerDiv.length > 0) {
|
|
218
230
|
taskbarInnerDiv[0].appendChild([].slice.call(progressDiv)[0]);
|
|
@@ -603,7 +615,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
603
615
|
*/
|
|
604
616
|
ChartRows.prototype.getTaskBaselineNode = function () {
|
|
605
617
|
var data = this.templateData;
|
|
606
|
-
var template = '<div class="' + cls.baselineBar + ' ' + '" style="margin-top:' + this.baselineTop +
|
|
618
|
+
var template = '<div class="' + cls.baselineBar + ' ' + '" role="BaselineBar" style="margin-top:' + this.baselineTop +
|
|
607
619
|
'px;left:' + data.ganttProperties.baselineLeft + 'px;' +
|
|
608
620
|
'width:' + data.ganttProperties.baselineWidth + 'px;height:' +
|
|
609
621
|
this.baselineHeight + 'px;' + (this.baselineColor ? 'background-color: ' + this.baselineColor + ';' : '') + '"></div>';
|
|
@@ -617,9 +629,10 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
617
629
|
*/
|
|
618
630
|
ChartRows.prototype.getMilestoneBaselineNode = function () {
|
|
619
631
|
var data = this.templateData;
|
|
632
|
+
var baselineMilestoneHeight = this.parent.renderBaseline ? 5 : 2;
|
|
620
633
|
var template = '<div class="' + cls.baselineMilestoneContainer + ' ' + '" style="' +
|
|
621
634
|
'left:' + (data.ganttProperties.baselineLeft - this.milesStoneRadius) + 'px;' +
|
|
622
|
-
'margin-top:' + (-Math.floor(this.parent.rowHeight - this.milestoneMarginTop) +
|
|
635
|
+
'margin-top:' + (-Math.floor(this.parent.rowHeight - this.milestoneMarginTop) + baselineMilestoneHeight) +
|
|
623
636
|
'px">' + '<div class="' + cls.baselineMilestoneDiv + '">' + '<div class="' + cls.baselineMilestoneDiv +
|
|
624
637
|
' ' + cls.baselineMilestoneTop + '" ' +
|
|
625
638
|
'style="top:' + (-this.milestoneHeight) + 'px;border-right:' + this.milesStoneRadius +
|
|
@@ -647,7 +660,9 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
647
660
|
*/
|
|
648
661
|
ChartRows.prototype.getLeftLabelNode = function (i) {
|
|
649
662
|
var leftLabelNode = this.leftLabelContainer();
|
|
650
|
-
|
|
663
|
+
if (this.generateTaskLabelAriaLabel('left') !== "") {
|
|
664
|
+
leftLabelNode[0].setAttribute('aria-label', this.generateTaskLabelAriaLabel('left'));
|
|
665
|
+
}
|
|
651
666
|
var leftLabelTemplateNode = null;
|
|
652
667
|
if (this.leftTaskLabelTemplateFunction) {
|
|
653
668
|
leftLabelTemplateNode = this.leftTaskLabelTemplateFunction(extend({ index: i }, this.templateData), this.parent, 'LeftLabelTemplate', this.getTemplateID('LeftLabelTemplate'), false, undefined, leftLabelNode[0], this.parent.treeGrid['root']);
|
|
@@ -669,9 +684,10 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
669
684
|
return leftLabelNode;
|
|
670
685
|
};
|
|
671
686
|
ChartRows.prototype.getLableText = function (labelString, labelDiv) {
|
|
687
|
+
var leftLabelHeight = this.parent.renderBaseline ? ((this.parent.rowHeight - this.taskBarHeight) / 2) : this.taskBarMarginTop;
|
|
672
688
|
var templateString = createElement('div', {
|
|
673
689
|
className: labelDiv, styles: 'height:' + (this.taskBarHeight) + 'px;' +
|
|
674
|
-
'margin-top:' +
|
|
690
|
+
'margin-top:' + leftLabelHeight + 'px;'
|
|
675
691
|
});
|
|
676
692
|
var spanElem = createElement('span', { className: cls.label });
|
|
677
693
|
var property = this.parent.disableHtmlEncode ? 'textContent' : 'innerHTML';
|
|
@@ -690,7 +706,9 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
690
706
|
*/
|
|
691
707
|
ChartRows.prototype.getRightLabelNode = function (i) {
|
|
692
708
|
var rightLabelNode = this.rightLabelContainer();
|
|
693
|
-
|
|
709
|
+
if (this.generateTaskLabelAriaLabel('right') !== "") {
|
|
710
|
+
rightLabelNode[0].setAttribute('aria-label', this.generateTaskLabelAriaLabel('right'));
|
|
711
|
+
}
|
|
694
712
|
var rightLabelTemplateNode = null;
|
|
695
713
|
if (this.rightTaskLabelTemplateFunction) {
|
|
696
714
|
rightLabelTemplateNode = this.rightTaskLabelTemplateFunction(extend({ index: i }, this.templateData), this.parent, 'RightLabelTemplate', this.getTemplateID('RightLabelTemplate'), false, undefined, rightLabelNode[0], this.parent.treeGrid['root']);
|
|
@@ -780,10 +798,10 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
780
798
|
'width:' + data.ganttProperties.progressWidth + 'px;' +
|
|
781
799
|
'border-top-right-radius:' + this.getBorderRadius(data) + 'px;' +
|
|
782
800
|
'border-bottom-right-radius:' + this.getBorderRadius(data) + 'px;height:100%;"></div>');
|
|
801
|
+
var div = createElement('div');
|
|
783
802
|
if (this.taskLabelTemplateFunction) {
|
|
784
803
|
var parentTaskLabelNode = this.taskLabelTemplateFunction(extend({ index: i }, data), this.parent, 'TaskLabelTemplate', this.getTemplateID('TaskLabelTemplate'), false, undefined, progressBarInnerDiv[0]);
|
|
785
804
|
if (parentTaskLabelNode && parentTaskLabelNode.length > 0) {
|
|
786
|
-
var div = createElement('div');
|
|
787
805
|
div.appendChild(parentTaskLabelNode[0]);
|
|
788
806
|
labelString = div.innerHTML;
|
|
789
807
|
}
|
|
@@ -793,21 +811,35 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
793
811
|
labelString = labelString === 'isCustomTemplate' ? this.parent.labelSettings.taskLabel : labelString;
|
|
794
812
|
}
|
|
795
813
|
if (labelString !== 'null') {
|
|
814
|
+
if (this.getTaskLabel(this.parent.labelSettings.taskLabel) === 'isCustomTemplate') {
|
|
815
|
+
labelString = '';
|
|
816
|
+
}
|
|
796
817
|
if (isNaN(parseInt(labelString))) {
|
|
797
|
-
labelDiv =
|
|
818
|
+
labelDiv = '<span class="' + cls.taskLabel + '" style="line-height:' +
|
|
798
819
|
(this.taskBarHeight - 1) + 'px; text-align: left;' +
|
|
799
820
|
'display:' + 'inline-block;' +
|
|
800
821
|
'width:' + (data.ganttProperties.width - 10) + 'px; height:' +
|
|
801
|
-
this.taskBarHeight + 'px;">' + labelString + '</span>'
|
|
822
|
+
this.taskBarHeight + 'px;">' + labelString + '</span>';
|
|
802
823
|
}
|
|
803
824
|
else {
|
|
804
|
-
labelDiv =
|
|
825
|
+
labelDiv = '<span class="' +
|
|
805
826
|
cls.taskLabel + '" style="line-height:' +
|
|
806
|
-
(this.taskBarHeight - 1) + 'px;
|
|
807
|
-
(this.parent.viewType === 'ResourceView' ? (data.ganttProperties.width - 10) : '
|
|
808
|
-
this.taskBarHeight + 'px;
|
|
827
|
+
(this.taskBarHeight - 1) + 'px;' + (this.parent.viewType === 'ResourceView' ? 'display:inline-flex;' : '') +
|
|
828
|
+
(this.parent.viewType === 'ResourceView' ? 'width:' + (data.ganttProperties.width - 10) : '') + 'px; height:' +
|
|
829
|
+
(this.taskBarHeight - 1) + 'px;' + (this.parent.viewType === 'ResourceView' ? 'display: inline-flex;' : '') +
|
|
830
|
+
(this.parent.viewType === 'ResourceView' ? 'width:' + (data.ganttProperties.width - 10) : '') + 'px; height:' +
|
|
831
|
+
this.taskBarHeight + 'px;">' + labelString + '</span>';
|
|
809
832
|
}
|
|
810
|
-
|
|
833
|
+
var labelElement = this.createDivElement(labelDiv)[0];
|
|
834
|
+
labelElement.appendChild(div);
|
|
835
|
+
progressBarInnerDiv[0].appendChild(labelElement);
|
|
836
|
+
var parentLabel = this.parent.labelSettings.taskLabel;
|
|
837
|
+
if (progressBarInnerDiv[0].querySelectorAll('.e-task-label')[0].textContent !== '' &&
|
|
838
|
+
!this.isTemplate(parentLabel))
|
|
839
|
+
progressBarInnerDiv[0].querySelectorAll('.e-task-label')[0].children[0].remove();
|
|
840
|
+
if (progressBarInnerDiv[0].querySelectorAll('.e-task-label')[0].textContent == '' &&
|
|
841
|
+
parentLabel && !parentLabel['elementRef'])
|
|
842
|
+
progressBarInnerDiv[0].querySelectorAll('.e-task-label')[0].textContent = parentLabel;
|
|
811
843
|
}
|
|
812
844
|
var milestoneTemplate = '<div class="' + cls.parentMilestone + '" style="position:absolute;">' +
|
|
813
845
|
'<div class="' + cls.parentMilestoneTop + '" style="border-right-width:' +
|
|
@@ -833,10 +865,10 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
833
865
|
var className = (this.parent.gridLines === 'Horizontal' || this.parent.gridLines === 'Both') ?
|
|
834
866
|
'e-chart-row-border' : '';
|
|
835
867
|
table.innerHTML = '<tr class="' + this.getRowClassName(this.templateData) + ' ' + cls.chartRow + '"' +
|
|
836
|
-
'style="display:' + this.getExpandDisplayProp(this.templateData) + ';height:' +
|
|
868
|
+
'role="ChartRow" style="display:' + this.getExpandDisplayProp(this.templateData) + ';height:' +
|
|
837
869
|
this.parent.rowHeight + 'px;">' +
|
|
838
870
|
'<td class="' + cls.chartRowCell + ' ' + className
|
|
839
|
-
+ '" style="width:' + this.parent.timelineModule.totalTimelineWidth + 'px;"></td></tr>';
|
|
871
|
+
+ '" role="ChartCell" style="width:' + this.parent.timelineModule.totalTimelineWidth + 'px;"></td></tr>';
|
|
840
872
|
return table.childNodes;
|
|
841
873
|
};
|
|
842
874
|
/**
|
|
@@ -901,7 +933,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
901
933
|
};
|
|
902
934
|
ChartRows.prototype.leftLabelContainer = function () {
|
|
903
935
|
var template = '<div class="' + ((this.leftTaskLabelTemplateFunction) ? cls.leftLabelTempContainer :
|
|
904
|
-
cls.leftLabelContainer) + ' ' + '" tabindex="-1" style="height:' +
|
|
936
|
+
cls.leftLabelContainer) + ' ' + '" tabindex="-1" role="LeftLabel" style="height:' +
|
|
905
937
|
(this.parent.rowHeight - 2) + 'px;width:' + this.taskNameWidth(this.templateData) + '"></div>';
|
|
906
938
|
return this.createDivElement(template);
|
|
907
939
|
};
|
|
@@ -913,7 +945,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
913
945
|
var template = '<div class="' + cls.taskBarMainContainer + ' ' +
|
|
914
946
|
this.parent.getUnscheduledTaskClass(data.ganttProperties) + ' ' +
|
|
915
947
|
((data.ganttProperties.cssClass) ? data.ganttProperties.cssClass : '') + '" ' +
|
|
916
|
-
' tabindex="-1" style="' + ((data.ganttProperties.isMilestone && !manualParent) ?
|
|
948
|
+
' tabindex="-1" role="TaskBar" style="' + ((data.ganttProperties.isMilestone && !manualParent) ?
|
|
917
949
|
('width:' + this.milestoneHeight + 'px;height:' +
|
|
918
950
|
this.milestoneHeight + 'px;margin-top:' + this.milestoneMarginTop + 'px;left:' + (data.ganttProperties.left -
|
|
919
951
|
(this.milestoneHeight / 2)) + 'px;') : ('width:' + data.ganttProperties.width +
|
|
@@ -924,26 +956,26 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
924
956
|
};
|
|
925
957
|
ChartRows.prototype.rightLabelContainer = function () {
|
|
926
958
|
var template = '<div class="' + ((this.rightTaskLabelTemplateFunction) ? cls.rightLabelTempContainer :
|
|
927
|
-
cls.rightLabelContainer) + '" ' + ' tabindex="-1" style="left:' + this.getRightLabelLeft(this.templateData) + 'px;height:'
|
|
959
|
+
cls.rightLabelContainer) + '" ' + ' tabindex="-1" role="RightLabel" style="left:' + this.getRightLabelLeft(this.templateData) + 'px; height:'
|
|
928
960
|
+ (this.parent.rowHeight - 2) + 'px;"></div>';
|
|
929
961
|
return this.createDivElement(template);
|
|
930
962
|
};
|
|
931
963
|
ChartRows.prototype.childTaskbarLeftResizer = function () {
|
|
932
964
|
var lResizerLeft = -(this.parent.isAdaptive ? 12 : 2);
|
|
933
965
|
var template = '<div class="' + cls.taskBarLeftResizer + ' ' + cls.icon + '"' +
|
|
934
|
-
' style="left:' + lResizerLeft + 'px;height:' + (this.taskBarHeight) + 'px;"></div>';
|
|
966
|
+
' role="LeftResizer" style="left:' + lResizerLeft + 'px;height:' + (this.taskBarHeight) + 'px;"></div>';
|
|
935
967
|
return this.createDivElement(template);
|
|
936
968
|
};
|
|
937
969
|
ChartRows.prototype.childTaskbarRightResizer = function () {
|
|
938
970
|
var rResizerLeft = this.parent.isAdaptive ? -2 : -10;
|
|
939
971
|
var template = '<div class="' + cls.taskBarRightResizer + ' ' + cls.icon + '"' +
|
|
940
|
-
' style="left:' + (this.templateData.ganttProperties.width + rResizerLeft) + 'px;' +
|
|
972
|
+
' role="RightResizer" style="left:' + (this.templateData.ganttProperties.width + rResizerLeft) + 'px;' +
|
|
941
973
|
'height:' + (this.taskBarHeight) + 'px;"></div>';
|
|
942
974
|
return this.createDivElement(template);
|
|
943
975
|
};
|
|
944
976
|
ChartRows.prototype.childTaskbarProgressResizer = function () {
|
|
945
977
|
var template = '<div class="' + cls.childProgressResizer + '"' +
|
|
946
|
-
' style="left:' + (this.templateData.ganttProperties.progressWidth - 6) + 'px;margin-top:' +
|
|
978
|
+
' role="ProgressResizer" style="left:' + (this.templateData.ganttProperties.progressWidth - 6) + 'px;margin-top:' +
|
|
947
979
|
(this.taskBarHeight - 4) + 'px;"><div class="' + cls.progressBarHandler + '"' +
|
|
948
980
|
'><div class="' + cls.progressHandlerElement + '"></div>' +
|
|
949
981
|
'<div class="' + cls.progressBarHandlerAfter + '"></div></div>';
|
|
@@ -1141,10 +1173,13 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
1141
1173
|
* @private
|
|
1142
1174
|
*/
|
|
1143
1175
|
ChartRows.prototype.initChartHelperPrivateVariable = function () {
|
|
1176
|
+
var taskbarHeightValue = this.parent.renderBaseline ? 0.45 : 0.62;
|
|
1177
|
+
var taskBarMarginTopValue = this.parent.renderBaseline ? 4 : 2;
|
|
1178
|
+
var milestoneHeightValue = this.parent.renderBaseline ? 1.13 : 0.82;
|
|
1144
1179
|
this.baselineColor = !isNullOrUndefined(this.parent.baselineColor) &&
|
|
1145
1180
|
this.parent.baselineColor !== '' ? this.parent.baselineColor : null;
|
|
1146
1181
|
this.taskBarHeight = isNullOrUndefined(this.parent.taskbarHeight) || this.parent.taskbarHeight >= this.parent.rowHeight ?
|
|
1147
|
-
Math.floor(this.parent.rowHeight *
|
|
1182
|
+
Math.floor(this.parent.rowHeight * taskbarHeightValue) : this.parent.taskbarHeight; // 0.62 -- Standard Ratio.
|
|
1148
1183
|
if (this.parent.renderBaseline) {
|
|
1149
1184
|
var height = void 0;
|
|
1150
1185
|
if ((this.taskBarHeight + this.baselineHeight) <= this.parent.rowHeight) {
|
|
@@ -1155,11 +1190,11 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
1155
1190
|
}
|
|
1156
1191
|
this.taskBarHeight = height;
|
|
1157
1192
|
}
|
|
1158
|
-
this.milestoneHeight = Math.floor(this.taskBarHeight *
|
|
1159
|
-
this.taskBarMarginTop = Math.floor((this.parent.rowHeight - this.taskBarHeight) /
|
|
1193
|
+
this.milestoneHeight = Math.floor(this.taskBarHeight * milestoneHeightValue); // 0.82 -- Standard Ratio.
|
|
1194
|
+
this.taskBarMarginTop = Math.floor((this.parent.rowHeight - this.taskBarHeight) / taskBarMarginTopValue);
|
|
1160
1195
|
this.milestoneMarginTop = Math.floor((this.parent.rowHeight - this.milestoneHeight) / 2);
|
|
1161
1196
|
this.milesStoneRadius = Math.floor((this.milestoneHeight) / 2);
|
|
1162
|
-
this.baselineTop = -(Math.floor((this.parent.rowHeight - (this.taskBarHeight + this.taskBarMarginTop))) -
|
|
1197
|
+
this.baselineTop = -(Math.floor((this.parent.rowHeight - (this.taskBarHeight + this.taskBarMarginTop))) - 4);
|
|
1163
1198
|
this.connectorPointWidth = this.parent.isAdaptive ? Math.round(this.taskBarHeight / 2) : 8;
|
|
1164
1199
|
this.connectorPointMargin = Math.floor((this.taskBarHeight / 2) - (this.connectorPointWidth / 2));
|
|
1165
1200
|
};
|
|
@@ -1353,6 +1388,7 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
1353
1388
|
var indicators = this.templateData.ganttProperties.indicators;
|
|
1354
1389
|
for (var indicatorIndex = 0; indicatorIndex < indicators.length; indicatorIndex++) {
|
|
1355
1390
|
taskIndicatorNode = this.getIndicatorNode(indicators[indicatorIndex]);
|
|
1391
|
+
taskIndicatorNode[0].setAttribute('aria-label', indicators[indicatorIndex].name);
|
|
1356
1392
|
if (indicators[indicatorIndex].name.indexOf('$') > -1 || indicators[indicatorIndex].name.indexOf('#') > -1) {
|
|
1357
1393
|
taskIndicatorTextFunction = this.templateCompiler(indicators[indicatorIndex].name);
|
|
1358
1394
|
taskIndicatorTextNode = taskIndicatorTextFunction(extend({ index: i }, this.templateData), this.parent, 'indicatorLabelText');
|
|
@@ -1631,6 +1667,18 @@ var ChartRows = /** @class */ (function (_super) {
|
|
|
1631
1667
|
};
|
|
1632
1668
|
ChartRows.prototype.getResourceParent = function (record) {
|
|
1633
1669
|
var chartRows = this.parent.ganttChartModule.getChartRows();
|
|
1670
|
+
//Below code is for rendering taskbartemplate in resource view with multi taskbar
|
|
1671
|
+
if (this.parent.initialChartRowElements) {
|
|
1672
|
+
for (var j = 0; j <= this.parent.initialChartRowElements.length; j++) {
|
|
1673
|
+
if (!isNullOrUndefined(chartRows[j])) {
|
|
1674
|
+
if (!isNullOrUndefined(chartRows[j].childNodes[0].childNodes[1].childNodes[2]) &&
|
|
1675
|
+
!isNullOrUndefined(this.parent.initialChartRowElements[j].childNodes[0].childNodes[1].childNodes[2])) {
|
|
1676
|
+
// eslint-disable-next-line
|
|
1677
|
+
chartRows[j].childNodes[0].childNodes[1].childNodes[2]['innerHTML'] = this.parent.initialChartRowElements[j].childNodes[0].childNodes[1].childNodes[2]['innerHTML'];
|
|
1678
|
+
}
|
|
1679
|
+
}
|
|
1680
|
+
}
|
|
1681
|
+
}
|
|
1634
1682
|
this.templateData = record;
|
|
1635
1683
|
var parentTrNode = this.getTableTrNode();
|
|
1636
1684
|
var leftLabelNode = this.leftLabelContainer();
|
|
@@ -115,7 +115,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
115
115
|
for (var i = 0; i < childNodes.length; i++) {
|
|
116
116
|
var innerChild = childNodes[i].childNodes;
|
|
117
117
|
for (var j = 0; j < innerChild.length; j++) {
|
|
118
|
-
var ariaString = this.parent.connectorLineModule.generateAriaLabel(ariaConnector[i]);
|
|
118
|
+
var ariaString = 'Connector Line ' + this.parent.connectorLineModule.generateAriaLabel(ariaConnector[i]);
|
|
119
119
|
innerChild[j].setAttribute('aria-label', ariaString);
|
|
120
120
|
}
|
|
121
121
|
}
|
|
@@ -372,7 +372,11 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
372
372
|
var connectorContainer = '';
|
|
373
373
|
var isVirtual = this.parent.virtualScrollModule && this.parent.enableVirtualization;
|
|
374
374
|
var connectorLine = this.getPosition(data, this.getParentPosition(data), height);
|
|
375
|
-
var
|
|
375
|
+
var isMilestoneValue = 0;
|
|
376
|
+
if (this.parent.renderBaseline) {
|
|
377
|
+
isMilestoneValue = (data.milestoneParent && data.milestoneChild) ? 0 : data.milestoneParent ? -5 : data.milestoneChild ? 5 : 0;
|
|
378
|
+
}
|
|
379
|
+
var heightValue = isVirtual ? connectorLine.height : (height + isMilestoneValue);
|
|
376
380
|
if (this.getParentPosition(data)) {
|
|
377
381
|
connectorContainer = '<div id="ConnectorLine' + data.connectorLineId + '" style="background-color:black">';
|
|
378
382
|
var div = '<div class="' + cls.connectorLineContainer +
|
|
@@ -400,7 +404,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
400
404
|
this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
|
|
401
405
|
if (this.getParentPosition(data) === 'FSType1') {
|
|
402
406
|
div = div + 'left:' + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
403
|
-
((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
|
|
407
|
+
((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
404
408
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FSType1">';
|
|
405
409
|
div = div + eLine;
|
|
406
410
|
div = div + 'left:' + (isMilestoneParent ? -1 : 0) + 'px;width:' + (isMilestoneParent ?
|
|
@@ -421,7 +425,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
421
425
|
}
|
|
422
426
|
if (this.getParentPosition(data) === 'FSType2') {
|
|
423
427
|
div = div + 'left:' + data.parentLeft + 'px;top:' + (isVirtual ? connectorLine.top : ((data.parentIndex * data.rowHeight) +
|
|
424
|
-
this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
|
|
428
|
+
this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
425
429
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FSType2">';
|
|
426
430
|
div = div + eLine;
|
|
427
431
|
div = div + 'left:' + (isMilestoneParent ? data.parentWidth - 1 : data.parentWidth) + 'px;width:' +
|
|
@@ -452,7 +456,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
452
456
|
}
|
|
453
457
|
if (this.getParentPosition(data) === 'FSType3') {
|
|
454
458
|
div = div + 'left:' + (data.childLeft - 20) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
455
|
-
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1))) + 'px;' +
|
|
459
|
+
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
456
460
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FSType3">';
|
|
457
461
|
div = div + rightArrow;
|
|
458
462
|
div = div + 'left:10px;' + this.getBorderStyles('left', 10) +
|
|
@@ -482,7 +486,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
482
486
|
}
|
|
483
487
|
if (this.getParentPosition(data) === 'FSType4') {
|
|
484
488
|
div = div + 'left:' + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
485
|
-
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
|
|
489
|
+
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
486
490
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FSType4">';
|
|
487
491
|
div = div + rightArrow;
|
|
488
492
|
div = div + 'left:' + (data.childLeft - (data.parentLeft + data.parentWidth + 10)) + 'px;' +
|
|
@@ -508,7 +512,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
508
512
|
}
|
|
509
513
|
if (this.getParentPosition(data) === 'SSType4') {
|
|
510
514
|
div = div + 'left:' + (data.parentLeft - 10) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
511
|
-
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
|
|
515
|
+
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
512
516
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SSType4">';
|
|
513
517
|
div = div + rightArrow;
|
|
514
518
|
div = div + 'left:' + (data.childLeft - data.parentLeft) + 'px;' + duplicateStingTwo;
|
|
@@ -521,7 +525,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
521
525
|
}
|
|
522
526
|
if (this.getParentPosition(data) === 'SSType3') {
|
|
523
527
|
div = div + 'left:' + (data.childLeft - 20) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
524
|
-
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
|
|
528
|
+
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
525
529
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SSType3">';
|
|
526
530
|
div = div + rightArrow;
|
|
527
531
|
div = div + 'left:10px;' + duplicateStingTwo;
|
|
@@ -534,7 +538,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
534
538
|
}
|
|
535
539
|
if (this.getParentPosition(data) === 'SSType2') {
|
|
536
540
|
div = div + 'left:' + setInnerElementLeftSSType2 + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
537
|
-
((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1))) + 'px;' +
|
|
541
|
+
((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
538
542
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SSType2">';
|
|
539
543
|
div = div + eLine;
|
|
540
544
|
div = div + 'width:' + (setInnerChildWidthSSType2 + 1) + 'px;' +
|
|
@@ -555,7 +559,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
555
559
|
if (this.getParentPosition(data) === 'SSType1') {
|
|
556
560
|
div = div + 'left:' + (data.childLeft - 20) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
557
561
|
((data.parentIndex * data.rowHeight) +
|
|
558
|
-
this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1))) + 'px;' +
|
|
562
|
+
this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
559
563
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SSType1">';
|
|
560
564
|
div = div + eLine;
|
|
561
565
|
div = div + 'width:' + (data.parentLeft - data.childLeft + 21) + 'px;' +
|
|
@@ -572,7 +576,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
572
576
|
}
|
|
573
577
|
if (this.getParentPosition(data) === 'FFType1') {
|
|
574
578
|
div = div + 'left:' + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
575
|
-
((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1))) + 'px;' +
|
|
579
|
+
((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
576
580
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FFType1">';
|
|
577
581
|
div = div + eLine;
|
|
578
582
|
div = div + 'left:' + (isMilestoneParent ? (((data.parentLeft + data.parentWidth) -
|
|
@@ -596,7 +600,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
596
600
|
}
|
|
597
601
|
if (this.getParentPosition(data) === 'FFType2') {
|
|
598
602
|
div = div + 'left:' + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
599
|
-
((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1))) + 'px;' +
|
|
603
|
+
((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
600
604
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FFType2">';
|
|
601
605
|
div = div + eLine;
|
|
602
606
|
div = div + (isMilestoneParent ? 'left:-1px;' : '') + 'width:' +
|
|
@@ -622,7 +626,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
622
626
|
}
|
|
623
627
|
if (this.getParentPosition(data) === 'FFType3') {
|
|
624
628
|
div = div + 'left:' + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
625
|
-
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
|
|
629
|
+
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
626
630
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FFType3">';
|
|
627
631
|
div = div + duplicateStingOne;
|
|
628
632
|
div = div + eLine;
|
|
@@ -645,7 +649,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
645
649
|
}
|
|
646
650
|
if (this.getParentPosition(data) === 'FFType4') {
|
|
647
651
|
div = div + 'left:' + (data.parentLeft + data.parentWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
648
|
-
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
|
|
652
|
+
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
649
653
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="FFType4">';
|
|
650
654
|
div = div + leftArrow;
|
|
651
655
|
div = div + ('left:' + ((data.childLeft + data.childWidth) -
|
|
@@ -674,7 +678,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
674
678
|
}
|
|
675
679
|
if (this.getParentPosition(data) === 'SFType4') {
|
|
676
680
|
div = div + 'left:' + (data.parentLeft - 10) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
677
|
-
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;width:1px;' +
|
|
681
|
+
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;width:1px;' +
|
|
678
682
|
'height:' + heightValue + 'px;position:absolute" data-connectortype="SFType4">';
|
|
679
683
|
div = div + duplicateStingFour + 'top:' + (-5 - this.lineStroke + (this.lineStroke - 1)) + 'px;' +
|
|
680
684
|
'border-bottom-width:' + (5 + this.lineStroke) +
|
|
@@ -702,7 +706,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
702
706
|
}
|
|
703
707
|
if (this.getParentPosition(data) === 'SFType3') {
|
|
704
708
|
div = div + 'left:' + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
705
|
-
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
|
|
709
|
+
((data.childIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
706
710
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SFType3">';
|
|
707
711
|
div = div + duplicateStingOne;
|
|
708
712
|
div = div + eLine;
|
|
@@ -720,7 +724,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
720
724
|
}
|
|
721
725
|
if (this.getParentPosition(data) === 'SFType1') {
|
|
722
726
|
div = div + 'left:' + (data.parentLeft - 10) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
723
|
-
((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1))) + 'px;' +
|
|
727
|
+
((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestone) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
724
728
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SFType1">';
|
|
725
729
|
div = div + eLine;
|
|
726
730
|
div = div + 'width:11px;' + this.getBorderStyles('top', this.lineStroke) + 'position:relative;"></div>';
|
|
@@ -745,7 +749,7 @@ var ConnectorLine = /** @class */ (function () {
|
|
|
745
749
|
}
|
|
746
750
|
if (this.getParentPosition(data) === 'SFType2') {
|
|
747
751
|
div = div + 'left:' + (data.childLeft + data.childWidth) + 'px;top:' + (isVirtual ? connectorLine.top :
|
|
748
|
-
((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1))) + 'px;' +
|
|
752
|
+
((data.parentIndex * data.rowHeight) + this.getTaskbarMidpoint(isMilestoneParent) - (this.lineStroke - 1) - isMilestoneValue)) + 'px;' +
|
|
749
753
|
'width:1px;height:' + heightValue + 'px;position:absolute" data-connectortype="SFType2">';
|
|
750
754
|
div = div + eLine;
|
|
751
755
|
div = div + 'left:' + (((data.parentLeft) - (data.childLeft + data.childWidth)) - 10) +
|
|
@@ -15,6 +15,7 @@ var EventMarker = /** @class */ (function () {
|
|
|
15
15
|
this.eventMarkersContainer = createElement('div', {
|
|
16
16
|
className: cls.eventMarkersContainer
|
|
17
17
|
});
|
|
18
|
+
this.eventMarkersContainer.setAttribute("role", "EventMarker");
|
|
18
19
|
this.parent.ganttChartModule.chartBodyContent.appendChild(this.eventMarkersContainer);
|
|
19
20
|
}
|
|
20
21
|
this.eventMarkersContainer.innerHTML = '';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createElement, formatUnit, remove } from '@syncfusion/ej2-base';
|
|
1
|
+
import { createElement, formatUnit, remove, isNullOrUndefined } from '@syncfusion/ej2-base';
|
|
2
2
|
import * as cls from '../base/css-constants';
|
|
3
3
|
var NonWorkingDay = /** @class */ (function () {
|
|
4
4
|
function NonWorkingDay(gantt) {
|
|
@@ -17,6 +17,7 @@ var NonWorkingDay = /** @class */ (function () {
|
|
|
17
17
|
this.nonworkingContainer = createElement('div', {
|
|
18
18
|
className: cls.nonworkingContainer
|
|
19
19
|
});
|
|
20
|
+
this.nonworkingContainer.setAttribute("role", "NonWorkingDays");
|
|
20
21
|
this.parent.ganttChartModule.chartBodyContent.appendChild(this.nonworkingContainer);
|
|
21
22
|
}
|
|
22
23
|
};
|
|
@@ -54,8 +55,11 @@ var NonWorkingDay = /** @class */ (function () {
|
|
|
54
55
|
var toDate;
|
|
55
56
|
var container = createElement('div');
|
|
56
57
|
var height = this.parent.contentHeight;
|
|
57
|
-
var
|
|
58
|
-
|
|
58
|
+
var toolbarHeight = 0;
|
|
59
|
+
if (!isNullOrUndefined(this.parent.toolbarModule)) {
|
|
60
|
+
toolbarHeight = this.parent.toolbarModule.element.offsetHeight;
|
|
61
|
+
}
|
|
62
|
+
var viewportHeight = this.parent.ganttHeight - toolbarHeight - this.parent.ganttChartModule.chartTimelineContainer.offsetHeight;
|
|
59
63
|
for (var i = 0; i < this.parent.holidays.length; i++) {
|
|
60
64
|
if (this.parent.holidays[i].from && this.parent.holidays[i].to) {
|
|
61
65
|
fromDate = this.parent.dateValidationModule.getDateFromFormat(this.parent.holidays[i].from);
|
|
@@ -148,9 +152,12 @@ var NonWorkingDay = /** @class */ (function () {
|
|
|
148
152
|
return container;
|
|
149
153
|
};
|
|
150
154
|
NonWorkingDay.prototype.updateHolidayLabelHeight = function () {
|
|
151
|
-
var height = this.parent.
|
|
152
|
-
var
|
|
153
|
-
|
|
155
|
+
var height = this.parent.getContentHeight();
|
|
156
|
+
var toolbarHeight = 0;
|
|
157
|
+
if (!isNullOrUndefined(this.parent.toolbarModule) && !isNullOrUndefined(this.parent.toolbarModule.element)) {
|
|
158
|
+
toolbarHeight = this.parent.toolbarModule.element.offsetHeight;
|
|
159
|
+
}
|
|
160
|
+
var viewportHeight = this.parent.ganttHeight - toolbarHeight - this.parent.ganttChartModule.chartTimelineContainer.offsetHeight;
|
|
154
161
|
var top = (viewportHeight < height) ? viewportHeight / 2 : height / 2;
|
|
155
162
|
var labels = this.holidayContainer.querySelectorAll('.' + cls.holidayLabel);
|
|
156
163
|
for (var i = 0; i < labels.length; i++) {
|
|
@@ -843,6 +843,40 @@ var Timeline = /** @class */ (function () {
|
|
|
843
843
|
} while ((startDate < endDate));
|
|
844
844
|
return parentTh;
|
|
845
845
|
};
|
|
846
|
+
Timeline.prototype.updateTimelineAfterZooming = function (endDate, resized) {
|
|
847
|
+
var timeDiff;
|
|
848
|
+
var perDayWidth;
|
|
849
|
+
var totWidth;
|
|
850
|
+
var contentElement = document.getElementsByClassName('e-chart-scroll-container e-content')[0];
|
|
851
|
+
if (!isNullOrUndefined(contentElement)) {
|
|
852
|
+
var contentWidth = contentElement['offsetWidth'];
|
|
853
|
+
var contentHeight = contentElement['offsetHeight'];
|
|
854
|
+
var scrollHeight = document.getElementsByClassName('e-chart-rows-container')[0]['offsetHeight'];
|
|
855
|
+
timeDiff = Math.abs(this.timelineStartDate.getTime() - endDate.getTime());
|
|
856
|
+
timeDiff = timeDiff / (1000 * 3600 * 24);
|
|
857
|
+
if (this.bottomTier === 'None') {
|
|
858
|
+
perDayWidth = this.getPerDayWidth(this.customTimelineSettings.timelineUnitSize, this.customTimelineSettings.topTier.count, this.topTier);
|
|
859
|
+
}
|
|
860
|
+
else {
|
|
861
|
+
perDayWidth = this.getPerDayWidth(this.customTimelineSettings.timelineUnitSize, this.customTimelineSettings.bottomTier.count, this.bottomTier);
|
|
862
|
+
}
|
|
863
|
+
if (contentHeight < scrollHeight) {
|
|
864
|
+
totWidth = (perDayWidth * timeDiff) + 17;
|
|
865
|
+
}
|
|
866
|
+
else {
|
|
867
|
+
totWidth = (perDayWidth * timeDiff);
|
|
868
|
+
}
|
|
869
|
+
if (contentWidth >= totWidth) {
|
|
870
|
+
var widthDiff = contentWidth - totWidth;
|
|
871
|
+
widthDiff = Math.round(widthDiff / perDayWidth);
|
|
872
|
+
endDate.setDate(endDate.getDate() + widthDiff);
|
|
873
|
+
this.parent.timelineModule.timelineEndDate = endDate;
|
|
874
|
+
if (resized) {
|
|
875
|
+
this.parent.updateProjectDates(this.timelineStartDate, this.timelineEndDate, this.parent.isTimelineRoundOff);
|
|
876
|
+
}
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
};
|
|
846
880
|
Timeline.prototype.getTimelineRoundOffEndDate = function (date) {
|
|
847
881
|
var tierMode = this.topTier === 'None' ? this.bottomTier : this.topTier;
|
|
848
882
|
var endDate = new Date(date.toString());
|
|
@@ -857,6 +891,9 @@ var Timeline = /** @class */ (function () {
|
|
|
857
891
|
endDate.setHours(24, 0, 0, 0);
|
|
858
892
|
}
|
|
859
893
|
}
|
|
894
|
+
if (this.isZooming || this.parent.isLoad) {
|
|
895
|
+
this.updateTimelineAfterZooming(endDate, false);
|
|
896
|
+
}
|
|
860
897
|
return endDate;
|
|
861
898
|
};
|
|
862
899
|
/**
|
|
@@ -926,7 +963,6 @@ var Timeline = /** @class */ (function () {
|
|
|
926
963
|
}
|
|
927
964
|
return increment;
|
|
928
965
|
};
|
|
929
|
-
;
|
|
930
966
|
/**
|
|
931
967
|
* Method to find header cell was weekend or not
|
|
932
968
|
*
|
|
@@ -174,6 +174,7 @@ var Tooltip = /** @class */ (function () {
|
|
|
174
174
|
* @returns {void} .
|
|
175
175
|
*/
|
|
176
176
|
Tooltip.prototype.updateTooltipPosition = function (args) {
|
|
177
|
+
args.element.style.visibility = 'visible';
|
|
177
178
|
if (isNullOrUndefined(this.tooltipMouseEvent) || args.target.classList.contains('e-notes-info')) {
|
|
178
179
|
return;
|
|
179
180
|
}
|
|
@@ -203,7 +204,6 @@ var Tooltip = /** @class */ (function () {
|
|
|
203
204
|
tooltipPositionY = tooltipPositionY + 10;
|
|
204
205
|
}
|
|
205
206
|
args.element.style.top = tooltipPositionY + 'px';
|
|
206
|
-
args.element.style.visibility = 'visible';
|
|
207
207
|
};
|
|
208
208
|
/**
|
|
209
209
|
* Method to get mouse pointor position
|
|
@@ -245,9 +245,16 @@ var Tooltip = /** @class */ (function () {
|
|
|
245
245
|
switch (elementType) {
|
|
246
246
|
case 'milestone':
|
|
247
247
|
{
|
|
248
|
-
var
|
|
248
|
+
var milestoneStartDate = void 0;
|
|
249
|
+
if (args.target.className.includes('e-baseline-gantt-milestone') && !isNullOrUndefined(data.baselineStartDate)) {
|
|
250
|
+
milestoneStartDate = data.baselineStartDate;
|
|
251
|
+
}
|
|
252
|
+
else if (!isNullOrUndefined(data.startDate)) {
|
|
253
|
+
milestoneStartDate = data.startDate;
|
|
254
|
+
}
|
|
255
|
+
var sDate = !isNullOrUndefined(milestoneStartDate) ? '<tr><td class = "e-gantt-tooltip-label"> Date</td><td>:</td>' +
|
|
249
256
|
'<td class = "e-gantt-tooltip-value">' +
|
|
250
|
-
this.parent.getFormatedDate(
|
|
257
|
+
this.parent.getFormatedDate(milestoneStartDate, this.parent.getDateFormat()) + '</td></tr>' : '';
|
|
251
258
|
content = '<table class = "e-gantt-tooltiptable"><tbody>' +
|
|
252
259
|
taskName + sDate + '</tbody></table>';
|
|
253
260
|
break;
|