@syncfusion/ej2-schedule 19.3.55 → 19.4.42
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/.github/PULL_REQUEST_TEMPLATE/Bug.md +63 -0
- package/.github/PULL_REQUEST_TEMPLATE/Feature.md +39 -0
- package/CHANGELOG.md +50 -1
- package/dist/ej2-schedule.umd.min.js +2 -2
- package/dist/ej2-schedule.umd.min.js.map +1 -1
- package/dist/es6/ej2-schedule.es2015.js +489 -145
- package/dist/es6/ej2-schedule.es2015.js.map +1 -1
- package/dist/es6/ej2-schedule.es5.js +493 -152
- package/dist/es6/ej2-schedule.es5.js.map +1 -1
- package/dist/global/ej2-schedule.min.js +2 -2
- package/dist/global/ej2-schedule.min.js.map +1 -1
- package/dist/global/index.d.ts +1 -1
- package/package.json +15 -15
- package/src/recurrence-editor/recurrence-editor.js +2 -2
- package/src/schedule/actions/drag.js +12 -4
- package/src/schedule/actions/keyboard.d.ts +7 -0
- package/src/schedule/actions/keyboard.js +197 -28
- package/src/schedule/actions/resize.js +44 -37
- package/src/schedule/base/css-constant.d.ts +6 -0
- package/src/schedule/base/css-constant.js +6 -0
- package/src/schedule/base/interface.d.ts +12 -0
- package/src/schedule/base/resource.js +1 -0
- package/src/schedule/base/schedule-model.d.ts +89 -20
- package/src/schedule/base/schedule.d.ts +88 -19
- package/src/schedule/base/schedule.js +15 -4
- package/src/schedule/base/util.d.ts +1 -0
- package/src/schedule/base/util.js +1 -0
- package/src/schedule/event-renderer/event-base.d.ts +2 -1
- package/src/schedule/event-renderer/event-base.js +19 -4
- package/src/schedule/event-renderer/inline-edit.js +8 -5
- package/src/schedule/event-renderer/month.js +3 -2
- package/src/schedule/event-renderer/timeline-view.js +4 -0
- package/src/schedule/event-renderer/vertical-view.js +9 -6
- package/src/schedule/event-renderer/year.js +1 -1
- package/src/schedule/exports/excel-export.d.ts +2 -1
- package/src/schedule/exports/excel-export.js +21 -18
- package/src/schedule/models/event-settings-model.d.ts +17 -9
- package/src/schedule/models/event-settings.d.ts +15 -8
- package/src/schedule/models/event-settings.js +6 -3
- package/src/schedule/models/views-model.d.ts +19 -0
- package/src/schedule/models/views.d.ts +17 -0
- package/src/schedule/models/views.js +6 -0
- package/src/schedule/popups/quick-popups.js +3 -0
- package/src/schedule/renderer/agenda.js +2 -1
- package/src/schedule/renderer/header-renderer.d.ts +1 -0
- package/src/schedule/renderer/header-renderer.js +23 -8
- package/src/schedule/renderer/month.d.ts +4 -0
- package/src/schedule/renderer/month.js +69 -19
- package/src/schedule/renderer/renderer.js +6 -1
- package/src/schedule/renderer/timeline-year.js +4 -1
- package/src/schedule/renderer/view-base.js +12 -1
- package/src/schedule/renderer/year.d.ts +2 -2
- package/src/schedule/renderer/year.js +24 -6
- package/styles/bootstrap-dark.css +108 -27
- package/styles/bootstrap.css +105 -27
- package/styles/bootstrap4.css +117 -62
- package/styles/bootstrap5-dark.css +118 -67
- package/styles/bootstrap5.css +118 -67
- package/styles/fabric-dark.css +108 -26
- package/styles/fabric.css +109 -26
- package/styles/highcontrast-light.css +104 -26
- package/styles/highcontrast.css +109 -28
- package/styles/material-dark.css +110 -32
- package/styles/material.css +103 -25
- package/styles/recurrence-editor/_bootstrap-dark-definition.scss +7 -0
- package/styles/recurrence-editor/_bootstrap-definition.scss +7 -0
- package/styles/recurrence-editor/_bootstrap4-definition.scss +7 -0
- package/styles/recurrence-editor/_bootstrap5-definition.scss +7 -0
- package/styles/recurrence-editor/_fabric-dark-definition.scss +8 -0
- package/styles/recurrence-editor/_fabric-definition.scss +7 -0
- package/styles/recurrence-editor/_fluent-definition.scss +15 -0
- package/styles/recurrence-editor/_highcontrast-definition.scss +7 -0
- package/styles/recurrence-editor/_highcontrast-light-definition.scss +7 -0
- package/styles/recurrence-editor/_layout.scss +20 -4
- package/styles/recurrence-editor/_material-dark-definition.scss +7 -0
- package/styles/recurrence-editor/_material-definition.scss +7 -0
- package/styles/recurrence-editor/_tailwind-definition.scss +15 -8
- package/styles/recurrence-editor/bootstrap-dark.css +20 -4
- package/styles/recurrence-editor/bootstrap.css +20 -4
- package/styles/recurrence-editor/bootstrap4.css +20 -4
- package/styles/recurrence-editor/bootstrap5-dark.css +20 -4
- package/styles/recurrence-editor/bootstrap5.css +20 -4
- package/styles/recurrence-editor/fabric-dark.css +20 -4
- package/styles/recurrence-editor/fabric.css +20 -4
- package/styles/recurrence-editor/highcontrast-light.css +20 -4
- package/styles/recurrence-editor/highcontrast.css +20 -4
- package/styles/recurrence-editor/material-dark.css +20 -4
- package/styles/recurrence-editor/material.css +20 -4
- package/styles/recurrence-editor/tailwind-dark.css +20 -4
- package/styles/recurrence-editor/tailwind.css +20 -4
- package/styles/schedule/_bootstrap-dark-definition.scss +22 -1
- package/styles/schedule/_bootstrap-definition.scss +22 -1
- package/styles/schedule/_bootstrap4-definition.scss +23 -1
- package/styles/schedule/_bootstrap5-definition.scss +145 -119
- package/styles/schedule/_fabric-dark-definition.scss +22 -1
- package/styles/schedule/_fabric-definition.scss +22 -1
- package/styles/schedule/_fluent-definition.scss +218 -0
- package/styles/schedule/_highcontrast-definition.scss +22 -1
- package/styles/schedule/_highcontrast-light-definition.scss +22 -1
- package/styles/schedule/_layout.scss +95 -158
- package/styles/schedule/_material-dark-definition.scss +22 -1
- package/styles/schedule/_material-definition.scss +21 -0
- package/styles/schedule/_tailwind-definition.scss +216 -195
- package/styles/schedule/_theme.scss +1 -1
- package/styles/schedule/bootstrap-dark.css +88 -23
- package/styles/schedule/bootstrap.css +85 -23
- package/styles/schedule/bootstrap4.css +97 -58
- package/styles/schedule/bootstrap5-dark.css +98 -63
- package/styles/schedule/bootstrap5.css +98 -63
- package/styles/schedule/fabric-dark.css +88 -22
- package/styles/schedule/fabric.css +89 -22
- package/styles/schedule/highcontrast-light.css +84 -22
- package/styles/schedule/highcontrast.css +89 -24
- package/styles/schedule/icons/_fluent.scss +231 -0
- package/styles/schedule/icons/_tailwind.scss +231 -231
- package/styles/schedule/material-dark.css +90 -28
- package/styles/schedule/material.css +83 -21
- package/styles/schedule/tailwind-dark.css +94 -52
- package/styles/schedule/tailwind.css +94 -52
- package/styles/tailwind-dark.css +114 -56
- package/styles/tailwind.css +114 -56
|
@@ -81,9 +81,9 @@ var Resize = /** @class */ (function (_super) {
|
|
|
81
81
|
bottom: resizeTarget.classList.contains(cls.BOTTOM_RESIZE_HANDLER)
|
|
82
82
|
};
|
|
83
83
|
_this.actionObj.groupIndex = _this.parent.uiStateValues.isGroupAdaptive ? _this.parent.uiStateValues.groupIndex : 0;
|
|
84
|
-
var workCell = _this.parent.element.querySelector('.' + cls.WORK_CELLS_CLASS);
|
|
85
|
-
_this.actionObj.cellWidth = workCell.
|
|
86
|
-
_this.actionObj.cellHeight = workCell.
|
|
84
|
+
var workCell = _this.parent.element.querySelector('.' + cls.WORK_CELLS_CLASS).getBoundingClientRect();
|
|
85
|
+
_this.actionObj.cellWidth = workCell.width;
|
|
86
|
+
_this.actionObj.cellHeight = workCell.height;
|
|
87
87
|
var hRows = _this.parent.activeViewOptions.headerRows.map(function (row) { return row.option; });
|
|
88
88
|
if (_this.parent.activeView.isTimelineView() && hRows.length > 0 && ['Date', 'Hour'].indexOf(hRows.slice(-1)[0]) < 0) {
|
|
89
89
|
var tr = _this.parent.getContentTable().querySelector('tr');
|
|
@@ -93,8 +93,9 @@ var Resize = /** @class */ (function (_super) {
|
|
|
93
93
|
var td = tdCollections_1[_i];
|
|
94
94
|
noOfDays += parseInt(td.getAttribute('colspan'), 10);
|
|
95
95
|
}
|
|
96
|
-
|
|
97
|
-
_this.actionObj.
|
|
96
|
+
var trRect = tr.getBoundingClientRect();
|
|
97
|
+
_this.actionObj.cellWidth = trRect.width / noOfDays;
|
|
98
|
+
_this.actionObj.cellHeight = trRect.height;
|
|
98
99
|
}
|
|
99
100
|
var pages = _this.getPageCoordinates(e);
|
|
100
101
|
_this.actionObj.X = pages.pageX;
|
|
@@ -345,12 +346,12 @@ var Resize = /** @class */ (function (_super) {
|
|
|
345
346
|
var eventEnd = new Date(this.actionObj.event[this.parent.eventFields.endTime].getTime());
|
|
346
347
|
var resizeTime;
|
|
347
348
|
var isDateHeader = false;
|
|
349
|
+
var headerName = this.parent.currentView;
|
|
348
350
|
var isTimeViews = ['TimelineDay', 'TimelineWeek', 'TimelineWorkWeek'].indexOf(this.parent.currentView) > -1;
|
|
349
351
|
var isTimelineMonth = this.parent.currentView === 'TimelineMonth';
|
|
350
352
|
var isWithoutScale = isTimelineMonth || isTimeViews && !this.parent.activeViewOptions.timeScale.enable;
|
|
351
353
|
if (this.parent.activeView.isTimelineView()) {
|
|
352
354
|
var tr = this.parent.getContentTable().querySelector('tr');
|
|
353
|
-
var headerName = this.parent.currentView;
|
|
354
355
|
if (this.parent.activeViewOptions.headerRows.length > 0) {
|
|
355
356
|
var rows = this.parent.activeViewOptions.headerRows.map(function (row) { return row.option; });
|
|
356
357
|
headerName = rows.slice(-1)[0];
|
|
@@ -362,6 +363,11 @@ var Resize = /** @class */ (function (_super) {
|
|
|
362
363
|
var cellIndex = 0;
|
|
363
364
|
var tdCollections = [].slice.call(tr.children);
|
|
364
365
|
var isLastCell = false;
|
|
366
|
+
var pixelsPerMinute = this.actionObj.cellWidth / (this.parent.activeViewOptions.timeScale.interval /
|
|
367
|
+
this.parent.activeViewOptions.timeScale.slotCount);
|
|
368
|
+
var offset = parseFloat(this.parent.enableRtl ? this.actionObj.clone.style.right :
|
|
369
|
+
this.actionObj.clone.style.left);
|
|
370
|
+
offset = Math.round(offset / pixelsPerMinute) * pixelsPerMinute;
|
|
365
371
|
if (['Year', 'Month', 'Week', 'Date'].indexOf(headerName) !== -1) {
|
|
366
372
|
var noOfDays = 0;
|
|
367
373
|
for (var _i = 0, tdCollections_2 = tdCollections; _i < tdCollections_2.length; _i++) {
|
|
@@ -370,28 +376,28 @@ var Resize = /** @class */ (function (_super) {
|
|
|
370
376
|
}
|
|
371
377
|
var offsetValue = this.parent.enableRtl ? parseInt(this.actionObj.clone.style.right, 10) :
|
|
372
378
|
parseInt(this.actionObj.clone.style.left, 10);
|
|
379
|
+
offsetValue = Math.round(offsetValue / this.actionObj.cellWidth) * this.actionObj.cellWidth;
|
|
373
380
|
if (!isLeft) {
|
|
374
|
-
offsetValue += (this.actionObj.clone.
|
|
381
|
+
offsetValue += (this.actionObj.clone.getBoundingClientRect().width - this.actionObj.cellWidth);
|
|
375
382
|
}
|
|
376
|
-
cellIndex = Math.floor(offsetValue / Math.floor(tr.
|
|
383
|
+
cellIndex = Math.floor(offsetValue / Math.floor(tr.getBoundingClientRect().width / noOfDays));
|
|
377
384
|
isDateHeader = isTimeViews && headerName === 'Date';
|
|
378
|
-
cellIndex = isLeft ? cellIndex :
|
|
385
|
+
cellIndex = isLeft ? cellIndex : isTimelineMonth ? cellIndex + 1 : cellIndex;
|
|
379
386
|
isLastCell = cellIndex === tdCollections.length;
|
|
380
387
|
cellIndex = (cellIndex < 0) ? 0 : (cellIndex >= noOfDays) ? noOfDays - 1 : cellIndex;
|
|
381
388
|
}
|
|
382
389
|
else {
|
|
383
390
|
var cellWidth = this.actionObj.cellWidth;
|
|
384
|
-
cellIndex = isLeft ? Math.floor(
|
|
385
|
-
Math.ceil((
|
|
386
|
-
this.actionObj.cellWidth);
|
|
391
|
+
cellIndex = isLeft ? Math.floor(offset / this.actionObj.cellWidth) :
|
|
392
|
+
Math.ceil((offset + (this.actionObj.clone.getBoundingClientRect().width - cellWidth)) / this.actionObj.cellWidth);
|
|
387
393
|
if (this.parent.enableRtl) {
|
|
388
394
|
var cellOffsetWidth = 0;
|
|
389
395
|
if (headerName === 'TimelineMonth' || (!this.parent.activeViewOptions.timeScale.enable &&
|
|
390
396
|
!isTimelineMonth)) {
|
|
391
397
|
cellOffsetWidth = this.actionObj.cellWidth;
|
|
392
398
|
}
|
|
393
|
-
var offsetWidth = (Math.floor(
|
|
394
|
-
this.actionObj.cellWidth) + (isLeft ? 0 : this.actionObj.clone.
|
|
399
|
+
var offsetWidth = (Math.floor(offset / this.actionObj.cellWidth) *
|
|
400
|
+
this.actionObj.cellWidth) + (isLeft ? 0 : this.actionObj.clone.getBoundingClientRect().width - cellOffsetWidth);
|
|
395
401
|
cellIndex = Math.floor(offsetWidth / this.actionObj.cellWidth);
|
|
396
402
|
}
|
|
397
403
|
isLastCell = cellIndex === tdCollections.length;
|
|
@@ -409,13 +415,11 @@ var Resize = /** @class */ (function (_super) {
|
|
|
409
415
|
resizeTime = new Date(resizeDate.setHours(resizeTime.getHours(), resizeTime.getMinutes(), resizeTime.getSeconds()));
|
|
410
416
|
}
|
|
411
417
|
else {
|
|
412
|
-
var offsetValue = this.parent.enableRtl ? parseFloat(this.actionObj.clone.style.right) :
|
|
413
|
-
parseFloat(this.actionObj.clone.style.left);
|
|
414
418
|
if (!isLeft) {
|
|
415
|
-
|
|
419
|
+
offset += this.actionObj.clone.getBoundingClientRect().width;
|
|
416
420
|
}
|
|
417
421
|
var spanMinutes = Math.ceil((this.actionObj.slotInterval / this.actionObj.cellWidth) *
|
|
418
|
-
(
|
|
422
|
+
(offset - Math.floor(offset / this.actionObj.cellWidth) * this.actionObj.cellWidth));
|
|
419
423
|
spanMinutes = (isLastCell || (!isLeft && spanMinutes === 0)) ? this.actionObj.slotInterval : spanMinutes;
|
|
420
424
|
resizeTime = new Date(resizeDate.getTime());
|
|
421
425
|
resizeTime.setMinutes(resizeTime.getMinutes() + spanMinutes);
|
|
@@ -424,9 +428,10 @@ var Resize = /** @class */ (function (_super) {
|
|
|
424
428
|
}
|
|
425
429
|
else {
|
|
426
430
|
var cloneIndex = closest(this.actionObj.clone, 'td').cellIndex;
|
|
427
|
-
var originalWidth = Math.ceil((isLeft ? this.actionObj.element.
|
|
428
|
-
this.actionObj.cellWidth;
|
|
429
|
-
var noOfDays = Math.ceil((this.actionObj.clone.
|
|
431
|
+
var originalWidth = Math.ceil((isLeft ? this.actionObj.element.getBoundingClientRect().width : 0) /
|
|
432
|
+
this.actionObj.cellWidth) * this.actionObj.cellWidth;
|
|
433
|
+
var noOfDays = Math.ceil((this.actionObj.clone.getBoundingClientRect().width - originalWidth) /
|
|
434
|
+
this.actionObj.cellWidth);
|
|
430
435
|
var tr = closest(this.actionObj.clone, 'tr');
|
|
431
436
|
var dayIndex = isLeft ? cloneIndex - noOfDays : cloneIndex + noOfDays - 1;
|
|
432
437
|
dayIndex = this.getIndex(dayIndex);
|
|
@@ -446,8 +451,8 @@ var Resize = /** @class */ (function (_super) {
|
|
|
446
451
|
}
|
|
447
452
|
else {
|
|
448
453
|
var isTimeScaleViews = isTimeViews && this.parent.activeViewOptions.timeScale.enable;
|
|
449
|
-
var resizeEnd = ((!isTimeScaleViews || isDateHeader
|
|
450
|
-
util.addDays(resizeTime, 1) : resizeTime;
|
|
454
|
+
var resizeEnd = ((!isTimeScaleViews || isDateHeader || isTimeViews && ['Week', 'Month', 'Year'].indexOf(headerName) > -1)
|
|
455
|
+
&& resizeTime.getHours() === 0 && resizeTime.getMinutes() === 0) ? util.addDays(resizeTime, 1) : resizeTime;
|
|
451
456
|
if (isWithoutScale && (resizeEnd.getTime() - eventStart.getTime()) <= 0) {
|
|
452
457
|
resizeEnd = util.addDays(util.resetTime(eventStart), 1);
|
|
453
458
|
}
|
|
@@ -484,29 +489,30 @@ var Resize = /** @class */ (function (_super) {
|
|
|
484
489
|
var slotInterval = (this.actionObj.cellWidth / this.actionObj.slotInterval) * this.actionObj.interval;
|
|
485
490
|
var pageWidth = isLeft ? (this.actionObj.X - this.actionObj.pageX) : (this.actionObj.pageX - this.actionObj.X);
|
|
486
491
|
var targetWidth = isTimelineView ?
|
|
487
|
-
(this.actionObj.element.
|
|
488
|
-
this.parent.currentView === 'Month' ? this.actionObj.element.
|
|
489
|
-
Math.ceil(this.actionObj.element.
|
|
492
|
+
(this.actionObj.element.getBoundingClientRect().width / this.actionObj.cellWidth) * this.actionObj.cellWidth :
|
|
493
|
+
this.parent.currentView === 'Month' ? this.actionObj.element.getBoundingClientRect().width :
|
|
494
|
+
Math.ceil(this.actionObj.element.getBoundingClientRect().width / this.actionObj.cellWidth) * this.actionObj.cellWidth;
|
|
490
495
|
var offsetWidth = targetWidth + (Math.ceil(pageWidth / this.actionObj.cellWidth) * this.actionObj.cellWidth);
|
|
496
|
+
var left = (this.parent.enableRtl) ? parseInt(this.actionObj.element.style.right, 10) : this.actionObj.clone.offsetLeft;
|
|
491
497
|
if (isTimeViews) {
|
|
492
|
-
offsetWidth = targetWidth + (
|
|
493
|
-
|
|
498
|
+
offsetWidth = targetWidth + (Math.ceil(pageWidth / slotInterval) * slotInterval);
|
|
499
|
+
offsetWidth = (Math.round((left + offsetWidth) / slotInterval) * slotInterval) - left;
|
|
494
500
|
this.actionObj.event[this.parent.eventFields.isAllDay] = false;
|
|
495
501
|
}
|
|
496
502
|
var width = !isLeft && ((offsetWidth + this.actionObj.clone.offsetLeft > this.scrollArgs.width)) ?
|
|
497
|
-
this.actionObj.clone.
|
|
503
|
+
this.actionObj.clone.getBoundingClientRect().width : (offsetWidth < this.actionObj.cellWidth) ? offsetWidth : offsetWidth;
|
|
498
504
|
if (this.parent.enableRtl) {
|
|
499
505
|
var rightValue = isTimelineView ? parseInt(this.actionObj.element.style.right, 10) :
|
|
500
506
|
-(offsetWidth - this.actionObj.cellWidth);
|
|
501
507
|
rightValue = isTimelineView ? rightValue : isLeft ? 0 : rightValue > 0 ? 0 : rightValue;
|
|
502
508
|
if (isTimelineView && !isLeft) {
|
|
503
|
-
rightValue = Math.ceil((this.actionObj.element.offsetLeft + (this.actionObj.element.
|
|
509
|
+
rightValue = Math.ceil((this.actionObj.element.offsetLeft + (this.actionObj.element.getBoundingClientRect().width +
|
|
504
510
|
(this.actionObj.pageX - this.actionObj.X))) / slotInterval) * slotInterval;
|
|
505
511
|
rightValue = rightValue < 0 ? Math.abs(rightValue) : -rightValue;
|
|
506
512
|
}
|
|
507
513
|
rightValue = rightValue >= this.scrollArgs.width ? this.scrollArgs.width - this.actionObj.cellWidth : rightValue;
|
|
508
514
|
styles.right = formatUnit(rightValue);
|
|
509
|
-
width = width + rightValue > this.scrollArgs.width ? this.actionObj.clone.
|
|
515
|
+
width = width + rightValue > this.scrollArgs.width ? this.actionObj.clone.getBoundingClientRect().width : width;
|
|
510
516
|
}
|
|
511
517
|
else {
|
|
512
518
|
var offsetLeft = isLeft ? this.actionObj.element.offsetLeft - (this.actionObj.X - this.actionObj.pageX) :
|
|
@@ -514,12 +520,12 @@ var Resize = /** @class */ (function (_super) {
|
|
|
514
520
|
if (isTimelineView) {
|
|
515
521
|
offsetLeft = isLeft ? offsetLeft : parseInt(this.actionObj.clone.style.left, 10);
|
|
516
522
|
if (this.parent.enableRtl) {
|
|
517
|
-
offsetLeft = !isLeft ? (this.actionObj.pageX < this.actionObj.X - this.actionObj.clone.
|
|
518
|
-
parseInt(this.actionObj.clone.style.right, 10) : offsetLeft : offsetLeft;
|
|
523
|
+
offsetLeft = !isLeft ? (this.actionObj.pageX < this.actionObj.X - this.actionObj.clone.getBoundingClientRect().width)
|
|
524
|
+
? parseInt(this.actionObj.clone.style.right, 10) : offsetLeft : offsetLeft;
|
|
519
525
|
}
|
|
520
526
|
else {
|
|
521
|
-
offsetLeft = isLeft ? (this.actionObj.pageX > this.actionObj.X + this.actionObj.clone.
|
|
522
|
-
this.actionObj.clone.
|
|
527
|
+
offsetLeft = isLeft ? (this.actionObj.pageX > this.actionObj.X + this.actionObj.clone.getBoundingClientRect().width &&
|
|
528
|
+
this.actionObj.clone.getBoundingClientRect().width === this.actionObj.cellWidth) ?
|
|
523
529
|
parseInt(this.actionObj.clone.style.left, 10) : offsetLeft : offsetLeft;
|
|
524
530
|
}
|
|
525
531
|
}
|
|
@@ -529,9 +535,10 @@ var Resize = /** @class */ (function (_super) {
|
|
|
529
535
|
Math.ceil(Math.abs(offsetLeft) / this.actionObj.cellWidth) * this.actionObj.cellWidth;
|
|
530
536
|
if (offsetLeft < 0) {
|
|
531
537
|
offsetLeft = 0;
|
|
532
|
-
width = this.actionObj.clone.
|
|
538
|
+
width = this.actionObj.clone.getBoundingClientRect().width;
|
|
533
539
|
}
|
|
534
|
-
var cloneWidth = Math.ceil(this.actionObj.clone.
|
|
540
|
+
var cloneWidth = Math.ceil(this.actionObj.clone.getBoundingClientRect().width / this.actionObj.cellWidth) *
|
|
541
|
+
this.actionObj.cellWidth;
|
|
535
542
|
if (isLeft) {
|
|
536
543
|
styles.left = formatUnit(isTimelineView ? offsetLeft : isLeft ? leftValue < 0 ? -offsetLeft :
|
|
537
544
|
(Math.ceil((targetWidth - cloneWidth) / this.actionObj.cellWidth) * this.actionObj.cellWidth) : offsetLeft);
|
|
@@ -44,6 +44,12 @@ export declare const DATE_HEADER_CONTAINER_CLASS: string;
|
|
|
44
44
|
/** @private */
|
|
45
45
|
export declare const HEADER_CELLS_CLASS: string;
|
|
46
46
|
/** @private */
|
|
47
|
+
export declare const HEADER_WEEK_CELLS_CLASS: string;
|
|
48
|
+
/** @private */
|
|
49
|
+
export declare const HEADER_MONTH_CELLS_CLASS: string;
|
|
50
|
+
/** @private */
|
|
51
|
+
export declare const HEADER_YEAR_CELLS_CLASS: string;
|
|
52
|
+
/** @private */
|
|
47
53
|
export declare const WORKDAY_CLASS: string;
|
|
48
54
|
/** @private */
|
|
49
55
|
export declare const OTHERMONTH_CLASS: string;
|
|
@@ -44,6 +44,12 @@ export var DATE_HEADER_CONTAINER_CLASS = 'e-date-header-container';
|
|
|
44
44
|
/** @private */
|
|
45
45
|
export var HEADER_CELLS_CLASS = 'e-header-cells';
|
|
46
46
|
/** @private */
|
|
47
|
+
export var HEADER_WEEK_CELLS_CLASS = 'e-header-week-cell';
|
|
48
|
+
/** @private */
|
|
49
|
+
export var HEADER_MONTH_CELLS_CLASS = 'e-header-month-cell';
|
|
50
|
+
/** @private */
|
|
51
|
+
export var HEADER_YEAR_CELLS_CLASS = 'e-header-year-cell';
|
|
52
|
+
/** @private */
|
|
47
53
|
export var WORKDAY_CLASS = 'e-work-days';
|
|
48
54
|
/** @private */
|
|
49
55
|
export var OTHERMONTH_CLASS = 'e-other-month';
|
|
@@ -272,6 +272,8 @@ export interface ExportOptions {
|
|
|
272
272
|
exportType?: ExcelFormat;
|
|
273
273
|
/** The custom or specific field collection of event dataSource to be exported can be provided through fields option. */
|
|
274
274
|
fields?: string[];
|
|
275
|
+
/** Specifies the collection of field name and its header text to export to excel. If this list is empty, the scheduler exports based on fields. If both fieldsInfo and fields are empty then the scheduler exported all the fields. */
|
|
276
|
+
fieldsInfo?: ExportFieldInfo[];
|
|
275
277
|
/** The custom data collection can be exported by passing them through the customData option. */
|
|
276
278
|
customData?: Record<string, any>[];
|
|
277
279
|
/** There also exists option to export each individual instances of the recurring events to an Excel file,
|
|
@@ -280,6 +282,13 @@ export interface ExportOptions {
|
|
|
280
282
|
*/
|
|
281
283
|
includeOccurrences?: boolean;
|
|
282
284
|
}
|
|
285
|
+
/** An interface that holds the field name and its header text to export to excel. */
|
|
286
|
+
export interface ExportFieldInfo {
|
|
287
|
+
/** Defines the header display text. */
|
|
288
|
+
text: string;
|
|
289
|
+
/** Defines the field name to export. */
|
|
290
|
+
name: string;
|
|
291
|
+
}
|
|
283
292
|
/** An interface that holds the details of a resource. */
|
|
284
293
|
export interface ResourceDetails {
|
|
285
294
|
/** Returns the resource model data such as the field mapping options used within it. */
|
|
@@ -374,6 +383,8 @@ export interface IRenderer {
|
|
|
374
383
|
isCurrentDate(date: Date): boolean;
|
|
375
384
|
startDate(): Date;
|
|
376
385
|
endDate(): Date;
|
|
386
|
+
getStartDate?(): Date;
|
|
387
|
+
getEndDate?(): Date;
|
|
377
388
|
scrollToHour?(hour: string, scrollDate?: Date): void;
|
|
378
389
|
scrollToDate?(scrollDate?: Date): void;
|
|
379
390
|
highlightCurrentTime?(): void;
|
|
@@ -474,6 +485,7 @@ export interface UIStateArgs {
|
|
|
474
485
|
groupIndex?: number;
|
|
475
486
|
action?: boolean;
|
|
476
487
|
isBlock?: boolean;
|
|
488
|
+
isCustomMonth?: boolean;
|
|
477
489
|
}
|
|
478
490
|
/**
|
|
479
491
|
* @private
|
|
@@ -340,6 +340,7 @@ var ResourceBase = /** @class */ (function () {
|
|
|
340
340
|
targetType: 'relative',
|
|
341
341
|
actionOnScroll: 'none',
|
|
342
342
|
content: this.treeViewObj.element,
|
|
343
|
+
relateTo: this.parent.element.querySelector('.' + cls.TABLE_CONTAINER_CLASS),
|
|
343
344
|
enableRtl: this.parent.enableRtl,
|
|
344
345
|
hideAnimation: { name: 'SlideLeftOut', duration: 500 },
|
|
345
346
|
showAnimation: { name: 'SlideLeftIn', duration: 500 },
|