@progress/kendo-angular-gantt 23.2.0-develop.3 → 23.2.0-develop.5
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/editing/utils.d.ts +1 -1
- package/fesm2022/progress-kendo-angular-gantt.mjs +71 -5
- package/package-metadata.mjs +2 -2
- package/package.json +17 -17
- package/schematics/ngAdd/index.js +7 -7
- package/timeline/timeline-base-view.service.d.ts +1 -1
- package/timeline/timeline-day-view.service.d.ts +7 -0
- package/timeline/timeline-month-view.service.d.ts +5 -0
- package/timeline/timeline-week-view.service.d.ts +5 -0
- package/timeline/timeline-year-view.service.d.ts +5 -0
package/editing/utils.d.ts
CHANGED
|
@@ -7,4 +7,4 @@ import { TaskEditItem } from '../models/events/task-edit-event.interface';
|
|
|
7
7
|
/**
|
|
8
8
|
* @hidden
|
|
9
9
|
*/
|
|
10
|
-
export declare const getEditItem: (dataItem: any, data: any[], mapper: MappingService) => TaskEditItem;
|
|
10
|
+
export declare const getEditItem: (dataItem: any, data: any[], mapper: MappingService) => TaskEditItem | undefined;
|
|
@@ -45,7 +45,7 @@ const packageMetadata = {
|
|
|
45
45
|
productCode: 'KENDOUIANGULAR',
|
|
46
46
|
productCodes: ['KENDOUIANGULAR'],
|
|
47
47
|
publishDate: 1648205948,
|
|
48
|
-
version: '23.2.0-develop.
|
|
48
|
+
version: '23.2.0-develop.5',
|
|
49
49
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
50
50
|
};
|
|
51
51
|
|
|
@@ -1452,7 +1452,11 @@ class TimelineBaseViewService {
|
|
|
1452
1452
|
*/
|
|
1453
1453
|
getRange(tasks) {
|
|
1454
1454
|
if (!tasks || !tasks.length) {
|
|
1455
|
-
|
|
1455
|
+
const now = new Date();
|
|
1456
|
+
const start = this.getStartOffset(now);
|
|
1457
|
+
const end = this.getEndOffset(now);
|
|
1458
|
+
this._viewStart = Number(start);
|
|
1459
|
+
return { start, end };
|
|
1456
1460
|
}
|
|
1457
1461
|
const startResult = orderBy(tasks, [{ field: this.mapper.taskFields.start, dir: 'asc' }]);
|
|
1458
1462
|
const endResult = orderBy(tasks, [{ field: this.mapper.taskFields.end, dir: 'desc' }]);
|
|
@@ -1610,6 +1614,19 @@ class TimelineDayViewService extends TimelineBaseViewService {
|
|
|
1610
1614
|
constructor(intlService, mapper) {
|
|
1611
1615
|
super(intlService, mapper);
|
|
1612
1616
|
}
|
|
1617
|
+
/**
|
|
1618
|
+
* Ensures a full day is visible when data is empty.
|
|
1619
|
+
*/
|
|
1620
|
+
getRange(tasks) {
|
|
1621
|
+
if (!tasks?.length) {
|
|
1622
|
+
const now = new Date();
|
|
1623
|
+
const start = setTime$1(getDate(now), 0);
|
|
1624
|
+
const end = setTime$1(getDate(now), 23, 59, 59, 999);
|
|
1625
|
+
this._viewStart = Number(start);
|
|
1626
|
+
return { start, end };
|
|
1627
|
+
}
|
|
1628
|
+
return super.getRange(tasks);
|
|
1629
|
+
}
|
|
1613
1630
|
/**
|
|
1614
1631
|
* Gets a date an hour before the first task start with minutes, seconds, milliseconds cleared.
|
|
1615
1632
|
*/
|
|
@@ -1618,9 +1635,15 @@ class TimelineDayViewService extends TimelineBaseViewService {
|
|
|
1618
1635
|
}
|
|
1619
1636
|
/**
|
|
1620
1637
|
* Gets a date an hour after the last task end with minutes, seconds, milliseconds cleared.
|
|
1638
|
+
* When the end falls in the last hour of the day (23:xx), caps at end of day
|
|
1639
|
+
* to prevent adding an empty next-day slot that causes header misalignment.
|
|
1621
1640
|
*/
|
|
1622
1641
|
getEndOffset(rangeEnd) {
|
|
1623
|
-
|
|
1642
|
+
const nextHour = rangeEnd.getHours() + 1;
|
|
1643
|
+
if (nextHour > 23) {
|
|
1644
|
+
return setTime$1(rangeEnd, 23, 59, 59, 999);
|
|
1645
|
+
}
|
|
1646
|
+
return setTime$1(rangeEnd, nextHour);
|
|
1624
1647
|
}
|
|
1625
1648
|
/**
|
|
1626
1649
|
*
|
|
@@ -1667,6 +1690,19 @@ class TimelineMonthViewService extends TimelineBaseViewService {
|
|
|
1667
1690
|
constructor(intlService, mapper) {
|
|
1668
1691
|
super(intlService, mapper);
|
|
1669
1692
|
}
|
|
1693
|
+
/**
|
|
1694
|
+
* Ensures a full month is visible when data is empty.
|
|
1695
|
+
*/
|
|
1696
|
+
getRange(tasks) {
|
|
1697
|
+
if (!tasks?.length) {
|
|
1698
|
+
const now = new Date();
|
|
1699
|
+
const start = firstDayOfMonth(getDate(now));
|
|
1700
|
+
const end = lastDayOfMonth(now);
|
|
1701
|
+
this._viewStart = Number(start);
|
|
1702
|
+
return { start, end };
|
|
1703
|
+
}
|
|
1704
|
+
return super.getRange(tasks);
|
|
1705
|
+
}
|
|
1670
1706
|
/**
|
|
1671
1707
|
* Gets a week before the first week in which a task starts.
|
|
1672
1708
|
*/
|
|
@@ -1722,6 +1758,19 @@ class TimelineWeekViewService extends TimelineBaseViewService {
|
|
|
1722
1758
|
constructor(intlService, mapper) {
|
|
1723
1759
|
super(intlService, mapper);
|
|
1724
1760
|
}
|
|
1761
|
+
/**
|
|
1762
|
+
* Ensures at least a full week is visible when data is empty.
|
|
1763
|
+
*/
|
|
1764
|
+
getRange(tasks) {
|
|
1765
|
+
if (!tasks?.length) {
|
|
1766
|
+
const now = new Date();
|
|
1767
|
+
const start = firstDayInWeek(getDate(now), this.intlService.firstDay());
|
|
1768
|
+
const end = addDays(start, 6);
|
|
1769
|
+
this._viewStart = Number(start);
|
|
1770
|
+
return { start, end };
|
|
1771
|
+
}
|
|
1772
|
+
return super.getRange(tasks);
|
|
1773
|
+
}
|
|
1725
1774
|
/**
|
|
1726
1775
|
* Gets a date a day before the first task start with hours, minutes, seconds, milliseconds cleared.
|
|
1727
1776
|
*/
|
|
@@ -1778,6 +1827,19 @@ class TimeLineYearViewService extends TimelineBaseViewService {
|
|
|
1778
1827
|
const slotWidth = this.options.slotWidth;
|
|
1779
1828
|
return Math.round(timeSlots.length * slotWidth);
|
|
1780
1829
|
}
|
|
1830
|
+
/**
|
|
1831
|
+
* Ensures a full year is visible when data is empty.
|
|
1832
|
+
*/
|
|
1833
|
+
getRange(tasks) {
|
|
1834
|
+
if (!tasks?.length) {
|
|
1835
|
+
const now = new Date();
|
|
1836
|
+
const start = firstDayOfMonth(new Date(now.getFullYear(), 0, 1));
|
|
1837
|
+
const end = lastDayOfMonth(new Date(now.getFullYear(), 11, 31));
|
|
1838
|
+
this._viewStart = Number(start);
|
|
1839
|
+
return { start, end };
|
|
1840
|
+
}
|
|
1841
|
+
return super.getRange(tasks);
|
|
1842
|
+
}
|
|
1781
1843
|
getStartOffset(rangeStart) {
|
|
1782
1844
|
const monthStart = firstDayOfMonth(rangeStart);
|
|
1783
1845
|
return addMonths(getDate(monthStart), -1);
|
|
@@ -4671,8 +4733,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
4671
4733
|
* @hidden
|
|
4672
4734
|
*/
|
|
4673
4735
|
const getEditItem = (dataItem, data, mapper) => {
|
|
4736
|
+
if (!dataItem) {
|
|
4737
|
+
return undefined;
|
|
4738
|
+
}
|
|
4674
4739
|
const treeListDataItem = data.find(item => mapper.extractFromTask(item.data, 'id') === mapper.extractFromTask(dataItem, 'id'));
|
|
4675
|
-
return mapPath(treeListDataItem);
|
|
4740
|
+
return treeListDataItem ? mapPath(treeListDataItem) : undefined;
|
|
4676
4741
|
};
|
|
4677
4742
|
const mapPath = (item) => ({
|
|
4678
4743
|
dataItem: item.data,
|
|
@@ -7018,7 +7083,8 @@ class GanttComponent {
|
|
|
7018
7083
|
* @hidden
|
|
7019
7084
|
*/
|
|
7020
7085
|
handleCellClose(e) {
|
|
7021
|
-
|
|
7086
|
+
const item = getEditItem(e.dataItem, this.treeList.view.data, this.mapper);
|
|
7087
|
+
this.cellClose.emit(new CellCloseEvent({ ...e, item, sender: this }));
|
|
7022
7088
|
this.dependencyDomService.notifyChanges();
|
|
7023
7089
|
}
|
|
7024
7090
|
/**
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "23.2.0-develop.
|
|
10
|
+
"publishDate": 1771936067,
|
|
11
|
+
"version": "23.2.0-develop.5",
|
|
12
12
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
|
|
13
13
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-gantt",
|
|
3
|
-
"version": "23.2.0-develop.
|
|
3
|
+
"version": "23.2.0-develop.5",
|
|
4
4
|
"description": "Kendo UI Angular Gantt",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"package": {
|
|
20
20
|
"productName": "Kendo UI for Angular",
|
|
21
21
|
"productCode": "KENDOUIANGULAR",
|
|
22
|
-
"publishDate":
|
|
22
|
+
"publishDate": 1771936067,
|
|
23
23
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning"
|
|
24
24
|
}
|
|
25
25
|
},
|
|
@@ -31,25 +31,25 @@
|
|
|
31
31
|
"@angular/platform-browser": "19 - 21",
|
|
32
32
|
"@progress/kendo-data-query": "^1.7.3",
|
|
33
33
|
"@progress/kendo-licensing": "^1.10.0",
|
|
34
|
-
"@progress/kendo-angular-buttons": "23.2.0-develop.
|
|
35
|
-
"@progress/kendo-angular-common": "23.2.0-develop.
|
|
36
|
-
"@progress/kendo-angular-dialog": "23.2.0-develop.
|
|
37
|
-
"@progress/kendo-angular-dropdowns": "23.2.0-develop.
|
|
38
|
-
"@progress/kendo-angular-grid": "23.2.0-develop.
|
|
39
|
-
"@progress/kendo-angular-icons": "23.2.0-develop.
|
|
40
|
-
"@progress/kendo-angular-inputs": "23.2.0-develop.
|
|
41
|
-
"@progress/kendo-angular-intl": "23.2.0-develop.
|
|
42
|
-
"@progress/kendo-angular-l10n": "23.2.0-develop.
|
|
43
|
-
"@progress/kendo-angular-label": "23.2.0-develop.
|
|
44
|
-
"@progress/kendo-angular-layout": "23.2.0-develop.
|
|
45
|
-
"@progress/kendo-angular-popup": "23.2.0-develop.
|
|
46
|
-
"@progress/kendo-angular-tooltip": "23.2.0-develop.
|
|
47
|
-
"@progress/kendo-angular-treelist": "23.2.0-develop.
|
|
34
|
+
"@progress/kendo-angular-buttons": "23.2.0-develop.5",
|
|
35
|
+
"@progress/kendo-angular-common": "23.2.0-develop.5",
|
|
36
|
+
"@progress/kendo-angular-dialog": "23.2.0-develop.5",
|
|
37
|
+
"@progress/kendo-angular-dropdowns": "23.2.0-develop.5",
|
|
38
|
+
"@progress/kendo-angular-grid": "23.2.0-develop.5",
|
|
39
|
+
"@progress/kendo-angular-icons": "23.2.0-develop.5",
|
|
40
|
+
"@progress/kendo-angular-inputs": "23.2.0-develop.5",
|
|
41
|
+
"@progress/kendo-angular-intl": "23.2.0-develop.5",
|
|
42
|
+
"@progress/kendo-angular-l10n": "23.2.0-develop.5",
|
|
43
|
+
"@progress/kendo-angular-label": "23.2.0-develop.5",
|
|
44
|
+
"@progress/kendo-angular-layout": "23.2.0-develop.5",
|
|
45
|
+
"@progress/kendo-angular-popup": "23.2.0-develop.5",
|
|
46
|
+
"@progress/kendo-angular-tooltip": "23.2.0-develop.5",
|
|
47
|
+
"@progress/kendo-angular-treelist": "23.2.0-develop.5",
|
|
48
48
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"tslib": "^2.3.1",
|
|
52
|
-
"@progress/kendo-angular-schematics": "23.2.0-develop.
|
|
52
|
+
"@progress/kendo-angular-schematics": "23.2.0-develop.5",
|
|
53
53
|
"@progress/kendo-common": "^1.0.1",
|
|
54
54
|
"@progress/kendo-date-math": "^1.5.2",
|
|
55
55
|
"@progress/kendo-draggable": "^3.0.0"
|
|
@@ -12,16 +12,16 @@ function default_1(options) {
|
|
|
12
12
|
// See https://github.com/telerik/kendo-schematics/issues/28
|
|
13
13
|
peerDependencies: {
|
|
14
14
|
// peer deps of the treelist
|
|
15
|
-
'@progress/kendo-angular-dateinputs': '23.2.0-develop.
|
|
16
|
-
'@progress/kendo-angular-excel-export': '23.2.0-develop.
|
|
17
|
-
'@progress/kendo-angular-pdf-export': '23.2.0-develop.
|
|
18
|
-
'@progress/kendo-angular-utils': '23.2.0-develop.
|
|
15
|
+
'@progress/kendo-angular-dateinputs': '23.2.0-develop.5',
|
|
16
|
+
'@progress/kendo-angular-excel-export': '23.2.0-develop.5',
|
|
17
|
+
'@progress/kendo-angular-pdf-export': '23.2.0-develop.5',
|
|
18
|
+
'@progress/kendo-angular-utils': '23.2.0-develop.5',
|
|
19
19
|
'@progress/kendo-drawing': '^1.0.0',
|
|
20
20
|
// peer deps of the dropdowns
|
|
21
|
-
'@progress/kendo-angular-treeview': '23.2.0-develop.
|
|
22
|
-
'@progress/kendo-angular-navigation': '23.2.0-develop.
|
|
21
|
+
'@progress/kendo-angular-treeview': '23.2.0-develop.5',
|
|
22
|
+
'@progress/kendo-angular-navigation': '23.2.0-develop.5',
|
|
23
23
|
// peer dep of the layout
|
|
24
|
-
'@progress/kendo-angular-progressbar': '23.2.0-develop.
|
|
24
|
+
'@progress/kendo-angular-progressbar': '23.2.0-develop.5',
|
|
25
25
|
// peer dep of the icons
|
|
26
26
|
'@progress/kendo-svg-icons': '^4.0.0'
|
|
27
27
|
} });
|
|
@@ -30,7 +30,7 @@ export declare abstract class TimelineBaseViewService {
|
|
|
30
30
|
protected intlService: IntlService;
|
|
31
31
|
protected mapper: MappingService;
|
|
32
32
|
options: TimelineOptions;
|
|
33
|
-
|
|
33
|
+
protected _viewStart: number;
|
|
34
34
|
constructor(intlService: IntlService, mapper: MappingService);
|
|
35
35
|
get viewStart(): number;
|
|
36
36
|
/**
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { IntlService } from '@progress/kendo-angular-intl';
|
|
6
6
|
import { TimelineBaseViewService } from './timeline-base-view.service';
|
|
7
7
|
import { MappingService } from '../common/mapping.service';
|
|
8
|
+
import { DateRange } from '../models/date-range.interface';
|
|
8
9
|
import { Slot } from '../models/slot.interface';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
/**
|
|
@@ -12,12 +13,18 @@ import * as i0 from "@angular/core";
|
|
|
12
13
|
*/
|
|
13
14
|
export declare class TimelineDayViewService extends TimelineBaseViewService {
|
|
14
15
|
constructor(intlService: IntlService, mapper: MappingService);
|
|
16
|
+
/**
|
|
17
|
+
* Ensures a full day is visible when data is empty.
|
|
18
|
+
*/
|
|
19
|
+
protected getRange(tasks: any): DateRange;
|
|
15
20
|
/**
|
|
16
21
|
* Gets a date an hour before the first task start with minutes, seconds, milliseconds cleared.
|
|
17
22
|
*/
|
|
18
23
|
getStartOffset(rangeStart: Date): Date;
|
|
19
24
|
/**
|
|
20
25
|
* Gets a date an hour after the last task end with minutes, seconds, milliseconds cleared.
|
|
26
|
+
* When the end falls in the last hour of the day (23:xx), caps at end of day
|
|
27
|
+
* to prevent adding an empty next-day slot that causes header misalignment.
|
|
21
28
|
*/
|
|
22
29
|
getEndOffset(rangeEnd: Date): Date;
|
|
23
30
|
/**
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { IntlService } from '@progress/kendo-angular-intl';
|
|
6
6
|
import { MappingService } from '../common/mapping.service';
|
|
7
7
|
import { TimelineBaseViewService } from './timeline-base-view.service';
|
|
8
|
+
import { DateRange } from '../models/date-range.interface';
|
|
8
9
|
import { Slot } from '../models/slot.interface';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
/**
|
|
@@ -12,6 +13,10 @@ import * as i0 from "@angular/core";
|
|
|
12
13
|
*/
|
|
13
14
|
export declare class TimelineMonthViewService extends TimelineBaseViewService {
|
|
14
15
|
constructor(intlService: IntlService, mapper: MappingService);
|
|
16
|
+
/**
|
|
17
|
+
* Ensures a full month is visible when data is empty.
|
|
18
|
+
*/
|
|
19
|
+
protected getRange(tasks: any): DateRange;
|
|
15
20
|
/**
|
|
16
21
|
* Gets a week before the first week in which a task starts.
|
|
17
22
|
*/
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { IntlService } from '@progress/kendo-angular-intl';
|
|
6
6
|
import { MappingService } from '../common/mapping.service';
|
|
7
7
|
import { TimelineBaseViewService } from './timeline-base-view.service';
|
|
8
|
+
import { DateRange } from '../models/date-range.interface';
|
|
8
9
|
import { Slot } from '../models/slot.interface';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
/**
|
|
@@ -12,6 +13,10 @@ import * as i0 from "@angular/core";
|
|
|
12
13
|
*/
|
|
13
14
|
export declare class TimelineWeekViewService extends TimelineBaseViewService {
|
|
14
15
|
constructor(intlService: IntlService, mapper: MappingService);
|
|
16
|
+
/**
|
|
17
|
+
* Ensures at least a full week is visible when data is empty.
|
|
18
|
+
*/
|
|
19
|
+
protected getRange(tasks: any): DateRange;
|
|
15
20
|
/**
|
|
16
21
|
* Gets a date a day before the first task start with hours, minutes, seconds, milliseconds cleared.
|
|
17
22
|
*/
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import { IntlService } from "@progress/kendo-angular-intl";
|
|
6
6
|
import { MappingService } from "../common/mapping.service";
|
|
7
|
+
import { DateRange } from "../models/date-range.interface";
|
|
7
8
|
import { Slot } from "../models/slot.interface";
|
|
8
9
|
import { TimelineBaseViewService } from "./timeline-base-view.service";
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
@@ -13,6 +14,10 @@ import * as i0 from "@angular/core";
|
|
|
13
14
|
export declare class TimeLineYearViewService extends TimelineBaseViewService {
|
|
14
15
|
constructor(intlService: IntlService, mapper: MappingService);
|
|
15
16
|
getTableWidth(tasks: any[]): number;
|
|
17
|
+
/**
|
|
18
|
+
* Ensures a full year is visible when data is empty.
|
|
19
|
+
*/
|
|
20
|
+
protected getRange(tasks: any): DateRange;
|
|
16
21
|
getStartOffset(rangeStart: Date): Date;
|
|
17
22
|
/**
|
|
18
23
|
*
|