@progress/kendo-angular-gantt 0.2.1-dev.202112091741 → 0.3.0-dev.202201131518
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/dist/cdn/js/kendo-angular-gantt.js +2 -2
- package/dist/cdn/main.js +4 -4
- package/dist/es/common/touch-enabled.js +9 -0
- package/dist/es/dependencies/utils.js +40 -5
- package/dist/es/dragging/dependency-drag-create.directive.js +347 -0
- package/dist/es/dragging/drag-validation-tooltip.component.js +27 -0
- package/dist/es/editing/add-task.component.js +94 -0
- package/dist/es/editing/dependencies-table.component.js +131 -0
- package/dist/es/editing/edit-dialog.component.js +37 -6
- package/dist/es/editing/edit.service.js +89 -7
- package/dist/es/editing/task-fields.component.js +43 -0
- package/dist/es/editing/{util.js → utils.js} +0 -0
- package/dist/es/expanded-state/expandable.directive.js +4 -6
- package/dist/es/gantt.component.js +230 -45
- package/dist/es/gantt.module.js +36 -10
- package/dist/es/index.js +8 -1
- package/dist/es/localization/gantt-localization.service.js +26 -0
- package/dist/es/localization/messages.js +45 -1
- package/dist/es/main.js +1 -0
- package/dist/es/models/dependency-type.enum.js +16 -0
- package/dist/es/models/events/{add-event.interface.js → dependency-add-event.interface.js} +0 -0
- package/dist/es/models/events/{edit-event.interface.js → task-add-event.interface.js} +0 -0
- package/dist/es/models/models.js +1 -0
- package/dist/es/models/{events/remove-event.interface.js → toolbar-settings.js} +0 -0
- package/dist/es/models/{toolbar-position.js → view-item.interface.js} +0 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/rendering/gantt-milestone-task.component.js +7 -4
- package/dist/es/rendering/gantt-summary-task.component.js +7 -4
- package/dist/es/rendering/gantt-task-base.js +30 -19
- package/dist/es/rendering/gantt-task.component.js +8 -6
- package/dist/es/rendering/gantt-tasks-table-body.component.js +5 -1
- package/dist/es/scrolling/drag-scroll-settings.js +20 -0
- package/dist/es/scrolling/timeline-scroll.directive.js +89 -0
- package/dist/es/scrolling/timeline-scroll.service.js +39 -0
- package/dist/es/scrolling/utils.js +80 -0
- package/dist/es/timeline/gantt-timeline.component.js +45 -3
- package/dist/es/toolbar/toolbar.component.js +9 -1
- package/dist/es/utils.js +143 -12
- package/dist/es2015/common/touch-enabled.d.ts +9 -0
- package/dist/es2015/common/touch-enabled.js +9 -0
- package/dist/es2015/dependencies/utils.d.ts +15 -0
- package/dist/es2015/dependencies/utils.js +40 -5
- package/dist/es2015/dragging/dependency-drag-create.directive.d.ts +72 -0
- package/dist/es2015/dragging/dependency-drag-create.directive.js +324 -0
- package/dist/es2015/dragging/drag-validation-tooltip.component.d.ts +29 -0
- package/dist/es2015/dragging/drag-validation-tooltip.component.js +76 -0
- package/dist/es2015/editing/add-task.component.d.ts +45 -0
- package/dist/es2015/editing/add-task.component.js +102 -0
- package/dist/es2015/editing/dependencies-table.component.d.ts +39 -0
- package/dist/es2015/editing/dependencies-table.component.js +160 -0
- package/dist/es2015/editing/edit-dialog.component.d.ts +10 -3
- package/dist/es2015/editing/edit-dialog.component.js +55 -33
- package/dist/es2015/editing/edit.service.d.ts +24 -3
- package/dist/es2015/editing/edit.service.js +78 -10
- package/dist/es2015/editing/task-fields.component.d.ts +22 -0
- package/dist/es2015/editing/task-fields.component.js +67 -0
- package/dist/es2015/editing/{util.d.ts → utils.d.ts} +0 -0
- package/dist/es2015/editing/{util.js → utils.js} +0 -0
- package/dist/es2015/expanded-state/expandable.directive.d.ts +1 -2
- package/dist/es2015/expanded-state/expandable.directive.js +2 -7
- package/dist/es2015/gantt.component.d.ts +62 -18
- package/dist/es2015/gantt.component.js +290 -43
- package/dist/es2015/gantt.module.js +36 -10
- package/dist/es2015/index.d.ts +8 -1
- package/dist/es2015/index.js +8 -1
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/localization/{treelist-messages.directive.d.ts → gantt-localization.service.d.ts} +4 -3
- package/dist/es2015/localization/gantt-localization.service.js +25 -0
- package/dist/es2015/localization/messages.d.ts +46 -2
- package/dist/es2015/localization/messages.js +45 -1
- package/dist/es2015/main.d.ts +1 -0
- package/dist/es2015/main.js +1 -0
- package/dist/es2015/models/dependency-type.enum.d.ts +1 -1
- package/dist/es2015/models/dependency-type.enum.js +16 -0
- package/dist/es2015/models/events/dependency-add-event.interface.d.ts +26 -0
- package/dist/es2015/models/events/{add-event.interface.js → dependency-add-event.interface.js} +0 -0
- package/dist/es2015/models/events/task-add-event.interface.d.ts +31 -0
- package/dist/es2015/models/events/{edit-event.interface.js → task-add-event.interface.js} +0 -0
- package/dist/es2015/models/events/task-edit-event.interface.d.ts +17 -4
- package/dist/es2015/models/models.d.ts +4 -3
- package/dist/es2015/models/models.js +1 -0
- package/dist/es2015/models/toolbar-settings.d.ts +29 -0
- package/dist/es2015/models/{events/remove-event.interface.js → toolbar-settings.js} +0 -0
- package/dist/es2015/models/view-item.interface.d.ts +35 -0
- package/dist/es2015/models/{toolbar-position.js → view-item.interface.js} +0 -0
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/rendering/gantt-milestone-task.component.d.ts +2 -1
- package/dist/es2015/rendering/gantt-milestone-task.component.js +18 -5
- package/dist/es2015/rendering/gantt-summary-task.component.d.ts +2 -1
- package/dist/es2015/rendering/gantt-summary-task.component.js +18 -5
- package/dist/es2015/rendering/gantt-task-base.d.ts +11 -5
- package/dist/es2015/rendering/gantt-task-base.js +30 -19
- package/dist/es2015/rendering/gantt-task.component.d.ts +2 -1
- package/dist/es2015/rendering/gantt-task.component.js +19 -7
- package/dist/es2015/rendering/gantt-tasks-table-body.component.d.ts +1 -0
- package/dist/es2015/rendering/gantt-tasks-table-body.component.js +10 -3
- package/dist/es2015/scrolling/drag-scroll-settings.d.ts +47 -0
- package/dist/es2015/scrolling/drag-scroll-settings.js +20 -0
- package/dist/es2015/scrolling/timeline-scroll.directive.d.ts +24 -0
- package/dist/es2015/scrolling/timeline-scroll.directive.js +78 -0
- package/dist/es2015/scrolling/timeline-scroll.service.d.ts +20 -0
- package/dist/es2015/scrolling/timeline-scroll.service.js +44 -0
- package/dist/es2015/scrolling/utils.d.ts +29 -0
- package/dist/es2015/scrolling/utils.js +80 -0
- package/dist/es2015/timeline/gantt-timeline.component.d.ts +25 -2
- package/dist/es2015/timeline/gantt-timeline.component.js +56 -3
- package/dist/es2015/toolbar/toolbar-template.directive.d.ts +1 -1
- package/dist/es2015/toolbar/toolbar.component.d.ts +2 -0
- package/dist/es2015/toolbar/toolbar.component.js +10 -0
- package/dist/es2015/utils.d.ts +70 -8
- package/dist/es2015/utils.js +143 -12
- package/dist/fesm2015/index.js +1981 -424
- package/dist/fesm5/index.js +1784 -391
- package/dist/npm/common/touch-enabled.js +11 -0
- package/dist/npm/dependencies/utils.js +40 -5
- package/dist/npm/dragging/dependency-drag-create.directive.js +349 -0
- package/dist/npm/dragging/drag-validation-tooltip.component.js +29 -0
- package/dist/npm/editing/add-task.component.js +96 -0
- package/dist/npm/editing/dependencies-table.component.js +133 -0
- package/dist/npm/editing/edit-dialog.component.js +36 -5
- package/dist/npm/editing/edit.service.js +88 -6
- package/dist/npm/editing/task-fields.component.js +45 -0
- package/dist/npm/editing/{util.js → utils.js} +0 -0
- package/dist/npm/expanded-state/expandable.directive.js +3 -5
- package/dist/npm/gantt.component.js +231 -46
- package/dist/npm/gantt.module.js +34 -8
- package/dist/npm/index.js +16 -2
- package/dist/npm/localization/gantt-localization.service.js +28 -0
- package/dist/npm/localization/messages.js +45 -1
- package/dist/npm/main.js +2 -0
- package/dist/npm/models/dependency-type.enum.js +16 -0
- package/dist/npm/models/events/{add-event.interface.js → dependency-add-event.interface.js} +0 -0
- package/dist/npm/models/events/{edit-event.interface.js → task-add-event.interface.js} +0 -0
- package/dist/npm/models/models.js +2 -0
- package/dist/npm/models/{events/remove-event.interface.js → toolbar-settings.js} +0 -0
- package/dist/npm/models/{toolbar-position.js → view-item.interface.js} +0 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/rendering/gantt-milestone-task.component.js +6 -3
- package/dist/npm/rendering/gantt-summary-task.component.js +6 -3
- package/dist/npm/rendering/gantt-task-base.js +30 -19
- package/dist/npm/rendering/gantt-task.component.js +7 -5
- package/dist/npm/rendering/gantt-tasks-table-body.component.js +5 -1
- package/dist/npm/scrolling/drag-scroll-settings.js +22 -0
- package/dist/npm/scrolling/timeline-scroll.directive.js +91 -0
- package/dist/npm/scrolling/timeline-scroll.service.js +41 -0
- package/dist/npm/scrolling/utils.js +83 -0
- package/dist/npm/timeline/gantt-timeline.component.js +44 -2
- package/dist/npm/toolbar/toolbar.component.js +9 -1
- package/dist/npm/utils.js +143 -12
- package/dist/systemjs/kendo-angular-gantt.js +1 -1
- package/package.json +9 -6
- package/dist/es/localization/treelist-messages.directive.js +0 -31
- package/dist/es2015/localization/treelist-messages.directive.js +0 -29
- package/dist/es2015/models/events/add-event.interface.d.ts +0 -16
- package/dist/es2015/models/events/edit-event.interface.d.ts +0 -19
- package/dist/es2015/models/events/remove-event.interface.d.ts +0 -16
- package/dist/es2015/models/toolbar-position.d.ts +0 -9
- package/dist/npm/localization/treelist-messages.directive.js +0 -33
|
@@ -13,6 +13,8 @@ import { packageMetadata } from './package-metadata';
|
|
|
13
13
|
import { anyChanged, hasObservers } from '@progress/kendo-angular-common';
|
|
14
14
|
import { GanttColumnBase } from './columns/columns';
|
|
15
15
|
import { fetchChildren, hasChildren, isSelected, rowClassCallback, taskClassCallback } from './common/default-callbacks';
|
|
16
|
+
import { DependencyType } from './models/models';
|
|
17
|
+
import { LocalizationService } from '@progress/kendo-angular-l10n';
|
|
16
18
|
import { TimelineViewService } from './timeline/timeline-view.service';
|
|
17
19
|
import { TimelineDayViewService } from './timeline/timeline-day-view.service';
|
|
18
20
|
import { TimelineWeekViewService } from './timeline/timeline-week-view.service';
|
|
@@ -22,17 +24,25 @@ import { DependencyDomService } from './dependencies/dependency-dom.service';
|
|
|
22
24
|
import { MappingService } from './common/mapping.service';
|
|
23
25
|
import { OptionChangesService } from './common/option-changes.service';
|
|
24
26
|
import { EditService } from './editing/edit.service';
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
+
import { TimelineScrollService } from './scrolling/timeline-scroll.service';
|
|
28
|
+
import { GanttLocalizationService } from './localization/gantt-localization.service';
|
|
29
|
+
import { areParentChild, getClosestTaskIndex, isClearButton, isColumnGroup, isPresent, isTask, normalizeGanttData, scrollbarWidth } from './utils';
|
|
27
30
|
import { DEFAULT_TIMELINE_PANE_SETTINGS, DEFAULT_TREELIST_PANE_SETTINGS } from './models/splitter-pane-options.interface';
|
|
28
31
|
import { GanttTaskTemplateDirective } from './template-directives/task-template.directive';
|
|
29
32
|
import { GanttSummaryTaskTemplateDirective } from './template-directives/summary-task-template.directive';
|
|
30
33
|
import { GanttTaskContentTemplateDirective } from './template-directives/task-content-template.directive';
|
|
31
34
|
import { ToolbarTemplateDirective } from './toolbar/toolbar-template.directive';
|
|
35
|
+
import { GanttTimelineComponent } from './timeline/gantt-timeline.component';
|
|
32
36
|
import { ViewBase } from './timeline/view-base';
|
|
33
|
-
import { getEditItem } from './editing/
|
|
37
|
+
import { getEditItem } from './editing/utils';
|
|
34
38
|
const TREELIST_GROUP_COLUMNS_CLASS = 'k-gantt-treelist-nested-columns';
|
|
35
39
|
const DEFAULT_VIEW = 'week';
|
|
40
|
+
const DEFAULT_DRAG_SCROLL_SETTINGS = {
|
|
41
|
+
enabled: true,
|
|
42
|
+
step: 3,
|
|
43
|
+
interval: 1,
|
|
44
|
+
threshold: 10
|
|
45
|
+
};
|
|
36
46
|
/**
|
|
37
47
|
* Represents the Kendo UI Gantt component for Angular.
|
|
38
48
|
*
|
|
@@ -118,11 +128,22 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
118
128
|
this.zone = zone;
|
|
119
129
|
this.hostClasses = true;
|
|
120
130
|
/**
|
|
121
|
-
*
|
|
131
|
+
* Specifies a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection)).
|
|
122
132
|
*
|
|
123
133
|
* > The [`selectable`]({% slug api_gantt_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
|
|
124
134
|
*/
|
|
125
135
|
this.isSelected = isSelected;
|
|
136
|
+
/**
|
|
137
|
+
* Specifies a callback that determines if a new dependency is valid.
|
|
138
|
+
* Used when evaluating if an attempt to create a new dependency will result in a valid link between the two tasks
|
|
139
|
+
* [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-validation).
|
|
140
|
+
*
|
|
141
|
+
* By defalut, dependencies are deemed invalid when:
|
|
142
|
+
* - The two tasks are in a parent-child relationship.
|
|
143
|
+
* - The two tasks are already dependent on one another. Only one dependency is allowed per pair.
|
|
144
|
+
* - The start or end times of the two tasks are incompatible with the attempted dependency type.
|
|
145
|
+
*/
|
|
146
|
+
this.validateNewDependency = this.defaultValidateNewDependencyCallback.bind(this);
|
|
126
147
|
/**
|
|
127
148
|
* Fires when the Gantt selection is changed through user interaction.
|
|
128
149
|
*
|
|
@@ -138,25 +159,6 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
138
159
|
* > When applied, the [`SelectableDirective`]({% slug api_gantt_selectabledirective %}) sets `selectable` to `true` internally.
|
|
139
160
|
*/
|
|
140
161
|
this.selectable = false;
|
|
141
|
-
/**
|
|
142
|
-
* The position of the toolbar.
|
|
143
|
-
*
|
|
144
|
-
* The possible values are:
|
|
145
|
-
* - `top`—Positions the toolbar above the Gantt panes.
|
|
146
|
-
* - `bottom`—Positions the toolbar below the Gantt panes.
|
|
147
|
-
* - `both`—Displays two toolbar instances. Positions the first one above,
|
|
148
|
-
* and the second one - below the Gantt panes.
|
|
149
|
-
* - `none`—No toolbar is rendered.
|
|
150
|
-
*/
|
|
151
|
-
this.toolbarPosition = 'top';
|
|
152
|
-
/**
|
|
153
|
-
* Gets or sets the callback function that retrieves the child items for a particular item.
|
|
154
|
-
*/
|
|
155
|
-
this.fetchChildren = fetchChildren;
|
|
156
|
-
/**
|
|
157
|
-
* Gets or sets the callback function that indicates if a particular item has child items.
|
|
158
|
-
*/
|
|
159
|
-
this.hasChildren = hasChildren;
|
|
160
162
|
/**
|
|
161
163
|
* Defines the dependencies that will be drawn between the rendered tasks.
|
|
162
164
|
*
|
|
@@ -258,6 +260,15 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
258
260
|
* Fires when the user saves an edited task.
|
|
259
261
|
*/
|
|
260
262
|
this.save = new EventEmitter();
|
|
263
|
+
/**
|
|
264
|
+
* Fires when the user adds a task.
|
|
265
|
+
*/
|
|
266
|
+
this.taskAdd = new EventEmitter();
|
|
267
|
+
/**
|
|
268
|
+
* Fires when the user adds a dependency via dragging
|
|
269
|
+
* [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-basic-concepts).
|
|
270
|
+
*/
|
|
271
|
+
this.dependencyAdd = new EventEmitter();
|
|
261
272
|
/**
|
|
262
273
|
* Fires when the sorting of the Gantt is changed.
|
|
263
274
|
* You have to handle the event yourself and sort the data.
|
|
@@ -314,6 +325,15 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
314
325
|
* Fires when a task is clicked.
|
|
315
326
|
*/
|
|
316
327
|
this.taskClick = new EventEmitter();
|
|
328
|
+
/**
|
|
329
|
+
* @hidden
|
|
330
|
+
*
|
|
331
|
+
* Specifies whether the dependency drag clues will be rendered.
|
|
332
|
+
* Set internally by the dependency-drag-create directive.
|
|
333
|
+
*
|
|
334
|
+
* @default false
|
|
335
|
+
*/
|
|
336
|
+
this.renderDependencyDragClues = false;
|
|
317
337
|
/**
|
|
318
338
|
* @hidden
|
|
319
339
|
*
|
|
@@ -330,11 +350,19 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
330
350
|
this.showConfirmationDialog = false;
|
|
331
351
|
this._columns = new QueryList();
|
|
332
352
|
this._data = [];
|
|
353
|
+
this._dragScrollSettings = Object.assign({}, DEFAULT_DRAG_SCROLL_SETTINGS);
|
|
333
354
|
this._timelinePaneOptions = Object.assign({}, DEFAULT_TIMELINE_PANE_SETTINGS);
|
|
334
355
|
this._treeListPaneOptions = Object.assign({}, DEFAULT_TREELIST_PANE_SETTINGS);
|
|
335
356
|
this._rowClass = rowClassCallback;
|
|
336
357
|
this._taskClass = taskClassCallback;
|
|
337
358
|
this._activeView = DEFAULT_VIEW;
|
|
359
|
+
this._toolbarSettings = {
|
|
360
|
+
position: 'top',
|
|
361
|
+
addTaskTool: 'none',
|
|
362
|
+
viewSelectorTool: 'top'
|
|
363
|
+
};
|
|
364
|
+
this._fetchChildren = fetchChildren;
|
|
365
|
+
this._hasChildren = hasChildren;
|
|
338
366
|
this.rtl = false;
|
|
339
367
|
this.optionChangesSubscriptions = new Subscription();
|
|
340
368
|
this.editServiceSubscription = new Subscription();
|
|
@@ -345,16 +373,26 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
345
373
|
this.optionChangesSubscriptions.add(this.optionChangesService.columnChanges.subscribe(() => {
|
|
346
374
|
this.treeList.columns.notifyOnChanges();
|
|
347
375
|
}));
|
|
376
|
+
this.editService.getSelectedItem = this.getFirstSelectedItem.bind(this);
|
|
348
377
|
this.editServiceSubscription.add(this.editService.showEditingDialog.subscribe(show => this.showEditingDialog = show));
|
|
349
378
|
this.editServiceSubscription.add(this.editService.showConfirmationDialog.subscribe(() => this.taskDelete.emit()));
|
|
350
379
|
this.editServiceSubscription.add(this.editService.editEvent.subscribe(args => {
|
|
351
380
|
this[args.editResultType].emit({
|
|
352
|
-
|
|
381
|
+
taskFormGroup: args.taskFormGroup,
|
|
353
382
|
item: getEditItem(args.dataItem, this.treeList.view.data, this.mapper),
|
|
383
|
+
dependencies: args.dependencies,
|
|
354
384
|
sender: this
|
|
355
385
|
});
|
|
356
386
|
this.showConfirmationDialog = this.showEditingDialog = false;
|
|
357
|
-
this.editService.dataItem = this.editService.
|
|
387
|
+
this.editService.dataItem = this.editService.taskFormGroup = null;
|
|
388
|
+
this.updateView();
|
|
389
|
+
}));
|
|
390
|
+
this.editServiceSubscription.add(this.editService.addEvent.subscribe(args => {
|
|
391
|
+
const selectedItem = this.getFirstSelectedItem();
|
|
392
|
+
this.taskAdd.emit({
|
|
393
|
+
actionType: args.actionType,
|
|
394
|
+
selectedItem: selectedItem ? getEditItem(selectedItem, this.treeList.view.data, this.mapper) : null
|
|
395
|
+
});
|
|
358
396
|
this.updateView();
|
|
359
397
|
}));
|
|
360
398
|
this.localizationSubscription = this.localizationService.changes.subscribe(({ rtl }) => {
|
|
@@ -430,6 +468,49 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
430
468
|
get data() {
|
|
431
469
|
return this._data;
|
|
432
470
|
}
|
|
471
|
+
/**
|
|
472
|
+
* The toolbar configuration. Defines the position and content of the toolbar(s).
|
|
473
|
+
* The available properties are `position`, `addTaskTool`, and `viewSelectorTool`.
|
|
474
|
+
* All are optional and default to `top`.
|
|
475
|
+
*
|
|
476
|
+
* The possible values for each option are:
|
|
477
|
+
* - `top`—Positions the toolbar above the Gantt panes. Renders the respective tool in the top toolbar.
|
|
478
|
+
* - `bottom`—Positions the toolbar below the Gantt panes. Renders the respective tool in the bottom toolbar.
|
|
479
|
+
* - `both`—Displays two toolbar instances. Positions the first one above,
|
|
480
|
+
* and the second one - below the Gantt panes. Renders the respective tool in the both toolbars.
|
|
481
|
+
* - `none`—No toolbar is rendered when used for setting `position`.
|
|
482
|
+
* No add task or view selector tool is rendered when used for setting `addTaskTool` or `viewSelectorTool`.
|
|
483
|
+
*/
|
|
484
|
+
set toolbarSettings(value) {
|
|
485
|
+
this._toolbarSettings = {
|
|
486
|
+
position: value.position || 'top',
|
|
487
|
+
addTaskTool: value.addTaskTool || 'none',
|
|
488
|
+
viewSelectorTool: value.viewSelectorTool || 'top'
|
|
489
|
+
};
|
|
490
|
+
}
|
|
491
|
+
get toolbarSettings() {
|
|
492
|
+
return this._toolbarSettings;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Gets or sets the callback function that retrieves the child items for a particular item.
|
|
496
|
+
*/
|
|
497
|
+
set fetchChildren(fn) {
|
|
498
|
+
this._fetchChildren = fn;
|
|
499
|
+
this.editService.fetchChildren = fn;
|
|
500
|
+
}
|
|
501
|
+
get fetchChildren() {
|
|
502
|
+
return this._fetchChildren;
|
|
503
|
+
}
|
|
504
|
+
/**
|
|
505
|
+
* Gets or sets the callback function that indicates if a particular item has child items.
|
|
506
|
+
*/
|
|
507
|
+
set hasChildren(fn) {
|
|
508
|
+
this._hasChildren = fn;
|
|
509
|
+
this.editService.hasChildren = fn;
|
|
510
|
+
}
|
|
511
|
+
get hasChildren() {
|
|
512
|
+
return this._hasChildren;
|
|
513
|
+
}
|
|
433
514
|
/**
|
|
434
515
|
* The options of the timeline splitter pane. By default the pane is `collapsible`,
|
|
435
516
|
* `resizable`, not `collapsed`, and its `size` is `'50%'`.
|
|
@@ -485,6 +566,17 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
485
566
|
get taskIdField() {
|
|
486
567
|
return this.mapper.taskFields.id;
|
|
487
568
|
}
|
|
569
|
+
/**
|
|
570
|
+
* Specifies the settings for auto-scrolling during dragging
|
|
571
|
+
* when the pointer moves outside of the container bounderies
|
|
572
|
+
* [see example]({% slug editing_drag_create_dependencies_gantt %}#toc-auto-scrolling).
|
|
573
|
+
*/
|
|
574
|
+
set dragScrollSettings(settings) {
|
|
575
|
+
this._dragScrollSettings = Object.assign({}, DEFAULT_DRAG_SCROLL_SETTINGS, settings);
|
|
576
|
+
}
|
|
577
|
+
get dragScrollSettings() {
|
|
578
|
+
return this._dragScrollSettings;
|
|
579
|
+
}
|
|
488
580
|
/**
|
|
489
581
|
* @hidden
|
|
490
582
|
*/
|
|
@@ -537,12 +629,6 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
537
629
|
get viewTypes() {
|
|
538
630
|
return this.views.map(view => view.type);
|
|
539
631
|
}
|
|
540
|
-
/**
|
|
541
|
-
* @hidden
|
|
542
|
-
*/
|
|
543
|
-
get editDialogFormGroup() {
|
|
544
|
-
return this.editService.formGroup;
|
|
545
|
-
}
|
|
546
632
|
ngOnChanges(changes) {
|
|
547
633
|
if (anyChanged(['data', 'activeView', 'workWeekStart', 'workWeekEnd', 'workDayStart', 'workDayEnd'], changes)) {
|
|
548
634
|
this.loadTimelineData();
|
|
@@ -631,7 +717,10 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
631
717
|
*/
|
|
632
718
|
editTask(dataItem, formGroup) {
|
|
633
719
|
if (!this.showEditingDialog) {
|
|
634
|
-
this.
|
|
720
|
+
const taskId = this.mapper.extractFromTask(dataItem, 'id');
|
|
721
|
+
const dependencies = this.dependencies.filter(item => this.mapper.extractFromDependency(item, 'toId') === taskId
|
|
722
|
+
|| this.mapper.extractFromDependency(item, 'fromId') === taskId);
|
|
723
|
+
this.editService.createEditDialog(dataItem, formGroup, dependencies);
|
|
635
724
|
}
|
|
636
725
|
}
|
|
637
726
|
/**
|
|
@@ -704,7 +793,7 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
704
793
|
* @hidden
|
|
705
794
|
*/
|
|
706
795
|
showToolbar(position) {
|
|
707
|
-
return this.
|
|
796
|
+
return this.toolbarSettings.position !== 'none' && ([position, 'both'].indexOf(this.toolbarSettings.position) > -1);
|
|
708
797
|
}
|
|
709
798
|
/**
|
|
710
799
|
* @hidden
|
|
@@ -903,11 +992,65 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
|
|
|
903
992
|
const shouldToggleSelection = ctrlKey || metaKey;
|
|
904
993
|
return (shouldToggleSelection && this.isSelected(dataItem)) ? 'remove' : 'select';
|
|
905
994
|
}
|
|
995
|
+
getFirstSelectedItem() {
|
|
996
|
+
const isSelectedCallback = this.isSelected || isSelected;
|
|
997
|
+
const loadedItems = this.renderedTreeListItems || [];
|
|
998
|
+
return loadedItems.find(isSelectedCallback);
|
|
999
|
+
}
|
|
1000
|
+
defaultValidateNewDependencyCallback(dependency) {
|
|
1001
|
+
const fromTaskId = this.mapper.extractFromDependency(dependency, 'fromId');
|
|
1002
|
+
const toTaskId = this.mapper.extractFromDependency(dependency, 'toId');
|
|
1003
|
+
const fromTask = this.treeList.view.data.find(task => this.mapper.extractFromTask(task.data, 'id') === fromTaskId);
|
|
1004
|
+
const toTask = this.treeList.view.data.find(task => this.mapper.extractFromTask(task.data, 'id') === toTaskId);
|
|
1005
|
+
// mark as invalid if the attempted dependency is lacking valid from- and to-tasks
|
|
1006
|
+
// or when the from- and to-tasks are actually the same task
|
|
1007
|
+
if (!isPresent(fromTask) || !isPresent(fromTask.data) ||
|
|
1008
|
+
!isPresent(toTask) || !isPresent(toTask.data) ||
|
|
1009
|
+
fromTask.data === toTask.data) {
|
|
1010
|
+
return false;
|
|
1011
|
+
}
|
|
1012
|
+
const tasksDependentOnOneAnother = this.dependencies.some(current => {
|
|
1013
|
+
const currentFromId = this.mapper.extractFromDependency(current, 'fromId');
|
|
1014
|
+
const currentToId = this.mapper.extractFromDependency(current, 'toId');
|
|
1015
|
+
return (fromTaskId === currentFromId && toTaskId === currentToId) ||
|
|
1016
|
+
(toTaskId === currentFromId && fromTaskId === currentToId);
|
|
1017
|
+
});
|
|
1018
|
+
// mark as invalid if the attempted dependency is trying to connect already dependent tasks
|
|
1019
|
+
// mark as invalid if the two tasks are in parent-child relationship
|
|
1020
|
+
if (tasksDependentOnOneAnother || areParentChild(fromTask, toTask)) {
|
|
1021
|
+
return false;
|
|
1022
|
+
}
|
|
1023
|
+
const fromTaskStart = this.mapper.extractFromTask(fromTask.data, 'start');
|
|
1024
|
+
const fromTaskEnd = this.mapper.extractFromTask(fromTask.data, 'end');
|
|
1025
|
+
const toTaskStart = this.mapper.extractFromTask(toTask.data, 'start');
|
|
1026
|
+
const toTaskEnd = this.mapper.extractFromTask(toTask.data, 'end');
|
|
1027
|
+
// if the two tasks are available to be connected via a dependency,
|
|
1028
|
+
// check if their start and end time allow for the attempted dependency type
|
|
1029
|
+
switch (this.mapper.extractFromDependency(dependency, 'type')) {
|
|
1030
|
+
// finish to finish (FF) — the from-task ends before the to-task can end
|
|
1031
|
+
case DependencyType.FF:
|
|
1032
|
+
return fromTaskEnd <= toTaskEnd;
|
|
1033
|
+
// finish to start (FS) — the from-task ends before the to-task can begin
|
|
1034
|
+
case DependencyType.FS:
|
|
1035
|
+
return fromTaskEnd <= toTaskStart;
|
|
1036
|
+
// start to finish (SF) — the from-task begins before the to-task can end
|
|
1037
|
+
case DependencyType.SF:
|
|
1038
|
+
return fromTaskStart <= toTaskEnd;
|
|
1039
|
+
// start to start (SS) — the from-task begins before the to-task can begin
|
|
1040
|
+
case DependencyType.SS:
|
|
1041
|
+
return fromTaskStart <= toTaskStart;
|
|
1042
|
+
default: return false;
|
|
1043
|
+
}
|
|
1044
|
+
}
|
|
906
1045
|
};
|
|
907
1046
|
tslib_1.__decorate([
|
|
908
1047
|
ViewChild(TreeListComponent, { static: true }),
|
|
909
1048
|
tslib_1.__metadata("design:type", TreeListComponent)
|
|
910
1049
|
], GanttComponent.prototype, "treeList", void 0);
|
|
1050
|
+
tslib_1.__decorate([
|
|
1051
|
+
ViewChild(GanttTimelineComponent, { static: false }),
|
|
1052
|
+
tslib_1.__metadata("design:type", GanttTimelineComponent)
|
|
1053
|
+
], GanttComponent.prototype, "timeline", void 0);
|
|
911
1054
|
tslib_1.__decorate([
|
|
912
1055
|
ContentChild(GanttTaskContentTemplateDirective, { static: true }),
|
|
913
1056
|
tslib_1.__metadata("design:type", GanttTaskContentTemplateDirective)
|
|
@@ -966,6 +1109,10 @@ tslib_1.__decorate([
|
|
|
966
1109
|
Input(),
|
|
967
1110
|
tslib_1.__metadata("design:type", Function)
|
|
968
1111
|
], GanttComponent.prototype, "isSelected", void 0);
|
|
1112
|
+
tslib_1.__decorate([
|
|
1113
|
+
Input(),
|
|
1114
|
+
tslib_1.__metadata("design:type", Function)
|
|
1115
|
+
], GanttComponent.prototype, "validateNewDependency", void 0);
|
|
969
1116
|
tslib_1.__decorate([
|
|
970
1117
|
Output(),
|
|
971
1118
|
tslib_1.__metadata("design:type", EventEmitter)
|
|
@@ -976,16 +1123,19 @@ tslib_1.__decorate([
|
|
|
976
1123
|
], GanttComponent.prototype, "selectable", void 0);
|
|
977
1124
|
tslib_1.__decorate([
|
|
978
1125
|
Input(),
|
|
979
|
-
tslib_1.__metadata("design:type",
|
|
980
|
-
|
|
1126
|
+
tslib_1.__metadata("design:type", Object),
|
|
1127
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
1128
|
+
], GanttComponent.prototype, "toolbarSettings", null);
|
|
981
1129
|
tslib_1.__decorate([
|
|
982
1130
|
Input(),
|
|
983
|
-
tslib_1.__metadata("design:type", Function)
|
|
984
|
-
|
|
1131
|
+
tslib_1.__metadata("design:type", Function),
|
|
1132
|
+
tslib_1.__metadata("design:paramtypes", [Function])
|
|
1133
|
+
], GanttComponent.prototype, "fetchChildren", null);
|
|
985
1134
|
tslib_1.__decorate([
|
|
986
1135
|
Input(),
|
|
987
|
-
tslib_1.__metadata("design:type", Function)
|
|
988
|
-
|
|
1136
|
+
tslib_1.__metadata("design:type", Function),
|
|
1137
|
+
tslib_1.__metadata("design:paramtypes", [Function])
|
|
1138
|
+
], GanttComponent.prototype, "hasChildren", null);
|
|
989
1139
|
tslib_1.__decorate([
|
|
990
1140
|
Input(),
|
|
991
1141
|
tslib_1.__metadata("design:type", Array)
|
|
@@ -1062,6 +1212,11 @@ tslib_1.__decorate([
|
|
|
1062
1212
|
Input(),
|
|
1063
1213
|
tslib_1.__metadata("design:type", Boolean)
|
|
1064
1214
|
], GanttComponent.prototype, "columnsResizable", void 0);
|
|
1215
|
+
tslib_1.__decorate([
|
|
1216
|
+
Input(),
|
|
1217
|
+
tslib_1.__metadata("design:type", Object),
|
|
1218
|
+
tslib_1.__metadata("design:paramtypes", [Object])
|
|
1219
|
+
], GanttComponent.prototype, "dragScrollSettings", null);
|
|
1065
1220
|
tslib_1.__decorate([
|
|
1066
1221
|
Output(),
|
|
1067
1222
|
tslib_1.__metadata("design:type", EventEmitter)
|
|
@@ -1098,6 +1253,14 @@ tslib_1.__decorate([
|
|
|
1098
1253
|
Output(),
|
|
1099
1254
|
tslib_1.__metadata("design:type", EventEmitter)
|
|
1100
1255
|
], GanttComponent.prototype, "save", void 0);
|
|
1256
|
+
tslib_1.__decorate([
|
|
1257
|
+
Output(),
|
|
1258
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
1259
|
+
], GanttComponent.prototype, "taskAdd", void 0);
|
|
1260
|
+
tslib_1.__decorate([
|
|
1261
|
+
Output(),
|
|
1262
|
+
tslib_1.__metadata("design:type", EventEmitter)
|
|
1263
|
+
], GanttComponent.prototype, "dependencyAdd", void 0);
|
|
1101
1264
|
tslib_1.__decorate([
|
|
1102
1265
|
Output(),
|
|
1103
1266
|
tslib_1.__metadata("design:type", EventEmitter)
|
|
@@ -1155,6 +1318,7 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
|
1155
1318
|
selector: 'kendo-gantt',
|
|
1156
1319
|
exportAs: 'kendoGantt',
|
|
1157
1320
|
providers: [
|
|
1321
|
+
GanttLocalizationService,
|
|
1158
1322
|
LocalizationService,
|
|
1159
1323
|
{
|
|
1160
1324
|
provide: DataBoundTreeComponent,
|
|
@@ -1172,10 +1336,32 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
|
1172
1336
|
DependencyDomService,
|
|
1173
1337
|
MappingService,
|
|
1174
1338
|
OptionChangesService,
|
|
1175
|
-
EditService
|
|
1339
|
+
EditService,
|
|
1340
|
+
TimelineScrollService
|
|
1176
1341
|
],
|
|
1177
1342
|
template: `
|
|
1178
1343
|
<ng-container kendoGanttLocalizedMessages
|
|
1344
|
+
i18n-taskEditingGeneralTabTitle="kendo.gantt.taskEditingGeneralTabTitle|The title of the 'General' tab of the editing dialog TabStrip"
|
|
1345
|
+
taskEditingGeneralTabTitle="General"
|
|
1346
|
+
|
|
1347
|
+
i18n-taskEditingPredecessorsTabTitle="kendo.gantt.taskEditingPredecessorsTabTitle|The title of the 'Predecessors' dependencies tab of the editing dialog TabStrip"
|
|
1348
|
+
taskEditingPredecessorsTabTitle="Predecessors"
|
|
1349
|
+
|
|
1350
|
+
i18n-taskEditingSuccessorsTabTitle="kendo.gantt.taskEditingSuccessorsTabTitle|The title of the 'Successors' dependencies tab of the editing dialog TabStrip"
|
|
1351
|
+
taskEditingSuccessorsTabTitle="Successors"
|
|
1352
|
+
|
|
1353
|
+
i18n-taskEditingDependenciesAddButtonText="kendo.gantt.taskEditingDependenciesAddButtonText|The text of the 'Add' button in the dependencies tabs of the editing dialog TabStrip"
|
|
1354
|
+
taskEditingDependenciesAddButtonText="Add"
|
|
1355
|
+
|
|
1356
|
+
i18n-taskEditingDependenciesRemoveButtonText="kendo.gantt.taskEditingDependenciesRemoveButtonText|The text of the 'Remove' button in the dependencies tabs of the editing dialog TabStrip"
|
|
1357
|
+
taskEditingDependenciesRemoveButtonText="Remove"
|
|
1358
|
+
|
|
1359
|
+
i18n-taskEditingDependenciesGridNameColumnTitle="kendo.gantt.taskEditingDependenciesGridNameColumnTitle|The title of the 'Task Title' Grid column in the dependencies tabs of the editing dialog TabStrip"
|
|
1360
|
+
taskEditingDependenciesGridNameColumnTitle="Task Title"
|
|
1361
|
+
|
|
1362
|
+
i18n-taskEditingDependenciesGridTypeColumnTitle="kendo.gantt.taskEditingDependenciesGridTypeColumnTitle|The title of the 'Type' Grid column in the dependencies tabs of the editing dialog TabStrip"
|
|
1363
|
+
taskEditingDependenciesGridTypeColumnTitle="Type"
|
|
1364
|
+
|
|
1179
1365
|
i18n-taskDeleteLabel="kendo.gantt.taskDeleteLabel|The label of the task delete icon"
|
|
1180
1366
|
taskDeleteLabel="Delete"
|
|
1181
1367
|
|
|
@@ -1227,6 +1413,18 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
|
1227
1413
|
i18n-yearViewText-disabled="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"
|
|
1228
1414
|
yearViewText="Year"
|
|
1229
1415
|
|
|
1416
|
+
i18n-addTaskText="kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component"
|
|
1417
|
+
addTaskText="Add Task"
|
|
1418
|
+
|
|
1419
|
+
i18n-addChildText="kendo.gantt.addChildText|The text of the 'Add Child' option in the AddTask component"
|
|
1420
|
+
addChildText="Add Child"
|
|
1421
|
+
|
|
1422
|
+
i18n-addAboveText="kendo.gantt.addAboveText|The text of the 'Add Above' option in the AddTask component"
|
|
1423
|
+
addAboveText="Add Above"
|
|
1424
|
+
|
|
1425
|
+
i18n-addBelowText="kendo.gantt.addBelowText|The text of the 'Add Below' option in the AddTask component"
|
|
1426
|
+
addBelowText="Add Below"
|
|
1427
|
+
|
|
1230
1428
|
i18n-noRecords="kendo.gantt.noRecords|The label visible in the TreeList when there are no records"
|
|
1231
1429
|
noRecords="No records available."
|
|
1232
1430
|
|
|
@@ -1348,6 +1546,8 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
|
1348
1546
|
columnsReset="Reset"></ng-container>
|
|
1349
1547
|
<kendo-gantt-toolbar
|
|
1350
1548
|
*ngIf="showToolbar('top')"
|
|
1549
|
+
[showAddTask]="toolbarSettings.addTaskTool === 'top' || toolbarSettings.addTaskTool === 'both'"
|
|
1550
|
+
[showViewSelector]="toolbarSettings.viewSelectorTool === 'top' || toolbarSettings.viewSelectorTool === 'both'"
|
|
1351
1551
|
class="k-gantt-header k-toolbar k-gantt-toolbar"
|
|
1352
1552
|
position="top"></kendo-gantt-toolbar>
|
|
1353
1553
|
<div class="k-gantt-content">
|
|
@@ -1397,7 +1597,47 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
|
1397
1597
|
}"
|
|
1398
1598
|
[scope]="this"
|
|
1399
1599
|
>
|
|
1400
|
-
<kendo-treelist-messages
|
|
1600
|
+
<kendo-treelist-messages
|
|
1601
|
+
[noRecords]="getText('noRecords')"
|
|
1602
|
+
[filter]="getText('filter')"
|
|
1603
|
+
[filterEqOperator]="getText('filterEqOperator')"
|
|
1604
|
+
[filterNotEqOperator]="getText('filterNotEqOperator')"
|
|
1605
|
+
[filterIsNullOperator]="getText('filterIsNullOperator')"
|
|
1606
|
+
[filterIsNotNullOperator]="getText('filterIsNotNullOperator')"
|
|
1607
|
+
[filterIsEmptyOperator]="getText('filterIsEmptyOperator')"
|
|
1608
|
+
[filterIsNotEmptyOperator]="getText('filterIsNotEmptyOperator')"
|
|
1609
|
+
[filterStartsWithOperator]="getText('filterStartsWithOperator')"
|
|
1610
|
+
[filterContainsOperator]="getText('filterContainsOperator')"
|
|
1611
|
+
[filterNotContainsOperator]="getText('filterNotContainsOperator')"
|
|
1612
|
+
[filterEndsWithOperator]="getText('filterEndsWithOperator')"
|
|
1613
|
+
[filterGteOperator]="getText('filterGteOperator')"
|
|
1614
|
+
[filterGtOperator]="getText('filterGtOperator')"
|
|
1615
|
+
[filterLteOperator]="getText('filterLteOperator')"
|
|
1616
|
+
[filterLtOperator]="getText('filterLtOperator')"
|
|
1617
|
+
[filterIsTrue]="getText('filterIsTrue')"
|
|
1618
|
+
[filterIsFalse]="getText('filterIsFalse')"
|
|
1619
|
+
[filterBooleanAll]="getText('filterBooleanAll')"
|
|
1620
|
+
[filterAfterOrEqualOperator]="getText('filterAfterOrEqualOperator')"
|
|
1621
|
+
[filterAfterOperator]="getText('filterAfterOperator')"
|
|
1622
|
+
[filterBeforeOperator]="getText('filterBeforeOperator')"
|
|
1623
|
+
[filterBeforeOrEqualOperator]="getText('filterBeforeOrEqualOperator')"
|
|
1624
|
+
[filterFilterButton]="getText('filterFilterButton')"
|
|
1625
|
+
[filterClearButton]="getText('filterClearButton')"
|
|
1626
|
+
[filterAndLogic]="getText('filterAndLogic')"
|
|
1627
|
+
[filterOrLogic]="getText('filterOrLogic')"
|
|
1628
|
+
[loading]="getText('loading')"
|
|
1629
|
+
[columnMenu]="getText('columnMenu')"
|
|
1630
|
+
[columns]="getText('columns')"
|
|
1631
|
+
[sortable]="getText('sortable')"
|
|
1632
|
+
[sortAscending]="getText('sortAscending')"
|
|
1633
|
+
[sortDescending]="getText('sortDescending')"
|
|
1634
|
+
[sortedAscending]="getText('sortedAscending')"
|
|
1635
|
+
[sortedDescending]="getText('sortedDescending')"
|
|
1636
|
+
[sortedDefault]="getText('sortedDefault')"
|
|
1637
|
+
[columnsApply]="getText('columnsApply')"
|
|
1638
|
+
[columnsReset]="getText('columnsReset')"
|
|
1639
|
+
>
|
|
1640
|
+
</kendo-treelist-messages>
|
|
1401
1641
|
</kendo-treelist>
|
|
1402
1642
|
</kendo-splitter-pane>
|
|
1403
1643
|
<kendo-splitter-pane
|
|
@@ -1412,6 +1652,8 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
|
1412
1652
|
[scrollable]="false">
|
|
1413
1653
|
<kendo-gantt-timeline
|
|
1414
1654
|
*ngIf="views && views.length"
|
|
1655
|
+
[renderDependencyDragClues]="renderDependencyDragClues"
|
|
1656
|
+
[dragScrollSettings]="dragScrollSettings"
|
|
1415
1657
|
[rows]="renderedTreeListItems"
|
|
1416
1658
|
[slots]="timelineSlots"
|
|
1417
1659
|
[groupSlots]="timelineGroupSlots"
|
|
@@ -1437,16 +1679,21 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
|
|
|
1437
1679
|
</div>
|
|
1438
1680
|
<kendo-gantt-toolbar
|
|
1439
1681
|
*ngIf="showToolbar('bottom')"
|
|
1682
|
+
[showAddTask]="toolbarSettings.addTaskTool === 'bottom' || toolbarSettings.addTaskTool === 'both'"
|
|
1683
|
+
[showViewSelector]="toolbarSettings.viewSelectorTool === 'bottom' || toolbarSettings.viewSelectorTool === 'both'"
|
|
1440
1684
|
class="k-gantt-footer k-toolbar k-gantt-toolbar"
|
|
1441
1685
|
position="bottom"></kendo-gantt-toolbar>
|
|
1442
|
-
<kendo-gantt-edit-dialog
|
|
1686
|
+
<kendo-gantt-edit-dialog
|
|
1687
|
+
*ngIf="showEditingDialog"
|
|
1688
|
+
[data]="data">
|
|
1689
|
+
</kendo-gantt-edit-dialog>
|
|
1443
1690
|
<kendo-dialog
|
|
1444
1691
|
*ngIf="showConfirmationDialog"
|
|
1445
1692
|
[width]="575"
|
|
1446
1693
|
[height]="170"
|
|
1447
1694
|
[title]="getText('confirmationDialogTitle')"
|
|
1448
1695
|
(close)="showConfirmationDialog = false;">
|
|
1449
|
-
<span>{{getText('confirmationDialogContent')}}</span>
|
|
1696
|
+
<span>{{ getText('confirmationDialogContent') }}</span>
|
|
1450
1697
|
<kendo-dialog-actions layout="normal">
|
|
1451
1698
|
<kendo-treelist-spacer></kendo-treelist-spacer>
|
|
1452
1699
|
<button kendoButton [primary]="true" (click)="handleDeleteConfirmation()">{{ getText('deleteButtonText') }}</button>
|
|
@@ -5,11 +5,19 @@
|
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
6
|
import { NgModule } from '@angular/core';
|
|
7
7
|
import { CommonModule } from '@angular/common';
|
|
8
|
-
import {
|
|
8
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
9
|
+
import { SplitterModule, TabStripModule } from '@progress/kendo-angular-layout';
|
|
9
10
|
import { TreeListModule } from '@progress/kendo-angular-treelist';
|
|
10
11
|
import { ButtonsModule } from '@progress/kendo-angular-buttons';
|
|
11
|
-
import { EventsModule } from '@progress/kendo-angular-common';
|
|
12
|
+
import { DraggableModule, EventsModule } from '@progress/kendo-angular-common';
|
|
12
13
|
import { DialogModule } from '@progress/kendo-angular-dialog';
|
|
14
|
+
import { LabelModule } from '@progress/kendo-angular-label';
|
|
15
|
+
import { InputsModule } from '@progress/kendo-angular-inputs';
|
|
16
|
+
import { DateInputsModule } from '@progress/kendo-angular-dateinputs';
|
|
17
|
+
import { L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
18
|
+
import { PopupModule } from '@progress/kendo-angular-popup';
|
|
19
|
+
import { touchEnabled } from '@progress/kendo-common';
|
|
20
|
+
import { TOUCH_ENABLED } from './common/touch-enabled';
|
|
13
21
|
import { GanttComponent } from './gantt.component';
|
|
14
22
|
import { GanttTimelineComponent } from './timeline/gantt-timeline.component';
|
|
15
23
|
import { GanttTasksTableBodyComponent } from './rendering/gantt-tasks-table-body.component';
|
|
@@ -28,19 +36,21 @@ import { ToolbarComponent } from './toolbar/toolbar.component';
|
|
|
28
36
|
import { ToolbarTemplateDirective } from './toolbar/toolbar-template.directive';
|
|
29
37
|
import { ViewSelectorComponent } from './toolbar/view-selector.component';
|
|
30
38
|
import { GanttDependencyDirective } from './dependencies/gantt-dependency.directive';
|
|
39
|
+
import { DependencyDragCreateDirective } from './dragging/dependency-drag-create.directive';
|
|
40
|
+
import { DragValidationTooltipComponent } from './dragging/drag-validation-tooltip.component';
|
|
41
|
+
import { TimelineScrollableDirective } from './scrolling/timeline-scroll.directive';
|
|
31
42
|
import { GanttColumnComponent, GanttColumnGroupComponent, GanttSpanColumnComponent, FilterMenuTemplateDirective, FilterCellTemplateDirective, CellTemplateDirective, ColumnMenuTemplateDirective, FooterTemplateDirective, HeaderTemplateDirective, EditTemplateDirective } from './columns/columns';
|
|
32
43
|
import { TimelineDayViewComponent } from './timeline/timeline-day-view.component';
|
|
33
44
|
import { TimelineWeekViewComponent } from './timeline/timeline-week-view.component';
|
|
34
45
|
import { TimelineMonthViewComponent } from './timeline/timeline-month-view.component';
|
|
35
46
|
import { EditDialogComponent } from './editing/edit-dialog.component';
|
|
36
|
-
import { ReactiveFormsModule } from '@angular/forms';
|
|
37
|
-
import { LabelModule } from '@progress/kendo-angular-label';
|
|
38
|
-
import { InputsModule } from '@progress/kendo-angular-inputs';
|
|
39
|
-
import { DateInputsModule } from '@progress/kendo-angular-dateinputs';
|
|
40
47
|
import { CustomMessagesComponent } from './localization/custom-messages.component';
|
|
41
|
-
import { L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
42
48
|
import { LocalizedMessagesDirective } from './localization/localized-messages.directive';
|
|
43
|
-
import {
|
|
49
|
+
import { GanttAddTaskComponent } from './editing/add-task.component';
|
|
50
|
+
import { GridModule } from '@progress/kendo-angular-grid';
|
|
51
|
+
import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
|
|
52
|
+
import { DependenciesTableComponent } from './editing/dependencies-table.component';
|
|
53
|
+
import { TaskFieldsComponent } from './editing/task-fields.component';
|
|
44
54
|
const IMPORTED_MODULES = [
|
|
45
55
|
CommonModule,
|
|
46
56
|
ReactiveFormsModule,
|
|
@@ -52,7 +62,12 @@ const IMPORTED_MODULES = [
|
|
|
52
62
|
TreeListModule,
|
|
53
63
|
ButtonsModule,
|
|
54
64
|
DialogModule,
|
|
55
|
-
EventsModule
|
|
65
|
+
EventsModule,
|
|
66
|
+
PopupModule,
|
|
67
|
+
DraggableModule,
|
|
68
|
+
TabStripModule,
|
|
69
|
+
GridModule,
|
|
70
|
+
DropDownsModule
|
|
56
71
|
];
|
|
57
72
|
const DECLARATIONS = [
|
|
58
73
|
GanttComponent,
|
|
@@ -82,6 +97,7 @@ const DECLARATIONS = [
|
|
|
82
97
|
FooterTemplateDirective,
|
|
83
98
|
GanttExpandableDirective,
|
|
84
99
|
GanttDependencyDirective,
|
|
100
|
+
DependencyDragCreateDirective,
|
|
85
101
|
TimelineDayViewComponent,
|
|
86
102
|
TimelineWeekViewComponent,
|
|
87
103
|
TimelineMonthViewComponent,
|
|
@@ -89,8 +105,13 @@ const DECLARATIONS = [
|
|
|
89
105
|
EditDialogComponent,
|
|
90
106
|
CustomMessagesComponent,
|
|
91
107
|
LocalizedMessagesDirective,
|
|
92
|
-
|
|
108
|
+
GanttAddTaskComponent,
|
|
109
|
+
DragValidationTooltipComponent,
|
|
110
|
+
TimelineScrollableDirective,
|
|
111
|
+
DependenciesTableComponent,
|
|
112
|
+
TaskFieldsComponent
|
|
93
113
|
];
|
|
114
|
+
const ɵ0 = touchEnabled;
|
|
94
115
|
/**
|
|
95
116
|
* Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
|
|
96
117
|
* definition for the Gantt component.
|
|
@@ -129,10 +150,15 @@ GanttModule = tslib_1.__decorate([
|
|
|
129
150
|
imports: [...IMPORTED_MODULES],
|
|
130
151
|
declarations: [...DECLARATIONS],
|
|
131
152
|
exports: [...DECLARATIONS],
|
|
153
|
+
entryComponents: [DragValidationTooltipComponent],
|
|
132
154
|
providers: [{
|
|
133
155
|
provide: L10N_PREFIX,
|
|
134
156
|
useValue: 'kendo.gantt'
|
|
157
|
+
}, {
|
|
158
|
+
provide: TOUCH_ENABLED,
|
|
159
|
+
useValue: ɵ0
|
|
135
160
|
}]
|
|
136
161
|
})
|
|
137
162
|
], GanttModule);
|
|
138
163
|
export { GanttModule };
|
|
164
|
+
export { ɵ0 };
|