@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.
- package/.reuse/dep5 +26 -31
- package/THIRDPARTY.txt +15 -21
- package/package.json +4 -4
- package/src/sap/ui/mdc/.library +1 -1
- package/src/sap/ui/mdc/ActionToolbar.js +7 -9
- package/src/sap/ui/mdc/AggregationBaseDelegate.js +2 -2
- package/src/sap/ui/mdc/BaseDelegate.js +1 -1
- package/src/sap/ui/mdc/Chart.js +1100 -1796
- package/src/sap/ui/mdc/ChartDelegate.js +429 -270
- package/src/sap/ui/mdc/ChartRenderer.js +73 -77
- package/src/sap/ui/mdc/Control.js +1 -1
- package/src/sap/ui/mdc/Element.js +1 -1
- package/src/sap/ui/mdc/Field.js +3 -2
- package/src/sap/ui/mdc/FilterBar.js +3 -2
- package/src/sap/ui/mdc/FilterField.js +25 -8
- package/src/sap/ui/mdc/Link.js +23 -4
- package/src/sap/ui/mdc/LinkDelegate.js +3 -3
- package/src/sap/ui/mdc/MultiValueField.js +21 -6
- package/src/sap/ui/mdc/Table.js +204 -161
- package/src/sap/ui/mdc/TableDelegate.js +47 -17
- package/src/sap/ui/mdc/ValueHelp.js +51 -15
- package/src/sap/ui/mdc/ValueHelpDelegate.js +20 -0
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -2
- package/src/sap/ui/mdc/{chartNew/ChartSelectionDetailsNew.js → chart/ChartSelectionDetails.js} +8 -8
- package/src/sap/ui/mdc/{chartNew/ChartToolbarNew.js → chart/ChartToolbar.js} +49 -13
- package/src/sap/ui/mdc/chart/ChartTypeButton.js +55 -54
- package/src/sap/ui/mdc/{chartNew/DrillBreadcrumbsNew.js → chart/DrillBreadcrumbs.js} +3 -3
- package/src/sap/ui/mdc/chart/DrillStackHandler.js +38 -249
- package/src/sap/ui/mdc/chart/Item.js +62 -92
- package/src/sap/ui/mdc/{chartNew/PropertyHelperNew.js → chart/PropertyHelper.js} +3 -3
- package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +17 -21
- package/src/sap/ui/mdc/condition/Condition.js +1 -1
- package/src/sap/ui/mdc/condition/ConditionConverter.js +1 -1
- package/src/sap/ui/mdc/condition/ConditionModel.js +1 -1
- package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
- package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +261 -44
- package/src/sap/ui/mdc/condition/Operator.js +9 -9
- package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +437 -0
- package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
- package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +80 -5
- package/src/sap/ui/mdc/designtime/field/Field.designtime.js +97 -0
- package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +104 -0
- package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +22 -0
- package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +23 -0
- package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +3 -0
- package/src/sap/ui/mdc/designtime/table/Table.designtime.js +60 -20
- package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
- package/src/sap/ui/mdc/field/ConditionFieldHelp.js +1 -1
- package/src/sap/ui/mdc/field/ConditionType.js +9 -9
- package/src/sap/ui/mdc/field/ConditionsType.js +7 -7
- package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -1
- package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
- package/src/sap/ui/mdc/field/DefineConditionPanel.js +75 -27
- package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +311 -0
- package/src/sap/ui/mdc/field/FieldBase.js +85 -52
- package/src/sap/ui/mdc/field/FieldBaseRenderer.js +0 -3
- package/src/sap/ui/mdc/field/FieldHelpBase.js +2 -2
- package/src/sap/ui/mdc/field/FieldInfoBase.js +23 -10
- package/src/sap/ui/mdc/field/FieldInput.js +1 -1
- package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
- package/src/sap/ui/mdc/field/FieldMultiInput.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelp.js +7 -7
- package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +20 -0
- package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +2 -2
- package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +7 -3
- package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
- package/src/sap/ui/mdc/field/InParameter.js +1 -1
- package/src/sap/ui/mdc/field/ListFieldHelp.js +10 -2
- package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
- package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
- package/src/sap/ui/mdc/field/OutParameter.js +1 -1
- package/src/sap/ui/mdc/field/TokenDisplay.js +70 -0
- package/src/sap/ui/mdc/field/TokenDisplayRenderer.js +24 -0
- package/src/sap/ui/mdc/field/TokenizerDisplay.js +80 -0
- package/src/sap/ui/mdc/field/TokenizerDisplayRenderer.js +69 -0
- package/src/sap/ui/mdc/field/ValueHelpPanel.js +2 -1
- package/src/sap/ui/mdc/field/content/BooleanContent.js +1 -1
- package/src/sap/ui/mdc/field/content/ContentFactory.js +28 -26
- package/src/sap/ui/mdc/field/content/DateContent.js +128 -2
- package/src/sap/ui/mdc/field/content/DateTimeContent.js +9 -1
- package/src/sap/ui/mdc/field/content/DefaultContent.js +36 -14
- package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
- package/src/sap/ui/mdc/field/content/TimeContent.js +8 -1
- package/src/sap/ui/mdc/field/content/UnitContent.js +23 -4
- package/src/sap/ui/mdc/filterbar/FilterBarBase.js +359 -142
- package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
- package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +8 -2
- package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +3 -1
- package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +7 -1
- package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +6 -6
- package/src/sap/ui/mdc/flexibility/AggregateFlex.js +2 -2
- package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +6 -4
- package/src/sap/ui/mdc/flexibility/ColumnFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +4 -3
- package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/GroupFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +9 -3
- package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +110 -0
- package/src/sap/ui/mdc/flexibility/SortFlex.js +2 -2
- package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +6 -6
- package/src/sap/ui/mdc/library.js +62 -43
- package/src/sap/ui/mdc/link/ContactDetails.js +1 -1
- package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +1 -1
- package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +1 -1
- package/src/sap/ui/mdc/link/ContactDetailsItem.js +1 -1
- package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +1 -1
- package/src/sap/ui/mdc/link/Factory.js +2 -2
- package/src/sap/ui/mdc/link/FakeFlpConnector.js +1 -1
- package/src/sap/ui/mdc/link/LinkItem.js +1 -1
- package/src/sap/ui/mdc/link/Log.js +1 -1
- package/src/sap/ui/mdc/link/Panel.js +140 -177
- package/src/sap/ui/mdc/link/PanelItem.js +1 -1
- package/src/sap/ui/mdc/link/PanelListItem.js +1 -1
- package/src/sap/ui/mdc/link/SemanticObjectMapping.js +1 -1
- package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +1 -1
- package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +1 -1
- package/src/sap/ui/mdc/messagebundle.properties +68 -5
- package/src/sap/ui/mdc/messagebundle_ar.properties +47 -6
- package/src/sap/ui/mdc/messagebundle_bg.properties +61 -20
- package/src/sap/ui/mdc/messagebundle_ca.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_cs.properties +60 -19
- package/src/sap/ui/mdc/messagebundle_cy.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_da.properties +52 -11
- package/src/sap/ui/mdc/messagebundle_de.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_el.properties +46 -5
- package/src/sap/ui/mdc/messagebundle_en.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_en_GB.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +51 -2
- package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +51 -2
- package/src/sap/ui/mdc/messagebundle_es.properties +46 -5
- package/src/sap/ui/mdc/messagebundle_es_MX.properties +59 -18
- package/src/sap/ui/mdc/messagebundle_et.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_fi.properties +51 -10
- package/src/sap/ui/mdc/messagebundle_fr.properties +50 -9
- package/src/sap/ui/mdc/messagebundle_fr_CA.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_hi.properties +46 -5
- package/src/sap/ui/mdc/messagebundle_hr.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_hu.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_id.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_it.properties +61 -20
- package/src/sap/ui/mdc/messagebundle_iw.properties +46 -5
- package/src/sap/ui/mdc/messagebundle_ja.properties +46 -5
- package/src/sap/ui/mdc/messagebundle_kk.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_ko.properties +46 -5
- package/src/sap/ui/mdc/messagebundle_lt.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_lv.properties +49 -8
- package/src/sap/ui/mdc/messagebundle_ms.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_nl.properties +49 -8
- package/src/sap/ui/mdc/messagebundle_no.properties +53 -12
- package/src/sap/ui/mdc/messagebundle_pl.properties +46 -5
- package/src/sap/ui/mdc/messagebundle_pt.properties +52 -11
- package/src/sap/ui/mdc/messagebundle_pt_PT.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_ro.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_ru.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_sh.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_sk.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_sl.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_sv.properties +47 -6
- package/src/sap/ui/mdc/messagebundle_th.properties +48 -7
- package/src/sap/ui/mdc/messagebundle_tr.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_uk.properties +49 -8
- package/src/sap/ui/mdc/messagebundle_vi.properties +45 -4
- package/src/sap/ui/mdc/messagebundle_zh_CN.properties +46 -5
- package/src/sap/ui/mdc/messagebundle_zh_TW.properties +45 -4
- package/src/sap/ui/mdc/mixin/AdaptationMixin.js +19 -5
- package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -2
- package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +16 -11
- package/src/sap/ui/mdc/mixin/PromiseMixin.js +2 -3
- package/src/sap/ui/mdc/odata/TypeUtil.js +1 -1
- package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +29 -483
- package/src/sap/ui/mdc/odata/v4/{ChartPropertyHelperNew.js → ChartPropertyHelper.js} +5 -5
- package/src/sap/ui/mdc/odata/v4/TableDelegate.js +160 -116
- package/src/sap/ui/mdc/odata/v4/TypeUtil.js +1 -1
- package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +1 -1
- package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +1 -1
- package/src/sap/ui/mdc/odata/v4/vizChart/{ChartDelegateNew.js → ChartDelegate.js} +215 -116
- package/src/sap/ui/mdc/p13n/Engine.js +61 -20
- package/src/sap/ui/mdc/p13n/FlexUtil.js +11 -118
- package/src/sap/ui/mdc/p13n/P13nBuilder.js +8 -8
- package/src/sap/ui/mdc/p13n/PersistenceProvider.js +21 -10
- package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/p13n/StateUtil.js +40 -6
- package/src/sap/ui/mdc/p13n/UIManager.js +15 -12
- package/src/sap/ui/mdc/p13n/modification/FlexModificationHandler.js +4 -1
- package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +9 -6
- package/src/sap/ui/mdc/p13n/{DefaultProviderRegistry.js → modules/DefaultProviderRegistry.js} +2 -2
- package/src/sap/ui/mdc/p13n/modules/StateHandlerRegistry.js +86 -0
- package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +19 -3
- package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1092 -48
- package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +72 -0
- package/src/sap/ui/mdc/p13n/panels/ListView.js +6 -2
- package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +6 -5
- package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +156 -11
- package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +15 -26
- package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +6 -5
- package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +14 -7
- package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +173 -0
- package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +10 -17
- package/src/sap/ui/mdc/table/Column.js +35 -10
- package/src/sap/ui/mdc/table/CreationRow.js +14 -13
- package/src/sap/ui/mdc/table/GridTableType.js +13 -13
- package/src/sap/ui/mdc/table/PropertyHelper.js +64 -27
- package/src/sap/ui/mdc/table/ResponsiveTableType.js +26 -29
- package/src/sap/ui/mdc/table/RowSettings.js +7 -5
- package/src/sap/ui/mdc/table/TableTypeBase.js +6 -6
- package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +15 -71
- package/src/sap/ui/mdc/themes/base/Chart.less +3 -0
- package/src/sap/ui/mdc/themes/base/FieldBase.less +0 -5
- package/src/sap/ui/mdc/themes/base/TokenDisplay.less +89 -0
- package/src/sap/ui/mdc/themes/base/TokenizerDisplay.less +90 -0
- package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +15 -4
- package/src/sap/ui/mdc/themes/base/library.source.less +3 -0
- package/src/sap/ui/mdc/ui/Container.js +2 -2
- package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
- package/src/sap/ui/mdc/util/Common.js +1 -1
- package/src/sap/ui/mdc/util/DateUtil.js +1 -1
- package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
- package/src/sap/ui/mdc/util/FormatUtil.js +3 -3
- package/src/sap/ui/mdc/util/IdentifierUtil.js +6 -6
- package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
- package/src/sap/ui/mdc/util/PropertyHelper.js +148 -325
- package/src/sap/ui/mdc/util/TypeUtil.js +5 -4
- package/src/sap/ui/mdc/valuehelp/Dialog.js +12 -8
- package/src/sap/ui/mdc/valuehelp/Popover.js +14 -2
- package/src/sap/ui/mdc/valuehelp/base/Container.js +33 -1
- package/src/sap/ui/mdc/valuehelp/base/Content.js +36 -5
- package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +2 -1
- package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +43 -15
- package/src/sap/ui/mdc/valuehelp/base/ListContent.js +2 -1
- package/src/sap/ui/mdc/valuehelp/content/Bool.js +2 -1
- package/src/sap/ui/mdc/valuehelp/content/Conditions.js +28 -32
- package/src/sap/ui/mdc/valuehelp/content/FixedList.js +11 -5
- package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +50 -10
- package/src/sap/ui/mdc/valuehelp/content/MTable.js +57 -26
- package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -1
- package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +3 -3
- package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsBase.js +3 -3
- package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsViz.js +0 -0
- package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsBase.js +1 -1
- package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsViz.js +0 -0
- package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ChartNew.js +0 -0
- package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +289 -0
- package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +7 -7
- package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +9 -9
- package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +12 -11
- package/test/sap/ui/mdc/testutils/opa/link/Actions.js +85 -0
- package/test/sap/ui/mdc/testutils/opa/link/Assertions.js +79 -0
- package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +112 -0
- package/test/sap/ui/mdc/testutils/opa/link/waitForLink.js +50 -0
- package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +362 -233
- package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +27 -26
- package/test/sap/ui/mdc/testutils/opa/valueHelp/Actions.js +54 -0
- package/test/sap/ui/mdc/testutils/opa/valueHelp/Assertions.js +5 -0
- package/test/sap/ui/mdc/testutils/opa/valueHelp/TestObjects.js +40 -0
- package/test/sap/ui/mdc/testutils/opa/valueHelp/Util.js +28 -0
- package/src/sap/ui/mdc/ChartDelegateNew.js +0 -395
- package/src/sap/ui/mdc/ChartNew.js +0 -1114
- package/src/sap/ui/mdc/ChartNewRenderer.js +0 -91
- package/src/sap/ui/mdc/chart/DimensionItem.js +0 -281
- package/src/sap/ui/mdc/chart/MeasureItem.js +0 -318
- package/src/sap/ui/mdc/chart/MetadataDelegate.js +0 -31
- package/src/sap/ui/mdc/chart/SelectionHandler.js +0 -127
- package/src/sap/ui/mdc/chart/ToolbarHandler.js +0 -328
- package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +0 -295
- package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +0 -212
- package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -72
- package/src/sap/ui/mdc/chartNew/SelectionDetailsActionsNew.js +0 -34
- package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +0 -91
- package/src/sap/ui/mdc/link/SelectionDialog.control.xml +0 -66
- package/src/sap/ui/mdc/link/SelectionDialog.js +0 -213
- package/src/sap/ui/mdc/link/SelectionDialogItem.js +0 -86
- package/src/sap/ui/mdc/odata/v4/ChartDelegateNew.js +0 -35
- package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +0 -1171
- package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +0 -111
- package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +0 -322
- package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +0 -133
- 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(
|
|
21
|
+
constructor: function(oMDCChart) {
|
|
19
22
|
|
|
20
|
-
|
|
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(),
|
|
32
|
+
this.displayChartTypes(oEvent.getSource(), oMDCChart);
|
|
26
33
|
}.bind(this),
|
|
27
|
-
id:
|
|
28
|
-
icon: '{$chart>/
|
|
29
|
-
tooltip: '{$chart>/
|
|
30
|
-
text: '{$chart>/
|
|
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
|
|
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,
|
|
112
|
-
if (!
|
|
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
|
|
151
|
-
|
|
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
|
|
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,
|
|
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:
|
|
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 (
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
}
|
|
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/
|
|
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
|
-
|
|
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(
|
|
45
|
-
var aDrillStack =
|
|
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(
|
|
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
|
-
|
|
107
|
-
control:
|
|
89
|
+
oMDCChart.getEngine().createChanges({
|
|
90
|
+
control: oMDCChart,
|
|
108
91
|
key: "Item",
|
|
109
92
|
state: [{
|
|
110
93
|
name: oListItem.data("dim").name,
|
|
111
|
-
position:
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
167
|
-
|
|
168
|
-
|
|
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 =
|
|
171
|
-
var
|
|
172
|
-
|
|
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(
|
|
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(
|
|
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
|
});
|