@syncfusion/ej2-gantt 20.4.54 → 21.1.35
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 +14 -0
- package/README.md +1 -1
- package/dist/ej2-gantt.min.js +2 -2
- 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 +1086 -419
- package/dist/es6/ej2-gantt.es2015.js.map +1 -1
- package/dist/es6/ej2-gantt.es5.js +1064 -397
- 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 +20 -20
- package/src/gantt/actions/cell-edit.js +8 -6
- package/src/gantt/actions/chart-scroll.d.ts +1 -0
- package/src/gantt/actions/chart-scroll.js +15 -4
- package/src/gantt/actions/connector-line-edit.js +39 -28
- package/src/gantt/actions/context-menu.js +5 -5
- package/src/gantt/actions/dependency.js +28 -12
- package/src/gantt/actions/dialog-edit.js +41 -21
- package/src/gantt/actions/edit.js +51 -30
- package/src/gantt/actions/filter.d.ts +2 -1
- package/src/gantt/actions/filter.js +88 -2
- package/src/gantt/actions/keyboard.js +0 -1
- package/src/gantt/actions/pdf-export.d.ts +3 -1
- package/src/gantt/actions/pdf-export.js +12 -6
- package/src/gantt/actions/rowdragdrop.js +2 -2
- package/src/gantt/actions/selection.js +5 -2
- package/src/gantt/actions/taskbar-edit.d.ts +5 -0
- package/src/gantt/actions/taskbar-edit.js +114 -10
- package/src/gantt/base/date-processor.js +78 -52
- package/src/gantt/base/gantt-chart.js +20 -4
- package/src/gantt/base/gantt-model.d.ts +43 -0
- package/src/gantt/base/gantt.d.ts +39 -1
- package/src/gantt/base/gantt.js +78 -33
- package/src/gantt/base/interface.d.ts +2 -0
- package/src/gantt/base/task-processor.js +135 -98
- package/src/gantt/base/tree-grid.js +31 -1
- package/src/gantt/base/utils.js +1 -1
- package/src/gantt/renderer/chart-rows.d.ts +2 -0
- package/src/gantt/renderer/chart-rows.js +156 -24
- package/src/gantt/renderer/connector-line.js +50 -20
- package/src/gantt/renderer/edit-tooltip.js +0 -3
- package/src/gantt/renderer/event-marker.js +4 -1
- package/src/gantt/renderer/nonworking-day.js +4 -1
- package/src/gantt/renderer/timeline.js +3 -3
- package/src/gantt/renderer/tooltip.js +101 -33
- package/styles/bootstrap-dark.css +33 -10
- package/styles/bootstrap.css +31 -10
- package/styles/bootstrap4.css +28 -7
- package/styles/bootstrap5-dark.css +30 -9
- package/styles/bootstrap5.css +30 -9
- package/styles/fabric-dark.css +28 -7
- package/styles/fabric.css +28 -7
- package/styles/fluent-dark.css +56 -29
- package/styles/fluent.css +56 -29
- package/styles/gantt/_bootstrap-dark-definition.scss +5 -4
- package/styles/gantt/_bootstrap-definition.scss +5 -4
- package/styles/gantt/_bootstrap4-definition.scss +3 -2
- package/styles/gantt/_bootstrap5-definition.scss +15 -14
- package/styles/gantt/_fabric-dark-definition.scss +3 -2
- package/styles/gantt/_fabric-definition.scss +3 -2
- package/styles/gantt/_fluent-definition.scss +18 -17
- package/styles/gantt/_fusionnew-definition.scss +5 -4
- package/styles/gantt/_highcontrast-definition.scss +3 -2
- package/styles/gantt/_highcontrast-light-definition.scss +3 -2
- package/styles/gantt/_layout.scss +45 -13
- package/styles/gantt/_material-dark-definition.scss +3 -2
- package/styles/gantt/_material-definition.scss +3 -2
- package/styles/gantt/_tailwind-definition.scss +9 -8
- package/styles/gantt/_theme.scss +25 -6
- package/styles/gantt/bootstrap-dark.css +33 -10
- package/styles/gantt/bootstrap.css +31 -10
- package/styles/gantt/bootstrap4.css +28 -7
- package/styles/gantt/bootstrap5-dark.css +30 -9
- package/styles/gantt/bootstrap5.css +30 -9
- package/styles/gantt/fabric-dark.css +28 -7
- package/styles/gantt/fabric.css +28 -7
- package/styles/gantt/fluent-dark.css +56 -29
- package/styles/gantt/fluent.css +56 -29
- package/styles/gantt/highcontrast-light.css +28 -9
- package/styles/gantt/highcontrast.css +28 -7
- package/styles/gantt/material-dark.css +31 -14
- package/styles/gantt/material.css +28 -7
- package/styles/gantt/tailwind-dark.css +28 -7
- package/styles/gantt/tailwind.css +28 -7
- package/styles/highcontrast-light.css +28 -9
- package/styles/highcontrast.css +28 -7
- package/styles/material-dark.css +31 -14
- package/styles/material.css +28 -7
- package/styles/tailwind-dark.css +28 -7
- package/styles/tailwind.css +28 -7
- package/styles/gantt/_material3-definition.scss +0 -218
|
@@ -170,7 +170,7 @@ var Timeline = /** @class */ (function () {
|
|
|
170
170
|
else {
|
|
171
171
|
var value = property === 'topTier' ? 'bottomTier' : 'topTier';
|
|
172
172
|
var assignValue = 'bottomTier';
|
|
173
|
-
if (newTimeline[assignValue].unit != "None") {
|
|
173
|
+
if (newTimeline["" + assignValue].unit != "None") {
|
|
174
174
|
_this.customTimelineSettings[value] = __assign({}, newTimeline[assignValue]);
|
|
175
175
|
}
|
|
176
176
|
}
|
|
@@ -473,7 +473,7 @@ var Timeline = /** @class */ (function () {
|
|
|
473
473
|
else {
|
|
474
474
|
secondValue = sortedUnitLevels[i + 1];
|
|
475
475
|
}
|
|
476
|
-
if (count >= firstValue[tier].count) {
|
|
476
|
+
if (count >= firstValue["" + tier].count) {
|
|
477
477
|
currentZoomCollection = sortedUnitLevels[i];
|
|
478
478
|
checkSameCountLevels = sortedUnitLevels.filter(function (tempLevel) {
|
|
479
479
|
if (tier === "bottomTier") {
|
|
@@ -491,7 +491,7 @@ var Timeline = /** @class */ (function () {
|
|
|
491
491
|
}
|
|
492
492
|
break;
|
|
493
493
|
}
|
|
494
|
-
else if (count < firstValue[tier].count && count > secondValue[tier].count) {
|
|
494
|
+
else if (count < firstValue["" + tier].count && count > secondValue["" + tier].count) {
|
|
495
495
|
currentZoomCollection = sortedUnitLevels[i + 1];
|
|
496
496
|
checkSameCountLevels = sortedUnitLevels.filter(function (tempLevel) {
|
|
497
497
|
if (tier === "bottomTier") {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Tooltip as TooltipComponent } from '@syncfusion/ej2-popups';
|
|
2
2
|
import { parentsUntil } from '../base/utils';
|
|
3
3
|
import * as cls from '../base/css-constants';
|
|
4
|
-
import { extend, isNullOrUndefined, getValue, EventHandler, closest } from '@syncfusion/ej2-base';
|
|
4
|
+
import { extend, isNullOrUndefined, getValue, EventHandler, closest, SanitizeHtmlHelper } from '@syncfusion/ej2-base';
|
|
5
5
|
import { Deferred } from '@syncfusion/ej2-data';
|
|
6
6
|
/**
|
|
7
7
|
* File for handling tooltip in Gantt.
|
|
@@ -28,7 +28,7 @@ var Tooltip = /** @class */ (function () {
|
|
|
28
28
|
this.toolTipObj.position = 'BottomCenter';
|
|
29
29
|
this.toolTipObj.openDelay = 700;
|
|
30
30
|
this.toolTipObj.enableRtl = this.parent.enableRtl;
|
|
31
|
-
this.toolTipObj.enableHtmlSanitizer =
|
|
31
|
+
this.toolTipObj.enableHtmlSanitizer = this.parent.enableHtmlSanitizer;
|
|
32
32
|
this.toolTipObj.cssClass = cls.ganttTooltip;
|
|
33
33
|
this.toolTipObj.animation = { open: { effect: 'None', delay: 0 }, close: { effect: 'None', delay: 0 } };
|
|
34
34
|
this.toolTipObj.afterOpen = this.updateTooltipPosition.bind(this);
|
|
@@ -241,8 +241,12 @@ var Tooltip = /** @class */ (function () {
|
|
|
241
241
|
var taskName;
|
|
242
242
|
if (ganttData) {
|
|
243
243
|
data = ganttData.ganttProperties;
|
|
244
|
-
|
|
245
|
-
|
|
244
|
+
var taskNameValue = data.taskName;
|
|
245
|
+
if (this.parent.enableHtmlSanitizer && typeof (taskNameValue) === 'string') {
|
|
246
|
+
taskNameValue = SanitizeHtmlHelper.sanitize(taskNameValue);
|
|
247
|
+
}
|
|
248
|
+
taskName = !isNullOrUndefined(taskNameValue) ? '<tr class = "e-gantt-tooltip-rowcell"><td colspan="3">' +
|
|
249
|
+
(this.parent.disableHtmlEncode ? taskNameValue.replace(/</g, "<").replace(/>/g, ">") : taskNameValue) + '</td></tr>' : '';
|
|
246
250
|
}
|
|
247
251
|
switch (elementType) {
|
|
248
252
|
case 'milestone':
|
|
@@ -254,9 +258,13 @@ var Tooltip = /** @class */ (function () {
|
|
|
254
258
|
else if (!isNullOrUndefined(data.startDate)) {
|
|
255
259
|
milestoneStartDate = data.startDate;
|
|
256
260
|
}
|
|
261
|
+
var sDateValue = this.parent.getFormatedDate(milestoneStartDate, this.parent.getDateFormat());
|
|
262
|
+
if (this.parent.enableHtmlSanitizer && typeof (sDateValue) === 'string') {
|
|
263
|
+
sDateValue = SanitizeHtmlHelper.sanitize(sDateValue);
|
|
264
|
+
}
|
|
257
265
|
var sDate = !isNullOrUndefined(milestoneStartDate) ? '<tr><td class = "e-gantt-tooltip-label"> Date</td><td>:</td>' +
|
|
258
266
|
'<td class = "e-gantt-tooltip-value">' +
|
|
259
|
-
|
|
267
|
+
sDateValue + '</td></tr>' : '';
|
|
260
268
|
content = '<table class = "e-gantt-tooltiptable"><tbody>' +
|
|
261
269
|
taskName + sDate + '</tbody></table>';
|
|
262
270
|
break;
|
|
@@ -264,20 +272,28 @@ var Tooltip = /** @class */ (function () {
|
|
|
264
272
|
case 'taskbar':
|
|
265
273
|
{
|
|
266
274
|
var scheduledTask = !ganttData.hasChildRecords || data.isAutoSchedule ? true : false;
|
|
275
|
+
var startDateValue = this.parent.getFormatedDate(scheduledTask ? data.startDate : data.autoStartDate, this.parent.getDateFormat());
|
|
276
|
+
var endDateValue = this.parent.getFormatedDate(scheduledTask ? data.endDate : data.autoEndDate, this.parent.getDateFormat());
|
|
277
|
+
var durationValue = this.parent.getDurationString((scheduledTask ? data.duration : data.autoDuration), data.durationUnit);
|
|
278
|
+
var progressValue = data.progress;
|
|
279
|
+
if (this.parent.enableHtmlSanitizer) {
|
|
280
|
+
startDateValue = typeof (startDateValue) === 'string' ? SanitizeHtmlHelper.sanitize(startDateValue) : startDateValue;
|
|
281
|
+
endDateValue = typeof (endDateValue) === 'string' ? SanitizeHtmlHelper.sanitize(endDateValue) : endDateValue;
|
|
282
|
+
durationValue = typeof (durationValue) === 'string' ? SanitizeHtmlHelper.sanitize(durationValue) : durationValue;
|
|
283
|
+
progressValue = typeof (progressValue) === 'string' ? SanitizeHtmlHelper.sanitize(progressValue) : progressValue;
|
|
284
|
+
}
|
|
267
285
|
var startDate = data.startDate ? '<tr><td class = "e-gantt-tooltip-label">' +
|
|
268
286
|
this.parent.localeObj.getConstant(scheduledTask ? 'startDate' : 'subTasksStartDate') +
|
|
269
|
-
'</td><td>:</td>' + '<td class = "e-gantt-tooltip-value"> ' +
|
|
270
|
-
this.parent.getFormatedDate(scheduledTask ? data.startDate : data.autoStartDate, this.parent.getDateFormat()) +
|
|
271
|
-
'</td></tr>' : '';
|
|
287
|
+
'</td><td>:</td>' + '<td class = "e-gantt-tooltip-value"> ' + startDateValue + '</td></tr>' : '';
|
|
272
288
|
var endDate = data.endDate ? '<tr><td class = "e-gantt-tooltip-label">' +
|
|
273
289
|
this.parent.localeObj.getConstant(scheduledTask ? 'endDate' : 'subTasksEndDate') +
|
|
274
|
-
'</td><td>:</td
|
|
290
|
+
'</td><td>:</td>' + '<td class = "e-gantt-tooltip-value">' + endDateValue + '</td></tr>' : '';
|
|
275
291
|
var duration = !isNullOrUndefined(data.duration) ? '<tr><td class = "e-gantt-tooltip-label">' +
|
|
276
292
|
this.parent.localeObj.getConstant('duration') + '</td><td>:</td>' +
|
|
277
|
-
'<td class = "e-gantt-tooltip-value"> ' +
|
|
293
|
+
'<td class = "e-gantt-tooltip-value"> ' + durationValue +
|
|
278
294
|
'</td></tr>' : '';
|
|
279
295
|
var progress = !isNullOrUndefined(data.progress) ? '<tr><td class = "e-gantt-tooltip-label">' +
|
|
280
|
-
this.parent.localeObj.getConstant('progress') + '</td><td>:</td><td>' +
|
|
296
|
+
this.parent.localeObj.getConstant('progress') + '</td><td>:</td><td>' + progressValue +
|
|
281
297
|
'</td></tr>' : '';
|
|
282
298
|
content = '<table class = "e-gantt-tooltiptable"><tbody>' +
|
|
283
299
|
taskName + startDate + endDate + duration + progress + '</tbody></table>';
|
|
@@ -285,82 +301,131 @@ var Tooltip = /** @class */ (function () {
|
|
|
285
301
|
}
|
|
286
302
|
case 'baseline':
|
|
287
303
|
{
|
|
304
|
+
var baselineStartDateValue = this.parent.getFormatedDate(data.baselineStartDate, this.parent.getDateFormat());
|
|
305
|
+
var baselineEndDateValue = this.parent.getFormatedDate(data.baselineEndDate, this.parent.getDateFormat());
|
|
306
|
+
if (this.parent.enableHtmlSanitizer) {
|
|
307
|
+
baselineStartDateValue = typeof (baselineStartDateValue) === 'string' ? SanitizeHtmlHelper.sanitize(baselineStartDateValue) : baselineStartDateValue;
|
|
308
|
+
baselineEndDateValue = typeof (baselineEndDateValue) === 'string' ? SanitizeHtmlHelper.sanitize(baselineEndDateValue) : baselineEndDateValue;
|
|
309
|
+
}
|
|
288
310
|
content = '<table class = "e-gantt-tooltiptable"><tbody>' +
|
|
289
311
|
taskName + '<tr><td class = "e-gantt-tooltip-label">' +
|
|
290
312
|
this.parent.localeObj.getConstant('baselineStartDate') + '</td><td>:</td>' + '<td class = "e-gantt-tooltip-value">' +
|
|
291
|
-
|
|
313
|
+
baselineStartDateValue + '</td></tr><tr>' +
|
|
292
314
|
'<td class = "e-gantt-tooltip-label">' + this.parent.localeObj.getConstant('baselineEndDate') +
|
|
293
315
|
'</td><td>:</td><td class = "e-gantt-tooltip-value">' +
|
|
294
|
-
|
|
316
|
+
baselineEndDateValue + '</td></tr></tbody></table>';
|
|
295
317
|
break;
|
|
296
318
|
}
|
|
297
319
|
case 'marker':
|
|
298
320
|
{
|
|
299
321
|
var markerTooltipElement = parent.tooltipModule.getMarkerTooltipData(args);
|
|
322
|
+
var markerTooltipElementValue = this.parent.getFormatedDate(this.parent.dateValidationModule.getDateFromFormat(markerTooltipElement.day), this.parent.getDateFormat());
|
|
300
323
|
var markerLabel = markerTooltipElement.label ? markerTooltipElement.label : '';
|
|
324
|
+
if (this.parent.enableHtmlSanitizer) {
|
|
325
|
+
markerLabel = typeof (markerLabel) === 'string' ? SanitizeHtmlHelper.sanitize(markerLabel) : markerLabel;
|
|
326
|
+
markerTooltipElementValue = typeof (markerTooltipElementValue) === 'string' ? SanitizeHtmlHelper.sanitize(markerTooltipElementValue) : markerTooltipElementValue;
|
|
327
|
+
}
|
|
301
328
|
content = '<table class = "e-gantt-tooltiptable"><tbody><tr><td>' +
|
|
302
|
-
|
|
303
|
-
'</td></tr><tr><td>' +
|
|
304
|
-
markerLabel + '</td></tr></tbody></table>';
|
|
329
|
+
markerTooltipElementValue + '</td></tr><tr><td>' + (this.parent.disableHtmlEncode ? markerLabel.replace(/</g, "<").replace(/>/g, ">") : markerLabel) + '</td></tr></tbody></table>';
|
|
305
330
|
break;
|
|
306
331
|
}
|
|
307
332
|
case 'connectorLine':
|
|
308
333
|
{
|
|
334
|
+
var fromNameValue = parent.tooltipModule.predecessorTooltipData.fromName;
|
|
335
|
+
var fromIdValue = parent.tooltipModule.predecessorTooltipData.fromId;
|
|
336
|
+
var toNameValue = parent.tooltipModule.predecessorTooltipData.toName;
|
|
337
|
+
var toIdValue = parent.tooltipModule.predecessorTooltipData.toId;
|
|
338
|
+
var linkTextValue = parent.tooltipModule.predecessorTooltipData.linkText;
|
|
339
|
+
var offsetStringValue = parent.tooltipModule.predecessorTooltipData.offsetString;
|
|
340
|
+
if (this.parent.enableHtmlSanitizer) {
|
|
341
|
+
fromNameValue = typeof (fromNameValue) === 'string' ? SanitizeHtmlHelper.sanitize(fromNameValue) : fromNameValue;
|
|
342
|
+
fromIdValue = typeof (fromIdValue) === 'string' ? SanitizeHtmlHelper.sanitize(fromIdValue) : fromIdValue;
|
|
343
|
+
toNameValue = typeof (toNameValue) === 'string' ? SanitizeHtmlHelper.sanitize(toNameValue) : toNameValue;
|
|
344
|
+
toIdValue = typeof (toIdValue) === 'string' ? SanitizeHtmlHelper.sanitize(toIdValue) : toIdValue;
|
|
345
|
+
linkTextValue = typeof (linkTextValue) === 'string' ? SanitizeHtmlHelper.sanitize(linkTextValue) : linkTextValue;
|
|
346
|
+
offsetStringValue = typeof (offsetStringValue) === 'string' ? SanitizeHtmlHelper.sanitize(offsetStringValue) : offsetStringValue;
|
|
347
|
+
}
|
|
309
348
|
content = '<table class = "e-gantt-tooltiptable"><tbody><tr><td class = "e-gantt-tooltip-label">' +
|
|
310
349
|
this.parent.localeObj.getConstant('from') + '</td><td>:</td>' +
|
|
311
|
-
'<td class = "e-gantt-tooltip-value">' + parent.
|
|
312
|
-
parent.
|
|
350
|
+
'<td class = "e-gantt-tooltip-value">' + (this.parent.disableHtmlEncode ? fromNameValue.replace(/</g, "<").replace(/>/g, ">") : fromNameValue) + ' (' +
|
|
351
|
+
(this.parent.disableHtmlEncode ? (typeof (fromIdValue) === 'string' ? fromIdValue.replace(/</g, "<").replace(/>/g, ">") : fromIdValue) : fromIdValue) + ')' + '</td></tr><tr><td class = "e-gantt-tooltip-label">' +
|
|
313
352
|
this.parent.localeObj.getConstant('to') + '</td><td>:</td>' + '<td class = "e-gantt-tooltip-value">' +
|
|
314
|
-
parent.
|
|
315
|
-
'
|
|
316
|
-
'</td></tr><tr><td class = "e-gantt-tooltip-label">' + this.parent.localeObj.getConstant('taskLink') +
|
|
317
|
-
'</td><td>:</td><td class = "e-gantt-tooltip-value"> ' + parent.tooltipModule.predecessorTooltipData.linkText +
|
|
353
|
+
(this.parent.disableHtmlEncode ? toNameValue.replace(/</g, "<").replace(/>/g, ">") : toNameValue) + ' (' + toIdValue + ')' + '</td></tr><tr><td class = "e-gantt-tooltip-label">' + this.parent.localeObj.getConstant('taskLink') +
|
|
354
|
+
'</td><td>:</td><td class = "e-gantt-tooltip-value"> ' + linkTextValue +
|
|
318
355
|
'</td></tr><tr><td class = "e-gantt-tooltip-label">' + this.parent.localeObj.getConstant('lag') +
|
|
319
356
|
'</td><td>:</td><td class = "e-gantt-tooltip-value">' +
|
|
320
|
-
|
|
357
|
+
offsetStringValue + '</td></tr></tbody></table>';
|
|
321
358
|
break;
|
|
322
359
|
}
|
|
323
360
|
case 'indicator':
|
|
324
361
|
if (args.target.title.length) {
|
|
325
|
-
|
|
362
|
+
var titleValue = args.target.title;
|
|
363
|
+
if (this.parent.enableHtmlSanitizer && typeof (titleValue) === 'string') {
|
|
364
|
+
titleValue = SanitizeHtmlHelper.sanitize(titleValue);
|
|
365
|
+
}
|
|
366
|
+
content = '<table class = "e-gantt-tooltiptable"><tbody><tr>' + titleValue + '</tr></tbody></table>';
|
|
326
367
|
}
|
|
327
368
|
break;
|
|
328
369
|
case 'timeline':
|
|
329
|
-
|
|
370
|
+
var timlineTitleValue = args.target.title;
|
|
371
|
+
if (this.parent.enableHtmlSanitizer && typeof (timlineTitleValue) === 'string') {
|
|
372
|
+
timlineTitleValue = SanitizeHtmlHelper.sanitize(timlineTitleValue);
|
|
373
|
+
}
|
|
374
|
+
content = '<table class = "e-gantt-tooltiptable"><tbody><tr>' + timlineTitleValue + '</tr></tbody></table>';
|
|
330
375
|
break;
|
|
331
376
|
case 'manualtaskbar':
|
|
332
377
|
{
|
|
378
|
+
var autoStartDateValue = this.parent.getFormatedDate(data.autoStartDate, this.parent.getDateFormat());
|
|
379
|
+
var autoEndDateValue = this.parent.getFormatedDate(data.autoEndDate, this.parent.getDateFormat());
|
|
380
|
+
var durationUnitValue = this.parent.getDurationString(data.duration, data.durationUnit);
|
|
381
|
+
var manualStartDateValue = this.parent.getFormatedDate(data.startDate, this.parent.getDateFormat());
|
|
382
|
+
var manualEndDateValue = this.parent.getFormatedDate(data.endDate, this.parent.getDateFormat());
|
|
383
|
+
if (this.parent.enableHtmlSanitizer) {
|
|
384
|
+
autoStartDateValue = typeof (autoStartDateValue) === 'string' ? SanitizeHtmlHelper.sanitize(autoStartDateValue) : autoStartDateValue;
|
|
385
|
+
autoEndDateValue = typeof (autoEndDateValue) === 'string' ? SanitizeHtmlHelper.sanitize(autoEndDateValue) : autoEndDateValue;
|
|
386
|
+
durationUnitValue = typeof (durationUnitValue) === 'string' ? SanitizeHtmlHelper.sanitize(durationUnitValue) : durationUnitValue;
|
|
387
|
+
manualStartDateValue = typeof (manualStartDateValue) === 'string' ? SanitizeHtmlHelper.sanitize(manualStartDateValue) : manualStartDateValue;
|
|
388
|
+
manualEndDateValue = typeof (manualEndDateValue) === 'string' ? SanitizeHtmlHelper.sanitize(manualEndDateValue) : manualEndDateValue;
|
|
389
|
+
}
|
|
333
390
|
var autoStartDate = data.autoStartDate ? '<tr><td class = "e-gantt-tooltip-label">' +
|
|
334
391
|
this.parent.localeObj.getConstant('subTasksStartDate') + '</td><td>:</td>' + '<td class = "e-gantt-tooltip-value"> ' +
|
|
335
|
-
|
|
392
|
+
autoStartDateValue + '</td></tr>' : '';
|
|
336
393
|
var autoEndDate = data.autoEndDate ? '<tr><td class = "e-gantt-tooltip-label">' +
|
|
337
394
|
this.parent.localeObj.getConstant('subTasksEndDate') + '</td><td>:</td>' + '<td class = "e-gantt-tooltip-value">' +
|
|
338
|
-
|
|
395
|
+
autoEndDateValue + '</td></tr>' : '';
|
|
339
396
|
var durationValue = !isNullOrUndefined(data.duration) ? '<tr><td class = "e-gantt-tooltip-label">' +
|
|
340
397
|
this.parent.localeObj.getConstant('duration') + '</td><td>:</td>' +
|
|
341
|
-
'<td class = "e-gantt-tooltip-value"> ' +
|
|
398
|
+
'<td class = "e-gantt-tooltip-value"> ' + durationUnitValue +
|
|
342
399
|
'</td></tr>' : '';
|
|
343
400
|
var manualStartDate = data.startDate ? '<tr><td class = "e-gantt-tooltip-label">' +
|
|
344
401
|
this.parent.localeObj.getConstant('startDate') + '</td><td>:</td>' + '<td class = "e-gantt-tooltip-value"> ' +
|
|
345
|
-
|
|
402
|
+
manualStartDateValue + '</td></tr>' : '';
|
|
346
403
|
var manualEndDate = data.endDate ? '<tr><td class = "e-gantt-tooltip-label">' +
|
|
347
404
|
this.parent.localeObj.getConstant('endDate') + '</td><td>:</td>' + '<td class = "e-gantt-tooltip-value">' +
|
|
348
|
-
|
|
405
|
+
manualEndDateValue + '</td></tr>' : '';
|
|
349
406
|
content = '<table class = "e-gantt-tooltiptable"><tbody>' +
|
|
350
407
|
taskName + manualStartDate + autoStartDate + manualEndDate + autoEndDate + durationValue + '</tbody></table>';
|
|
351
408
|
break;
|
|
352
409
|
}
|
|
353
410
|
case 'manualmilestone':
|
|
354
411
|
{
|
|
412
|
+
var autoStartValue = this.parent.getFormatedDate(data.autoStartDate, this.parent.getDateFormat());
|
|
413
|
+
var autoEndValue = this.parent.getFormatedDate(data.autoEndDate, this.parent.getDateFormat());
|
|
414
|
+
var dateValue = this.parent.getFormatedDate(data.startDate, this.parent.getDateFormat());
|
|
415
|
+
if (this.parent.enableHtmlSanitizer) {
|
|
416
|
+
autoStartValue = typeof (autoStartValue) === 'string' ? SanitizeHtmlHelper.sanitize(autoStartValue) : autoStartValue;
|
|
417
|
+
autoEndValue = typeof (autoEndValue) === 'string' ? SanitizeHtmlHelper.sanitize(autoEndValue) : autoEndValue;
|
|
418
|
+
dateValue = typeof (dateValue) === 'string' ? SanitizeHtmlHelper.sanitize(dateValue) : dateValue;
|
|
419
|
+
}
|
|
355
420
|
var autoStart = data.autoStartDate ? '<tr><td class = "e-gantt-tooltip-label">' +
|
|
356
421
|
this.parent.localeObj.getConstant('subTasksStartDate') + '</td><td>:</td>' + '<td class = "e-gantt-tooltip-value"> ' +
|
|
357
|
-
|
|
422
|
+
autoStartValue + '</td></tr>' : '';
|
|
358
423
|
var autoEnd = data.autoEndDate ? '<tr><td class = "e-gantt-tooltip-label">' +
|
|
359
424
|
this.parent.localeObj.getConstant('subTasksEndDate') + '</td><td>:</td>' + '<td class = "e-gantt-tooltip-value">' +
|
|
360
|
-
|
|
425
|
+
autoEndValue + '</td></tr>' : '';
|
|
361
426
|
var date = '<tr><td class = "e-gantt-tooltip-label"> Date</td><td>:</td>' +
|
|
362
427
|
'<td class = "e-gantt-tooltip-value">' +
|
|
363
|
-
|
|
428
|
+
dateValue + '</tr>';
|
|
364
429
|
content = '<table class = "e-gantt-tooltiptable"><tbody>' +
|
|
365
430
|
taskName + date + autoStart + autoEnd + '</tbody></table>';
|
|
366
431
|
break;
|
|
@@ -389,6 +454,9 @@ var Tooltip = /** @class */ (function () {
|
|
|
389
454
|
*/
|
|
390
455
|
Tooltip.prototype.getPredecessorTooltipData = function (args) {
|
|
391
456
|
var predeceesorParent = args.target.parentElement.id;
|
|
457
|
+
if (this.parent.enableHtmlSanitizer && typeof (predeceesorParent) === 'string') {
|
|
458
|
+
predeceesorParent = SanitizeHtmlHelper.sanitize(predeceesorParent);
|
|
459
|
+
}
|
|
392
460
|
var taskIds = predeceesorParent.match(/ConnectorLineparent(.*)child(.*)/);
|
|
393
461
|
taskIds.shift();
|
|
394
462
|
var fromTask;
|
|
@@ -312,6 +312,12 @@
|
|
|
312
312
|
.e-bigger .e-gantt .e-gantt-tree-grid-pane .e-columnheader .e-headercell {
|
|
313
313
|
height: 63px !important; /* stylelint-disable-line declaration-no-important */
|
|
314
314
|
}
|
|
315
|
+
.e-bigger .e-gantt .e-gantt-dialog .e-tab .e-tab-header {
|
|
316
|
+
padding-left: 12px;
|
|
317
|
+
}
|
|
318
|
+
.e-bigger .e-gantt .e-gantt-dialog .e-tab .e-tab-header .e-indicator {
|
|
319
|
+
display: block;
|
|
320
|
+
}
|
|
315
321
|
.e-bigger .e-gantt .e-dialog .e-dlg-header-content {
|
|
316
322
|
padding: 16px 4px 16px 16px !important; /* stylelint-disable-line declaration-no-important */
|
|
317
323
|
}
|
|
@@ -341,7 +347,7 @@
|
|
|
341
347
|
border-radius: 6px !important;
|
|
342
348
|
padding: 32px 16px 16px !important;
|
|
343
349
|
}
|
|
344
|
-
.e-bigger .e-grid .e-columnmenu {
|
|
350
|
+
.e-bigger .e-gantt .e-grid .e-columnmenu {
|
|
345
351
|
top: 40px;
|
|
346
352
|
}
|
|
347
353
|
.e-bigger .e-gantt-dialog .e-dialog {
|
|
@@ -380,6 +386,7 @@
|
|
|
380
386
|
border-radius: 50%;
|
|
381
387
|
height: auto !important; /* stylelint-disable-line declaration-no-important */
|
|
382
388
|
width: auto;
|
|
389
|
+
box-shadow: none;
|
|
383
390
|
}
|
|
384
391
|
.e-bigger .e-gantt-dialog .e-tab .e-tab-header .e-toolbar-item.e-active {
|
|
385
392
|
margin-left: 5px !important;
|
|
@@ -1268,7 +1275,6 @@
|
|
|
1268
1275
|
outline: 1px solid;
|
|
1269
1276
|
outline-offset: 2px;
|
|
1270
1277
|
}
|
|
1271
|
-
|
|
1272
1278
|
.e-gantt-dialog .e-tab .e-tab-header {
|
|
1273
1279
|
padding-left: 12px;
|
|
1274
1280
|
}
|
|
@@ -1361,6 +1367,7 @@
|
|
|
1361
1367
|
border-radius: 50%;
|
|
1362
1368
|
height: auto !important; /* stylelint-disable-line declaration-no-important */
|
|
1363
1369
|
width: auto;
|
|
1370
|
+
box-shadow: none;
|
|
1364
1371
|
}
|
|
1365
1372
|
|
|
1366
1373
|
.e-icon-rowselect::before {
|
|
@@ -1665,13 +1672,13 @@
|
|
|
1665
1672
|
}
|
|
1666
1673
|
.e-gantt .e-gantt-chart .e-gantt-parent-progressbar-inner-div {
|
|
1667
1674
|
background-color: #4cc7ba;
|
|
1668
|
-
border:
|
|
1675
|
+
border: 0px solid #4cc7ba;
|
|
1669
1676
|
border-radius: 4px;
|
|
1670
1677
|
}
|
|
1671
1678
|
.e-gantt .e-gantt-chart .e-gantt-child-progressbar-inner-div {
|
|
1672
1679
|
background-color: #0070f0;
|
|
1673
|
-
border:
|
|
1674
|
-
border-radius:
|
|
1680
|
+
border: 0px solid #0070f0;
|
|
1681
|
+
border-radius: 3px;
|
|
1675
1682
|
}
|
|
1676
1683
|
.e-gantt .e-gantt-chart .e-gantt-child-manualtaskbar {
|
|
1677
1684
|
background-color: #8dd1c4;
|
|
@@ -1682,7 +1689,7 @@
|
|
|
1682
1689
|
}
|
|
1683
1690
|
.e-gantt .e-gantt-chart .e-gantt-child-manualprogressbar {
|
|
1684
1691
|
background-color: #67c1b2;
|
|
1685
|
-
|
|
1692
|
+
outline: #4fb29f;
|
|
1686
1693
|
}
|
|
1687
1694
|
.e-gantt .e-gantt-chart .e-gantt-critical-child-manualprogressbar {
|
|
1688
1695
|
background-color: #67c1b2;
|
|
@@ -1742,6 +1749,18 @@
|
|
|
1742
1749
|
.e-gantt .e-gantt-chart .e-line {
|
|
1743
1750
|
border-color: #0070f0;
|
|
1744
1751
|
}
|
|
1752
|
+
.e-gantt .e-gantt-chart .e-connector-line {
|
|
1753
|
+
stroke: #0070f0;
|
|
1754
|
+
}
|
|
1755
|
+
.e-gantt .e-gantt-chart .e-critical-line {
|
|
1756
|
+
stroke: #d13438;
|
|
1757
|
+
}
|
|
1758
|
+
.e-gantt .e-gantt-chart .e-connector-line-arrow {
|
|
1759
|
+
fill: #0070f0;
|
|
1760
|
+
}
|
|
1761
|
+
.e-gantt .e-gantt-chart .e-critical-line-arrow {
|
|
1762
|
+
fill: #d13438;
|
|
1763
|
+
}
|
|
1745
1764
|
.e-gantt .e-gantt-chart .e-connector-line-right-arrow {
|
|
1746
1765
|
border-left-color: #0070f0;
|
|
1747
1766
|
}
|
|
@@ -1793,7 +1812,10 @@
|
|
|
1793
1812
|
padding-right: 25px;
|
|
1794
1813
|
}
|
|
1795
1814
|
.e-gantt .e-gantt-chart .e-connectorpoint-right {
|
|
1796
|
-
margin-left:
|
|
1815
|
+
margin-left: 3px;
|
|
1816
|
+
}
|
|
1817
|
+
.e-gantt .e-gantt-chart .e-connectorpoint-left {
|
|
1818
|
+
margin-right: 3px;
|
|
1797
1819
|
}
|
|
1798
1820
|
.e-gantt .e-gantt-chart .e-right-connectorpoint-outer-div,
|
|
1799
1821
|
.e-gantt .e-gantt-chart .e-left-connectorpoint-outer-div {
|
|
@@ -2054,14 +2076,15 @@
|
|
|
2054
2076
|
|
|
2055
2077
|
.e-gantt .e-gantt-chart .e-gantt-child-critical-taskbar-inner-div {
|
|
2056
2078
|
background-color: #F3D8DA;
|
|
2057
|
-
|
|
2079
|
+
outline: 1px solid #F3D8DA;
|
|
2058
2080
|
border-radius: 4px;
|
|
2059
2081
|
}
|
|
2060
2082
|
|
|
2061
2083
|
.e-gantt .e-gantt-chart .e-gantt-child-critical-progressbar-inner-div {
|
|
2062
2084
|
background-color: #D13438;
|
|
2063
|
-
border:
|
|
2064
|
-
|
|
2085
|
+
border: 0px solid #0070f0;
|
|
2086
|
+
position: absolute;
|
|
2087
|
+
border-radius: 3px;
|
|
2065
2088
|
}
|
|
2066
2089
|
|
|
2067
2090
|
.e-gantt .e-gantt-chart .e-gantt-critical-unscheduled-taskbar {
|
package/styles/bootstrap.css
CHANGED
|
@@ -456,6 +456,12 @@
|
|
|
456
456
|
.e-bigger .e-gantt .e-gantt-tree-grid-pane .e-columnheader .e-headercell {
|
|
457
457
|
height: 63px !important; /* stylelint-disable-line declaration-no-important */
|
|
458
458
|
}
|
|
459
|
+
.e-bigger .e-gantt .e-gantt-dialog .e-tab .e-tab-header {
|
|
460
|
+
padding-left: 12px;
|
|
461
|
+
}
|
|
462
|
+
.e-bigger .e-gantt .e-gantt-dialog .e-tab .e-tab-header .e-indicator {
|
|
463
|
+
display: block;
|
|
464
|
+
}
|
|
459
465
|
.e-bigger .e-gantt .e-dialog .e-dlg-header-content {
|
|
460
466
|
padding: 16px 4px 16px 16px !important; /* stylelint-disable-line declaration-no-important */
|
|
461
467
|
}
|
|
@@ -485,7 +491,7 @@
|
|
|
485
491
|
border-radius: 6px !important;
|
|
486
492
|
padding: 32px 16px 16px !important;
|
|
487
493
|
}
|
|
488
|
-
.e-bigger .e-grid .e-columnmenu {
|
|
494
|
+
.e-bigger .e-gantt .e-grid .e-columnmenu {
|
|
489
495
|
top: 40px;
|
|
490
496
|
}
|
|
491
497
|
.e-bigger .e-gantt-dialog .e-dialog {
|
|
@@ -1412,7 +1418,6 @@
|
|
|
1412
1418
|
outline: 1px solid;
|
|
1413
1419
|
outline-offset: 2px;
|
|
1414
1420
|
}
|
|
1415
|
-
|
|
1416
1421
|
.e-gantt-dialog .e-tab .e-tab-header {
|
|
1417
1422
|
padding-left: 12px;
|
|
1418
1423
|
}
|
|
@@ -1809,13 +1814,13 @@
|
|
|
1809
1814
|
}
|
|
1810
1815
|
.e-gantt .e-gantt-chart .e-gantt-parent-progressbar-inner-div {
|
|
1811
1816
|
background-color: #555;
|
|
1812
|
-
border:
|
|
1817
|
+
border: 0px solid #555;
|
|
1813
1818
|
border-radius: 4px;
|
|
1814
1819
|
}
|
|
1815
1820
|
.e-gantt .e-gantt-chart .e-gantt-child-progressbar-inner-div {
|
|
1816
1821
|
background-color: #21527d;
|
|
1817
|
-
border:
|
|
1818
|
-
border-radius:
|
|
1822
|
+
border: 0px solid #21527d;
|
|
1823
|
+
border-radius: 3px;
|
|
1819
1824
|
}
|
|
1820
1825
|
.e-gantt .e-gantt-chart .e-gantt-child-manualtaskbar {
|
|
1821
1826
|
background-color: #7538C9;
|
|
@@ -1826,7 +1831,7 @@
|
|
|
1826
1831
|
}
|
|
1827
1832
|
.e-gantt .e-gantt-chart .e-gantt-child-manualprogressbar {
|
|
1828
1833
|
background-color: #572A96;
|
|
1829
|
-
|
|
1834
|
+
outline: 0px;
|
|
1830
1835
|
}
|
|
1831
1836
|
.e-gantt .e-gantt-chart .e-gantt-critical-child-manualprogressbar {
|
|
1832
1837
|
background-color: #572A96;
|
|
@@ -1886,6 +1891,18 @@
|
|
|
1886
1891
|
.e-gantt .e-gantt-chart .e-line {
|
|
1887
1892
|
border-color: #21527d;
|
|
1888
1893
|
}
|
|
1894
|
+
.e-gantt .e-gantt-chart .e-connector-line {
|
|
1895
|
+
stroke: #21527d;
|
|
1896
|
+
}
|
|
1897
|
+
.e-gantt .e-gantt-chart .e-critical-line {
|
|
1898
|
+
stroke: #d13438;
|
|
1899
|
+
}
|
|
1900
|
+
.e-gantt .e-gantt-chart .e-connector-line-arrow {
|
|
1901
|
+
fill: #21527d;
|
|
1902
|
+
}
|
|
1903
|
+
.e-gantt .e-gantt-chart .e-critical-line-arrow {
|
|
1904
|
+
fill: #d13438;
|
|
1905
|
+
}
|
|
1889
1906
|
.e-gantt .e-gantt-chart .e-connector-line-right-arrow {
|
|
1890
1907
|
border-left-color: #21527d;
|
|
1891
1908
|
}
|
|
@@ -1937,7 +1954,10 @@
|
|
|
1937
1954
|
padding-right: 25px;
|
|
1938
1955
|
}
|
|
1939
1956
|
.e-gantt .e-gantt-chart .e-connectorpoint-right {
|
|
1940
|
-
margin-left:
|
|
1957
|
+
margin-left: 3px;
|
|
1958
|
+
}
|
|
1959
|
+
.e-gantt .e-gantt-chart .e-connectorpoint-left {
|
|
1960
|
+
margin-right: 3px;
|
|
1941
1961
|
}
|
|
1942
1962
|
.e-gantt .e-gantt-chart .e-right-connectorpoint-outer-div,
|
|
1943
1963
|
.e-gantt .e-gantt-chart .e-left-connectorpoint-outer-div {
|
|
@@ -2198,14 +2218,15 @@
|
|
|
2198
2218
|
|
|
2199
2219
|
.e-gantt .e-gantt-chart .e-gantt-child-critical-taskbar-inner-div {
|
|
2200
2220
|
background-color: #F3D8DA;
|
|
2201
|
-
|
|
2221
|
+
outline: 1px solid #F3D8DA;
|
|
2202
2222
|
border-radius: 4px;
|
|
2203
2223
|
}
|
|
2204
2224
|
|
|
2205
2225
|
.e-gantt .e-gantt-chart .e-gantt-child-critical-progressbar-inner-div {
|
|
2206
2226
|
background-color: #D13438;
|
|
2207
|
-
border:
|
|
2208
|
-
|
|
2227
|
+
border: 0px solid #21527d;
|
|
2228
|
+
position: absolute;
|
|
2229
|
+
border-radius: 3px;
|
|
2209
2230
|
}
|
|
2210
2231
|
|
|
2211
2232
|
.e-gantt .e-gantt-chart .e-gantt-critical-unscheduled-taskbar {
|
package/styles/bootstrap4.css
CHANGED
|
@@ -637,6 +637,12 @@
|
|
|
637
637
|
.e-bigger .e-gantt .e-gantt-tree-grid-pane .e-columnheader .e-headercell {
|
|
638
638
|
height: 63px !important; /* stylelint-disable-line declaration-no-important */
|
|
639
639
|
}
|
|
640
|
+
.e-bigger .e-gantt .e-gantt-dialog .e-tab .e-tab-header {
|
|
641
|
+
padding-left: 12px;
|
|
642
|
+
}
|
|
643
|
+
.e-bigger .e-gantt .e-gantt-dialog .e-tab .e-tab-header .e-indicator {
|
|
644
|
+
display: block;
|
|
645
|
+
}
|
|
640
646
|
.e-bigger .e-gantt .e-dialog .e-dlg-header-content {
|
|
641
647
|
padding: 16px 4px 16px 16px !important; /* stylelint-disable-line declaration-no-important */
|
|
642
648
|
}
|
|
@@ -666,7 +672,7 @@
|
|
|
666
672
|
border-radius: 6px !important;
|
|
667
673
|
padding: 32px 16px 16px !important;
|
|
668
674
|
}
|
|
669
|
-
.e-bigger .e-grid .e-columnmenu {
|
|
675
|
+
.e-bigger .e-gantt .e-grid .e-columnmenu {
|
|
670
676
|
top: 38px;
|
|
671
677
|
}
|
|
672
678
|
.e-bigger .e-gantt-dialog .e-dialog {
|
|
@@ -1596,7 +1602,6 @@
|
|
|
1596
1602
|
outline: 1px solid;
|
|
1597
1603
|
outline-offset: 2px;
|
|
1598
1604
|
}
|
|
1599
|
-
|
|
1600
1605
|
.e-gantt-dialog .e-tab .e-tab-header {
|
|
1601
1606
|
padding-left: 12px;
|
|
1602
1607
|
}
|
|
@@ -1999,7 +2004,7 @@
|
|
|
1999
2004
|
.e-gantt .e-gantt-chart .e-gantt-child-progressbar-inner-div {
|
|
2000
2005
|
background-color: #0056b3;
|
|
2001
2006
|
border: 0px;
|
|
2002
|
-
border-radius:
|
|
2007
|
+
border-radius: 3px;
|
|
2003
2008
|
}
|
|
2004
2009
|
.e-gantt .e-gantt-chart .e-gantt-child-manualtaskbar {
|
|
2005
2010
|
background-color: #8553F1;
|
|
@@ -2010,7 +2015,7 @@
|
|
|
2010
2015
|
}
|
|
2011
2016
|
.e-gantt .e-gantt-chart .e-gantt-child-manualprogressbar {
|
|
2012
2017
|
background-color: #6628EE;
|
|
2013
|
-
|
|
2018
|
+
outline: 0px;
|
|
2014
2019
|
}
|
|
2015
2020
|
.e-gantt .e-gantt-chart .e-gantt-critical-child-manualprogressbar {
|
|
2016
2021
|
background-color: #6628EE;
|
|
@@ -2070,6 +2075,18 @@
|
|
|
2070
2075
|
.e-gantt .e-gantt-chart .e-line {
|
|
2071
2076
|
border-color: #0056b3;
|
|
2072
2077
|
}
|
|
2078
|
+
.e-gantt .e-gantt-chart .e-connector-line {
|
|
2079
|
+
stroke: #0056b3;
|
|
2080
|
+
}
|
|
2081
|
+
.e-gantt .e-gantt-chart .e-critical-line {
|
|
2082
|
+
stroke: #d13438;
|
|
2083
|
+
}
|
|
2084
|
+
.e-gantt .e-gantt-chart .e-connector-line-arrow {
|
|
2085
|
+
fill: #0056b3;
|
|
2086
|
+
}
|
|
2087
|
+
.e-gantt .e-gantt-chart .e-critical-line-arrow {
|
|
2088
|
+
fill: #d13438;
|
|
2089
|
+
}
|
|
2073
2090
|
.e-gantt .e-gantt-chart .e-connector-line-right-arrow {
|
|
2074
2091
|
border-left-color: #0056b3;
|
|
2075
2092
|
}
|
|
@@ -2121,7 +2138,10 @@
|
|
|
2121
2138
|
padding-right: 25px;
|
|
2122
2139
|
}
|
|
2123
2140
|
.e-gantt .e-gantt-chart .e-connectorpoint-right {
|
|
2124
|
-
margin-left:
|
|
2141
|
+
margin-left: 3px;
|
|
2142
|
+
}
|
|
2143
|
+
.e-gantt .e-gantt-chart .e-connectorpoint-left {
|
|
2144
|
+
margin-right: 3px;
|
|
2125
2145
|
}
|
|
2126
2146
|
.e-gantt .e-gantt-chart .e-right-connectorpoint-outer-div,
|
|
2127
2147
|
.e-gantt .e-gantt-chart .e-left-connectorpoint-outer-div {
|
|
@@ -2382,14 +2402,15 @@
|
|
|
2382
2402
|
|
|
2383
2403
|
.e-gantt .e-gantt-chart .e-gantt-child-critical-taskbar-inner-div {
|
|
2384
2404
|
background-color: #F3D8DA;
|
|
2385
|
-
|
|
2405
|
+
outline: 1px solid #F3D8DA;
|
|
2386
2406
|
border-radius: 4px;
|
|
2387
2407
|
}
|
|
2388
2408
|
|
|
2389
2409
|
.e-gantt .e-gantt-chart .e-gantt-child-critical-progressbar-inner-div {
|
|
2390
2410
|
background-color: #D13438;
|
|
2391
2411
|
border: 0px;
|
|
2392
|
-
|
|
2412
|
+
position: absolute;
|
|
2413
|
+
border-radius: 3px;
|
|
2393
2414
|
}
|
|
2394
2415
|
|
|
2395
2416
|
.e-gantt .e-gantt-chart .e-gantt-critical-unscheduled-taskbar {
|