@openui5/sap.ui.mdc 1.96.5 → 1.99.0

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 (282) hide show
  1. package/.reuse/dep5 +26 -31
  2. package/THIRDPARTY.txt +15 -21
  3. package/package.json +4 -4
  4. package/src/sap/ui/mdc/.library +1 -1
  5. package/src/sap/ui/mdc/ActionToolbar.js +7 -9
  6. package/src/sap/ui/mdc/AggregationBaseDelegate.js +2 -2
  7. package/src/sap/ui/mdc/BaseDelegate.js +1 -1
  8. package/src/sap/ui/mdc/Chart.js +1100 -1796
  9. package/src/sap/ui/mdc/ChartDelegate.js +429 -270
  10. package/src/sap/ui/mdc/ChartRenderer.js +73 -77
  11. package/src/sap/ui/mdc/Control.js +1 -1
  12. package/src/sap/ui/mdc/Element.js +1 -1
  13. package/src/sap/ui/mdc/Field.js +3 -2
  14. package/src/sap/ui/mdc/FilterBar.js +3 -2
  15. package/src/sap/ui/mdc/FilterField.js +25 -8
  16. package/src/sap/ui/mdc/Link.js +23 -4
  17. package/src/sap/ui/mdc/LinkDelegate.js +3 -3
  18. package/src/sap/ui/mdc/MultiValueField.js +21 -6
  19. package/src/sap/ui/mdc/Table.js +204 -161
  20. package/src/sap/ui/mdc/TableDelegate.js +47 -17
  21. package/src/sap/ui/mdc/ValueHelp.js +51 -15
  22. package/src/sap/ui/mdc/ValueHelpDelegate.js +20 -0
  23. package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -2
  24. package/src/sap/ui/mdc/{chartNew/ChartSelectionDetailsNew.js → chart/ChartSelectionDetails.js} +8 -8
  25. package/src/sap/ui/mdc/{chartNew/ChartToolbarNew.js → chart/ChartToolbar.js} +49 -13
  26. package/src/sap/ui/mdc/chart/ChartTypeButton.js +55 -54
  27. package/src/sap/ui/mdc/{chartNew/DrillBreadcrumbsNew.js → chart/DrillBreadcrumbs.js} +3 -3
  28. package/src/sap/ui/mdc/chart/DrillStackHandler.js +38 -249
  29. package/src/sap/ui/mdc/chart/Item.js +62 -92
  30. package/src/sap/ui/mdc/{chartNew/PropertyHelperNew.js → chart/PropertyHelper.js} +3 -3
  31. package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +17 -21
  32. package/src/sap/ui/mdc/condition/Condition.js +1 -1
  33. package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
  34. package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
  35. package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
  36. package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +261 -44
  37. package/src/sap/ui/mdc/condition/Operator.js +9 -9
  38. package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +437 -0
  39. package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
  40. package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +80 -5
  41. package/src/sap/ui/mdc/designtime/field/Field.designtime.js +97 -0
  42. package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +104 -0
  43. package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +22 -0
  44. package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +23 -0
  45. package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +3 -0
  46. package/src/sap/ui/mdc/designtime/table/Table.designtime.js +60 -20
  47. package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
  48. package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
  49. package/src/sap/ui/mdc/field/ConditionType.js +9 -9
  50. package/src/sap/ui/mdc/field/ConditionsType.js +7 -7
  51. package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
  52. package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
  53. package/src/sap/ui/mdc/field/DefineConditionPanel.js +75 -27
  54. package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +311 -0
  55. package/src/sap/ui/mdc/field/FieldBase.js +85 -52
  56. package/src/sap/ui/mdc/field/FieldBaseRenderer.js +0 -3
  57. package/src/sap/ui/mdc/field/FieldHelpBase.js +2 -2
  58. package/src/sap/ui/mdc/field/FieldInfoBase.js +23 -10
  59. package/src/sap/ui/mdc/field/FieldInput.js +1 -1
  60. package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
  61. package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
  62. package/src/sap/ui/mdc/field/FieldValueHelp.js +7 -7
  63. package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
  64. package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +20 -0
  65. package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
  66. package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +2 -2
  67. package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +7 -3
  68. package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
  69. package/src/sap/ui/mdc/field/InParameter.js +1 -1
  70. package/src/sap/ui/mdc/field/ListFieldHelp.js +10 -2
  71. package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
  72. package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
  73. package/src/sap/ui/mdc/field/OutParameter.js +1 -1
  74. package/src/sap/ui/mdc/field/TokenDisplay.js +70 -0
  75. package/src/sap/ui/mdc/field/TokenDisplayRenderer.js +24 -0
  76. package/src/sap/ui/mdc/field/TokenizerDisplay.js +80 -0
  77. package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +69 -0
  78. package/src/sap/ui/mdc/field/ValueHelpPanel.js +2 -1
  79. package/src/sap/ui/mdc/field/content/BooleanContent.js +1 -1
  80. package/src/sap/ui/mdc/field/content/ContentFactory.js +28 -26
  81. package/src/sap/ui/mdc/field/content/DateContent.js +128 -2
  82. package/src/sap/ui/mdc/field/content/DateTimeContent.js +9 -1
  83. package/src/sap/ui/mdc/field/content/DefaultContent.js +36 -14
  84. package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
  85. package/src/sap/ui/mdc/field/content/TimeContent.js +8 -1
  86. package/src/sap/ui/mdc/field/content/UnitContent.js +23 -4
  87. package/src/sap/ui/mdc/filterbar/FilterBarBase.js +359 -142
  88. package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
  89. package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
  90. package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +8 -2
  91. package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +3 -1
  92. package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +7 -1
  93. package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +6 -6
  94. package/src/sap/ui/mdc/flexibility/AggregateFlex.js +2 -2
  95. package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +6 -4
  96. package/src/sap/ui/mdc/flexibility/ColumnFlex.js +1 -1
  97. package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +4 -3
  98. package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
  99. package/src/sap/ui/mdc/flexibility/GroupFlex.js +1 -1
  100. package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +9 -3
  101. package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +110 -0
  102. package/src/sap/ui/mdc/flexibility/SortFlex.js +2 -2
  103. package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +6 -6
  104. package/src/sap/ui/mdc/library.js +62 -43
  105. package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
  106. package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
  107. package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
  108. package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
  109. package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
  110. package/src/sap/ui/mdc/link/Factory.js +2 -2
  111. package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
  112. package/src/sap/ui/mdc/link/LinkItem.js +1 -1
  113. package/src/sap/ui/mdc/link/Log.js +1 -1
  114. package/src/sap/ui/mdc/link/Panel.js +140 -177
  115. package/src/sap/ui/mdc/link/PanelItem.js +1 -1
  116. package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
  117. package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
  118. package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
  119. package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
  120. package/src/sap/ui/mdc/messagebundle.properties +68 -5
  121. package/src/sap/ui/mdc/messagebundle_ar.properties +47 -6
  122. package/src/sap/ui/mdc/messagebundle_bg.properties +61 -20
  123. package/src/sap/ui/mdc/messagebundle_ca.properties +45 -4
  124. package/src/sap/ui/mdc/messagebundle_cs.properties +60 -19
  125. package/src/sap/ui/mdc/messagebundle_cy.properties +45 -4
  126. package/src/sap/ui/mdc/messagebundle_da.properties +52 -11
  127. package/src/sap/ui/mdc/messagebundle_de.properties +45 -4
  128. package/src/sap/ui/mdc/messagebundle_el.properties +46 -5
  129. package/src/sap/ui/mdc/messagebundle_en.properties +45 -4
  130. package/src/sap/ui/mdc/messagebundle_en_GB.properties +45 -4
  131. package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +51 -2
  132. package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +45 -4
  133. package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +51 -2
  134. package/src/sap/ui/mdc/messagebundle_es.properties +46 -5
  135. package/src/sap/ui/mdc/messagebundle_es_MX.properties +59 -18
  136. package/src/sap/ui/mdc/messagebundle_et.properties +45 -4
  137. package/src/sap/ui/mdc/messagebundle_fi.properties +51 -10
  138. package/src/sap/ui/mdc/messagebundle_fr.properties +50 -9
  139. package/src/sap/ui/mdc/messagebundle_fr_CA.properties +45 -4
  140. package/src/sap/ui/mdc/messagebundle_hi.properties +46 -5
  141. package/src/sap/ui/mdc/messagebundle_hr.properties +45 -4
  142. package/src/sap/ui/mdc/messagebundle_hu.properties +45 -4
  143. package/src/sap/ui/mdc/messagebundle_id.properties +45 -4
  144. package/src/sap/ui/mdc/messagebundle_it.properties +61 -20
  145. package/src/sap/ui/mdc/messagebundle_iw.properties +46 -5
  146. package/src/sap/ui/mdc/messagebundle_ja.properties +46 -5
  147. package/src/sap/ui/mdc/messagebundle_kk.properties +45 -4
  148. package/src/sap/ui/mdc/messagebundle_ko.properties +46 -5
  149. package/src/sap/ui/mdc/messagebundle_lt.properties +45 -4
  150. package/src/sap/ui/mdc/messagebundle_lv.properties +49 -8
  151. package/src/sap/ui/mdc/messagebundle_ms.properties +45 -4
  152. package/src/sap/ui/mdc/messagebundle_nl.properties +49 -8
  153. package/src/sap/ui/mdc/messagebundle_no.properties +53 -12
  154. package/src/sap/ui/mdc/messagebundle_pl.properties +46 -5
  155. package/src/sap/ui/mdc/messagebundle_pt.properties +52 -11
  156. package/src/sap/ui/mdc/messagebundle_pt_PT.properties +45 -4
  157. package/src/sap/ui/mdc/messagebundle_ro.properties +45 -4
  158. package/src/sap/ui/mdc/messagebundle_ru.properties +45 -4
  159. package/src/sap/ui/mdc/messagebundle_sh.properties +45 -4
  160. package/src/sap/ui/mdc/messagebundle_sk.properties +45 -4
  161. package/src/sap/ui/mdc/messagebundle_sl.properties +45 -4
  162. package/src/sap/ui/mdc/messagebundle_sv.properties +47 -6
  163. package/src/sap/ui/mdc/messagebundle_th.properties +48 -7
  164. package/src/sap/ui/mdc/messagebundle_tr.properties +45 -4
  165. package/src/sap/ui/mdc/messagebundle_uk.properties +49 -8
  166. package/src/sap/ui/mdc/messagebundle_vi.properties +45 -4
  167. package/src/sap/ui/mdc/messagebundle_zh_CN.properties +46 -5
  168. package/src/sap/ui/mdc/messagebundle_zh_TW.properties +45 -4
  169. package/src/sap/ui/mdc/mixin/AdaptationMixin.js +19 -5
  170. package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -2
  171. package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +16 -11
  172. package/src/sap/ui/mdc/mixin/PromiseMixin.js +2 -3
  173. package/src/sap/ui/mdc/odata/TypeUtil.js +1 -1
  174. package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +29 -483
  175. package/src/sap/ui/mdc/odata/v4/{ChartPropertyHelperNew.js → ChartPropertyHelper.js} +5 -5
  176. package/src/sap/ui/mdc/odata/v4/TableDelegate.js +160 -116
  177. package/src/sap/ui/mdc/odata/v4/TypeUtil.js +1 -1
  178. package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +1 -1
  179. package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +1 -1
  180. package/src/sap/ui/mdc/odata/v4/vizChart/{ChartDelegateNew.js → ChartDelegate.js} +215 -116
  181. package/src/sap/ui/mdc/p13n/Engine.js +61 -20
  182. package/src/sap/ui/mdc/p13n/FlexUtil.js +11 -118
  183. package/src/sap/ui/mdc/p13n/P13nBuilder.js +8 -8
  184. package/src/sap/ui/mdc/p13n/PersistenceProvider.js +21 -10
  185. package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
  186. package/src/sap/ui/mdc/p13n/StateUtil.js +40 -6
  187. package/src/sap/ui/mdc/p13n/UIManager.js +15 -12
  188. package/src/sap/ui/mdc/p13n/modification/FlexModificationHandler.js +4 -1
  189. package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +9 -6
  190. package/src/sap/ui/mdc/p13n/{DefaultProviderRegistry.js → modules/DefaultProviderRegistry.js} +2 -2
  191. package/src/sap/ui/mdc/p13n/modules/StateHandlerRegistry.js +86 -0
  192. package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +19 -3
  193. package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1092 -48
  194. package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +72 -0
  195. package/src/sap/ui/mdc/p13n/panels/ListView.js +6 -2
  196. package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +6 -5
  197. package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +1 -1
  198. package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +156 -11
  199. package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +15 -26
  200. package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +6 -5
  201. package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +14 -7
  202. package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +173 -0
  203. package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +10 -17
  204. package/src/sap/ui/mdc/table/Column.js +35 -10
  205. package/src/sap/ui/mdc/table/CreationRow.js +14 -13
  206. package/src/sap/ui/mdc/table/GridTableType.js +13 -13
  207. package/src/sap/ui/mdc/table/PropertyHelper.js +64 -27
  208. package/src/sap/ui/mdc/table/ResponsiveTableType.js +26 -29
  209. package/src/sap/ui/mdc/table/RowSettings.js +7 -5
  210. package/src/sap/ui/mdc/table/TableTypeBase.js +6 -6
  211. package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +15 -71
  212. package/src/sap/ui/mdc/themes/base/Chart.less +3 -0
  213. package/src/sap/ui/mdc/themes/base/FieldBase.less +0 -5
  214. package/src/sap/ui/mdc/themes/base/TokenDisplay.less +89 -0
  215. package/src/sap/ui/mdc/themes/base/TokenizerDisplay.less +90 -0
  216. package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +15 -4
  217. package/src/sap/ui/mdc/themes/base/library.source.less +3 -0
  218. package/src/sap/ui/mdc/ui/Container.js +2 -2
  219. package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
  220. package/src/sap/ui/mdc/util/Common.js +1 -1
  221. package/src/sap/ui/mdc/util/DateUtil.js +1 -1
  222. package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
  223. package/src/sap/ui/mdc/util/FormatUtil.js +3 -3
  224. package/src/sap/ui/mdc/util/IdentifierUtil.js +6 -6
  225. package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
  226. package/src/sap/ui/mdc/util/PropertyHelper.js +148 -325
  227. package/src/sap/ui/mdc/util/TypeUtil.js +5 -4
  228. package/src/sap/ui/mdc/valuehelp/Dialog.js +12 -8
  229. package/src/sap/ui/mdc/valuehelp/Popover.js +14 -2
  230. package/src/sap/ui/mdc/valuehelp/base/Container.js +33 -1
  231. package/src/sap/ui/mdc/valuehelp/base/Content.js +36 -5
  232. package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -1
  233. package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +43 -15
  234. package/src/sap/ui/mdc/valuehelp/base/ListContent.js +2 -1
  235. package/src/sap/ui/mdc/valuehelp/content/Bool.js +2 -1
  236. package/src/sap/ui/mdc/valuehelp/content/Conditions.js +28 -32
  237. package/src/sap/ui/mdc/valuehelp/content/FixedList.js +11 -5
  238. package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +50 -10
  239. package/src/sap/ui/mdc/valuehelp/content/MTable.js +57 -26
  240. package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -1
  241. package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +3 -3
  242. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsBase.js +3 -3
  243. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsViz.js +0 -0
  244. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsBase.js +1 -1
  245. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsViz.js +0 -0
  246. package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ChartNew.js +0 -0
  247. package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +289 -0
  248. package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +7 -7
  249. package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +9 -9
  250. package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +12 -11
  251. package/test/sap/ui/mdc/testutils/opa/link/Actions.js +85 -0
  252. package/test/sap/ui/mdc/testutils/opa/link/Assertions.js +79 -0
  253. package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +112 -0
  254. package/test/sap/ui/mdc/testutils/opa/link/waitForLink.js +50 -0
  255. package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +362 -233
  256. package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +27 -26
  257. package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +54 -0
  258. package/test/sap/ui/mdc/testutils/opa/valueHelp/Assertions.js +5 -0
  259. package/test/sap/ui/mdc/testutils/opa/valueHelp/TestObjects.js +40 -0
  260. package/test/sap/ui/mdc/testutils/opa/valueHelp/Util.js +28 -0
  261. package/src/sap/ui/mdc/ChartDelegateNew.js +0 -395
  262. package/src/sap/ui/mdc/ChartNew.js +0 -1114
  263. package/src/sap/ui/mdc/ChartNewRenderer.js +0 -91
  264. package/src/sap/ui/mdc/chart/DimensionItem.js +0 -281
  265. package/src/sap/ui/mdc/chart/MeasureItem.js +0 -318
  266. package/src/sap/ui/mdc/chart/MetadataDelegate.js +0 -31
  267. package/src/sap/ui/mdc/chart/SelectionHandler.js +0 -127
  268. package/src/sap/ui/mdc/chart/ToolbarHandler.js +0 -328
  269. package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +0 -295
  270. package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +0 -212
  271. package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -72
  272. package/src/sap/ui/mdc/chartNew/SelectionDetailsActionsNew.js +0 -34
  273. package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +0 -91
  274. package/src/sap/ui/mdc/link/SelectionDialog.control.xml +0 -66
  275. package/src/sap/ui/mdc/link/SelectionDialog.js +0 -213
  276. package/src/sap/ui/mdc/link/SelectionDialogItem.js +0 -86
  277. package/src/sap/ui/mdc/odata/v4/ChartDelegateNew.js +0 -35
  278. package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +0 -1171
  279. package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +0 -111
  280. package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +0 -322
  281. package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +0 -133
  282. package/src/sap/ui/mdc/p13n/panels/Wrapper.js +0 -203
@@ -4,10 +4,13 @@
4
4
  * Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
5
5
  */
6
6
  sap.ui.define([
7
- "sap/m/OverflowToolbarButton", "sap/m/ButtonRenderer", "sap/ui/base/ManagedObjectObserver", "sap/ui/core/library"
8
- ], function(OverflowToolbarButton, ButtonRenderer, ManagedObjectObserver, CoreLibrary) {
7
+ "sap/m/OverflowToolbarButton", "sap/m/ButtonRenderer", "sap/ui/base/ManagedObjectObserver", "sap/ui/core/library", "sap/m/library"
8
+ ], function(OverflowToolbarButton, ButtonRenderer, ManagedObjectObserver, CoreLibrary, mobileLibrary) {
9
9
  "use strict";
10
10
 
11
+ // shortcut for sap.m.PlacementType
12
+ var PlacementType = mobileLibrary.PlacementType;
13
+
11
14
  var HasPopup = CoreLibrary.aria.HasPopup;
12
15
  var ResponsivePopover, List, Bar, SearchField, StandardListItem, InvisibleText, Device, oRb;
13
16
 
@@ -15,29 +18,45 @@ sap.ui.define([
15
18
  metadata: {
16
19
  library: "sap.ui.mdc"
17
20
  },
18
- constructor: function(oChart) {
21
+ constructor: function(oMDCChart) {
19
22
 
20
- this.oChart = oChart;
23
+ if (!oMDCChart) {
24
+ OverflowToolbarButton.apply(this);
25
+ return;
26
+ }
21
27
 
28
+ this.oMDCChartModel = oMDCChart.getManagedObjectModel();
22
29
  var mSettings = {
23
30
  type: "Transparent",
24
31
  press: function(oEvent) {
25
- this.displayChartTypes(oEvent.getSource(), oChart);
32
+ this.displayChartTypes(oEvent.getSource(), oMDCChart);
26
33
  }.bind(this),
27
- id: oChart.getId() + "-btnChartType",
28
- icon: '{$chart>/getTypeInfo/icon}',
29
- tooltip: '{$chart>/getTypeInfo/text}',
30
- text: '{$chart>/getTypeInfo/text}',
34
+ id: oMDCChart.getId() + "-btnChartType",
35
+ icon: '{$chart>/getChartTypeInfo/icon}',
36
+ tooltip: '{$chart>/getChartTypeInfo/text}',
37
+ text: '{$chart>/getChartTypeInfo/text}',
31
38
  ariaHasPopup: HasPopup.ListBox
32
39
  };
33
-
40
+ this.oMDCChart = oMDCChart;
34
41
  OverflowToolbarButton.apply(this, [
35
42
  mSettings
36
43
  ]);
44
+ this.setModel(this.oMDCChartModel, "$chart");
45
+
46
+ this._oObserver = new ManagedObjectObserver(function() {
47
+ this.oMDCChartModel.checkUpdate(true);
48
+ }.bind(this));
49
+ this._oObserver.observe(this.oMDCChart, {
50
+ aggregations: [
51
+ "items"
52
+ ],
53
+ properties: [
54
+ "chartType"
55
+ ]
56
+ });
37
57
 
38
58
  },
39
59
  renderer: ButtonRenderer
40
-
41
60
  });
42
61
 
43
62
  ChartTypeButton.mMatchingIcon = {
@@ -74,49 +93,20 @@ sap.ui.define([
74
93
  "horizontal_waterfall": "sap-icon://horizontal-waterfall-chart"
75
94
  };
76
95
 
77
- ChartTypeButton.prototype.init = function(){
78
- this.oChartModel = this.oChart.getManagedObjectModel();
79
- this.setModel(this.oChartModel, "$chart");
80
-
81
- if (this.oChart.getAutoBindOnInit()){
82
- this.bindToInnerChart(this.oChart);
83
- }
84
- };
85
-
86
- ChartTypeButton.prototype.bindToInnerChart = function(oChart) {
87
- this.setEnabled(true);
88
-
89
- this._oObserver = new ManagedObjectObserver(function() {
90
- this.oChartModel.checkUpdate(true);
91
- }.bind(this));
92
- this._oObserver.observe(this.oChart, {
93
- aggregations: [
94
- "items"
95
- ],
96
- properties: [
97
- "chartType"
98
- ]
99
- });
100
- };
101
-
102
96
  /**
103
97
  * Shows popover to select chart type
104
98
  * @param oButton button opening the popover
105
- * @param oChart the inner chart
99
+ * @param oMDCChart the inner chart
106
100
  *
107
101
  * @experimental
108
102
  * @private
109
103
  * @ui5-restricted Fiori Elements, sap.ui.mdc
110
104
  */
111
- ChartTypeButton.prototype.displayChartTypes = function(oButton, oChart) {
112
- if (!oChart || !oButton) {
105
+ ChartTypeButton.prototype.displayChartTypes = function(oButton, oMDCChart) {
106
+ if (!oMDCChart || !oButton) {
113
107
  return;
114
108
  }
115
109
 
116
- if (this.oPopover) {
117
- return this.oPopover.openBy(oButton);
118
- }
119
-
120
110
  if (!this.oReadyPromise) {
121
111
  this.oReadyPromise = new Promise(function(resolve) {
122
112
  if (ResponsivePopover) {
@@ -147,21 +137,27 @@ sap.ui.define([
147
137
  }
148
138
 
149
139
  this.oReadyPromise.then(function() {
150
- this.oPopover = this._createPopover(oButton, oChart);
151
- return this.oPopover.openBy(oButton);
140
+ if (!this.oPopover){
141
+ this.oPopover = this._createPopover(oButton, oMDCChart);
142
+ this.oPopover.attachAfterClose(function(){
143
+ this.oPopover.destroy();
144
+ delete this.oPopover;
145
+ }.bind(this));
146
+ return this.oPopover.openBy(oButton);
147
+ }
152
148
  }.bind(this));
153
149
  };
154
150
 
155
151
  /**
156
152
  * Creates the popover
157
153
  * @param oButton button opening the popover
158
- * @param oChart inner chart
154
+ * @param oMDCChart inner chart
159
155
  *
160
156
  * @experimental
161
157
  * @private
162
158
  * @ui5-restricted sap.ui.mdc
163
159
  */
164
- ChartTypeButton.prototype._createPopover = function(oButton, oChart) {
160
+ ChartTypeButton.prototype._createPopover = function(oButton, oMDCChart) {
165
161
  var oItemTemplate = new StandardListItem({
166
162
  title: "{$chart>text}",
167
163
  icon: "{$chart>icon}",
@@ -175,6 +171,7 @@ sap.ui.define([
175
171
  template: oItemTemplate
176
172
  },
177
173
  selectionChange: function(oEvent) {
174
+ //TODO: Implement Chart Type switch
178
175
  if (oEvent && oEvent.mParameters && oEvent.mParameters.listItem) {
179
176
  var oBinding = oEvent.mParameters.listItem.getBinding("title");
180
177
  if (oBinding) {
@@ -187,10 +184,9 @@ sap.ui.define([
187
184
  ], function(FlexUtil,ChartFlex) {
188
185
  var aChanges = [];
189
186
  aChanges.push(ChartFlex["setChartType"].changeHandler.createChange({
190
- control: oChart,
187
+ control: oMDCChart,
191
188
  chartType: oObj.key
192
189
  }));
193
- //TODO: use engine for custom personalization
194
190
  FlexUtil.handleChanges(aChanges);
195
191
  });
196
192
  }
@@ -207,19 +203,20 @@ sap.ui.define([
207
203
  placeholder: oRb.getText("chart.CHART_TYPE_SEARCH")
208
204
  });
209
205
  oSearchField.attachLiveChange(function(oEvent) {
210
- if (oChart) {
206
+ if (oMDCChart){
211
207
  this._triggerSearchInPopover(oEvent, oList);
212
208
  }
213
209
  }.bind(this));
214
210
  oSubHeader.addContentRight(oSearchField);
215
211
 
216
212
  var oPopover = new ResponsivePopover({
217
- placement: "Bottom",
213
+ id: oMDCChart.getId() + "-btnChartTypePopover",
214
+ placement: PlacementType.VerticalPreferredBottom,
218
215
  subHeader: oSubHeader,
219
216
  contentWidth: "25rem"
220
217
  });
221
218
 
222
- oPopover.setModel(this.oChartModel, "$chart");
219
+ oPopover.setModel(this.oMDCChartModel, "$chart");
223
220
 
224
221
  //Show header only in mobile scenarios
225
222
  //still support screen reader while on desktops.
@@ -240,6 +237,11 @@ sap.ui.define([
240
237
  oSubHeader.setVisible(false);
241
238
  }
242
239
 
240
+ /*
241
+ oPopover.attachAfterClose(function(oEvent) {
242
+ oPopover.destroy();
243
+ });*/
244
+
243
245
  return oPopover;
244
246
  };
245
247
 
@@ -295,5 +297,4 @@ sap.ui.define([
295
297
  };
296
298
 
297
299
  return ChartTypeButton;
298
-
299
- }, true);
300
+ });
@@ -13,14 +13,14 @@ sap.ui.define([
13
13
  ) {
14
14
  "use strict";
15
15
  /**
16
- * Delegate class for sap.ui.mdc.ChartNew and ODataV4.
16
+ * Delegate class for sap.ui.mdc.Chart and ODataV4.
17
17
  * Enables additional analytical capabilities.
18
18
  * <b>Note:</b> The class is experimental and the API/behavior is not finalized.
19
19
  *
20
20
  * @author SAP SE
21
21
  * @private
22
22
  * @since 1.88
23
- * @alias sap.ui.mdc.odata.v4.vizChart.ChartDelegateNew
23
+ * @alias sap.ui.mdc.odata.v4.vizChart.ChartDelegate
24
24
  */
25
25
  var DrillBreadcrumbs = Breadcrumbs.extend("sap/m/Breadcrumbs", {});
26
26
 
@@ -167,4 +167,4 @@ sap.ui.define([
167
167
  };
168
168
 
169
169
  return DrillBreadcrumbs;
170
- }, true);
170
+ });
@@ -8,30 +8,24 @@ sap.ui.define([
8
8
  "sap/m/ResponsivePopover",
9
9
  "sap/m/List",
10
10
  "sap/m/Bar",
11
- "sap/m/SearchField",
12
11
  "sap/m/StandardListItem",
13
12
  "sap/ui/core/InvisibleText",
14
13
  "sap/m/library",
15
14
  "sap/ui/Device",
16
- "sap/ui/mdc/chart/DimensionItem",
17
- "sap/ui/mdc/chart/ChartSettings"
15
+ "sap/base/Log"
18
16
  ], function(
19
17
  Core,
20
18
  ResponsivePopover,
21
19
  List,
22
20
  Bar,
23
- SearchField,
24
21
  StandardListItem,
25
22
  InvisibleText,
26
23
  MLibrary,
27
24
  Device,
28
- DimensionItem,
29
- ChartSettings
25
+ Log
30
26
  ) {
31
27
  "use strict";
32
28
 
33
- var Link;
34
-
35
29
  // shortcut for sap.m.PlacementType
36
30
  var PlacementType = MLibrary.PlacementType;
37
31
 
@@ -41,8 +35,8 @@ sap.ui.define([
41
35
  // shortcut for sap.m.ListMode
42
36
  var ListMode = MLibrary.ListMode;
43
37
 
44
- function _getDrillStackDimensions(oChart) {
45
- var aDrillStack = oChart.getAggregation("_chart").getDrillStack();
38
+ function _getDrillStackDimensions(oMDCChart) {
39
+ var aDrillStack = oMDCChart.getControlDelegate().getDrillStack(oMDCChart);
46
40
  var aStackDimensions = [];
47
41
 
48
42
  aDrillStack.forEach(function(oStackEntry) {
@@ -57,32 +51,13 @@ sap.ui.define([
57
51
  return aStackDimensions;
58
52
  }
59
53
 
60
- //Get all dimensions in a sorted manner
61
- function _getSortedDimensions(aProperties) {
62
-
63
- var aDimensions = aProperties.filter(function(oItem) {
64
- return oItem.kind == "Dimension";
65
- });
66
-
67
- if (aDimensions) {
68
- aDimensions.sort(function(a, b) {
69
- if (a.label && b.label) {
70
- return a.label.localeCompare(b.label);
71
- }
72
- });
73
- }
74
-
75
- return aDimensions;
76
- }
77
-
78
54
  /**
79
55
  * Handles all drill-stack operations on a mdc.Chart instance
80
56
  * inlcuding drill-downs, drill-ups and updating of depending controls
81
- * like Breadcrumbs.
82
57
  * @constructor
83
58
  */
84
59
  var DrillStackHandler = function() {
85
-
60
+ //TODO: Refactor to DrillDownPopover (extending Popover; like Toolbar)
86
61
  };
87
62
 
88
63
  /**
@@ -93,8 +68,16 @@ sap.ui.define([
93
68
  * @private
94
69
  * @ui5-restricted sap.ui.mdc
95
70
  */
96
- DrillStackHandler.createDrillDownPopover = function(oChart) {
71
+ DrillStackHandler.createDrillDownPopover = function(oMDCChart) {
97
72
 
73
+ var oSubHeader = new Bar();
74
+ var oPopover = new ResponsivePopover({
75
+ id: oMDCChart.getId() + "-drilldownPopover",
76
+ contentWidth: "25rem",
77
+ contentHeight: "20rem",
78
+ placement: PlacementType.Bottom,
79
+ subHeader: oSubHeader
80
+ });
98
81
  var oList = new List({
99
82
  mode: ListMode.SingleSelectMaster,
100
83
  selectionChange: function(oControlEvent) {
@@ -103,12 +86,12 @@ sap.ui.define([
103
86
  if (oListItem) {
104
87
  //Call flex to capture current state before adding an item to the chart aggregation
105
88
 
106
- oChart.getEngine().createChanges({
107
- control: oChart,
89
+ oMDCChart.getEngine().createChanges({
90
+ control: oMDCChart,
108
91
  key: "Item",
109
92
  state: [{
110
93
  name: oListItem.data("dim").name,
111
- position: oChart.getItems().length
94
+ position: oMDCChart.getItems().length
112
95
  }]
113
96
  });
114
97
  }
@@ -117,7 +100,9 @@ sap.ui.define([
117
100
  }
118
101
  });
119
102
 
120
- var oSubHeader = new Bar();
103
+ oPopover.attachAfterClose(function(){
104
+ oPopover.destroy();
105
+ });
121
106
 
122
107
  //TODO add search field
123
108
  //var oSearchField = new SearchField({
@@ -127,13 +112,6 @@ sap.ui.define([
127
112
  //this._triggerSearchInDrillDownPopover(oEvent, oList);
128
113
  //}.bind(this));
129
114
 
130
- var oPopover = new ResponsivePopover({
131
- contentWidth: "25rem",
132
- contentHeight: "20rem",
133
- placement: PlacementType.Bottom,
134
- subHeader: oSubHeader
135
- });
136
-
137
115
 
138
116
  var oRb = Core.getLibraryResourceBundle("sap.ui.mdc");
139
117
 
@@ -151,31 +129,39 @@ sap.ui.define([
151
129
  }
152
130
 
153
131
  oPopover.addContent(oList);
154
- oChart._oDrillDownPopover = oPopover;
132
+ oMDCChart._oDrillDownPopover = oPopover;
155
133
  return oPopover;
156
134
  };
157
135
 
158
136
  /**
159
137
  * Shows the drill-down popover on the toolbar button of an mdc.Chart instance
160
138
  * @param {sap.ui.mdc.Chart} oChart
139
+ * @param {sap.m.Button}
161
140
  *
162
141
  * @experimental
163
142
  * @private
164
143
  * @ui5-restricted sap.ui.mdc
165
144
  */
166
- DrillStackHandler.showDrillDownPopover = function(oChart) {
167
- var oFetchPropertiesPromise = oChart.getControlDelegate().fetchProperties(oChart);
168
- return oFetchPropertiesPromise.then(function(aProperties) {
145
+ DrillStackHandler.showDrillDownPopover = function(oMDCChart, oDrillBtn) {
146
+ //TODO: Rename "Measure" and "Dimensions"?
147
+ var pSortedDimensionsPromise = oMDCChart.getControlDelegate().getSortedDimensions(oMDCChart);
148
+ return pSortedDimensionsPromise.then(function(aSortedDimensions) {
169
149
  //Remove all prior items from drill-down list
170
- var oDrillDownPopover = oChart._oDrillDownPopover;
171
- var oDrillDownList = oDrillDownPopover.getContent()[1];
172
- var aIgnoreDimensions, aSortedDimensions, oDimension, oListItem;
150
+ var oDrillDownPopover = oMDCChart._oDrillDownPopover;
151
+ var aIgnoreDimensions, oDimension, oListItem;
152
+
153
+ var aFilteredList = oDrillDownPopover.getContent().filter(function(oEntry){return oEntry.getMetadata().getClass() == List;});
154
+ var oDrillDownList = aFilteredList.length > 0 ? aFilteredList[0] : null;
155
+
156
+ if (!oDrillDownList){
157
+ Log.error("MDC Chart: Could not determine list to show drilldown. This should not happen. Did the application modify the drill-down popover?");
158
+ return;
159
+ }
173
160
 
174
161
  oDrillDownList.destroyItems();
175
162
 
176
163
  // Ignore currently applied dimensions from drill-stack for selection
177
- aIgnoreDimensions = _getDrillStackDimensions(oChart);
178
- aSortedDimensions = _getSortedDimensions(aProperties);
164
+ aIgnoreDimensions = _getDrillStackDimensions(oMDCChart);
179
165
 
180
166
  for (var i = 0; i < aSortedDimensions.length; i++) {
181
167
  oDimension = aSortedDimensions[i];
@@ -211,207 +197,10 @@ sap.ui.define([
211
197
  resolve(oDrillDownPopover);
212
198
  });
213
199
 
214
- oDrillDownPopover.openBy(oChart._oDrillDownBtn);
200
+ oDrillDownPopover.openBy(oDrillBtn);
215
201
  });
216
202
  });
217
203
  };
218
204
 
219
- /**
220
- * Creates and sets breadcrumps on the MDC chart for the current drill level
221
- *
222
- * @param {sap.ui.mdc.Chart} oChart
223
- *
224
- * @experimental
225
- * @private
226
- * @ui5-protected sap.ui.mdc
227
- */
228
- DrillStackHandler.createDrillBreadcrumbs = function(oChart) {
229
-
230
- return new Promise(function(resolve, reject) {
231
-
232
- sap.ui.require([
233
- "sap/m/Breadcrumbs"
234
- ], function(Breadcrumbs) {
235
- var oInnerChart = oChart.getAggregation("_chart");
236
-
237
- if (oInnerChart) {
238
- var oDrillBreadcrumbs = new Breadcrumbs();
239
- oChart.setAggregation("_breadcrumbs", oDrillBreadcrumbs);
240
-
241
- //initial update of current drill-path
242
- this._updateDrillBreadcrumbs(oChart, oDrillBreadcrumbs).then(function() {
243
- resolve(oDrillBreadcrumbs);
244
- });
245
- }
246
- }.bind(this));
247
- }.bind(this));
248
- };
249
-
250
- /**
251
- * Creates a breadcrump with given settings
252
- * @param oChart the chart the breadcrump is for
253
- * @param oCrumbSettings settings for the breadcrump
254
- *
255
- * @returns the created breadcrump
256
- *
257
- * @experimental
258
- * @private
259
- * @ui5-restricted sap.ui.mdc
260
- */
261
- DrillStackHandler.createCrumb = function(oChart, oCrumbSettings) {
262
- var oInnerChart = oChart.getAggregation("_chart");
263
-
264
- var oCrumb = new Link({
265
- text: oCrumbSettings.dimensionText,
266
- press: function onCrumbPressed(oControlEvent) {
267
- var oDrillBreadcrumbs = oChart.getAggregation("_breadcrumbs"),
268
- iLinkIndex = oDrillBreadcrumbs.indexOfLink(oControlEvent.getSource());
269
-
270
- // get drill-path which was drilled-up and needs to be removed from mdc chart
271
- var aCurrentDrillStack = oInnerChart.getDrillStack()[oInnerChart.getDrillStack().length - 1].dimension,
272
- aDrilledPath = aCurrentDrillStack.slice(iLinkIndex + 1);
273
-
274
- oInnerChart.fireDeselectData();
275
-
276
- // retrieve the actual items and remove them from mdc chart items aggregation
277
- var aDrilledItems = oChart.getItemsByKeys(aDrilledPath);
278
-
279
- // call flex to capture the current state before removing item(s) of the chart aggregation
280
- var aFlexItemChanges = aDrilledItems.map(function(oDrillItem) {
281
- return {
282
- name: oDrillItem.getKey(),
283
- visible: false
284
- };
285
- });
286
-
287
- oChart.getEngine().createChanges({
288
- control: oChart,
289
- key: "Item",
290
- state: aFlexItemChanges
291
- });
292
-
293
- // don't forget to update the bread crumbs control itself
294
- this._updateDrillBreadcrumbs(oChart, oDrillBreadcrumbs);
295
- }.bind(this)
296
- });
297
-
298
- // unique dimension key is needed to remove the item from the mdc chart aggregation on drilling up
299
- oCrumb.data("key", oCrumbSettings.dimensionKey);
300
- return oCrumb;
301
- };
302
-
303
- /**
304
- * Updates the breadcrumps shown on the MDC Chart
305
- *
306
- * @param {sap.ui.mdc.Chart} oChart the MDC Chart to update the breadcrumps on
307
- * @param {*} oDrillBreadcrumbs the breadcrumps to show
308
- *
309
- * @experimental
310
- * @private
311
- * @ui5-restricted sap.ui.mdc
312
- */
313
- DrillStackHandler._updateDrillBreadcrumbs = function(oChart, oDrillBreadcrumbs) {
314
-
315
- return new Promise(function(resolve, reject) {
316
-
317
- sap.ui.require([
318
- "sap/m/Link"
319
- ], function(LinkClass) {
320
- Link = LinkClass;
321
-
322
- if (!oDrillBreadcrumbs) {
323
- return;
324
- }
325
-
326
- // Get access to drill history
327
- var oInnerChart = oChart.getAggregation("_chart");
328
-
329
- if (!oInnerChart) {
330
- return;
331
- }
332
-
333
- var aVisibleDimensionsRev = oInnerChart.getDrillStack();
334
- var newLinks = [];
335
-
336
- // When chart is bound to non-aggregated entity there is no drill-stack
337
- // existing
338
- if (aVisibleDimensionsRev) {
339
-
340
- // Reverse array to display right order of crumbs
341
- aVisibleDimensionsRev.reverse();
342
- aVisibleDimensionsRev.forEach(function(dim, index, array) {
343
-
344
- // Check if stack entry has dimension names and if a
345
- // dimension is existing for this name
346
- if (dim.dimension.length > 0 && typeof oInnerChart.getDimensionByName(dim.dimension[dim.dimension.length - 1]) != 'undefined') {
347
- // show breadcrumbs
348
- //If Breadcrumps were set invisible for no drill stack, they need to be set visible again
349
- oDrillBreadcrumbs.setVisible(true);
350
-
351
-
352
- // use the last entry of each drill-stack entry to built
353
- // up the drill-path
354
- var sDimText = oInnerChart.getDimensionByName(dim.dimension[dim.dimension.length - 1]).getLabel();
355
- var sDimKey = oInnerChart.getDimensionByName(dim.dimension[dim.dimension.length - 1]).getName();
356
-
357
- // Set current drill position in breadcrumb control
358
- if (index == 0) {
359
-
360
- oDrillBreadcrumbs.setCurrentLocationText(sDimText);
361
- } else {
362
-
363
- var oCrumbSettings = {
364
- dimensionKey: sDimKey,
365
- dimensionText: sDimText
366
- };
367
-
368
- var oCrumb = this.createCrumb(oChart, oCrumbSettings);
369
- newLinks.push(oCrumb);//note the links are added in an incorrect order need to reverse
370
- }
371
- } else {
372
-
373
- // Show no text on breadcrumb if stack contains only one
374
- // entry with no dimension at all (all dims are shown)
375
- if (index == 0) {
376
- // hide breadcrumbs
377
- oDrillBreadcrumbs.setVisible(false);
378
- }
379
- }
380
- }, this);
381
- }
382
-
383
- var currLinks = oDrillBreadcrumbs.getLinks();
384
- newLinks.reverse();
385
- var diff = false;
386
-
387
- if (currLinks.length !== newLinks.length) {
388
- diff = true;
389
- } else {
390
-
391
- for (var i = 0; i < newLinks.length; i++) {
392
- if (newLinks[i].getText() != currLinks[i].getText()) {
393
- diff = true;
394
- break;
395
- }
396
- }
397
- }
398
-
399
- if (diff) {
400
-
401
- // Clear aggregation before we rebuild it
402
- if (oDrillBreadcrumbs.getLinks()) {
403
- oDrillBreadcrumbs.destroyLinks();
404
- }
405
-
406
- for (var i = 0; i < newLinks.length; i++) {
407
- oDrillBreadcrumbs.addLink(newLinks[i]);
408
- }
409
- }
410
-
411
- resolve(oDrillBreadcrumbs);
412
- }.bind(this));
413
- }.bind(this));
414
- };
415
-
416
205
  return DrillStackHandler;
417
206
  });