@progress/kendo-angular-gantt 0.2.1-dev.202112091019 → 0.3.0-dev.202201111723

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.
Files changed (96) hide show
  1. package/dist/cdn/js/kendo-angular-gantt.js +2 -2
  2. package/dist/cdn/main.js +10 -4
  3. package/dist/es/dependencies/utils.js +6 -5
  4. package/dist/es/editing/add-task.component.js +94 -0
  5. package/dist/es/editing/dependencies-table.component.js +131 -0
  6. package/dist/es/editing/edit-dialog.component.js +37 -6
  7. package/dist/es/editing/edit.service.js +89 -7
  8. package/dist/es/editing/task-fields.component.js +43 -0
  9. package/dist/es/expanded-state/expandable.directive.js +4 -6
  10. package/dist/es/gantt.component.js +116 -45
  11. package/dist/es/gantt.module.js +13 -4
  12. package/dist/es/index.js +5 -1
  13. package/dist/es/localization/gantt-localization.service.js +26 -0
  14. package/dist/es/localization/messages.js +45 -1
  15. package/dist/es/models/dependency-type.enum.js +16 -0
  16. package/dist/es/models/events/{add-event.interface.js → task-add-event.interface.js} +0 -0
  17. package/dist/es/models/models.js +2 -0
  18. package/dist/es/models/{events/edit-event.interface.js → toolbar-settings.js} +0 -0
  19. package/dist/es/package-metadata.js +1 -1
  20. package/dist/es/timeline/timeline-base-view.service.js +12 -3
  21. package/dist/es/toolbar/toolbar.component.js +9 -1
  22. package/dist/es2015/dependencies/utils.js +6 -5
  23. package/dist/es2015/editing/add-task.component.d.ts +45 -0
  24. package/dist/es2015/editing/add-task.component.js +102 -0
  25. package/dist/es2015/editing/dependencies-table.component.d.ts +39 -0
  26. package/dist/es2015/editing/dependencies-table.component.js +160 -0
  27. package/dist/es2015/editing/edit-dialog.component.d.ts +10 -3
  28. package/dist/es2015/editing/edit-dialog.component.js +55 -33
  29. package/dist/es2015/editing/edit.service.d.ts +24 -3
  30. package/dist/es2015/editing/edit.service.js +78 -10
  31. package/dist/es2015/editing/task-fields.component.d.ts +22 -0
  32. package/dist/es2015/editing/task-fields.component.js +67 -0
  33. package/dist/es2015/expanded-state/expandable.directive.d.ts +1 -2
  34. package/dist/es2015/expanded-state/expandable.directive.js +2 -7
  35. package/dist/es2015/gantt.component.d.ts +29 -18
  36. package/dist/es2015/gantt.component.js +183 -43
  37. package/dist/es2015/gantt.module.js +13 -4
  38. package/dist/es2015/index.d.ts +5 -1
  39. package/dist/es2015/index.js +5 -1
  40. package/dist/es2015/index.metadata.json +1 -1
  41. package/dist/es2015/localization/{treelist-messages.directive.d.ts → gantt-localization.service.d.ts} +4 -3
  42. package/dist/es2015/localization/gantt-localization.service.js +25 -0
  43. package/dist/es2015/localization/messages.d.ts +46 -2
  44. package/dist/es2015/localization/messages.js +45 -1
  45. package/dist/es2015/models/dependency-type.enum.d.ts +1 -1
  46. package/dist/es2015/models/dependency-type.enum.js +16 -0
  47. package/dist/es2015/models/events/cell-close-event.interface.d.ts +1 -1
  48. package/dist/es2015/models/events/task-add-event.interface.d.ts +31 -0
  49. package/dist/{es/models/events/remove-event.interface.js → es2015/models/events/task-add-event.interface.js} +0 -0
  50. package/dist/es2015/models/events/task-edit-event.interface.d.ts +15 -2
  51. package/dist/es2015/models/models.d.ts +5 -3
  52. package/dist/es2015/models/models.js +2 -0
  53. package/dist/es2015/models/toolbar-settings.d.ts +29 -0
  54. package/dist/{es/models/toolbar-position.js → es2015/models/toolbar-settings.js} +0 -0
  55. package/dist/es2015/package-metadata.js +1 -1
  56. package/dist/es2015/timeline/timeline-base-view.service.d.ts +12 -0
  57. package/dist/es2015/timeline/timeline-base-view.service.js +12 -3
  58. package/dist/es2015/toolbar/toolbar-template.directive.d.ts +1 -1
  59. package/dist/es2015/toolbar/toolbar.component.d.ts +2 -0
  60. package/dist/es2015/toolbar/toolbar.component.js +10 -0
  61. package/dist/fesm2015/index.js +757 -115
  62. package/dist/fesm5/index.js +627 -88
  63. package/dist/npm/dependencies/utils.js +6 -5
  64. package/dist/npm/editing/add-task.component.js +96 -0
  65. package/dist/npm/editing/dependencies-table.component.js +133 -0
  66. package/dist/npm/editing/edit-dialog.component.js +36 -5
  67. package/dist/npm/editing/edit.service.js +88 -6
  68. package/dist/npm/editing/task-fields.component.js +45 -0
  69. package/dist/npm/expanded-state/expandable.directive.js +3 -5
  70. package/dist/npm/gantt.component.js +116 -45
  71. package/dist/npm/gantt.module.js +12 -3
  72. package/dist/npm/index.js +10 -2
  73. package/dist/npm/localization/gantt-localization.service.js +28 -0
  74. package/dist/npm/localization/messages.js +45 -1
  75. package/dist/npm/models/dependency-type.enum.js +16 -0
  76. package/dist/npm/models/events/{add-event.interface.js → task-add-event.interface.js} +0 -0
  77. package/dist/npm/models/models.js +4 -0
  78. package/dist/npm/models/{events/edit-event.interface.js → toolbar-settings.js} +0 -0
  79. package/dist/npm/package-metadata.js +1 -1
  80. package/dist/npm/timeline/timeline-base-view.service.js +17 -8
  81. package/dist/npm/toolbar/toolbar.component.js +9 -1
  82. package/dist/systemjs/kendo-angular-gantt.js +1 -1
  83. package/package.json +5 -3
  84. package/dist/es/localization/treelist-messages.directive.js +0 -31
  85. package/dist/es2015/localization/treelist-messages.directive.js +0 -29
  86. package/dist/es2015/models/events/add-event.interface.d.ts +0 -16
  87. package/dist/es2015/models/events/add-event.interface.js +0 -4
  88. package/dist/es2015/models/events/edit-event.interface.d.ts +0 -19
  89. package/dist/es2015/models/events/edit-event.interface.js +0 -4
  90. package/dist/es2015/models/events/remove-event.interface.d.ts +0 -16
  91. package/dist/es2015/models/events/remove-event.interface.js +0 -4
  92. package/dist/es2015/models/toolbar-position.d.ts +0 -9
  93. package/dist/es2015/models/toolbar-position.js +0 -4
  94. package/dist/npm/localization/treelist-messages.directive.js +0 -33
  95. package/dist/npm/models/events/remove-event.interface.js +0 -6
  96. package/dist/npm/models/toolbar-position.js +0 -6
@@ -31,6 +31,7 @@ import { GanttTaskContentTemplateDirective } from './template-directives/task-co
31
31
  import { ToolbarTemplateDirective } from './toolbar/toolbar-template.directive';
32
32
  import { ViewBase } from './timeline/view-base';
33
33
  import { getEditItem } from './editing/util';
34
+ import { GanttLocalizationService } from './localization/gantt-localization.service';
34
35
  const TREELIST_GROUP_COLUMNS_CLASS = 'k-gantt-treelist-nested-columns';
35
36
  const DEFAULT_VIEW = 'week';
36
37
  /**
@@ -120,7 +121,7 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
120
121
  /**
121
122
  * Provides a callback that determines if the given task is selected ([see example]({% slug selection_gantt %}#toc-custom-selection))
122
123
  *
123
- * > The [`selectable`]({% slug gantt_api_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
124
+ * > The [`selectable`]({% slug api_gantt_ganttcomponent %}#toc-selectable) prop has to be set to `true` in order for this callback to be executed.
124
125
  */
125
126
  this.isSelected = isSelected;
126
127
  /**
@@ -134,29 +135,10 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
134
135
  /**
135
136
  * Enables or disables the Gantt selection mechanism ([see example]({% slug selection_gantt %}#toc-custom-selection)).
136
137
  *
137
- * > When set to `true`, the [`isSelected`]({% slug gantt_api_ganttcomponent %}#toc-isselected) callback has to be provided.
138
+ * > When set to `true`, the [`isSelected`]({% slug api_gantt_ganttcomponent %}#toc-isselected) callback has to be provided.
138
139
  * > When applied, the [`SelectableDirective`]({% slug api_gantt_selectabledirective %}) sets `selectable` to `true` internally.
139
140
  */
140
141
  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
142
  /**
161
143
  * Defines the dependencies that will be drawn between the rendered tasks.
162
144
  *
@@ -258,6 +240,10 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
258
240
  * Fires when the user saves an edited task.
259
241
  */
260
242
  this.save = new EventEmitter();
243
+ /**
244
+ * Fires when the user adds a task.
245
+ */
246
+ this.taskAdd = new EventEmitter();
261
247
  /**
262
248
  * Fires when the sorting of the Gantt is changed.
263
249
  * You have to handle the event yourself and sort the data.
@@ -335,6 +321,13 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
335
321
  this._rowClass = rowClassCallback;
336
322
  this._taskClass = taskClassCallback;
337
323
  this._activeView = DEFAULT_VIEW;
324
+ this._toolbarSettings = {
325
+ position: 'top',
326
+ addTaskTool: 'none',
327
+ viewSelectorTool: 'top'
328
+ };
329
+ this._fetchChildren = fetchChildren;
330
+ this._hasChildren = hasChildren;
338
331
  this.rtl = false;
339
332
  this.optionChangesSubscriptions = new Subscription();
340
333
  this.editServiceSubscription = new Subscription();
@@ -345,18 +338,27 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
345
338
  this.optionChangesSubscriptions.add(this.optionChangesService.columnChanges.subscribe(() => {
346
339
  this.treeList.columns.notifyOnChanges();
347
340
  }));
341
+ this.editService.getSelectedItem = this.getFirstSelectedItem.bind(this);
348
342
  this.editServiceSubscription.add(this.editService.showEditingDialog.subscribe(show => this.showEditingDialog = show));
349
343
  this.editServiceSubscription.add(this.editService.showConfirmationDialog.subscribe(() => this.taskDelete.emit()));
350
344
  this.editServiceSubscription.add(this.editService.editEvent.subscribe(args => {
351
345
  this[args.editResultType].emit({
352
- formGroup: args.formGroup,
346
+ taskFormGroup: args.taskFormGroup,
353
347
  item: getEditItem(args.dataItem, this.treeList.view.data, this.mapper),
348
+ dependencies: args.dependencies,
354
349
  sender: this
355
350
  });
356
351
  this.showConfirmationDialog = this.showEditingDialog = false;
357
- this.editService.dataItem = this.editService.formGroup = null;
352
+ this.editService.dataItem = this.editService.taskFormGroup = null;
353
+ this.updateView();
354
+ }));
355
+ this.editServiceSubscription.add(this.editService.addEvent.subscribe(args => {
356
+ const selectedItem = this.getFirstSelectedItem();
357
+ this.taskAdd.emit({
358
+ actionType: args.actionType,
359
+ selectedItem: selectedItem ? getEditItem(selectedItem, this.treeList.view.data, this.mapper) : null
360
+ });
358
361
  this.updateView();
359
- this.dependencyDomService.notifyChanges();
360
362
  }));
361
363
  this.localizationSubscription = this.localizationService.changes.subscribe(({ rtl }) => {
362
364
  this.rtl = rtl;
@@ -431,6 +433,49 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
431
433
  get data() {
432
434
  return this._data;
433
435
  }
436
+ /**
437
+ * The toolbar configuration. Defines the position and content of the toolbar(s).
438
+ * The available properties are `position`, `addTaskTool`, and `viewSelectorTool`.
439
+ * All are optional and default to `top`.
440
+ *
441
+ * The possible values for each option are:
442
+ * - `top`—Positions the toolbar above the Gantt panes. Renders the respective tool in the top toolbar.
443
+ * - `bottom`—Positions the toolbar below the Gantt panes. Renders the respective tool in the bottom toolbar.
444
+ * - `both`—Displays two toolbar instances. Positions the first one above,
445
+ * and the second one - below the Gantt panes. Renders the respective tool in the both toolbars.
446
+ * - `none`—No toolbar is rendered when used for setting `position`.
447
+ * No add task or view selector tool is rendered when used for setting `addTaskTool` or `viewSelectorTool`.
448
+ */
449
+ set toolbarSettings(value) {
450
+ this._toolbarSettings = {
451
+ position: value.position || 'top',
452
+ addTaskTool: value.addTaskTool || 'none',
453
+ viewSelectorTool: value.viewSelectorTool || 'top'
454
+ };
455
+ }
456
+ get toolbarSettings() {
457
+ return this._toolbarSettings;
458
+ }
459
+ /**
460
+ * Gets or sets the callback function that retrieves the child items for a particular item.
461
+ */
462
+ set fetchChildren(fn) {
463
+ this._fetchChildren = fn;
464
+ this.editService.fetchChildren = fn;
465
+ }
466
+ get fetchChildren() {
467
+ return this._fetchChildren;
468
+ }
469
+ /**
470
+ * Gets or sets the callback function that indicates if a particular item has child items.
471
+ */
472
+ set hasChildren(fn) {
473
+ this._hasChildren = fn;
474
+ this.editService.hasChildren = fn;
475
+ }
476
+ get hasChildren() {
477
+ return this._hasChildren;
478
+ }
434
479
  /**
435
480
  * The options of the timeline splitter pane. By default the pane is `collapsible`,
436
481
  * `resizable`, not `collapsed`, and its `size` is `'50%'`.
@@ -538,12 +583,6 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
538
583
  get viewTypes() {
539
584
  return this.views.map(view => view.type);
540
585
  }
541
- /**
542
- * @hidden
543
- */
544
- get editDialogFormGroup() {
545
- return this.editService.formGroup;
546
- }
547
586
  ngOnChanges(changes) {
548
587
  if (anyChanged(['data', 'activeView', 'workWeekStart', 'workWeekEnd', 'workDayStart', 'workDayEnd'], changes)) {
549
588
  this.loadTimelineData();
@@ -615,19 +654,27 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
615
654
  }
616
655
  }
617
656
  /**
618
- * Updates the data of the Gantt and forces row-related callbacks to be called anew.
657
+ * Forces the TreeList to evaluate if some data items have changed and re-renders the rows information, if needed.
658
+ * Recalculates and re-renders the Timeline period, if needed.
659
+ * Redraws changed dependencies, if needed.
660
+ * Executes all row-related callbacks anew.
619
661
  */
620
662
  updateView() {
621
663
  if (isPresent(this.treeList)) {
622
664
  this.treeList.updateView();
623
665
  }
666
+ this.loadTimelineData();
667
+ this.dependencyDomService.notifyChanges();
624
668
  }
625
669
  /**
626
670
  * Opens the task editing dialog.
627
671
  */
628
672
  editTask(dataItem, formGroup) {
629
673
  if (!this.showEditingDialog) {
630
- this.editService.createEditDialog(dataItem, formGroup);
674
+ const taskId = this.mapper.extractFromTask(dataItem, 'id');
675
+ const dependencies = this.dependencies.filter(item => this.mapper.extractFromDependency(item, 'toId') === taskId
676
+ || this.mapper.extractFromDependency(item, 'fromId') === taskId);
677
+ this.editService.createEditDialog(dataItem, formGroup, dependencies);
631
678
  }
632
679
  }
633
680
  /**
@@ -700,7 +747,7 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
700
747
  * @hidden
701
748
  */
702
749
  showToolbar(position) {
703
- return this.toolbarPosition !== 'none' && ([position, 'both'].indexOf(this.toolbarPosition) > -1);
750
+ return this.toolbarSettings.position !== 'none' && ([position, 'both'].indexOf(this.toolbarSettings.position) > -1);
704
751
  }
705
752
  /**
706
753
  * @hidden
@@ -864,7 +911,7 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
864
911
  items: [dataItem],
865
912
  sender: this
866
913
  });
867
- this.updateView();
914
+ this.treeList.updateView();
868
915
  }
869
916
  updateTreeListGroupClass(columns = this.columns) {
870
917
  if (!isPresent(this.treeList)) {
@@ -899,6 +946,11 @@ let GanttComponent = GanttComponent_1 = class GanttComponent {
899
946
  const shouldToggleSelection = ctrlKey || metaKey;
900
947
  return (shouldToggleSelection && this.isSelected(dataItem)) ? 'remove' : 'select';
901
948
  }
949
+ getFirstSelectedItem() {
950
+ const isSelectedCallback = this.isSelected || isSelected;
951
+ const loadedItems = this.renderedTreeListItems || [];
952
+ return loadedItems.find(isSelectedCallback);
953
+ }
902
954
  };
903
955
  tslib_1.__decorate([
904
956
  ViewChild(TreeListComponent, { static: true }),
@@ -972,16 +1024,19 @@ tslib_1.__decorate([
972
1024
  ], GanttComponent.prototype, "selectable", void 0);
973
1025
  tslib_1.__decorate([
974
1026
  Input(),
975
- tslib_1.__metadata("design:type", String)
976
- ], GanttComponent.prototype, "toolbarPosition", void 0);
1027
+ tslib_1.__metadata("design:type", Object),
1028
+ tslib_1.__metadata("design:paramtypes", [Object])
1029
+ ], GanttComponent.prototype, "toolbarSettings", null);
977
1030
  tslib_1.__decorate([
978
1031
  Input(),
979
- tslib_1.__metadata("design:type", Function)
980
- ], GanttComponent.prototype, "fetchChildren", void 0);
1032
+ tslib_1.__metadata("design:type", Function),
1033
+ tslib_1.__metadata("design:paramtypes", [Function])
1034
+ ], GanttComponent.prototype, "fetchChildren", null);
981
1035
  tslib_1.__decorate([
982
1036
  Input(),
983
- tslib_1.__metadata("design:type", Function)
984
- ], GanttComponent.prototype, "hasChildren", void 0);
1037
+ tslib_1.__metadata("design:type", Function),
1038
+ tslib_1.__metadata("design:paramtypes", [Function])
1039
+ ], GanttComponent.prototype, "hasChildren", null);
985
1040
  tslib_1.__decorate([
986
1041
  Input(),
987
1042
  tslib_1.__metadata("design:type", Array)
@@ -1094,6 +1149,10 @@ tslib_1.__decorate([
1094
1149
  Output(),
1095
1150
  tslib_1.__metadata("design:type", EventEmitter)
1096
1151
  ], GanttComponent.prototype, "save", void 0);
1152
+ tslib_1.__decorate([
1153
+ Output(),
1154
+ tslib_1.__metadata("design:type", EventEmitter)
1155
+ ], GanttComponent.prototype, "taskAdd", void 0);
1097
1156
  tslib_1.__decorate([
1098
1157
  Output(),
1099
1158
  tslib_1.__metadata("design:type", EventEmitter)
@@ -1151,6 +1210,7 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
1151
1210
  selector: 'kendo-gantt',
1152
1211
  exportAs: 'kendoGantt',
1153
1212
  providers: [
1213
+ GanttLocalizationService,
1154
1214
  LocalizationService,
1155
1215
  {
1156
1216
  provide: DataBoundTreeComponent,
@@ -1172,6 +1232,27 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
1172
1232
  ],
1173
1233
  template: `
1174
1234
  <ng-container kendoGanttLocalizedMessages
1235
+ i18n-taskEditingGeneralTabTitle="kendo.gantt.taskEditingGeneralTabTitle|The title of the 'General' tab of the editing dialog TabStrip"
1236
+ taskEditingGeneralTabTitle="General"
1237
+
1238
+ i18n-taskEditingPredecessorsTabTitle="kendo.gantt.taskEditingPredecessorsTabTitle|The title of the 'Predecessors' dependencies tab of the editing dialog TabStrip"
1239
+ taskEditingPredecessorsTabTitle="Predecessors"
1240
+
1241
+ i18n-taskEditingSuccessorsTabTitle="kendo.gantt.taskEditingSuccessorsTabTitle|The title of the 'Successors' dependencies tab of the editing dialog TabStrip"
1242
+ taskEditingSuccessorsTabTitle="Successors"
1243
+
1244
+ i18n-taskEditingDependenciesAddButtonText="kendo.gantt.taskEditingDependenciesAddButtonText|The text of the 'Add' button in the dependencies tabs of the editing dialog TabStrip"
1245
+ taskEditingDependenciesAddButtonText="Add"
1246
+
1247
+ i18n-taskEditingDependenciesRemoveButtonText="kendo.gantt.taskEditingDependenciesRemoveButtonText|The text of the 'Remove' button in the dependencies tabs of the editing dialog TabStrip"
1248
+ taskEditingDependenciesRemoveButtonText="Remove"
1249
+
1250
+ i18n-taskEditingDependenciesGridNameColumnTitle="kendo.gantt.taskEditingDependenciesGridNameColumnTitle|The title of the 'Task Title' Grid column in the dependencies tabs of the editing dialog TabStrip"
1251
+ taskEditingDependenciesGridNameColumnTitle="Task Title"
1252
+
1253
+ i18n-taskEditingDependenciesGridTypeColumnTitle="kendo.gantt.taskEditingDependenciesGridTypeColumnTitle|The title of the 'Type' Grid column in the dependencies tabs of the editing dialog TabStrip"
1254
+ taskEditingDependenciesGridTypeColumnTitle="Type"
1255
+
1175
1256
  i18n-taskDeleteLabel="kendo.gantt.taskDeleteLabel|The label of the task delete icon"
1176
1257
  taskDeleteLabel="Delete"
1177
1258
 
@@ -1223,6 +1304,18 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
1223
1304
  i18n-yearViewText-disabled="kendo.gantt.yearViewText|The text of the year view in the ViewSelector component"
1224
1305
  yearViewText="Year"
1225
1306
 
1307
+ i18n-addTaskText="kendo.gantt.addTaskText|The text of the DropDownButton in the AddTask component"
1308
+ addTaskText="Add Task"
1309
+
1310
+ i18n-addChildText="kendo.gantt.addChildText|The text of the 'Add Child' option in the AddTask component"
1311
+ addChildText="Add Child"
1312
+
1313
+ i18n-addAboveText="kendo.gantt.addAboveText|The text of the 'Add Above' option in the AddTask component"
1314
+ addAboveText="Add Above"
1315
+
1316
+ i18n-addBelowText="kendo.gantt.addBelowText|The text of the 'Add Below' option in the AddTask component"
1317
+ addBelowText="Add Below"
1318
+
1226
1319
  i18n-noRecords="kendo.gantt.noRecords|The label visible in the TreeList when there are no records"
1227
1320
  noRecords="No records available."
1228
1321
 
@@ -1344,6 +1437,8 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
1344
1437
  columnsReset="Reset"></ng-container>
1345
1438
  <kendo-gantt-toolbar
1346
1439
  *ngIf="showToolbar('top')"
1440
+ [showAddTask]="toolbarSettings.addTaskTool === 'top' || toolbarSettings.addTaskTool === 'both'"
1441
+ [showViewSelector]="toolbarSettings.viewSelectorTool === 'top' || toolbarSettings.viewSelectorTool === 'both'"
1347
1442
  class="k-gantt-header k-toolbar k-gantt-toolbar"
1348
1443
  position="top"></kendo-gantt-toolbar>
1349
1444
  <div class="k-gantt-content">
@@ -1393,7 +1488,47 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
1393
1488
  }"
1394
1489
  [scope]="this"
1395
1490
  >
1396
- <kendo-treelist-messages [kendoGanttTreeListMessages]="localizationService"></kendo-treelist-messages>
1491
+ <kendo-treelist-messages
1492
+ [noRecords]="getText('noRecords')"
1493
+ [filter]="getText('filter')"
1494
+ [filterEqOperator]="getText('filterEqOperator')"
1495
+ [filterNotEqOperator]="getText('filterNotEqOperator')"
1496
+ [filterIsNullOperator]="getText('filterIsNullOperator')"
1497
+ [filterIsNotNullOperator]="getText('filterIsNotNullOperator')"
1498
+ [filterIsEmptyOperator]="getText('filterIsEmptyOperator')"
1499
+ [filterIsNotEmptyOperator]="getText('filterIsNotEmptyOperator')"
1500
+ [filterStartsWithOperator]="getText('filterStartsWithOperator')"
1501
+ [filterContainsOperator]="getText('filterContainsOperator')"
1502
+ [filterNotContainsOperator]="getText('filterNotContainsOperator')"
1503
+ [filterEndsWithOperator]="getText('filterEndsWithOperator')"
1504
+ [filterGteOperator]="getText('filterGteOperator')"
1505
+ [filterGtOperator]="getText('filterGtOperator')"
1506
+ [filterLteOperator]="getText('filterLteOperator')"
1507
+ [filterLtOperator]="getText('filterLtOperator')"
1508
+ [filterIsTrue]="getText('filterIsTrue')"
1509
+ [filterIsFalse]="getText('filterIsFalse')"
1510
+ [filterBooleanAll]="getText('filterBooleanAll')"
1511
+ [filterAfterOrEqualOperator]="getText('filterAfterOrEqualOperator')"
1512
+ [filterAfterOperator]="getText('filterAfterOperator')"
1513
+ [filterBeforeOperator]="getText('filterBeforeOperator')"
1514
+ [filterBeforeOrEqualOperator]="getText('filterBeforeOrEqualOperator')"
1515
+ [filterFilterButton]="getText('filterFilterButton')"
1516
+ [filterClearButton]="getText('filterClearButton')"
1517
+ [filterAndLogic]="getText('filterAndLogic')"
1518
+ [filterOrLogic]="getText('filterOrLogic')"
1519
+ [loading]="getText('loading')"
1520
+ [columnMenu]="getText('columnMenu')"
1521
+ [columns]="getText('columns')"
1522
+ [sortable]="getText('sortable')"
1523
+ [sortAscending]="getText('sortAscending')"
1524
+ [sortDescending]="getText('sortDescending')"
1525
+ [sortedAscending]="getText('sortedAscending')"
1526
+ [sortedDescending]="getText('sortedDescending')"
1527
+ [sortedDefault]="getText('sortedDefault')"
1528
+ [columnsApply]="getText('columnsApply')"
1529
+ [columnsReset]="getText('columnsReset')"
1530
+ >
1531
+ </kendo-treelist-messages>
1397
1532
  </kendo-treelist>
1398
1533
  </kendo-splitter-pane>
1399
1534
  <kendo-splitter-pane
@@ -1433,16 +1568,21 @@ GanttComponent = GanttComponent_1 = tslib_1.__decorate([
1433
1568
  </div>
1434
1569
  <kendo-gantt-toolbar
1435
1570
  *ngIf="showToolbar('bottom')"
1571
+ [showAddTask]="toolbarSettings.addTaskTool === 'bottom' || toolbarSettings.addTaskTool === 'both'"
1572
+ [showViewSelector]="toolbarSettings.viewSelectorTool === 'bottom' || toolbarSettings.viewSelectorTool === 'both'"
1436
1573
  class="k-gantt-footer k-toolbar k-gantt-toolbar"
1437
1574
  position="bottom"></kendo-gantt-toolbar>
1438
- <kendo-gantt-edit-dialog *ngIf="showEditingDialog" [formGroup]="editDialogFormGroup"></kendo-gantt-edit-dialog>
1575
+ <kendo-gantt-edit-dialog
1576
+ *ngIf="showEditingDialog"
1577
+ [data]="data">
1578
+ </kendo-gantt-edit-dialog>
1439
1579
  <kendo-dialog
1440
1580
  *ngIf="showConfirmationDialog"
1441
1581
  [width]="575"
1442
1582
  [height]="170"
1443
1583
  [title]="getText('confirmationDialogTitle')"
1444
1584
  (close)="showConfirmationDialog = false;">
1445
- <span>{{getText('confirmationDialogContent')}}</span>
1585
+ <span>{{ getText('confirmationDialogContent') }}</span>
1446
1586
  <kendo-dialog-actions layout="normal">
1447
1587
  <kendo-treelist-spacer></kendo-treelist-spacer>
1448
1588
  <button kendoButton [primary]="true" (click)="handleDeleteConfirmation()">{{ getText('deleteButtonText') }}</button>
@@ -5,7 +5,7 @@
5
5
  import * as tslib_1 from "tslib";
6
6
  import { NgModule } from '@angular/core';
7
7
  import { CommonModule } from '@angular/common';
8
- import { SplitterModule } from '@progress/kendo-angular-layout';
8
+ import { SplitterModule, TabStripModule } from '@progress/kendo-angular-layout';
9
9
  import { TreeListModule } from '@progress/kendo-angular-treelist';
10
10
  import { ButtonsModule } from '@progress/kendo-angular-buttons';
11
11
  import { EventsModule } from '@progress/kendo-angular-common';
@@ -40,7 +40,11 @@ import { DateInputsModule } from '@progress/kendo-angular-dateinputs';
40
40
  import { CustomMessagesComponent } from './localization/custom-messages.component';
41
41
  import { L10N_PREFIX } from '@progress/kendo-angular-l10n';
42
42
  import { LocalizedMessagesDirective } from './localization/localized-messages.directive';
43
- import { GanttTreeListMessagesDirective } from './localization/treelist-messages.directive';
43
+ import { GanttAddTaskComponent } from './editing/add-task.component';
44
+ import { GridModule } from '@progress/kendo-angular-grid';
45
+ import { DropDownsModule } from '@progress/kendo-angular-dropdowns';
46
+ import { DependenciesTableComponent } from './editing/dependencies-table.component';
47
+ import { TaskFieldsComponent } from './editing/task-fields.component';
44
48
  const IMPORTED_MODULES = [
45
49
  CommonModule,
46
50
  ReactiveFormsModule,
@@ -52,7 +56,10 @@ const IMPORTED_MODULES = [
52
56
  TreeListModule,
53
57
  ButtonsModule,
54
58
  DialogModule,
55
- EventsModule
59
+ EventsModule,
60
+ TabStripModule,
61
+ GridModule,
62
+ DropDownsModule
56
63
  ];
57
64
  const DECLARATIONS = [
58
65
  GanttComponent,
@@ -89,7 +96,9 @@ const DECLARATIONS = [
89
96
  EditDialogComponent,
90
97
  CustomMessagesComponent,
91
98
  LocalizedMessagesDirective,
92
- GanttTreeListMessagesDirective
99
+ GanttAddTaskComponent,
100
+ DependenciesTableComponent,
101
+ TaskFieldsComponent
93
102
  ];
94
103
  /**
95
104
  * Represents the [NgModule]({{ site.data.urls.angular['ngmoduleapi'] }})
@@ -10,12 +10,16 @@ export { MappingService } from './common/mapping.service';
10
10
  export { OptionChangesService } from './common/option-changes.service';
11
11
  export { DependencyDomService } from './dependencies/dependency-dom.service';
12
12
  export { GanttDependencyDirective } from './dependencies/gantt-dependency.directive';
13
+ export { GanttAddTaskComponent } from './editing/add-task.component';
14
+ export { DependenciesTableComponent } from './editing/dependencies-table.component';
13
15
  export { EditDialogComponent } from './editing/edit-dialog.component';
14
16
  export { EditService } from './editing/edit.service';
17
+ export { TaskFieldsComponent } from './editing/task-fields.component';
15
18
  export { CustomMessagesComponent } from './localization/custom-messages.component';
19
+ export { GanttLocalizationService } from './localization/gantt-localization.service';
16
20
  export { LocalizedMessagesDirective } from './localization/localized-messages.directive';
17
21
  export { Messages } from './localization/messages';
18
- export { GanttTreeListMessagesDirective } from './localization/treelist-messages.directive';
22
+ export { PreventableEvent } from './models/events/preventable-event';
19
23
  export { GanttHeaderTableBodyComponent } from './rendering/gantt-header-table-body.component';
20
24
  export { GanttMilestoneTaskComponent } from './rendering/gantt-milestone-task.component';
21
25
  export { GanttSummaryTaskComponent } from './rendering/gantt-summary-task.component';
@@ -10,12 +10,16 @@ export { MappingService } from './common/mapping.service';
10
10
  export { OptionChangesService } from './common/option-changes.service';
11
11
  export { DependencyDomService } from './dependencies/dependency-dom.service';
12
12
  export { GanttDependencyDirective } from './dependencies/gantt-dependency.directive';
13
+ export { GanttAddTaskComponent } from './editing/add-task.component';
14
+ export { DependenciesTableComponent } from './editing/dependencies-table.component';
13
15
  export { EditDialogComponent } from './editing/edit-dialog.component';
14
16
  export { EditService } from './editing/edit.service';
17
+ export { TaskFieldsComponent } from './editing/task-fields.component';
15
18
  export { CustomMessagesComponent } from './localization/custom-messages.component';
19
+ export { GanttLocalizationService } from './localization/gantt-localization.service';
16
20
  export { LocalizedMessagesDirective } from './localization/localized-messages.directive';
17
21
  export { Messages } from './localization/messages';
18
- export { GanttTreeListMessagesDirective } from './localization/treelist-messages.directive';
22
+ export { PreventableEvent } from './models/events/preventable-event';
19
23
  export { GanttHeaderTableBodyComponent } from './rendering/gantt-header-table-body.component';
20
24
  export { GanttMilestoneTaskComponent } from './rendering/gantt-milestone-task.component';
21
25
  export { GanttSummaryTaskComponent } from './rendering/gantt-summary-task.component';