@colijnit/transaction 301.1.2 → 301.1.3

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.
@@ -213,6 +213,10 @@ import { GetTransportOrdersRequest } from '@colijnit/transactionapi/build/model/
213
213
  import { OrderLinesPlannedRequest } from '@colijnit/transactionapi/build/model/order-lines-planned-request.bo';
214
214
  import { PlanningFilterObject } from '@colijnit/transactionapi/build/model/planning-filter-object.bo';
215
215
  import { GetRouteDepartureRequest } from '@colijnit/transactionapi/build/model/get-route-departure-request';
216
+ import { WorkflowCategoryType } from '@colijnit/mainapi/build/enum/workflow-category.enum';
217
+ import { ActivityType } from '@colijnit/mainapi/build/enum/activity-type';
218
+ import { Task } from '@colijnit/mainapi/build/model/task.bo';
219
+ import { AddTasksToPlanningRequest } from '@colijnit/transactionapi/build/model/add-tasks-to-planning-request.bo';
216
220
  import { DiscountType } from '@colijnit/transactionapi/build/enum/discount-type.enum';
217
221
  import { SetTransactionDiscountsRequest } from '@colijnit/transactionapi/build/model/set-transaction-discounts-request';
218
222
  import { AddressType } from '@colijnit/relationapi/build/enum/address-type.enum';
@@ -287,7 +291,6 @@ import { CopyTransactionRequest } from '@colijnit/transactionapi/build/model/cop
287
291
  import { SortUtils } from '@colijnit/ioneconnector/build/utils/sort-utils';
288
292
  import { SortDirection } from '@colijnit/ioneconnector/build/enum/sort-direction';
289
293
  import { SortType } from '@colijnit/ioneconnector/build/enum/sort-type.enum';
290
- import { WorkflowCategoryType } from '@colijnit/mainapi/build/enum/workflow-category.enum';
291
294
  import { MergeContactMomentsRequest } from '@colijnit/transactionapi/build/model/merge-contact-moments-request';
292
295
  import { GetPurchaseOrderConfirmation } from '@colijnit/transactionapi/build/model/get-purchase-order-confirmation';
293
296
  import { PurchaseOrderConfirmationLineDetails } from '@colijnit/transactionapi/build/model/purchase-order-confirmation-line-details';
@@ -364,8 +367,8 @@ import { DateField } from '@colijnit/ioneconnector/build/factory/decorators/date
364
367
  class Version {
365
368
  name = "@colijnit/transaction";
366
369
  description = "Colijn IT transaction package";
367
- symVer = "301.1.2";
368
- publishDate = "16-10-2026, 18:04:52";
370
+ symVer = "301.1.3";
371
+ publishDate = "19-10-2026, 17:18:45";
369
372
  }
370
373
 
371
374
  class CheckoutModuleService extends BaseModuleService {
@@ -3260,7 +3263,7 @@ class TransactionConnectorAdapterService {
3260
3263
  resolve(true);
3261
3264
  }
3262
3265
  else {
3263
- this._handleExceptionFromResponse(result);
3266
+ this._handleExceptionFromResponse(result, false);
3264
3267
  reject(null);
3265
3268
  }
3266
3269
  });
@@ -7081,6 +7084,16 @@ class TransactionConnectorAdapterService {
7081
7084
  return null;
7082
7085
  }
7083
7086
  }
7087
+ async addTasksToPlanning(request) {
7088
+ const response = await this.connector.addTasksToPlanning(request);
7089
+ if (response && response.validationResult && response.validationResult.success) {
7090
+ return true;
7091
+ }
7092
+ else {
7093
+ this._handleExceptionFromResponse(response);
7094
+ return false;
7095
+ }
7096
+ }
7084
7097
  async undoDeliveryByReportId(reportId) {
7085
7098
  const response = await this.connector.undoDeliveryByReportId(reportId);
7086
7099
  if (response && response.validationResult && response.validationResult.success) {
@@ -8116,8 +8129,12 @@ class TransactionConnectorAdapterService {
8116
8129
  this._handleExceptionFromResponse({ message: 'Failed to download zip file' });
8117
8130
  }
8118
8131
  }
8119
- _handleExceptionFromResponse(result) {
8120
- this._transactionEventService.lockResetRequested.next();
8132
+ _handleExceptionFromResponse(result, requestLockReset = true) {
8133
+ //We normally wish to reset locks, aka a perform rollback, after a backend call fails.
8134
+ //There are exceptions however, like when the exception originates from a failed rollback.
8135
+ if (requestLockReset) {
8136
+ this._transactionEventService.lockResetRequested.next();
8137
+ }
8121
8138
  this._errorService.showValidationError(result);
8122
8139
  }
8123
8140
  _handleMessageFromSuccessResponse(result) {
@@ -9543,6 +9560,9 @@ class TransactionConnectorService {
9543
9560
  async getOrderLinesPlanned(request) {
9544
9561
  return this._adapterService.functionCall(this._adapterService.getOrderLinesPlanned, [request]);
9545
9562
  }
9563
+ async addTasksToPlanning(request) {
9564
+ return this._adapterService.functionCall(this._adapterService.addTasksToPlanning, [request]);
9565
+ }
9546
9566
  async undoDeliveryByReportId(reportId) {
9547
9567
  return this._adapterService.functionCall(this._adapterService.undoDeliveryByReportId, [reportId]);
9548
9568
  }
@@ -10325,7 +10345,11 @@ class TransactionBaseService extends BaseModuleService {
10325
10345
  this.relationService = relationService;
10326
10346
  this.sharedService = sharedService;
10327
10347
  this._subs.push(this.transactionEventService.lockResetRequested.subscribe(() => {
10328
- this.rollback();
10348
+ //Normally when a backend call fails, we want to rollback and release the locks on the transaction/relation/etc we tried to alter.
10349
+ //This is not the case when we are working in the transaction header menu, which either commits or requests a rollback upon close.
10350
+ if (!this.transactionDialogOpen && this.autoSave) {
10351
+ this.rollback();
10352
+ }
10329
10353
  }), this.transactionEventService.headerReadOnlyChange.subscribe((readOnly) => {
10330
10354
  this.headerReadonly = readOnly !== undefined ? readOnly : false;
10331
10355
  }));
@@ -13360,6 +13384,9 @@ class TransactionService extends PendingReasonService {
13360
13384
  async getOrderLinesPlanned(request) {
13361
13385
  return this.connector.getOrderLinesPlanned(request);
13362
13386
  }
13387
+ async addTasksToPlanning(request) {
13388
+ return this.connector.addTasksToPlanning(request);
13389
+ }
13363
13390
  async getPlanOrder(transId, showLoader) {
13364
13391
  return await this.connector.getPlanOrder(transId, showLoader);
13365
13392
  }
@@ -13369,6 +13396,9 @@ class TransactionService extends PendingReasonService {
13369
13396
  async insertActivity(activity) {
13370
13397
  return await this.connector.insertActivity(activity);
13371
13398
  }
13399
+ async insertTask(activity) {
13400
+ return await this.sharedService.insertTask(activity);
13401
+ }
13372
13402
  async updateActivity(activity) {
13373
13403
  return await this.connector.updateActivity(activity);
13374
13404
  }
@@ -25420,6 +25450,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
25420
25450
  args: ["document:click", ["$event"]]
25421
25451
  }] } });
25422
25452
 
25453
+ /** Length of a task planned from the calendar, in minutes. */
25454
+ const TASK_DURATION_MINUTES = 30;
25423
25455
  class DeliveryPlanningOverviewTileComponent {
25424
25456
  _deliveryPlanningService;
25425
25457
  _transaction;
@@ -25429,8 +25461,12 @@ class DeliveryPlanningOverviewTileComponent {
25429
25461
  icons = Icon;
25430
25462
  tileModes = DeliveryPlanningTileModes;
25431
25463
  ordersLoaded = false;
25464
+ showTaskCreator = false;
25465
+ taskName;
25466
+ taskDescription;
25432
25467
  activeDropIndex = null;
25433
25468
  _subs = [];
25469
+ _taskStartDate;
25434
25470
  disabled = false;
25435
25471
  transportDay;
25436
25472
  transportSelected = new EventEmitter();
@@ -25748,6 +25784,68 @@ class DeliveryPlanningOverviewTileComponent {
25748
25784
  this._deliveryPlanningService.currentTransId = id;
25749
25785
  }
25750
25786
  }
25787
+ handleTaskCreation(taskDate) {
25788
+ const startDate = new Date(this.transportDay.date);
25789
+ startDate.setHours(taskDate.getHours(), taskDate.getMinutes(), 0, 0);
25790
+ this._taskStartDate = startDate;
25791
+ this.taskName = undefined;
25792
+ this.taskDescription = undefined;
25793
+ this.showTaskCreator = true;
25794
+ }
25795
+ closeTaskCreator() {
25796
+ this.showTaskCreator = false;
25797
+ this._taskStartDate = undefined;
25798
+ }
25799
+ async handleTaskSave() {
25800
+ const startDate = this._taskStartDate;
25801
+ if (!this.taskName || !this.taskDescription || !startDate) {
25802
+ return;
25803
+ }
25804
+ let createdTask;
25805
+ try {
25806
+ createdTask = await this._transaction.insertTask(this._createTaskActivity());
25807
+ }
25808
+ catch {
25809
+ return;
25810
+ }
25811
+ this.closeTaskCreator();
25812
+ if (!createdTask || !createdTask.taskId) {
25813
+ return;
25814
+ }
25815
+ const endDate = new Date(startDate.getTime() + TASK_DURATION_MINUTES * 60000);
25816
+ const request = new AddTasksToPlanningRequest();
25817
+ request.planningId = this._deliveryPlanningService.currentPlanning.planningId;
25818
+ request.resourceId = this.transportDay.transport.transportId;
25819
+ request.taskIds = [createdTask.taskId];
25820
+ request.date = this._toIsoDate(startDate);
25821
+ request.startTime = this._toTime(startDate);
25822
+ request.endTime = this._toTime(endDate);
25823
+ await this._transaction.addTasksToPlanning(request);
25824
+ this._deliveryPlanningService.reRenderHourScheduling.next();
25825
+ }
25826
+ _createTaskActivity() {
25827
+ const task = new Task();
25828
+ task.name = this.taskName;
25829
+ task.description = this.taskDescription;
25830
+ task.creationDateTime = new Date();
25831
+ task.dateDefinate = false;
25832
+ task.needsPlanning = true;
25833
+ task.priority = 0;
25834
+ task.workflowCategory = WorkflowCategoryType.Task;
25835
+ const activity = new Activity();
25836
+ activity.activityType = ActivityType.Task;
25837
+ activity.task = task;
25838
+ return activity;
25839
+ }
25840
+ _toIsoDate(date) {
25841
+ return `${date.getFullYear()}-${this._pad(date.getMonth() + 1)}-${this._pad(date.getDate())}`;
25842
+ }
25843
+ _toTime(date) {
25844
+ return `${this._pad(date.getHours())}:${this._pad(date.getMinutes())}`;
25845
+ }
25846
+ _pad(value) {
25847
+ return value.toString().padStart(2, '0');
25848
+ }
25751
25849
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DeliveryPlanningOverviewTileComponent, deps: [{ token: DeliveryPlanningService }, { token: TransactionService }, { token: i0.ChangeDetectorRef }, { token: IconCacheService }, { token: TransactionDialogService }], target: i0.ɵɵFactoryTarget.Component });
25752
25850
  static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.16", type: DeliveryPlanningOverviewTileComponent, isStandalone: false, selector: "co-delivery-planning-overview-tile", inputs: { disabled: "disabled", transportDay: "transportDay" }, outputs: { transportSelected: "transportSelected", expandedEvent: "expandedEvent", deleteOrderEvent: "deleteOrderEvent", planOrderOnSameTimeEvent: "planOrderOnSameTimeEvent", deleteOrderLineEvent: "deleteOrderLineEvent", editOrderEvent: "editOrderEvent", getTransportOrdersEvent: "getTransportOrdersEvent", timeChangeEvent: "timeChangeEvent", openSettingsDialogEvent: "openSettingsDialogEvent", availabilityChecked: "availabilityChecked", calendarPlanEvent: "calendarPlanEvent", moveEvent: "moveEvent", reorderOrderEvent: "reorderOrderEvent", moveOrderUpEvent: "moveOrderUpEvent", moveOrderDownEvent: "moveOrderDownEvent" }, host: { properties: { "class.co-delivery-planning-overview-tile": "this.showClass" } }, viewQueries: [{ propertyName: "hourSchedulingComp", first: true, predicate: ["hourSchedulingComponent"], descendants: true }], ngImport: i0, template: `
25753
25851
  @if (showDropdown) {
@@ -25857,6 +25955,7 @@ class DeliveryPlanningOverviewTileComponent {
25857
25955
  (newObjectPlanEvent)="handleCalendarPlanEvent($event)"
25858
25956
  (moveBetweenCalendarsEvent)="handleMoveBetweenCalendars($event)"
25859
25957
  (dragStartExistingOrder)="handleCalendarDragStart($event)"
25958
+ (taskCreationEvent)="handleTaskCreation($event)"
25860
25959
  ></co-hour-scheduling-expandable>
25861
25960
  }
25862
25961
 
@@ -25889,7 +25988,27 @@ class DeliveryPlanningOverviewTileComponent {
25889
25988
  </div>
25890
25989
 
25891
25990
  </div>
25892
- `, isInline: true, dependencies: [{ kind: "component", type: i1$1.CollapsibleComponent, selector: "co-collapsible", inputs: ["expanded", "headerContent", "customHeaderContent", "headerTitle", "buttonText", "iconData", "expandButtonLast", "showButton"], outputs: ["expandedChange", "buttonClicked"] }, { kind: "component", type: DeliveryPlanningOverviewTileLineComponent, selector: "co-delivery-planning-overview-tile-line", inputs: ["order", "isActive", "linesActive"], outputs: ["deleteOrderEvent", "deleteOrderLineEvent", "editOrderEvent", "moveOrderUpEvent", "moveOrderDownEvent", "transactionClick"] }, { kind: "component", type: DeliveryPlanningTileStatusComponent, selector: "co-delivery-planning-tile-status", inputs: ["maxVolume", "timeTotal", "currentVolume", "currentTimeTotal"] }, { kind: "component", type: i1$1.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: DeliveryPlanningOverviewShortLineComponent, selector: "co-delivery-planning-overview-short-line", inputs: ["order"], outputs: ["deleteOrderEvent"] }, { kind: "component", type: i1$1.HourSchedulingExpandableComponent, selector: "co-hour-scheduling-expandable", inputs: ["schedule", "startTimeProp", "endTimeProp", "objectsProp", "childProp", "customTemplate", "idProp"], outputs: ["timeChangeEvent", "dragStartExistingOrder", "newObjectPlanEvent", "taskCreationEvent", "moveBetweenCalendarsEvent"] }, { kind: "component", type: i1$1.HourSchedulingExpandableTemplateComponent, selector: "co-hour-scheduling-expandable-template", inputs: ["layouts", "objectTemplate", "objects", "onDragStartCustom", "onResizeStart", "onSelectBlock", "startTimeProp", "endTimeProp"] }, { kind: "component", type: DeliveryPlanningOverviewTileDropdownComponent, selector: "co-delivery-planning-overview-tile-dropdown", outputs: ["actionClicked"] }], encapsulation: i0.ViewEncapsulation.None });
25991
+ @if (showTaskCreator) {
25992
+ <co-dialog [showCloseIcon]="true" (closeClick)="closeTaskCreator()"
25993
+ [headerTemplate]="taskDialogHeader" [footerTemplate]="taskDialogFooter">
25994
+ <ng-template #taskDialogHeader>
25995
+ <div class="co-dialog-header-title" [textContent]="'ADD_TASK' | localize"></div>
25996
+ </ng-template>
25997
+ <co-input-text [(model)]="taskName" [placeholder]="'NAME' | localize" [required]="true"></co-input-text>
25998
+ <co-input-textarea [(model)]="taskDescription" [placeholder]="'DESCRIPTION' | localize" [required]="true"></co-input-textarea>
25999
+ <ng-template #taskDialogFooter>
26000
+ <div class="co-dialog-footer-button-wrapper">
26001
+ <co-button class="save-button" [disabled]="!taskName || !taskDescription"
26002
+ [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
26003
+ (click)="handleTaskSave()"></co-button>
26004
+ <co-button class="close-button"
26005
+ [iconData]="iconCacheService.getIcon(icons.Crossskinny)"
26006
+ (click)="closeTaskCreator()"></co-button>
26007
+ </div>
26008
+ </ng-template>
26009
+ </co-dialog>
26010
+ }
26011
+ `, isInline: true, dependencies: [{ kind: "component", type: i1$1.CollapsibleComponent, selector: "co-collapsible", inputs: ["expanded", "headerContent", "customHeaderContent", "headerTitle", "buttonText", "iconData", "expandButtonLast", "showButton"], outputs: ["expandedChange", "buttonClicked"] }, { kind: "component", type: DeliveryPlanningOverviewTileLineComponent, selector: "co-delivery-planning-overview-tile-line", inputs: ["order", "isActive", "linesActive"], outputs: ["deleteOrderEvent", "deleteOrderLineEvent", "editOrderEvent", "moveOrderUpEvent", "moveOrderDownEvent", "transactionClick"] }, { kind: "component", type: DeliveryPlanningTileStatusComponent, selector: "co-delivery-planning-tile-status", inputs: ["maxVolume", "timeTotal", "currentVolume", "currentTimeTotal"] }, { kind: "component", type: i1$1.CoDialogComponent, selector: "co-dialog", inputs: ["customCssClass", "headerTemplate", "footerTemplate", "showCloseIcon", "modal", "borderless"], outputs: ["closeClick"] }, { kind: "component", type: i1$1.InputTextComponent, selector: "co-input-text", inputs: ["useContent", "placeholder", "align", "type", "formatPipe", "min", "max", "pattern", "digitsOnly", "excludePlusMinus", "showClearButton", "keyDownWhiteList", "showPlaceholderOnFocus", "leftIcon", "rightIcon", "leftIconData", "rightIconData", "selectOnFocus", "emptyPlace", "firstDayOfWeek", "noStyle", "hideArrowButtons", "model"], outputs: ["leftIconClick", "leftIconMouseDown", "leftIconMouseUp", "rightIconClick", "rightIconMouseDown", "rightIconMouseUp", "clearIconClick", "isFocused"] }, { kind: "component", type: i1$1.ButtonComponent, selector: "co-button", inputs: ["label", "iconData", "iconDataRight", "isToggleButton", "isToggled", "hidden", "disabled"], outputs: ["onClick", "clickedWhileDisabled", "isToggledChange"] }, { kind: "component", type: i1$1.IconComponent, selector: "co-icon", inputs: ["icon", "iconData"] }, { kind: "component", type: DeliveryPlanningOverviewShortLineComponent, selector: "co-delivery-planning-overview-short-line", inputs: ["order"], outputs: ["deleteOrderEvent"] }, { kind: "component", type: i1$1.HourSchedulingExpandableComponent, selector: "co-hour-scheduling-expandable", inputs: ["schedule", "startTimeProp", "endTimeProp", "objectsProp", "childProp", "customTemplate", "idProp"], outputs: ["timeChangeEvent", "dragStartExistingOrder", "newObjectPlanEvent", "taskCreationEvent", "moveBetweenCalendarsEvent"] }, { kind: "component", type: i1$1.HourSchedulingExpandableTemplateComponent, selector: "co-hour-scheduling-expandable-template", inputs: ["layouts", "objectTemplate", "objects", "onDragStartCustom", "onResizeStart", "onSelectBlock", "startTimeProp", "endTimeProp"] }, { kind: "component", type: DeliveryPlanningOverviewTileDropdownComponent, selector: "co-delivery-planning-overview-tile-dropdown", outputs: ["actionClicked"] }, { kind: "component", type: i1$1.InputTextareaComponent, selector: "co-input-textarea", inputs: ["placeholder"] }, { kind: "pipe", type: LocalizePipe, name: "localize" }], encapsulation: i0.ViewEncapsulation.None });
25893
26012
  }
25894
26013
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DeliveryPlanningOverviewTileComponent, decorators: [{
25895
26014
  type: Component,
@@ -26003,6 +26122,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
26003
26122
  (newObjectPlanEvent)="handleCalendarPlanEvent($event)"
26004
26123
  (moveBetweenCalendarsEvent)="handleMoveBetweenCalendars($event)"
26005
26124
  (dragStartExistingOrder)="handleCalendarDragStart($event)"
26125
+ (taskCreationEvent)="handleTaskCreation($event)"
26006
26126
  ></co-hour-scheduling-expandable>
26007
26127
  }
26008
26128
 
@@ -26035,6 +26155,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
26035
26155
  </div>
26036
26156
 
26037
26157
  </div>
26158
+ @if (showTaskCreator) {
26159
+ <co-dialog [showCloseIcon]="true" (closeClick)="closeTaskCreator()"
26160
+ [headerTemplate]="taskDialogHeader" [footerTemplate]="taskDialogFooter">
26161
+ <ng-template #taskDialogHeader>
26162
+ <div class="co-dialog-header-title" [textContent]="'ADD_TASK' | localize"></div>
26163
+ </ng-template>
26164
+ <co-input-text [(model)]="taskName" [placeholder]="'NAME' | localize" [required]="true"></co-input-text>
26165
+ <co-input-textarea [(model)]="taskDescription" [placeholder]="'DESCRIPTION' | localize" [required]="true"></co-input-textarea>
26166
+ <ng-template #taskDialogFooter>
26167
+ <div class="co-dialog-footer-button-wrapper">
26168
+ <co-button class="save-button" [disabled]="!taskName || !taskDescription"
26169
+ [iconData]="iconCacheService.getIcon(icons.CheckDuotone)"
26170
+ (click)="handleTaskSave()"></co-button>
26171
+ <co-button class="close-button"
26172
+ [iconData]="iconCacheService.getIcon(icons.Crossskinny)"
26173
+ (click)="closeTaskCreator()"></co-button>
26174
+ </div>
26175
+ </ng-template>
26176
+ </co-dialog>
26177
+ }
26038
26178
  `,
26039
26179
  encapsulation: ViewEncapsulation.None,
26040
26180
  standalone: false
@@ -67758,7 +67898,8 @@ class DeliveryPlanningOverviewTileModule {
67758
67898
  HourSchedulingComponentModule,
67759
67899
  HourSchedulingExpandableComponentModule,
67760
67900
  HourSchedulingExpandableTemplateModule,
67761
- DeliveryPlanningOverviewTileDropdownModule], exports: [DeliveryPlanningOverviewTileComponent] });
67901
+ DeliveryPlanningOverviewTileDropdownModule,
67902
+ InputTextareaModule], exports: [DeliveryPlanningOverviewTileComponent] });
67762
67903
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DeliveryPlanningOverviewTileModule, imports: [CommonModule,
67763
67904
  PipeModule,
67764
67905
  CollapsibleModule,
@@ -67776,7 +67917,8 @@ class DeliveryPlanningOverviewTileModule {
67776
67917
  HourSchedulingComponentModule,
67777
67918
  HourSchedulingExpandableComponentModule,
67778
67919
  HourSchedulingExpandableTemplateModule,
67779
- DeliveryPlanningOverviewTileDropdownModule] });
67920
+ DeliveryPlanningOverviewTileDropdownModule,
67921
+ InputTextareaModule] });
67780
67922
  }
67781
67923
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: DeliveryPlanningOverviewTileModule, decorators: [{
67782
67924
  type: NgModule,
@@ -67799,7 +67941,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
67799
67941
  HourSchedulingComponentModule,
67800
67942
  HourSchedulingExpandableComponentModule,
67801
67943
  HourSchedulingExpandableTemplateModule,
67802
- DeliveryPlanningOverviewTileDropdownModule
67944
+ DeliveryPlanningOverviewTileDropdownModule,
67945
+ InputTextareaModule
67803
67946
  ],
67804
67947
  declarations: [
67805
67948
  DeliveryPlanningOverviewTileComponent