@openui5/sap.ui.mdc 1.121.0 → 1.122.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/THIRDPARTY.txt +1 -1
- package/package.json +4 -4
- package/src/sap/ui/mdc/.library +1 -1
- package/src/sap/ui/mdc/ActionToolbar.js +1 -1
- package/src/sap/ui/mdc/Chart.js +36 -48
- package/src/sap/ui/mdc/Control.js +1 -1
- package/src/sap/ui/mdc/DefaultTypeMap.js +1 -1
- package/src/sap/ui/mdc/Element.js +1 -1
- package/src/sap/ui/mdc/Field.js +2 -2
- package/src/sap/ui/mdc/FilterBar.js +1 -1
- package/src/sap/ui/mdc/FilterField.js +2 -2
- package/src/sap/ui/mdc/Link.js +12 -27
- package/src/sap/ui/mdc/MultiValueField.js +1 -1
- package/src/sap/ui/mdc/Table.js +3 -1
- package/src/sap/ui/mdc/ValueHelp.js +2 -1
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
- package/src/sap/ui/mdc/chart/ChartImplementationContainer.js +1 -1
- package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
- package/src/sap/ui/mdc/chart/ChartToolbar.js +128 -10
- package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +50 -87
- package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/chart/SelectionButton.js +404 -0
- package/src/sap/ui/mdc/chart/SelectionButtonItem.js +60 -0
- 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 +17 -11
- package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +72 -61
- package/src/sap/ui/mdc/condition/Operator.js +51 -26
- package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +2 -2
- package/src/sap/ui/mdc/condition/RangeOperator.js +7 -2
- package/src/sap/ui/mdc/designtime/field/Field.designtime.js +8 -8
- package/src/sap/ui/mdc/enums/ChartToolbarActionType.js +1 -1
- package/src/sap/ui/mdc/enums/ConditionValidated.js +1 -1
- package/src/sap/ui/mdc/enums/TableGrowingMode.js +1 -1
- package/src/sap/ui/mdc/field/ConditionType.js +32 -23
- package/src/sap/ui/mdc/field/ConditionTypeMixin.js +18 -1
- package/src/sap/ui/mdc/field/ConditionsType.js +1 -1
- package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
- package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +1 -1
- package/src/sap/ui/mdc/field/FieldBase.js +26 -11
- package/src/sap/ui/mdc/field/FieldBaseDelegate.js +1 -0
- package/src/sap/ui/mdc/field/FieldInfoBase.js +68 -43
- 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/ListFieldHelpItem.js +1 -1
- package/src/sap/ui/mdc/field/MultiValueFieldItem.js +1 -1
- package/src/sap/ui/mdc/field/TokenDisplay.js +1 -1
- package/src/sap/ui/mdc/field/TokenizerDisplay.js +1 -1
- package/src/sap/ui/mdc/filterbar/FilterBarBase.js +1 -1
- package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
- package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +3 -0
- package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
- package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
- package/src/sap/ui/mdc/library.js +5 -4
- package/src/sap/ui/mdc/link/Factory.js +1 -1
- package/src/sap/ui/mdc/link/LinkItem.js +25 -8
- package/src/sap/ui/mdc/link/Panel.js +19 -26
- package/src/sap/ui/mdc/link/PanelItem.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 +2 -0
- package/src/sap/ui/mdc/messagebundle_ar.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_bg.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_ca.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_cnr.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_cs.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_cy.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_da.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_de.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_el.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_en.properties +1 -349
- package/src/sap/ui/mdc/messagebundle_en_GB.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_es.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_es_MX.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_et.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_fi.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_fr.properties +3 -2
- package/src/sap/ui/mdc/messagebundle_fr_CA.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_hi.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_hr.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_hu.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_id.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_it.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_iw.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_ja.properties +2 -1
- package/src/sap/ui/mdc/messagebundle_kk.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_ko.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_lt.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_lv.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_mk.properties +2 -1
- package/src/sap/ui/mdc/messagebundle_ms.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_nl.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_no.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_pl.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_pt.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_pt_PT.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_ro.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_ru.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_sh.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_sk.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_sl.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_sr.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_sv.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_th.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_tr.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_uk.properties +4 -3
- package/src/sap/ui/mdc/messagebundle_vi.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_zh_CN.properties +1 -0
- package/src/sap/ui/mdc/messagebundle_zh_TW.properties +1 -0
- package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
- package/src/sap/ui/mdc/odata/TypeMap.js +1 -1
- package/src/sap/ui/mdc/odata/v4/TableDelegate.js +110 -41
- package/src/sap/ui/mdc/odata/v4/TypeMap.js +1 -1
- package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +37 -4
- package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +25 -27
- package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +6 -31
- package/src/sap/ui/mdc/table/Column.js +13 -3
- package/src/sap/ui/mdc/table/ColumnSettings.js +1 -1
- package/src/sap/ui/mdc/table/CreationRow.js +1 -1
- package/src/sap/ui/mdc/table/DragDropConfig.js +1 -1
- package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/table/ResponsiveColumnSettings.js +5 -13
- package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
- package/src/sap/ui/mdc/table/RowSettings.js +1 -1
- package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
- package/src/sap/ui/mdc/table/utils/Personalization.js +1 -1
- package/src/sap/ui/mdc/themes/base/Chart.less +5 -0
- package/src/sap/ui/mdc/ushell/SemanticObjectMapping.js +1 -1
- package/src/sap/ui/mdc/ushell/SemanticObjectMappingItem.js +1 -1
- package/src/sap/ui/mdc/ushell/SemanticObjectUnavailableAction.js +1 -1
- package/src/sap/ui/mdc/util/InfoBar.js +1 -1
- package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
- package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/valuehelp/Dialog.js +1 -1
- package/src/sap/ui/mdc/valuehelp/Popover.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/Container.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/Content.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/DefineConditionPanel.js +82 -5
- package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/Bool.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/Conditions.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/FixedList.js +2 -2
- package/src/sap/ui/mdc/valuehelp/content/FixedListItem.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/MTable.js +116 -44
- package/test/sap/ui/mdc/testutils/opa/chart/ActionsBase.js +2 -2
- package/test/sap/ui/mdc/testutils/opa/chart/AssertionsBase.js +2 -2
- package/test/sap/ui/mdc/testutils/opa/matchers/DateValue.js +2 -2
- package/test/sap/ui/mdc/testutils/opa/table/waitForTable.js +0 -2
- package/src/sap/ui/mdc/chart/ChartTypeButton.js +0 -348
- package/src/sap/ui/mdc/chart/DrillStackHandler.js +0 -209
- package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +0 -41
package/THIRDPARTY.txt
CHANGED
|
@@ -461,7 +461,7 @@ License: Apache-2.0
|
|
|
461
461
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
|
|
462
462
|
Contained in: lib/jsdoc/ui5/plugin.js
|
|
463
463
|
|
|
464
|
-
Component: SAP Theming Base Content, version: 11.
|
|
464
|
+
Component: SAP Theming Base Content, version: 11.12.0
|
|
465
465
|
Copyright: SAP SE or an SAP affiliate company and Theming Base Content contributors
|
|
466
466
|
License: Apache-2.0
|
|
467
467
|
License Text: https://github.com/SAP/openui5/blob/master/LICENSES/Apache-2.0.txt
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@openui5/sap.ui.mdc",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.122.0",
|
|
4
4
|
"description": "OpenUI5 UI Library sap.ui.mdc",
|
|
5
5
|
"author": "SAP SE (https://www.sap.com)",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"url": "https://github.com/SAP/openui5.git"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@openui5/sap.m": "1.
|
|
18
|
-
"@openui5/sap.ui.core": "1.
|
|
19
|
-
"@openui5/sap.ui.layout": "1.
|
|
17
|
+
"@openui5/sap.m": "1.122.0",
|
|
18
|
+
"@openui5/sap.ui.core": "1.122.0",
|
|
19
|
+
"@openui5/sap.ui.layout": "1.122.0"
|
|
20
20
|
}
|
|
21
21
|
}
|
package/src/sap/ui/mdc/.library
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<copyright>OpenUI5
|
|
7
7
|
* (c) Copyright 2009-2024 SAP SE or an SAP affiliate company.
|
|
8
8
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.</copyright>
|
|
9
|
-
<version>1.
|
|
9
|
+
<version>1.122.0</version>
|
|
10
10
|
|
|
11
11
|
<documentation>UI5 library: sap.ui.mdc</documentation>
|
|
12
12
|
|
package/src/sap/ui/mdc/Chart.js
CHANGED
|
@@ -41,7 +41,7 @@ sap.ui.define([
|
|
|
41
41
|
SortController,
|
|
42
42
|
ChartTypeController,
|
|
43
43
|
ManagedObjectObserver,
|
|
44
|
-
|
|
44
|
+
DrillBreadcrumbs,
|
|
45
45
|
ActionToolbarAction,
|
|
46
46
|
coreLibrary,
|
|
47
47
|
KeyCodes,
|
|
@@ -52,7 +52,6 @@ sap.ui.define([
|
|
|
52
52
|
) => {
|
|
53
53
|
"use strict";
|
|
54
54
|
|
|
55
|
-
let DrillStackHandler;
|
|
56
55
|
const { TitleLevel } = coreLibrary;
|
|
57
56
|
|
|
58
57
|
/**
|
|
@@ -65,7 +64,7 @@ sap.ui.define([
|
|
|
65
64
|
* <b>Note:</b> The inner chart needs to be assigned <code>ChartDelegate</code>.
|
|
66
65
|
* @extends sap.ui.mdc.Control
|
|
67
66
|
* @author SAP SE
|
|
68
|
-
* @version 1.
|
|
67
|
+
* @version 1.122.0
|
|
69
68
|
* @constructor
|
|
70
69
|
*
|
|
71
70
|
* @public
|
|
@@ -770,8 +769,30 @@ sap.ui.define([
|
|
|
770
769
|
Chart.prototype._createBreadcrumbs = function() {
|
|
771
770
|
let _oBreadcrumbs = this.getAggregation("_breadcrumbs");
|
|
772
771
|
if (!_oBreadcrumbs && !this._bIsDestroyed) {
|
|
773
|
-
_oBreadcrumbs = new
|
|
774
|
-
|
|
772
|
+
_oBreadcrumbs = new DrillBreadcrumbs(this.getId() + "--breadcrumbs", {
|
|
773
|
+
linkPressed: function(oEvent) {
|
|
774
|
+
const index = oEvent.getParameter("index");
|
|
775
|
+
|
|
776
|
+
// get drill-path which was drilled-up and needs to be removed from mdc chart
|
|
777
|
+
const aCurrentDrillStack = this.getControlDelegate().getDrillableItems(this);
|
|
778
|
+
const aDrilledItems = aCurrentDrillStack.slice(index + 1);
|
|
779
|
+
const aFlexItemChanges = aDrilledItems.map((oDrillItem) => {
|
|
780
|
+
return {
|
|
781
|
+
name: oDrillItem.getPropertyKey(),
|
|
782
|
+
visible: false
|
|
783
|
+
};
|
|
784
|
+
});
|
|
785
|
+
|
|
786
|
+
this.getEngine().createChanges({
|
|
787
|
+
control: this,
|
|
788
|
+
key: "Item",
|
|
789
|
+
state: aFlexItemChanges
|
|
790
|
+
});
|
|
791
|
+
|
|
792
|
+
}.bind(this)
|
|
793
|
+
});
|
|
794
|
+
const aItems = this.getControlDelegate().getDrillableItems(this).map(function(oItem) { return { key: oItem.getPropertyKey(), text: oItem.getLabel() }; });
|
|
795
|
+
_oBreadcrumbs.update(aItems);
|
|
775
796
|
this.setAggregation("_breadcrumbs", _oBreadcrumbs);
|
|
776
797
|
}
|
|
777
798
|
};
|
|
@@ -854,7 +875,8 @@ sap.ui.define([
|
|
|
854
875
|
this._rebind();
|
|
855
876
|
|
|
856
877
|
//Update the breadcrumbs after an MDC Item change
|
|
857
|
-
this.
|
|
878
|
+
const aItems = this.getControlDelegate().getDrillableItems(this).map(function(oItem) { return { key: oItem.getPropertyKey(), text: oItem.getLabel() }; });
|
|
879
|
+
this.getAggregation("_breadcrumbs").update(aItems);
|
|
858
880
|
};
|
|
859
881
|
|
|
860
882
|
/**
|
|
@@ -1072,48 +1094,6 @@ sap.ui.define([
|
|
|
1072
1094
|
Control.prototype.destroy.apply(this, arguments);
|
|
1073
1095
|
};
|
|
1074
1096
|
|
|
1075
|
-
/**
|
|
1076
|
-
* Shows the drill-down popover for selection a dimension to drill down to.
|
|
1077
|
-
*
|
|
1078
|
-
* @param {sap.m.Button} oDrillBtn reference to the drill down button for loacation of the popover
|
|
1079
|
-
* @returns {Promise} show dril stack promise
|
|
1080
|
-
*
|
|
1081
|
-
* @private
|
|
1082
|
-
*/
|
|
1083
|
-
Chart.prototype._showDrillDown = function(oDrillBtn) {
|
|
1084
|
-
if (!this.oDrillPopover) {
|
|
1085
|
-
if (DrillStackHandler) {
|
|
1086
|
-
|
|
1087
|
-
this.oDrillPopover = DrillStackHandler.createDrillDownPopover(this);
|
|
1088
|
-
this.oDrillPopover.attachAfterClose(() => {
|
|
1089
|
-
delete this.oDrillPopover;
|
|
1090
|
-
});
|
|
1091
|
-
|
|
1092
|
-
return DrillStackHandler.showDrillDownPopover(this, oDrillBtn);
|
|
1093
|
-
}
|
|
1094
|
-
|
|
1095
|
-
return new Promise((resolve, reject) => {
|
|
1096
|
-
sap.ui.require([
|
|
1097
|
-
"sap/ui/mdc/chart/DrillStackHandler"
|
|
1098
|
-
], (DrillStackHandlerLoaded) => {
|
|
1099
|
-
DrillStackHandler = DrillStackHandlerLoaded;
|
|
1100
|
-
|
|
1101
|
-
this.oDrillPopover = DrillStackHandler.createDrillDownPopover(this);
|
|
1102
|
-
this.oDrillPopover.attachAfterClose(() => {
|
|
1103
|
-
delete this.oDrillPopover;
|
|
1104
|
-
});
|
|
1105
|
-
|
|
1106
|
-
DrillStackHandler.showDrillDownPopover(this, oDrillBtn)
|
|
1107
|
-
.then((oDrillDownPopover) => {
|
|
1108
|
-
resolve(oDrillDownPopover);
|
|
1109
|
-
});
|
|
1110
|
-
});
|
|
1111
|
-
});
|
|
1112
|
-
} else if (this.oDrillPopover) {
|
|
1113
|
-
this.oDrillPopover.close();
|
|
1114
|
-
}
|
|
1115
|
-
};
|
|
1116
|
-
|
|
1117
1097
|
/**
|
|
1118
1098
|
* If some properties are set on the MDC chart while the inner chart is not yet initialized, they need to eb set after initialaization.
|
|
1119
1099
|
* This methods gets called after inner chart is ready and takes care of that
|
|
@@ -1160,6 +1140,14 @@ sap.ui.define([
|
|
|
1160
1140
|
Chart.prototype.setChartType = function(sChartType) {
|
|
1161
1141
|
this.setProperty("chartType", sChartType);
|
|
1162
1142
|
|
|
1143
|
+
const oToolbar = this.getAggregation("_toolbar");
|
|
1144
|
+
if (oToolbar?._oChartTypeBtn) {
|
|
1145
|
+
oToolbar._oChartTypeBtn.setSelectedItemKey(sChartType);
|
|
1146
|
+
const oChartTypeInfo = this.getChartTypeInfo();
|
|
1147
|
+
oToolbar._oChartTypeBtn.setTooltip(oChartTypeInfo.text);
|
|
1148
|
+
oToolbar._oChartTypeBtn.setIcon(oChartTypeInfo.icon);
|
|
1149
|
+
}
|
|
1150
|
+
|
|
1163
1151
|
try {
|
|
1164
1152
|
this.getControlDelegate().setChartType(this, sChartType);
|
|
1165
1153
|
} catch (e) {
|
package/src/sap/ui/mdc/Field.js
CHANGED
|
@@ -54,11 +54,11 @@ sap.ui.define([
|
|
|
54
54
|
* @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent, sap.m.IOverflowToolbarContent
|
|
55
55
|
*
|
|
56
56
|
* @author SAP SE
|
|
57
|
-
* @version 1.
|
|
57
|
+
* @version 1.122.0
|
|
58
58
|
*
|
|
59
59
|
* @constructor
|
|
60
60
|
* @alias sap.ui.mdc.Field
|
|
61
|
-
* @version 1.
|
|
61
|
+
* @version 1.122.0
|
|
62
62
|
* @since 1.54.0
|
|
63
63
|
*
|
|
64
64
|
* @public
|
|
@@ -45,7 +45,7 @@ sap.ui.define([
|
|
|
45
45
|
* The metadata information is provided via the {@link module:sap/ui/mdc/FilterBarDelegate FilterBarDelegate} implementation. This implementation has to be provided by the application.
|
|
46
46
|
* @extends sap.ui.mdc.filterbar.FilterBarBase
|
|
47
47
|
* @author SAP SE
|
|
48
|
-
* @version 1.
|
|
48
|
+
* @version 1.122.0
|
|
49
49
|
* @constructor
|
|
50
50
|
* @public
|
|
51
51
|
* @since 1.61.0
|
|
@@ -53,11 +53,11 @@ sap.ui.define([
|
|
|
53
53
|
* @implements sap.ui.core.IFormContent, sap.ui.core.ISemanticFormContent, sap.m.IOverflowToolbarContent
|
|
54
54
|
*
|
|
55
55
|
* @author SAP SE
|
|
56
|
-
* @version 1.
|
|
56
|
+
* @version 1.122.0
|
|
57
57
|
*
|
|
58
58
|
* @constructor
|
|
59
59
|
* @alias sap.ui.mdc.FilterField
|
|
60
|
-
* @version 1.
|
|
60
|
+
* @version 1.122.0
|
|
61
61
|
* @since 1.48.0
|
|
62
62
|
*
|
|
63
63
|
* @public
|
package/src/sap/ui/mdc/Link.js
CHANGED
|
@@ -71,7 +71,7 @@ sap.ui.define([
|
|
|
71
71
|
* @extends sap.ui.mdc.field.FieldInfoBase
|
|
72
72
|
*
|
|
73
73
|
* @author SAP SE
|
|
74
|
-
* @version 1.
|
|
74
|
+
* @version 1.122.0
|
|
75
75
|
*
|
|
76
76
|
* @constructor
|
|
77
77
|
* @alias sap.ui.mdc.Link
|
|
@@ -155,17 +155,21 @@ sap.ui.define([
|
|
|
155
155
|
this._oUseDelegateItemsPromise = undefined;
|
|
156
156
|
this._oUseDelegateAdditionalContentPromise = undefined;
|
|
157
157
|
|
|
158
|
+
const fnDestroy = (vElement) => {
|
|
159
|
+
if (Array.isArray(vElement)) {
|
|
160
|
+
vElement.forEach(fnDestroy);
|
|
161
|
+
} else {
|
|
162
|
+
vElement.destroy();
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
|
|
158
166
|
if (this._aLinkItems) {
|
|
159
|
-
this._aLinkItems.forEach(
|
|
160
|
-
oLinkItem.destroy();
|
|
161
|
-
});
|
|
167
|
+
this._aLinkItems.forEach(fnDestroy);
|
|
162
168
|
this._aLinkItems = undefined;
|
|
163
169
|
}
|
|
164
170
|
|
|
165
171
|
if (this._aAdditionalContent) {
|
|
166
|
-
this._aAdditionalContent.forEach(
|
|
167
|
-
oLinkItem.destroy();
|
|
168
|
-
});
|
|
172
|
+
this._aAdditionalContent.forEach(fnDestroy);
|
|
169
173
|
this._aAdditionalContent = undefined;
|
|
170
174
|
}
|
|
171
175
|
|
|
@@ -312,8 +316,7 @@ sap.ui.define([
|
|
|
312
316
|
}
|
|
313
317
|
},
|
|
314
318
|
beforeNavigationCallback: this._beforeNavigationCallback.bind(this),
|
|
315
|
-
metadataHelperPath: "sap/ui/mdc/Link"
|
|
316
|
-
onNavigationCallback: this._onNavigationCallback.bind(this)
|
|
319
|
+
metadataHelperPath: "sap/ui/mdc/Link"
|
|
317
320
|
});
|
|
318
321
|
oPanel.setModel(new JSONModel({
|
|
319
322
|
metadata: jQuery.extend(true, [], this._getInternalModel().getProperty("/linkItems")),
|
|
@@ -336,7 +339,6 @@ sap.ui.define([
|
|
|
336
339
|
if (aMLinkItems.length === 1 && !aAdditionalContent.length) {
|
|
337
340
|
const bNavigate = await this._beforeNavigationCallback(oEvent);
|
|
338
341
|
if (bNavigate) {
|
|
339
|
-
this._onNavigationCallback(aMLinkItems[0]);
|
|
340
342
|
Panel.navigate(aMLinkItems[0].href);
|
|
341
343
|
}
|
|
342
344
|
return bNavigate;
|
|
@@ -635,23 +637,6 @@ sap.ui.define([
|
|
|
635
637
|
return Promise.resolve();
|
|
636
638
|
};
|
|
637
639
|
|
|
638
|
-
/**
|
|
639
|
-
* Proxy function for the <code>onNavigationCallback</code> of the panel.
|
|
640
|
-
* @private
|
|
641
|
-
* @param {sap.m.Link|sap.ui.mdc.LinkItem} oLink <code>Link</code> control that is clicked or corresponding <code>LinkItem</code>
|
|
642
|
-
*/
|
|
643
|
-
Link.prototype._onNavigationCallback = async function(oLink) {
|
|
644
|
-
try {
|
|
645
|
-
const oDelegate = await this.awaitControlDelegate();
|
|
646
|
-
if (oDelegate.onNavigationCallback) { // currently only available on SmartLinkDelegate
|
|
647
|
-
// don't return anything as we just want to call event handlings in the <code>SmartLink</code>
|
|
648
|
-
oDelegate.onNavigationCallback(this, oLink);
|
|
649
|
-
}
|
|
650
|
-
} catch (e) {
|
|
651
|
-
SapBaseLog.error("mdc.Link _onNavigationCallback: control delegate is not set - could not load onNavigationCallback from delegate.");
|
|
652
|
-
}
|
|
653
|
-
};
|
|
654
|
-
|
|
655
640
|
// ------------------------------------- General internal methods ----------------------------------------------
|
|
656
641
|
|
|
657
642
|
/**
|
package/src/sap/ui/mdc/Table.js
CHANGED
|
@@ -613,7 +613,7 @@ sap.ui.define([
|
|
|
613
613
|
* @since 1.111
|
|
614
614
|
*/
|
|
615
615
|
propertyInfo: {
|
|
616
|
-
type: "object
|
|
616
|
+
type: "object",
|
|
617
617
|
defaultValue: []
|
|
618
618
|
},
|
|
619
619
|
|
|
@@ -2599,6 +2599,8 @@ sap.ui.define([
|
|
|
2599
2599
|
if (this._oQuickActionContainer.hasQuickActions() || this._oItemContainer.hasItems()) {
|
|
2600
2600
|
this._oColumnHeaderMenu.openBy(oInnerColumn, true);
|
|
2601
2601
|
PersonalizationUtils.detectUserPersonalizationCompletion(this, this._oColumnHeaderMenu);
|
|
2602
|
+
} else {
|
|
2603
|
+
MTableUtil.announceEmptyColumnMenu();
|
|
2602
2604
|
}
|
|
2603
2605
|
});
|
|
2604
2606
|
});
|
|
@@ -65,7 +65,7 @@ sap.ui.define([
|
|
|
65
65
|
* and {@link sap.ui.mdc.FilterField FilterField} controls using the <code>valueHelp</code> association. One <code>ValueHelp</code> element instance can be
|
|
66
66
|
* assigned to multiple fields (like in different table rows). It should be placed in the control tree on the container holding the fields.
|
|
67
67
|
* @extends sap.ui.mdc.Element
|
|
68
|
-
* @version 1.
|
|
68
|
+
* @version 1.122.0
|
|
69
69
|
* @constructor
|
|
70
70
|
* @abstract
|
|
71
71
|
* @public
|
|
@@ -821,6 +821,7 @@ sap.ui.define([
|
|
|
821
821
|
* @property {boolean} checkKey If set, the value help checks only if there is an item with the given key. This is set to <code>false</code> if the value cannot be a valid key because of type validation.
|
|
822
822
|
* @property {boolean} checkDescription If set, the value help checks only if there is an item with the given description. This is set to <code>false</code> if only the key is used in the field.
|
|
823
823
|
* @property {boolean} [caseSensitive] If set, the check is done case-sensitively
|
|
824
|
+
* @property {boolean} [exactMatch] If set, only exact matches are requested and no suggestions
|
|
824
825
|
* @property {sap.ui.core.Control} control Instance of the calling control
|
|
825
826
|
* @public
|
|
826
827
|
*/
|
|
@@ -21,7 +21,7 @@ sap.ui.define([
|
|
|
21
21
|
* @class The <code>ChartImplementationContainer</code> creates a container for the <code>content</code> (chart) and <code>noDataContent</code>. Based on the <code>showNoDataStruct</code> the <code>content</code> or <code>noDataContent</code> will be shown.
|
|
22
22
|
* @extends sap.ui.core.Control
|
|
23
23
|
* @author SAP SE
|
|
24
|
-
* @version 1.
|
|
24
|
+
* @version 1.122.0
|
|
25
25
|
* @constructor
|
|
26
26
|
*
|
|
27
27
|
* @public
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @class The <code>ChartSelectionDetails</code> control creates a <code>sap.m.SelectionDetails</code> popover based on metadata and the configuration specified.
|
|
27
27
|
* @extends sap.m.SelectionDetails
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.
|
|
29
|
+
* @version 1.122.0
|
|
30
30
|
* @constructor
|
|
31
31
|
* @public
|
|
32
32
|
* @since 1.88
|
|
@@ -11,7 +11,9 @@ sap.ui.define([
|
|
|
11
11
|
"sap/m/OverflowToolbarButton",
|
|
12
12
|
"sap/m/OverflowToolbarToggleButton",
|
|
13
13
|
"sap/m/Title",
|
|
14
|
-
"sap/
|
|
14
|
+
"sap/m/IllustratedMessageType",
|
|
15
|
+
"sap/ui/mdc/chart/SelectionButton",
|
|
16
|
+
"sap/ui/mdc/chart/SelectionButtonItem",
|
|
15
17
|
"./ChartSelectionDetails",
|
|
16
18
|
"sap/ui/core/InvisibleText",
|
|
17
19
|
"sap/m/OverflowToolbarLayoutData",
|
|
@@ -27,7 +29,9 @@ sap.ui.define([
|
|
|
27
29
|
OverflowButton,
|
|
28
30
|
OverflowToggleButton,
|
|
29
31
|
Title,
|
|
30
|
-
|
|
32
|
+
IllustratedMessageType,
|
|
33
|
+
SelectionButton,
|
|
34
|
+
SelectionButtonItem,
|
|
31
35
|
ChartSelectionDetails,
|
|
32
36
|
InvisibleText,
|
|
33
37
|
OverflowToolbarLayoutData,
|
|
@@ -49,7 +53,7 @@ sap.ui.define([
|
|
|
49
53
|
* @class The ChartToolbar control is a sap.m.OverflowToolbar based on metadata and the configuration specified.
|
|
50
54
|
* @extends sap.ui.mdc.ActionToolbar
|
|
51
55
|
* @author SAP SE
|
|
52
|
-
* @version 1.
|
|
56
|
+
* @version 1.122.0
|
|
53
57
|
* @constructor
|
|
54
58
|
* @experimental As of version 1.88
|
|
55
59
|
* @private
|
|
@@ -128,19 +132,76 @@ sap.ui.define([
|
|
|
128
132
|
const aP13nMode = oChart.getP13nMode() || [];
|
|
129
133
|
|
|
130
134
|
if (aP13nMode.indexOf("Item") > -1 && (!oChart.getIgnoreToolbarActions().length || oChart.getIgnoreToolbarActions().indexOf(ChartToolbarActionType.DrillDownUp) < 0)) {
|
|
131
|
-
this._oDrillDownBtn = new
|
|
135
|
+
this._oDrillDownBtn = new SelectionButton(this.getId() + "-drillDown", {
|
|
132
136
|
icon: "sap-icon://drill-down",
|
|
133
137
|
tooltip: MDCRb.getText("chart.CHART_DRILLDOWN_TITLE"),
|
|
134
138
|
text: MDCRb.getText("chart.CHART_DRILLDOWN_TITLE"),
|
|
139
|
+
title: MDCRb.getText("chart.CHART_DRILLDOWN_TITLE"),
|
|
140
|
+
|
|
141
|
+
noDataTitle: MDCRb.getText("chart.NO_DRILLABLE_DIMENSION"),
|
|
142
|
+
noDataDescription: MDCRb.getText("chart.NO_DRILLABLE_DIMENSION_DESC"),
|
|
143
|
+
noDataType: IllustratedMessageType.NoDimensionsSet,
|
|
144
|
+
searchPlaceholder: MDCRb.getText("chart.CHART_DRILLDOWN_SEARCH"),
|
|
145
|
+
searchEnabled: true,
|
|
146
|
+
sortEnabled: false,
|
|
147
|
+
sorted: "ascending",
|
|
148
|
+
|
|
135
149
|
enabled: false,
|
|
150
|
+
type: "Transparent",
|
|
136
151
|
ariaHasPopup: AriaHasPopup.ListBox,
|
|
137
152
|
layoutData: new OverflowToolbarLayoutData({
|
|
138
153
|
closeOverflowOnInteraction: false
|
|
139
154
|
}),
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
155
|
+
beforeOpen: function(oEvent) {
|
|
156
|
+
const oViewByBtn = oEvent.getSource();
|
|
157
|
+
oViewByBtn.removeAllItems();
|
|
158
|
+
oViewByBtn.setSelectedItemKey("");
|
|
159
|
+
|
|
160
|
+
const fnGetDrillStackDimensions = function(oChart) {
|
|
161
|
+
const aDrillStack = oChart.getControlDelegate().getDrillStack(oChart);
|
|
162
|
+
const aStackDimensions = [];
|
|
163
|
+
|
|
164
|
+
aDrillStack.forEach((oStackEntry) => {
|
|
165
|
+
// loop over nested dimension arrays
|
|
166
|
+
oStackEntry.dimension.forEach((sDimension) => {
|
|
167
|
+
if (sDimension != null && sDimension != "" && aStackDimensions.indexOf(sDimension) == -1) {
|
|
168
|
+
aStackDimensions.push(sDimension);
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
return aStackDimensions;
|
|
174
|
+
};
|
|
175
|
+
|
|
176
|
+
const pSortedDimensionsPromise = oChart.getControlDelegate().getSortedDimensions(oChart);
|
|
177
|
+
return pSortedDimensionsPromise.then((aSortedDimensions) => {
|
|
178
|
+
// Ignore currently applied dimensions from drill-stack for selection
|
|
179
|
+
const aIgnoreDimensions = fnGetDrillStackDimensions(oChart);
|
|
180
|
+
aSortedDimensions = aSortedDimensions.filter((oDimension) => { return aIgnoreDimensions.indexOf(oDimension.name) < 0; });
|
|
181
|
+
|
|
182
|
+
aSortedDimensions.forEach((oDimension) => {
|
|
183
|
+
// oData.items.push({ text: oDimension.label, id: oDimension.name });
|
|
184
|
+
this._oDrillDownBtn.addItem(new SelectionButtonItem({key: oDimension.name, text: oDimension.label}));
|
|
185
|
+
});
|
|
186
|
+
oViewByBtn.setSearchEnabled(aSortedDimensions.length >= 7);
|
|
187
|
+
oViewByBtn._openPopover(); // in this case the beforeOpen is not able to provide all item syncron
|
|
188
|
+
});
|
|
189
|
+
}.bind(this),
|
|
190
|
+
itemSelected: function(oEvent) {
|
|
191
|
+
const sDimensionName = oEvent.getParameter("item").key;
|
|
192
|
+
|
|
193
|
+
//Call flex to capture current state before adding an item to the chart aggregation
|
|
194
|
+
oChart.getEngine().createChanges({
|
|
195
|
+
control: oChart,
|
|
196
|
+
key: "Item",
|
|
197
|
+
state: [{
|
|
198
|
+
name: sDimensionName,
|
|
199
|
+
position: oChart.getItems().length
|
|
200
|
+
}]
|
|
201
|
+
});
|
|
202
|
+
}
|
|
143
203
|
});
|
|
204
|
+
|
|
144
205
|
this.addEnd(this._oDrillDownBtn);
|
|
145
206
|
this._chartInternalButtonsToEnable.push(this._oDrillDownBtn);
|
|
146
207
|
}
|
|
@@ -219,14 +280,69 @@ sap.ui.define([
|
|
|
219
280
|
}
|
|
220
281
|
|
|
221
282
|
if (oChart._getTypeBtnActive()) {
|
|
222
|
-
|
|
223
|
-
|
|
283
|
+
const sChartType = oChart.getChartType();
|
|
284
|
+
|
|
285
|
+
this._oChartTypeBtn = new SelectionButton(this.getId() + "-btnChartType", {
|
|
286
|
+
chartType: sChartType,
|
|
287
|
+
|
|
288
|
+
text: MDCRb.getText("chart.CHART_TYPELIST_TEXT"),
|
|
289
|
+
title: MDCRb.getText("chart.CHART_TYPELIST_TEXT"),
|
|
290
|
+
noDataTitle: MDCRb.getText("chart.NO_CHART_TYPES_AVAILABLE"),
|
|
291
|
+
noDataDescription: MDCRb.getText("chart.NO_CHART_TYPES_AVAILABLE_ACTION"),
|
|
292
|
+
noDataType: IllustratedMessageType.AddDimensions,
|
|
293
|
+
searchPlaceholder: MDCRb.getText("chart.CHART_TYPE_SEARCH"),
|
|
294
|
+
searchEnabled: true,
|
|
295
|
+
sortEnabled: false,
|
|
296
|
+
|
|
224
297
|
enabled: false,
|
|
298
|
+
type: "Transparent",
|
|
225
299
|
ariaHasPopup: AriaHasPopup.ListBox,
|
|
226
300
|
layoutData: new OverflowToolbarLayoutData({
|
|
227
301
|
closeOverflowOnInteraction: false
|
|
228
302
|
}),
|
|
229
|
-
|
|
303
|
+
beforeOpen: function(oEvent) {
|
|
304
|
+
const oChartTypeBtn = oEvent.getSource();
|
|
305
|
+
// use this to update the available ChartTypes
|
|
306
|
+
const aAvailableChartTypes = oChart.getAvailableChartTypes();
|
|
307
|
+
oChartTypeBtn.removeAllItems();
|
|
308
|
+
aAvailableChartTypes.forEach((oChartType) => {
|
|
309
|
+
oChartTypeBtn.addItem(
|
|
310
|
+
new SelectionButtonItem({key: oChartType.key, text: oChartType.text, icon: oChartType.icon})
|
|
311
|
+
);
|
|
312
|
+
});
|
|
313
|
+
oChartTypeBtn.setSearchEnabled(aAvailableChartTypes.length >= 7);
|
|
314
|
+
},
|
|
315
|
+
itemSelected: function(oEvent) {
|
|
316
|
+
const oChartTypeBtn = oEvent.getSource();
|
|
317
|
+
const sChartType = oEvent.getParameter("item").key;
|
|
318
|
+
|
|
319
|
+
const oChartTypeInfo = oChart.getChartTypeInfo();
|
|
320
|
+
const aAvailableChartTypes = oChart.getAvailableChartTypes();
|
|
321
|
+
const oChartType = aAvailableChartTypes.filter((o) => {return o.key === sChartType; })[0];
|
|
322
|
+
|
|
323
|
+
oChartTypeBtn.setText(oChartType.text);
|
|
324
|
+
oChartTypeBtn.setTooltip(oChartTypeInfo.text);
|
|
325
|
+
oChartTypeBtn.setIcon(oChartType.icon);
|
|
326
|
+
|
|
327
|
+
//TODO should be done in the chart, the control should only raise an event
|
|
328
|
+
sap.ui.require([
|
|
329
|
+
"sap/ui/mdc/flexibility/Chart.flexibility"
|
|
330
|
+
], (ChartFlex) => {
|
|
331
|
+
|
|
332
|
+
oChart.getEngine().createChanges({
|
|
333
|
+
control: oChart,
|
|
334
|
+
key: "Type",
|
|
335
|
+
state: {
|
|
336
|
+
properties: {
|
|
337
|
+
chartType: sChartType
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}).then((vResult) => {
|
|
341
|
+
oChart.getControlDelegate().requestToolbarUpdate(oChart);
|
|
342
|
+
});
|
|
343
|
+
|
|
344
|
+
});
|
|
345
|
+
}
|
|
230
346
|
});
|
|
231
347
|
this.addEnd(this._oChartTypeBtn);
|
|
232
348
|
this._chartInternalButtonsToEnable.push(this._oChartTypeBtn);
|
|
@@ -311,10 +427,12 @@ sap.ui.define([
|
|
|
311
427
|
this._chartInternalButtonsToEnable.forEach((oBtn) => {
|
|
312
428
|
oBtn.setEnabled(true);
|
|
313
429
|
});
|
|
430
|
+
delete this._chartInternalButtonsToEnable;
|
|
314
431
|
|
|
315
432
|
this._toolbarInitialUpdated = true;
|
|
316
433
|
}
|
|
317
434
|
|
|
435
|
+
//TODO do we have to attach the SelectionHandler in every call or only once?
|
|
318
436
|
const oSelectionHandler = oChart.getSelectionHandler();
|
|
319
437
|
if (oSelectionHandler && oChart.getShowSelectionDetails()) {
|
|
320
438
|
this._oChartSelectionDetails.attachSelectionHandler(oSelectionHandler.eventId, oSelectionHandler.listener);
|