@sapui5/sap.gantt 1.119.0 → 1.120.1

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 (208) hide show
  1. package/package.json +1 -1
  2. package/src/sap/gantt/.library +1 -1
  3. package/src/sap/gantt/AdhocLine.js +1 -1
  4. package/src/sap/gantt/GanttChart.js +1 -1
  5. package/src/sap/gantt/GanttChartBase.js +1 -1
  6. package/src/sap/gantt/GanttChartContainer.js +1 -1
  7. package/src/sap/gantt/GanttChartWithTable.js +6 -2
  8. package/src/sap/gantt/axistime/AxisTimeStrategyBase.js +6 -6
  9. package/src/sap/gantt/axistime/FullScreenStrategy.js +1 -1
  10. package/src/sap/gantt/axistime/ProportionZoomStrategy.js +1 -1
  11. package/src/sap/gantt/axistime/StepwiseTimeLineOptions.js +5 -4
  12. package/src/sap/gantt/axistime/StepwiseZoomStrategy.js +1 -1
  13. package/src/sap/gantt/changeHandlers/simple/AdhocLine.js +1 -1
  14. package/src/sap/gantt/changeHandlers/simple/DeltaLine.js +1 -1
  15. package/src/sap/gantt/changeHandlers/simple/GanttChartContainer.js +6 -4
  16. package/src/sap/gantt/changeHandlers/simple/GanttChartWithTable.js +6 -4
  17. package/src/sap/gantt/config/BirdEyeGroup.js +1 -1
  18. package/src/sap/gantt/config/ChartScheme.js +1 -1
  19. package/src/sap/gantt/config/ColumnAttribute.js +1 -1
  20. package/src/sap/gantt/config/ContainerLayout.js +1 -1
  21. package/src/sap/gantt/config/ExpandChart.js +1 -1
  22. package/src/sap/gantt/config/ExpandChartGroup.js +1 -1
  23. package/src/sap/gantt/config/GanttChartLayout.js +1 -1
  24. package/src/sap/gantt/config/Hierarchy.js +1 -1
  25. package/src/sap/gantt/config/HierarchyColumn.js +1 -1
  26. package/src/sap/gantt/config/LayoutGroup.js +1 -1
  27. package/src/sap/gantt/config/Locale.js +1 -1
  28. package/src/sap/gantt/config/Mode.js +1 -1
  29. package/src/sap/gantt/config/ModeGroup.js +1 -1
  30. package/src/sap/gantt/config/ObjectType.js +1 -1
  31. package/src/sap/gantt/config/SettingGroup.js +1 -1
  32. package/src/sap/gantt/config/SettingItem.js +4 -4
  33. package/src/sap/gantt/config/Shape.js +1 -1
  34. package/src/sap/gantt/config/TimeAxis.js +1 -1
  35. package/src/sap/gantt/config/TimeHorizon.js +1 -1
  36. package/src/sap/gantt/config/TimeZoomGroup.js +1 -1
  37. package/src/sap/gantt/config/ToolbarGroup.js +1 -1
  38. package/src/sap/gantt/config/ToolbarScheme.js +1 -1
  39. package/src/sap/gantt/control/AssociateContainer.js +1 -3
  40. package/src/sap/gantt/control/AssociateContainerRenderer.js +9 -12
  41. package/src/sap/gantt/control/Cell.js +1 -1
  42. package/src/sap/gantt/def/DefBase.js +1 -1
  43. package/src/sap/gantt/def/SvgDefs.js +1 -1
  44. package/src/sap/gantt/def/cal/Calendar.js +1 -1
  45. package/src/sap/gantt/def/cal/CalendarDefs.js +1 -1
  46. package/src/sap/gantt/def/cal/TimeInterval.js +1 -1
  47. package/src/sap/gantt/def/filter/MorphologyFilter.js +1 -1
  48. package/src/sap/gantt/def/gradient/LinearGradient.js +1 -1
  49. package/src/sap/gantt/def/gradient/RadialGradient.js +1 -1
  50. package/src/sap/gantt/def/gradient/Stop.js +1 -1
  51. package/src/sap/gantt/def/pattern/BackSlashPattern.js +1 -1
  52. package/src/sap/gantt/def/pattern/PatternBase.js +1 -1
  53. package/src/sap/gantt/def/pattern/SlashPattern.js +1 -1
  54. package/src/sap/gantt/drawer/Drawer.js +1 -1
  55. package/src/sap/gantt/drawer/SelectionPanel.js +1 -1
  56. package/src/sap/gantt/drawer/ShapeInRow.js +4 -4
  57. package/src/sap/gantt/eventHandler/AutoScrollHandler.js +1 -1
  58. package/src/sap/gantt/eventHandler/BirdEyeHandler.js +1 -1
  59. package/src/sap/gantt/eventHandler/MouseWheelHandler.js +2 -1
  60. package/src/sap/gantt/eventHandler/ShapeHoverHandler.js +1 -1
  61. package/src/sap/gantt/eventHandler/ShapeResizeHandler.js +1 -1
  62. package/src/sap/gantt/eventHandler/TimePeriodZoomHandler.js +1 -1
  63. package/src/sap/gantt/eventHandler/TimePopoverHandler.js +3 -3
  64. package/src/sap/gantt/legend/DimensionLegend.js +1 -1
  65. package/src/sap/gantt/legend/LegendBase.js +1 -1
  66. package/src/sap/gantt/legend/LegendContainer.js +1 -1
  67. package/src/sap/gantt/legend/ListLegend.js +1 -1
  68. package/src/sap/gantt/library.js +53 -12
  69. package/src/sap/gantt/messagebundle.properties +24 -0
  70. package/src/sap/gantt/messagebundle_ar.properties +1 -1
  71. package/src/sap/gantt/messagebundle_bg.properties +3 -3
  72. package/src/sap/gantt/messagebundle_ca.properties +35 -19
  73. package/src/sap/gantt/messagebundle_cnr.properties +427 -0
  74. package/src/sap/gantt/messagebundle_cs.properties +1 -1
  75. package/src/sap/gantt/messagebundle_el.properties +4 -4
  76. package/src/sap/gantt/messagebundle_en.properties +295 -19
  77. package/src/sap/gantt/messagebundle_en_US_saprigi.properties +212 -196
  78. package/src/sap/gantt/messagebundle_es.properties +7 -7
  79. package/src/sap/gantt/messagebundle_et.properties +2 -2
  80. package/src/sap/gantt/messagebundle_fr.properties +1 -1
  81. package/src/sap/gantt/messagebundle_hi.properties +2 -2
  82. package/src/sap/gantt/messagebundle_hr.properties +3 -3
  83. package/src/sap/gantt/messagebundle_ja.properties +2 -2
  84. package/src/sap/gantt/messagebundle_kk.properties +1 -1
  85. package/src/sap/gantt/messagebundle_lt.properties +2 -2
  86. package/src/sap/gantt/messagebundle_mk.properties +411 -0
  87. package/src/sap/gantt/messagebundle_ms.properties +1 -1
  88. package/src/sap/gantt/messagebundle_nl.properties +2 -2
  89. package/src/sap/gantt/messagebundle_no.properties +2 -2
  90. package/src/sap/gantt/messagebundle_pt.properties +2 -2
  91. package/src/sap/gantt/messagebundle_ro.properties +10 -10
  92. package/src/sap/gantt/messagebundle_ru.properties +1 -1
  93. package/src/sap/gantt/messagebundle_sk.properties +4 -4
  94. package/src/sap/gantt/messagebundle_th.properties +8 -8
  95. package/src/sap/gantt/messagebundle_uk.properties +3 -3
  96. package/src/sap/gantt/misc/AxisTime.js +65 -38
  97. package/src/sap/gantt/misc/Format.js +0 -22
  98. package/src/sap/gantt/misc/Memoizer.js +1 -1
  99. package/src/sap/gantt/misc/RelativeTimeFormatter.js +1 -1
  100. package/src/sap/gantt/misc/ShapeManager.js +5 -4
  101. package/src/sap/gantt/misc/ShapeSelectionModel.js +3 -3
  102. package/src/sap/gantt/overlays/GanttRowOverlay.js +88 -0
  103. package/src/sap/gantt/overlays/Overlay.js +73 -0
  104. package/src/sap/gantt/shape/Circle.js +1 -1
  105. package/src/sap/gantt/shape/ClipPath.js +1 -1
  106. package/src/sap/gantt/shape/Definitions.js +1 -1
  107. package/src/sap/gantt/shape/Group.js +1 -1
  108. package/src/sap/gantt/shape/Image.js +1 -1
  109. package/src/sap/gantt/shape/Line.js +1 -1
  110. package/src/sap/gantt/shape/Path.js +1 -1
  111. package/src/sap/gantt/shape/Polygon.js +1 -1
  112. package/src/sap/gantt/shape/Polyline.js +1 -1
  113. package/src/sap/gantt/shape/Rectangle.js +1 -1
  114. package/src/sap/gantt/shape/ResizeShadowShape.js +1 -1
  115. package/src/sap/gantt/shape/SelectedShape.js +1 -1
  116. package/src/sap/gantt/shape/Shape.js +1 -1
  117. package/src/sap/gantt/shape/Text.js +1 -1
  118. package/src/sap/gantt/shape/cal/Calendar.js +1 -1
  119. package/src/sap/gantt/shape/ext/Chevron.js +1 -1
  120. package/src/sap/gantt/shape/ext/Cursor.js +1 -1
  121. package/src/sap/gantt/shape/ext/Diamond.js +1 -1
  122. package/src/sap/gantt/shape/ext/Iconfont.js +1 -1
  123. package/src/sap/gantt/shape/ext/Pentangle.js +1 -1
  124. package/src/sap/gantt/shape/ext/TextRepeat.js +1 -1
  125. package/src/sap/gantt/shape/ext/Triangle.js +1 -1
  126. package/src/sap/gantt/shape/ext/rls/Relationship.js +1 -1
  127. package/src/sap/gantt/shape/ext/rls/SelectedRelationship.js +1 -1
  128. package/src/sap/gantt/shape/ext/ubc/UbcBorderPath.js +1 -1
  129. package/src/sap/gantt/shape/ext/ubc/UbcOverCapacityZonePolygon.js +1 -1
  130. package/src/sap/gantt/shape/ext/ubc/UbcPolygon.js +1 -1
  131. package/src/sap/gantt/shape/ext/ubc/UbcShortageCapacityPolygon.js +1 -1
  132. package/src/sap/gantt/shape/ext/ubc/UbcTooltipRectangle.js +1 -1
  133. package/src/sap/gantt/shape/ext/ubc/UbcUnderCapacityZonePolygon.js +1 -1
  134. package/src/sap/gantt/shape/ext/ubc/UbcUsedPolygon.js +1 -1
  135. package/src/sap/gantt/shape/ext/ubc/UtilizationBarChart.js +1 -1
  136. package/src/sap/gantt/shape/ext/ulc/UlcBorderPath.js +1 -1
  137. package/src/sap/gantt/shape/ext/ulc/UlcClipPath.js +1 -1
  138. package/src/sap/gantt/shape/ext/ulc/UlcClipingPath.js +1 -1
  139. package/src/sap/gantt/shape/ext/ulc/UlcDimension.js +1 -1
  140. package/src/sap/gantt/shape/ext/ulc/UlcMiddleLine.js +1 -1
  141. package/src/sap/gantt/shape/ext/ulc/UlcOverCapacityZoneRectangle.js +1 -1
  142. package/src/sap/gantt/shape/ext/ulc/UlcOverClipRectangle.js +1 -1
  143. package/src/sap/gantt/shape/ext/ulc/UlcRectangle.js +1 -1
  144. package/src/sap/gantt/shape/ext/ulc/UlcTooltipRectangle.js +1 -1
  145. package/src/sap/gantt/shape/ext/ulc/UlcUnderClipRectangle.js +1 -1
  146. package/src/sap/gantt/shape/ext/ulc/UtilizationLineChart.js +1 -1
  147. package/src/sap/gantt/simple/AdhocDiamond.js +1 -1
  148. package/src/sap/gantt/simple/AdhocLine.js +1 -1
  149. package/src/sap/gantt/simple/AggregationUtils.js +92 -0
  150. package/src/sap/gantt/simple/BaseCalendar.js +1 -1
  151. package/src/sap/gantt/simple/BaseChevron.js +1 -1
  152. package/src/sap/gantt/simple/BaseConditionalShape.js +1 -1
  153. package/src/sap/gantt/simple/BaseCursor.js +1 -1
  154. package/src/sap/gantt/simple/BaseDeltaRectangle.js +1 -1
  155. package/src/sap/gantt/simple/BaseDiamond.js +1 -1
  156. package/src/sap/gantt/simple/BaseGroup.js +1 -1
  157. package/src/sap/gantt/simple/BaseImage.js +1 -1
  158. package/src/sap/gantt/simple/BaseLine.js +1 -1
  159. package/src/sap/gantt/simple/BasePath.js +1 -1
  160. package/src/sap/gantt/simple/BasePseudoShape.js +118 -92
  161. package/src/sap/gantt/simple/BaseRectangle.js +1 -1
  162. package/src/sap/gantt/simple/BaseShape.js +8 -2
  163. package/src/sap/gantt/simple/BaseText.js +1 -1
  164. package/src/sap/gantt/simple/BaseTriangle.js +1 -1
  165. package/src/sap/gantt/simple/ContainerToolbar.js +9 -7
  166. package/src/sap/gantt/simple/ContainerToolbarPlaceholder.js +1 -1
  167. package/src/sap/gantt/simple/CoordinateUtils.js +1 -1
  168. package/src/sap/gantt/simple/CustomVariantHandler.js +1 -1
  169. package/src/sap/gantt/simple/DeltaLine.js +1 -1
  170. package/src/sap/gantt/simple/DeltaLineRenderer.js +4 -2
  171. package/src/sap/gantt/simple/ExpandModel.js +12 -5
  172. package/src/sap/gantt/simple/FindAndSelectUtils.js +7 -1
  173. package/src/sap/gantt/simple/GanttAdaptationData.js +1 -1
  174. package/src/sap/gantt/simple/GanttChartContainer.js +2 -2
  175. package/src/sap/gantt/simple/GanttChartWithTable.js +136 -64
  176. package/src/sap/gantt/simple/GanttDragDropExtension.js +22 -9
  177. package/src/sap/gantt/simple/GanttExtension.js +1 -1
  178. package/src/sap/gantt/simple/GanttHeader.js +2 -2
  179. package/src/sap/gantt/simple/GanttPointerExtension.js +1 -1
  180. package/src/sap/gantt/simple/GanttPopoverExtension.js +1 -1
  181. package/src/sap/gantt/simple/GanttPrinting.js +67 -47
  182. package/src/sap/gantt/simple/GanttResizeExtension.js +5 -12
  183. package/src/sap/gantt/simple/GanttRowAction.js +1 -1
  184. package/src/sap/gantt/simple/GanttRowSettings.js +55 -3
  185. package/src/sap/gantt/simple/GanttSearchSidePanel.js +7 -4
  186. package/src/sap/gantt/simple/GanttUtils.js +46 -10
  187. package/src/sap/gantt/simple/GanttZoomExtension.js +12 -2
  188. package/src/sap/gantt/simple/InnerGanttChart.js +17 -7
  189. package/src/sap/gantt/simple/InnerGanttChartRenderer.js +2 -26
  190. package/src/sap/gantt/simple/LegendContainer.js +1 -1
  191. package/src/sap/gantt/simple/LegendShapeGroup.js +1 -1
  192. package/src/sap/gantt/simple/MultiActivityGroup.js +1 -1
  193. package/src/sap/gantt/simple/MultiActivityRowSettings.js +2 -14
  194. package/src/sap/gantt/simple/Relationship.js +6 -6
  195. package/src/sap/gantt/simple/RenderUtils.js +23 -11
  196. package/src/sap/gantt/simple/SelectionModel.js +4 -3
  197. package/src/sap/gantt/simple/ShapeScheme.js +1 -1
  198. package/src/sap/gantt/simple/StockChart.js +1 -1
  199. package/src/sap/gantt/simple/StockChartDimension.js +1 -1
  200. package/src/sap/gantt/simple/StockChartPeriod.js +1 -1
  201. package/src/sap/gantt/simple/UtilizationBarChart.js +1 -1
  202. package/src/sap/gantt/simple/UtilizationChart.js +1 -1
  203. package/src/sap/gantt/simple/UtilizationDimension.js +1 -1
  204. package/src/sap/gantt/simple/UtilizationLineChart.js +1 -1
  205. package/src/sap/gantt/simple/UtilizationPeriod.js +1 -1
  206. package/src/sap/gantt/simple/shapes/Shape.js +10 -11
  207. package/src/sap/gantt/simple/shapes/Task.js +1 -1
  208. package/src/sap/gantt/utils/GanttCustomisationUtils.js +5 -3
@@ -60,7 +60,10 @@ sap.ui.define([
60
60
  "sap/gantt/simple/AggregationUtils",
61
61
  "../simple/GanttUtils",
62
62
  "sap/ui/core/date/UI5Date",
63
- "sap/ui/core/format/DateFormat"
63
+ "sap/ui/core/format/DateFormat",
64
+ "sap/ui/table/rowmodes/Fixed",
65
+ "sap/ui/core/library",
66
+ "sap/ui/model/FilterType"
64
67
  ], function (
65
68
  GanttLibrary,
66
69
  $,
@@ -116,7 +119,10 @@ sap.ui.define([
116
119
  AggregationUtils,
117
120
  GanttUtils,
118
121
  UI5Date,
119
- DateFormat
122
+ DateFormat,
123
+ FixedRowMode,
124
+ coreLibrary,
125
+ FilterType
120
126
  ) {
121
127
  "use strict";
122
128
 
@@ -125,6 +131,7 @@ sap.ui.define([
125
131
  html2canvas = window.html2canvas;
126
132
  jsPDF = window.jsPDF;
127
133
  svg2pdf = window.svg2pdf;
134
+ var ValueState = coreLibrary.ValueState;
128
135
 
129
136
  /**
130
137
  * Constructor for a new GanttPrinting control.
@@ -139,7 +146,7 @@ sap.ui.define([
139
146
  * @extend sap.ui.core.Element
140
147
  *
141
148
  * @author SAP SE
142
- * @version 1.119.0
149
+ * @version 1.120.1
143
150
  * @since 1.66
144
151
  *
145
152
  * @constructor
@@ -376,8 +383,9 @@ sap.ui.define([
376
383
  var iRowCount = that._getOriginalGanttChart().getTable()._getTotalRowCount();
377
384
  that.iThreshold = Math.min(that.iThreshold, iRowCount - rowVal);
378
385
  that.bLast = counter + 1 >= lastVal ? true : false;
379
- that._ganttChartClone.getTable().setVisibleRowCountMode(sap.ui.table.VisibleRowCountMode.Fixed);
380
- that._ganttChartClone.getTable().setVisibleRowCount(that.iThreshold);
386
+ that._ganttChartClone.getTable().setRowMode(new FixedRowMode({
387
+ rowCount: that.iThreshold
388
+ }));
381
389
  that.bFirst = (index === 0) ? true : false;
382
390
  that._ganttChartClone.getTable().setFirstVisibleRow(rowVal);
383
391
  if (Core.getConfiguration().getRTL()) {
@@ -408,7 +416,7 @@ sap.ui.define([
408
416
  }).then(function (oUpdatedCanvas) {
409
417
  return canvasArray.push(oUpdatedCanvas);
410
418
  }).then(function () {
411
- if (index === 0 && (counter + 1 < lastVal)) {
419
+ if (index === 0) {
412
420
  that._ganttChartClone.setShowGanttHeader(false);
413
421
  }
414
422
  counter = counter + 1;
@@ -462,8 +470,9 @@ sap.ui.define([
462
470
  var iRowCount = that._getOriginalGanttChart().getTable()._getTotalRowCount();
463
471
  that.iThreshold = Math.min(that.iThreshold, iRowCount - rowVal);
464
472
  that.bLast = counter + 1 >= lastVal ? true : false;
465
- that._ganttChartClone.getTable().setVisibleRowCountMode(sap.ui.table.VisibleRowCountMode.Fixed);
466
- that._ganttChartClone.getTable().setVisibleRowCount(that.iThreshold);
473
+ that._ganttChartClone.getTable().setRowMode(new FixedRowMode({
474
+ rowCount: that.iThreshold
475
+ }));
467
476
  that.bFirst = (index === 0) ? true : false;
468
477
  that._ganttChartClone.getTable().setFirstVisibleRow(rowVal);
469
478
  if (Core.getConfiguration().getRTL()) {
@@ -494,7 +503,7 @@ sap.ui.define([
494
503
  }).then(function (oDom) {
495
504
  return that._oDomToPrint.push(oDom);
496
505
  }).then(function () {
497
- if (index === 0 && (counter + 1 < lastVal)) {
506
+ if (index === 0) {
498
507
  that._ganttChartClone.setShowGanttHeader(false);
499
508
  }
500
509
  counter = counter + 1;
@@ -696,8 +705,9 @@ sap.ui.define([
696
705
  this.iThreshold = Math.min(Math.round(oGanttChart.getPrintingBatchSize() / iZoomLevel), oGanttChart.getTable()._getTotalRowCount());
697
706
  this._bMultipleBatches = oGanttChart.getTable()._getTotalRowCount() > this.iThreshold;
698
707
  this.bFirst = true;
699
- this._ganttChartClone.getTable().setVisibleRowCountMode(sap.ui.table.VisibleRowCountMode.Fixed);
700
- this._ganttChartClone.getTable().setVisibleRowCount(this.iThreshold);
708
+ this._ganttChartClone.getTable().setRowMode(new FixedRowMode({
709
+ rowCount: this.iThreshold
710
+ }));
701
711
  this._ganttChartClone.getTable().setThreshold(this.iThreshold);
702
712
  this._ganttChartClone.setParent(this._getOriginalGanttChart(), "originalGanttChart", true);
703
713
  } else {
@@ -1288,20 +1298,20 @@ sap.ui.define([
1288
1298
  this._oComboBoxDuration.setSelectedKey("custom");
1289
1299
  if (this._oDatePickerFrom.isValidValue() && this._oDatePickerTo.isValidValue()) {
1290
1300
  if ((this._oDatePickerFrom.getDateValue().getTime() <= this._oDatePickerTo.getDateValue().getTime())) {
1291
- this._oDatePickerFrom.setValueState(sap.ui.core.ValueState.None);
1292
- this._oDatePickerTo.setValueState(sap.ui.core.ValueState.None);
1301
+ this._oDatePickerFrom.setValueState(ValueState.None);
1302
+ this._oDatePickerTo.setValueState(ValueState.None);
1293
1303
  if (bSinglePage) {
1294
1304
  this._updateGanttPdf();
1295
1305
  } else {
1296
1306
  this._updateGanttCanvas();
1297
1307
  }
1298
1308
  } else {
1299
- this._oDatePickerFrom.setValueState(sap.ui.core.ValueState.Error);
1300
- this._oDatePickerTo.setValueState(sap.ui.core.ValueState.Error);
1309
+ this._oDatePickerFrom.setValueState(ValueState.Error);
1310
+ this._oDatePickerTo.setValueState(ValueState.Error);
1301
1311
  }
1302
1312
  } else {
1303
- var sFromValueState = this._oDatePickerFrom.isValidValue() ? sap.ui.core.ValueState.None : sap.ui.core.ValueState.Error;
1304
- var sToValueState = this._oDatePickerTo.isValidValue() ? sap.ui.core.ValueState.None : sap.ui.core.ValueState.Error;
1313
+ var sFromValueState = this._oDatePickerFrom.isValidValue() ? ValueState.None : ValueState.Error;
1314
+ var sToValueState = this._oDatePickerTo.isValidValue() ? ValueState.None : ValueState.Error;
1305
1315
  this._oDatePickerFrom.setValueState(sFromValueState);
1306
1316
  this._oDatePickerTo.setValueState(sToValueState);
1307
1317
  }
@@ -1515,7 +1525,7 @@ sap.ui.define([
1515
1525
  };
1516
1526
 
1517
1527
  GanttPrinting.prototype._getOriginalGanttChart = function () {
1518
- return sap.ui.getCore().byId(this.getAssociation("ganttChart"));
1528
+ return Core.byId(this.getAssociation("ganttChart"));
1519
1529
  };
1520
1530
 
1521
1531
  /**
@@ -1570,7 +1580,7 @@ sap.ui.define([
1570
1580
  */
1571
1581
  GanttPrinting.prototype._setCloneDivHeight = function () {
1572
1582
  var iCloneHeaderHeight = this.bFirst ? document.getElementById(this._ganttChartClone.getId() + "-header-svg").height.baseVal.value : 0;
1573
- var iVisibleRowCount = this._ganttChartClone.getTable().getVisibleRowCount();
1583
+ var iVisibleRowCount = this._ganttChartClone.getTable().getRowMode().getRowCount();
1574
1584
  var sum = 0;
1575
1585
  var iBuffer = this.bLast ? 3 : 0;
1576
1586
  var iFirstRowIndex = this._ganttChartClone.getTable().getRows()[0].getIndex();
@@ -1863,14 +1873,16 @@ sap.ui.define([
1863
1873
  }
1864
1874
  if (oClonedGantt.getEnablePseudoShapes()){
1865
1875
  var oClonedGanttRowSettingsTemp = oTable.getRowSettingsTemplate();
1866
- if (oClonedGanttRowSettingsTemp && !oClonedGanttRowSettingsTemp.getBindingInfo("tasks")){
1867
- var oClone = GanttRowSettings.prototype.clone.call(oOriginalGantt.getTable().getRowSettingsTemplate());
1876
+ var oOriginalGanttRowSettingsTemp = oOriginalGantt.getTable().getRowSettingsTemplate();
1877
+ if (oClonedGanttRowSettingsTemp && oOriginalGanttRowSettingsTemp.getBindingInfo("tasks") && !oClonedGanttRowSettingsTemp.getBindingInfo("tasks")){
1878
+ var oClone = GanttRowSettings.prototype.clone.call(oOriginalGanttRowSettingsTemp);
1868
1879
  oClonedGanttRowSettingsTemp.bindAggregation("tasks", oClone.getBindingInfo("tasks"));
1869
1880
  }
1870
1881
  }
1871
1882
  if (this._ganttChartClone._enableOptimisation) {
1872
- oTable.setVisibleRowCountMode(sap.ui.table.VisibleRowCountMode.Fixed);
1873
- oTable.setVisibleRowCount(this.iThreshold);
1883
+ oTable.setRowMode(new FixedRowMode({
1884
+ rowCount: this.iThreshold
1885
+ }));
1874
1886
  oTable.setThreshold(this.iThreshold);
1875
1887
  }
1876
1888
  var oOriginalRowBinding = oOriginalGantt.getTable().getBinding("rows"),
@@ -1883,7 +1895,7 @@ sap.ui.define([
1883
1895
  oClonedRowBinding.filter(oOriginalRowBinding.aFilters);
1884
1896
  }
1885
1897
  if (oOriginalRowBinding.aApplicationFilters && oOriginalRowBinding.aApplicationFilters.length > 0) {
1886
- oClonedRowBinding.filter(oOriginalRowBinding.aApplicationFilters, sap.ui.model.FilterType.Application);
1898
+ oClonedRowBinding.filter(oOriginalRowBinding.aApplicationFilters, FilterType.Application);
1887
1899
  }
1888
1900
  if (oOriginalRowBinding.aSorters && oOriginalRowBinding.aSorters.length > 0) {
1889
1901
  oClonedRowBinding.sort(oOriginalRowBinding.aSorters);
@@ -2834,25 +2846,29 @@ sap.ui.define([
2834
2846
  format: sPaperSize === "Custom" ? [fPaperWidth * SCALEFACTORCONSTANT, fPaperHeight * SCALEFACTORCONSTANT] : sPaperSize.toLowerCase()
2835
2847
  });
2836
2848
  var aPages = this._pageToBeExported();
2837
- for (var i = 0; i < aPages.length; i++) {
2838
- var oCanvas = this._getCanvasOfPageN(aPages[i], true);
2849
+ for (var i = 0; i < aPages.length; i++) {
2850
+ var oCanvas = this._getCanvasOfPageN(aPages[i], true);
2839
2851
 
2840
- if (!oCanvas) {
2841
- continue;
2842
- }
2852
+ if (!oCanvas) {
2853
+ continue;
2854
+ }
2843
2855
 
2844
- if (i !== 0) {
2845
- oPdf.addPage();
2846
- }
2856
+ if (i !== 0) {
2857
+ oPdf.addPage();
2858
+ }
2847
2859
 
2848
- if (bExportAsJPEG) {
2849
- oPdf.addImage(oCanvas.toDataURL("image/jpeg", fCompressionQuality), "JPEG", 0, 0);
2850
- } else {
2851
- oPdf.addImage(oCanvas.toDataURL("image/png"), "PNG", 0, 0);
2852
- }
2860
+ if (bExportAsJPEG) {
2861
+ oPdf.addImage(oCanvas.toDataURL("image/jpeg", fCompressionQuality), "JPEG", 0, 0);
2862
+ } else {
2863
+ oPdf.addImage(oCanvas.toDataURL("image/png"), "PNG", 0, 0);
2853
2864
  }
2854
- var oDate = new Date();
2855
- oPdf.save("GanttChartExport-" + oDate.toISOString() + ".pdf");
2865
+ }
2866
+ this._downloadPdf(oPdf);
2867
+ };
2868
+
2869
+ GanttPrinting.prototype._downloadPdf = function (oPdf) {
2870
+ var oDate = new Date();
2871
+ oPdf.save("GanttChartExport-" + oDate.toISOString() + ".pdf");
2856
2872
  };
2857
2873
 
2858
2874
  GanttPrinting.prototype._generateVerticalLines = function (oGantt, iGanttSvgHeight) {
@@ -2908,19 +2924,19 @@ sap.ui.define([
2908
2924
  }),
2909
2925
  new Item({
2910
2926
  key: "Letter",
2911
- text: "Letter"
2927
+ text: this._oRb.getText("GNT_PRNTG_PAPER_SIZE_LETTER")
2912
2928
  }),
2913
2929
  new Item({
2914
2930
  key: "Legal",
2915
- text: "Legal"
2931
+ text: this._oRb.getText("GNT_PRNTG_PAPER_SIZE_LEGAL")
2916
2932
  }),
2917
2933
  new Item({
2918
2934
  key: "Tabloid",
2919
- text: "Tabloid"
2935
+ text: this._oRb.getText("GNT_PRNTG_PAPER_SIZE_TABLOID")
2920
2936
  }),
2921
2937
  new Item({
2922
2938
  key: "Custom",
2923
- text: "Custom"
2939
+ text: this._oRb.getText("GNT_PRNTG_PAPER_SIZE_CUSTOM")
2924
2940
  })
2925
2941
  ]
2926
2942
  });
@@ -4033,13 +4049,15 @@ sap.ui.define([
4033
4049
  icon: "sap-icon://close-command-field",
4034
4050
  visible: "{setting>/multiplePage}",
4035
4051
  press: this._onPressButtonFirst.bind(this),
4036
- type: "Transparent"
4052
+ type: "Transparent",
4053
+ tooltip: this._oRb.getText("GNT_PRNTG_FIRST_PAGE_BUTTON")
4037
4054
  }).addStyleClass("sapGanttPrintingPreviewIconMarginRight"),
4038
4055
  this._oButtonPrevious = new Button({
4039
4056
  icon: "sap-icon://navigation-left-arrow",
4040
4057
  visible: "{setting>/multiplePage}",
4041
4058
  press: this._onPressButtonPrevious.bind(this),
4042
- type: "Transparent"
4059
+ type: "Transparent",
4060
+ tooltip: this._oRb.getText("GNT_PRNTG_PREVIOUS_PAGE_BUTTON")
4043
4061
  }),
4044
4062
  new Text({
4045
4063
  textAlign: "Center",
@@ -4059,13 +4077,15 @@ sap.ui.define([
4059
4077
  icon: "sap-icon://navigation-right-arrow",
4060
4078
  visible: "{setting>/multiplePage}",
4061
4079
  press: this._onPressButtonNext.bind(this),
4062
- type: "Transparent"
4080
+ type: "Transparent",
4081
+ tooltip: this._oRb.getText("GNT_PRNTG_NEXT_PAGE_BUTTON")
4063
4082
  }).addStyleClass("sapGanttPrintingPreviewIconMarginRight"),
4064
4083
  this._oButtonLast = new Button({
4065
4084
  icon: "sap-icon://open-command-field",
4066
4085
  visible: "{setting>/multiplePage}",
4067
4086
  press: this._onPressButtonLast.bind(this),
4068
- type: "Transparent"
4087
+ type: "Transparent",
4088
+ tooltip: this._oRb.getText("GNT_PRNTG_LAST_PAGE_BUTTON")
4069
4089
  })
4070
4090
  ]
4071
4091
  }).addStyleClass("sapGanttPrintingPreviewFooter")
@@ -663,7 +663,7 @@ sap.ui.define([
663
663
  GanttResizeExtension.prototype.beforeDeltaResizing = function (event) {
664
664
  var $target = jQuery(event.target),
665
665
  id = $target.parents("g").attr(GanttUtils.SELECT_FOR_DATASET_KEY);
666
- var oElement = sap.ui.getCore().byId(id);
666
+ var oElement = Core.byId(id);
667
667
  if (!oElement || (event.button !== 0)) {
668
668
  return;
669
669
  }
@@ -813,7 +813,7 @@ sap.ui.define([
813
813
  canvas.height = bbox.height;
814
814
  var $target = jQuery(this.origin.eventTarget),
815
815
  id = $target.parents("g").attr(GanttUtils.SELECT_FOR_DATASET_KEY);
816
- var oElement = sap.ui.getCore().byId(id);
816
+ var oElement = Core.byId(id);
817
817
  var deltaLine = oElement.getParent(), deltaLineElms = {};
818
818
  if (deltaLine.getVisibleDeltaStartEndLines()){
819
819
  var oStartLine = deltaLine._getStartLine();
@@ -868,7 +868,7 @@ sap.ui.define([
868
868
 
869
869
  var gWrapper = document.createElementNS(svgNS, "g"); // eslint-disable-line sap-no-element-creation
870
870
  // move the dragged the shape to the original point of the new SVG
871
- var deltaLine = sap.ui.getCore().byId(this.origin.shapeUid).getParent();
871
+ var deltaLine = Core.byId(this.origin.shapeUid).getParent();
872
872
  if (deltaLine.getVisibleDeltaStartEndLines()){
873
873
  var oFrame = deltaLineElms.headerEndLine.getBBox();
874
874
  gWrapper.setAttribute("transform", "translate(" + -(oFrame.x) + ", " + -(oFrame.y) + ")");
@@ -955,13 +955,6 @@ sap.ui.define([
955
955
  oGanttChart.pseudoShapeSpecificData = oGanttChart.pseudoShapeSpecificData ? oGanttChart.pseudoShapeSpecificData : {};
956
956
  oGanttChart.pseudoShapeSpecificData.resizedShape = oShape;
957
957
  oGanttChart.pseudoShapeSpecificData.resizedShapeRowIndex = rowIndex;
958
- var pseudoParent = oShape.getParent().isA("sap.gantt.simple.BaseConditionalShape") ? oShape.getParent().getParent()._parent : oShape.getParent()._parent;
959
-
960
- if (pseudoParent){
961
- var iShapeIndex = oGanttChart.oOverlapShapeIds && oGanttChart.oOverlapShapeIds[rowIndex] && oGanttChart.oOverlapShapeIds[rowIndex].indexOf(oShape.getShapeId());
962
- oGanttChart.oOverlapShapeIds && oGanttChart.oOverlapShapeIds[rowIndex] && oGanttChart.oOverlapShapeIds[rowIndex].splice(iShapeIndex,1);
963
-
964
- }
965
958
  oGanttChart.pseudoShapeSpecificData.needUpdateForTasksInAggr = true;
966
959
  }
967
960
  GanttUtils.rerenderAssociatedRelationships(oGanttChart, oShape);
@@ -972,7 +965,7 @@ sap.ui.define([
972
965
  GanttResizeExtension.prototype.onDeltaResize = function (event) {
973
966
  var $target = jQuery(this.origin.eventTarget),
974
967
  id = $target.parents("g").attr(GanttUtils.SELECT_FOR_DATASET_KEY);
975
- var oElement = sap.ui.getCore().byId(id);
968
+ var oElement = Core.byId(id);
976
969
  var deltaLine = oElement.getParent();
977
970
  var oEventData = this._getDeltaResizeEventData(event);
978
971
  if (oEventData) {
@@ -987,7 +980,7 @@ sap.ui.define([
987
980
  var isRTL = Core.getConfiguration().getRTL();
988
981
  var $target = jQuery(this.origin.eventTarget),
989
982
  id = $target.parents("g").attr(GanttUtils.SELECT_FOR_DATASET_KEY);
990
- var oElement = sap.ui.getCore().byId(id);
983
+ var oElement = Core.byId(id);
991
984
  var deltaLine = oElement.getParent();
992
985
  var mPoint = CoordinateUtils.getEventSVGPoint(this.getDomRefs().headerSvg, event);
993
986
  var oGantt = this.getGantt();
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  * @extends sap.ui.table.RowAction
27
27
  *
28
28
  * @author SAP SE
29
- * @version 1.119.0
29
+ * @version 1.120.1
30
30
  *
31
31
  * @constructor
32
32
  * @experimental
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  * @extends sap.ui.table.RowSettings
28
28
  *
29
29
  * @author SAP SE
30
- * @version 1.119.0
30
+ * @version 1.120.1
31
31
  *
32
32
  * @constructor
33
33
  * @public
@@ -100,12 +100,64 @@ sap.ui.define([
100
100
  /**
101
101
  * The controls for the shapes.
102
102
  */
103
- shapes5 : {type : "sap.gantt.simple.BaseShape", multiple : true, singularName : "shape5"}
103
+ shapes5 : {type : "sap.gantt.simple.BaseShape", multiple : true, singularName : "shape5"},
104
+ /**
105
+ * The control for the pseudo shapes.
106
+ * @private since 1.120
107
+ */
108
+ pseudoShapes : {type : "sap.gantt.simple.BasePseudoShape", multiple : true, singularName : "pseudoShape", visibility: "hidden"},
109
+ /**
110
+ * Pseudo shape template
111
+ * @private since 1.120
112
+ */
113
+ pseudoShapeTemplate : {type : "sap.gantt.simple.MultiActivityGroup", multiple : false, visibility: "hidden"},
114
+ /**
115
+ * @since 1.120
116
+ * The control for the gantt overlay.
117
+ * @experimental since 1.120
118
+ */
119
+ overlays1: {type : "sap.gantt.overlays.GanttRowOverlay", sapGanttLazy: true},
120
+
121
+ /**
122
+ * @since 1.120
123
+ * The control for the gantt overlay.
124
+ * @experimental since 1.120
125
+ */
126
+ overlays2: {type : "sap.gantt.overlays.GanttRowOverlay", sapGanttLazy: true},
127
+ /**
128
+ * @since 1.120
129
+ * The control for the gantt overlay.
130
+ * @experimental since 1.120
131
+ */
132
+ overlays3: {type : "sap.gantt.overlays.GanttRowOverlay", sapGanttLazy: true},
133
+ /**
134
+ * @since 1.120
135
+ * The control for the gantty overlay.
136
+ * @experimental since 1.120
137
+ */
138
+ overlays4: {type : "sap.gantt.overlays.GanttRowOverlay", sapGanttLazy: true},
139
+ /**
140
+ * @since 1.120
141
+ * The control for the gantt overlay.
142
+ * @experimental since 1.120
143
+ */
144
+ overlays5: {type : "sap.gantt.overlays.GanttRowOverlay", sapGanttLazy: true}
104
145
  },
105
146
  designtime: "sap/ui/dt/designtime/notAdaptable.designtime"
106
147
  }
107
148
  });
108
-
149
+ /**
150
+ * @private
151
+ */
152
+ GanttRowSettings.prototype.getPseudoShapes = function() {
153
+ return this.getAggregation("pseudoShapes") ? this.getAggregation("pseudoShapes") : [];
154
+ };
155
+ /**
156
+ * @private
157
+ */
158
+ GanttRowSettings.prototype.getPseudoShapeTemplate = function() {
159
+ return this.getAggregation("pseudoShapeTemplate");
160
+ };
109
161
  GanttRowSettings.prototype.getAllExpandableShapes = function(oGantt) {
110
162
  var rowIndex = this.getParent() && this.getParent().getIndex();
111
163
  var aAllShapes = [], bPseudoShapesDisplayed = oGantt && oGantt.oOverlapShapeIds && oGantt.oOverlapShapeIds[rowIndex] && oGantt.oOverlapShapeIds[rowIndex].length > 0;
@@ -243,10 +243,10 @@ sap.ui.define([
243
243
  });
244
244
 
245
245
  setTimeout(function() {
246
+ var oInputField = this._oSearchSidePanel.getItems()[1].getContent()[0];
246
247
  if (listElement) {
247
248
  listElement.children[0].focus();
248
- } else {
249
- var oInputField = this._oSearchSidePanel.getItems()[1].getContent()[0];
249
+ } else if (oInputField.getDomRef()) {
250
250
  var iInputLength = oInputField.getValue().length;
251
251
  var oSearchTextDom = oInputField.getDomRef().getElementsByTagName("input")[0];
252
252
  oInputField.focus();
@@ -270,8 +270,11 @@ sap.ui.define([
270
270
  }
271
271
  this.list.getItems()[0].setEnabled(false);
272
272
  this.list.rerender();
273
- var oEmptyListItem = this.list.getItems()[0].getDomRef().querySelector(".sapTntNavLIText");
274
- oEmptyListItem.style.textAlign = "center";
273
+ var oDomRef = this.list.getItems()[0].getDomRef();
274
+ if (oDomRef) {
275
+ var oEmptyListItem = oDomRef.querySelector(".sapTntNavLIText");
276
+ oEmptyListItem.style.textAlign = "center";
277
+ }
275
278
  };
276
279
 
277
280
  // Set dynamic height for the Side Panel container as per the window size
@@ -20,8 +20,11 @@ sap.ui.define([
20
20
  "./CoordinateUtils",
21
21
  "./MarkerType",
22
22
  "sap/gantt/misc/Format",
23
- "sap/gantt/library"
24
- ], function(jQuery, Log, BaseObject, Core, CalendarType, Utility, DateFormat, Locale, OverflowToolbar, Parameters, CoordinateUtils, MarkerType, Format, library) {
23
+ "sap/gantt/library",
24
+ "sap/ui/table/rowmodes/Auto",
25
+ "sap/ui/table/rowmodes/Fixed",
26
+ "sap/ui/table/rowmodes/Interactive"
27
+ ], function(jQuery, Log, BaseObject, Core, CalendarType, Utility, DateFormat, Locale, OverflowToolbar, Parameters, CoordinateUtils, MarkerType, Format, library, AutoRowMode, FixedRowMode, InteractiveRowMode) {
25
28
  "use strict";
26
29
  var oContextCache = {};
27
30
  var shapesWithRowLevels = {};
@@ -55,15 +58,13 @@ sap.ui.define([
55
58
  },
56
59
 
57
60
  isRelationshipConnectedToPseudoShapes: function(sShapeId, sGanttSvgId) {
58
- var oGantt = sap.ui.getCore().byId(sGanttSvgId);
61
+ var oGantt = Core.byId(sGanttSvgId);
59
62
  var oTableRows = oGantt.getTable().getRows();
60
63
  var bFoundShapeForRelationship = false, oPseudoShapesForRelationship;
61
64
  oTableRows.forEach(function(oTableRow){
62
65
  if (!bFoundShapeForRelationship) {
63
66
  var oRowSetting = oTableRow.getAggregation("_settings");
64
- oPseudoShapesForRelationship = oRowSetting.getTasks && oRowSetting.getTasks().filter(function(oTask) {
65
- return oTask.isPseudoShape;
66
- }).filter(function(oPseudoShape) {
67
+ oPseudoShapesForRelationship = oRowSetting.getPseudoShapes && oRowSetting.getPseudoShapes().filter(function(oPseudoShape) {
67
68
  return (oPseudoShape.aShapeIds.indexOf(sShapeId) > -1);
68
69
  })[0];
69
70
  if (oPseudoShapesForRelationship) {
@@ -111,6 +112,26 @@ sap.ui.define([
111
112
  }
112
113
  },
113
114
 
115
+ /**
116
+ * get table row mode
117
+ * @private
118
+ */
119
+ setTableRowMode: function(oTable) {
120
+ if (oTable) {
121
+ var oRowMode = oTable.getRowMode();
122
+ if (!oRowMode && oTable.getVisibleRowCountMode()) {
123
+ return;
124
+ }
125
+ if (oRowMode === null || oRowMode === "Fixed") {
126
+ oTable.setRowMode(new FixedRowMode());
127
+ } else if (oRowMode === "Auto") {
128
+ oTable.setRowMode(new AutoRowMode());
129
+ } else if (oRowMode === "Interactive") {
130
+ oTable.setRowMode(new InteractiveRowMode());
131
+ }
132
+ }
133
+ },
134
+
114
135
  /**
115
136
  * get table row from Current Shape
116
137
  * @private
@@ -230,7 +251,7 @@ sap.ui.define([
230
251
  var selector = ["[id='", sContainerId, "']", " [" + GanttUtils.SHAPE_ID_DATASET_KEY + "='", sShapeId, "']"].join("");
231
252
  var sElm = document.querySelector(selector);
232
253
  if (sElm) {
233
- var oShape = sap.ui.getCore().byId(sElm.id);
254
+ var oShape = Core.byId(sElm.id);
234
255
  fnElements.push(oShape);
235
256
  }
236
257
  });
@@ -248,7 +269,7 @@ sap.ui.define([
248
269
  return shape.id !== "";
249
270
  })
250
271
  .reduce(function(acc,item) {
251
- return acc.concat(sap.ui.getCore().byId(item.id));
272
+ return acc.concat(Core.byId(item.id));
252
273
  },shapes);
253
274
  }
254
275
  }
@@ -291,11 +312,18 @@ sap.ui.define([
291
312
  sFormat = "yyyyMMMdd";
292
313
  }
293
314
 
294
- return DateFormat.getDateTimeInstance({
315
+ var oFormatLocale = oSmallInterval.locale ? new Locale(oSmallInterval.locale) : oCoreLocale;
316
+ var oFormatOptions = {
295
317
  format: sFormat,
296
318
  style: oSmallInterval.style,
297
319
  calendarType: oCalendarType
298
- }, oSmallInterval.locale ? new Locale(oSmallInterval.locale) : oCoreLocale);
320
+ };
321
+
322
+ if (Format._getEnableDateTimezoneFormatter()) {
323
+ return DateFormat.getDateTimeInstance(oFormatOptions, oFormatLocale);
324
+ } else {
325
+ return DateFormat.getDateTimeWithTimezoneInstance(oFormatOptions, oFormatLocale);
326
+ }
299
327
  },
300
328
 
301
329
  /**
@@ -426,6 +454,10 @@ sap.ui.define([
426
454
  if (exitRowTraversingLoop) {
427
455
  return;
428
456
  }
457
+ var ganttRowOverlay = shape.getParent().getParent();
458
+ if (ganttRowOverlay && ganttRowOverlay.isA("sap.gantt.overlays.GanttRowOverlay")){
459
+ return;
460
+ }
429
461
  var currEndTime = endTime, prevEndTime = endTime, nextEndTime = endTime;
430
462
  if (BaseObject.isA(shape, "sap.gantt.simple.AdhocLine")) {
431
463
  currEndTime = startTime;
@@ -657,6 +689,10 @@ sap.ui.define([
657
689
  shape._setLevel(iLevel);
658
690
  }
659
691
  shape._level = iLevel;
692
+ var oRowSettings = shape.getParentRowSettings && shape.getParentRowSettings(), shapeId = shape.getShapeId && shape.getShapeId();
693
+ if (oRowSettings && oRowSettings._overlayShapeIdList && shapeId && oRowSettings._overlayShapeIdList[shapeId]){
694
+ oRowSettings._overlayShapeIdList[shapeId] = shape._level;
695
+ }
660
696
 
661
697
  if (iMaxLevel < iLevel) {
662
698
  iMaxLevel = iLevel;
@@ -607,12 +607,12 @@ sap.ui.define([
607
607
  };
608
608
 
609
609
  GanttZoomExtension.prototype._getShapeInRow = function(oElement, aShapesInRow){
610
- var mAggregations = AggregationUtils.getNonLazyAggregations(oElement);
610
+ var mAggregations = AggregationUtils.getAllNonLazyAggregations(oElement);
611
611
  var that = this;
612
612
  Object.keys(mAggregations).forEach(function(sName){ // eslint-disable-line
613
613
  // get all binding aggregation instances and default to empty array
614
614
  var aAggregations = oElement.getAggregation(sName);
615
- if (aAggregations){
615
+ if (aAggregations && typeof aAggregations != "string"){
616
616
  aAggregations = jQuery.isArray(aAggregations) ? aAggregations : [aAggregations];
617
617
 
618
618
  if (aAggregations.length > 0) {
@@ -624,6 +624,16 @@ sap.ui.define([
624
624
  }
625
625
 
626
626
  }.bind(oElement));
627
+ //handles the overlay shape in a bird's eye view
628
+ if (oElement.isA("sap.gantt.simple.GanttRowSettings")){
629
+ var sRowUid = oElement.getRowUid(),
630
+ oGantt = this.getGantt(), iRowIndex = oElement.getParent().getIndex(),
631
+ oExpandModel = this.getGantt()._oExpandModel,
632
+ bHasExpandShape = oExpandModel.isRowExpanded(sRowUid),
633
+ pseudoShapeExpanded = oGantt.oOverlapShapeIds && oGantt.oOverlapShapeIds[iRowIndex] && oGantt.oOverlapShapeIds[iRowIndex].length;
634
+ var aOverlayList = AggregationUtils._fetchOverlayAggregation(oElement,!bHasExpandShape || pseudoShapeExpanded);
635
+ aShapesInRow = aShapesInRow.concat(aOverlayList);
636
+ }
627
637
  return aShapesInRow;
628
638
  };
629
639
 
@@ -10,13 +10,17 @@ sap.ui.define([
10
10
  "sap/ui/table/library",
11
11
  "sap/ui/table/utils/TableUtils",
12
12
  "sap/gantt/simple/GanttExtension",
13
+ "sap/ui/table/rowmodes/Fixed",
14
+ './GanttUtils',
13
15
  "sap/gantt/simple/InnerGanttChartRenderer"
14
16
  ], function (
15
17
  Core,
16
18
  Control,
17
19
  tableLibrary,
18
20
  TableUtils,
19
- GanttExtension
21
+ GanttExtension,
22
+ FixedRowMode,
23
+ GanttUtils
20
24
  ) {
21
25
  "use strict";
22
26
 
@@ -33,7 +37,7 @@ sap.ui.define([
33
37
  * @extend sap.ui.core.Control
34
38
  *
35
39
  * @author SAP SE
36
- * @version 1.119.0
40
+ * @version 1.120.1
37
41
  *
38
42
  * @constructor
39
43
  * @private
@@ -110,14 +114,20 @@ sap.ui.define([
110
114
  InnerGanttChart.prototype.resolveWhenReady = function (bWithShapes) {
111
115
  return new Promise(function (resolve) {
112
116
  var fnHandleEvent = function handleEvent (oEvent) {
113
- var oGantt = this.getParent();
114
- if (oGantt._enableOptimisation) {
115
- oGantt.getTable().setVisibleRowCountMode(sap.ui.table.VisibleRowCountMode.Fixed);
117
+ var oGantt = this.getParent(), oTable = oGantt.getTable();
118
+ GanttUtils.setTableRowMode(oTable);
119
+ if (oGantt._enableOptimisation && !oGantt.getTable().getRowMode().isA("sap.ui.table.rowmodes.Fixed")) {
120
+ oGantt.getTable().setRowMode(new FixedRowMode());
121
+ }
122
+ var bRowMode;
123
+ if (oTable.getRowMode()) {
124
+ bRowMode = oGantt.getTable().getRowMode().isA("sap.ui.table.rowmodes.Auto") && oGantt.getSyncedControl().getRowStates().length < (oGantt.getTable().getRows().length - 1 + TableUtils.getHeaderRowCount(oGantt.getTable()));
125
+ } else {
126
+ bRowMode = oGantt.getTable().getVisibleRowCountMode() === tableLibrary.VisibleRowCountMode.Auto && oGantt.getSyncedControl().getRowStates().length < (oGantt.getTable().getVisibleRowCount() + TableUtils.getHeaderRowCount(oGantt.getTable()));
116
127
  }
117
128
  if (bWithShapes && !oEvent.getParameter("hasRenderedShapes") ||
118
129
  ( // in Auto mode table might sync prematurely with header rows only, so wait for the sync of all visible rows
119
- oGantt.getTable().getVisibleRowCountMode() === tableLibrary.VisibleRowCountMode.Auto &&
120
- oGantt.getSyncedControl().getRowStates().length < (oGantt.getTable().getVisibleRowCount() + TableUtils.getHeaderRowCount(oGantt.getTable()))
130
+ bRowMode
121
131
  )
122
132
  ) {
123
133
  this.attachEventOnce("ganttReady", fnHandleEvent);