@openui5/sap.ui.mdc 1.92.0 → 1.95.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 +1 -6
- package/THIRDPARTY.txt +4 -10
- 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/AggregationBaseDelegate.js +2 -1
- package/src/sap/ui/mdc/Chart.js +14 -6
- package/src/sap/ui/mdc/ChartDelegate.js +1 -1
- package/src/sap/ui/mdc/ChartNew.js +104 -32
- package/src/sap/ui/mdc/Control.js +1 -1
- package/src/sap/ui/mdc/Element.js +2 -2
- package/src/sap/ui/mdc/Field.js +15 -2
- package/src/sap/ui/mdc/FilterBar.js +11 -1
- package/src/sap/ui/mdc/FilterField.js +28 -4
- package/src/sap/ui/mdc/Link.js +2 -2
- package/src/sap/ui/mdc/MultiValueField.js +406 -0
- package/src/sap/ui/mdc/Table.js +166 -102
- package/src/sap/ui/mdc/TableDelegate.js +30 -21
- package/src/sap/ui/mdc/ValueHelp.js +1459 -0
- package/src/sap/ui/mdc/ValueHelpDelegate.js +41 -0
- package/src/sap/ui/mdc/chart/ToolbarHandler.js +233 -223
- package/src/sap/ui/mdc/chartNew/ChartSelectionDetailsNew.js +1 -1
- package/src/sap/ui/mdc/chartNew/ChartToolbarNew.js +9 -18
- package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +1 -1
- package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +1 -1
- package/src/sap/ui/mdc/chartNew/ItemNew.js +1 -1
- package/src/sap/ui/mdc/chartNew/PropertyHelperNew.js +1 -1
- package/src/sap/ui/mdc/condition/Condition.js +2 -2
- 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 +27 -15
- package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +15 -9
- package/src/sap/ui/mdc/condition/Operator.js +13 -8
- package/src/sap/ui/mdc/condition/RangeOperator.js +3 -6
- package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +1 -0
- package/src/sap/ui/mdc/enum/SelectType.js +43 -0
- package/src/sap/ui/mdc/field/BoolFieldHelp.js +1 -1
- package/src/sap/ui/mdc/field/ConditionFieldHelp.js +5 -4
- package/src/sap/ui/mdc/field/ConditionType.js +69 -33
- package/src/sap/ui/mdc/field/ConditionsType.js +4 -3
- 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 +38 -24
- package/src/sap/ui/mdc/field/FieldBase.js +106 -42
- package/src/sap/ui/mdc/field/FieldBaseDelegate.js +25 -2
- package/src/sap/ui/mdc/field/FieldHelpBase.js +64 -4
- package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
- 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 +55 -33
- package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +52 -32
- package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +8 -10
- package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +2 -1
- package/src/sap/ui/mdc/field/InParameter.js +1 -1
- package/src/sap/ui/mdc/field/ListFieldHelp.js +3 -3
- package/src/sap/ui/mdc/field/ListFieldHelpItem.js +1 -1
- package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +49 -0
- package/src/sap/ui/mdc/field/MultiValueFieldItem.js +70 -0
- package/src/sap/ui/mdc/field/OutParameter.js +1 -1
- package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -1
- package/src/sap/ui/mdc/field/content/ContentFactory.js +2 -2
- package/src/sap/ui/mdc/filterbar/FilterBarBase.js +146 -76
- package/src/sap/ui/mdc/filterbar/PropertyHelper.js +52 -0
- package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +4 -20
- package/src/sap/ui/mdc/filterbar/p13n/FilterGroupLayout.js +9 -3
- package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
- package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +55 -39
- package/src/sap/ui/mdc/flexibility/AggregateFlex.js +31 -22
- package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +33 -29
- package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +10 -5
- package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +18 -6
- package/src/sap/ui/mdc/flexibility/ColumnFlex.js +15 -4
- package/src/sap/ui/mdc/flexibility/ConditionFlex.js +92 -79
- 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/flexibility/GroupFlex.js +70 -52
- package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +184 -115
- package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +59 -41
- package/src/sap/ui/mdc/flexibility/SortFlex.js +72 -54
- package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +2 -1
- package/src/sap/ui/mdc/library.js +618 -7
- 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 +1 -1
- 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/Panel.js +1 -1
- 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/SelectionDialog.js +1 -1
- package/src/sap/ui/mdc/link/SelectionDialogItem.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 +20 -8
- package/src/sap/ui/mdc/messagebundle_ar.properties +16 -6
- package/src/sap/ui/mdc/messagebundle_bg.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_ca.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_cs.properties +17 -7
- package/src/sap/ui/mdc/messagebundle_cy.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_da.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_de.properties +23 -13
- package/src/sap/ui/mdc/messagebundle_el.properties +16 -6
- package/src/sap/ui/mdc/messagebundle_en.properties +14 -4
- package/src/sap/ui/mdc/messagebundle_en_GB.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +12 -4
- package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +3 -1
- package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +12 -4
- package/src/sap/ui/mdc/messagebundle_es.properties +40 -30
- package/src/sap/ui/mdc/messagebundle_es_MX.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_et.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_fi.properties +16 -6
- package/src/sap/ui/mdc/messagebundle_fr.properties +27 -17
- package/src/sap/ui/mdc/messagebundle_fr_CA.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_hi.properties +13 -3
- package/src/sap/ui/mdc/messagebundle_hr.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_hu.properties +16 -6
- package/src/sap/ui/mdc/messagebundle_id.properties +14 -4
- package/src/sap/ui/mdc/messagebundle_it.properties +38 -28
- package/src/sap/ui/mdc/messagebundle_iw.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_ja.properties +16 -6
- package/src/sap/ui/mdc/messagebundle_kk.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_ko.properties +13 -3
- package/src/sap/ui/mdc/messagebundle_lt.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_lv.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_ms.properties +13 -3
- package/src/sap/ui/mdc/messagebundle_nl.properties +16 -6
- package/src/sap/ui/mdc/messagebundle_no.properties +22 -12
- package/src/sap/ui/mdc/messagebundle_pl.properties +19 -9
- package/src/sap/ui/mdc/messagebundle_pt.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_pt_PT.properties +14 -4
- package/src/sap/ui/mdc/messagebundle_ro.properties +18 -8
- package/src/sap/ui/mdc/messagebundle_ru.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_sh.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_sk.properties +16 -6
- package/src/sap/ui/mdc/messagebundle_sl.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_sv.properties +16 -6
- package/src/sap/ui/mdc/messagebundle_th.properties +19 -9
- package/src/sap/ui/mdc/messagebundle_tr.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_uk.properties +16 -6
- package/src/sap/ui/mdc/messagebundle_vi.properties +15 -5
- package/src/sap/ui/mdc/messagebundle_zh_CN.properties +13 -3
- package/src/sap/ui/mdc/messagebundle_zh_TW.properties +13 -3
- package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/DelegateMixin.js +2 -2
- package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +28 -16
- package/src/sap/ui/mdc/mixin/PromiseMixin.js +94 -0
- package/src/sap/ui/mdc/odata/json/FilterBarDelegate.js +9 -8
- package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +5 -5
- package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +1 -1
- package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +9 -0
- package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +88 -80
- package/src/sap/ui/mdc/odata/v4/TableDelegate.js +37 -10
- package/src/sap/ui/mdc/odata/v4/TypeUtil.js +17 -0
- package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +94 -0
- package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +45 -53
- package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegateNew.js +302 -179
- package/src/sap/ui/mdc/p13n/DefaultProviderRegistry.js +1 -1
- package/src/sap/ui/mdc/p13n/Engine.js +21 -16
- package/src/sap/ui/mdc/p13n/P13nBuilder.js +5 -59
- package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
- package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +130 -53
- package/src/sap/ui/mdc/p13n/panels/BasePanel.js +16 -7
- package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/ListView.js +58 -2
- package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +17 -10
- package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +6 -1
- package/src/sap/ui/mdc/p13n/panels/Wrapper.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +10 -11
- package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +13 -1
- package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +11 -2
- package/src/sap/ui/mdc/table/Column.js +21 -4
- package/src/sap/ui/mdc/table/CreationRow.js +1 -1
- package/src/sap/ui/mdc/table/PropertyHelper.js +176 -4
- package/src/sap/ui/mdc/table/ResponsiveTableType.js +11 -1
- package/src/sap/ui/mdc/table/RowSettings.js +1 -1
- package/src/sap/ui/mdc/table/TableSettings.js +4 -49
- package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
- package/src/sap/ui/mdc/themes/base/FieldBase.less +4 -0
- package/src/sap/ui/mdc/themes/base/FilterBar.less +2 -2
- package/src/sap/ui/mdc/themes/base/GroupView.less +2 -2
- package/src/sap/ui/mdc/themes/base/ListView.less +2 -2
- package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +56 -21
- package/src/sap/ui/mdc/ui/Container.js +3 -3
- package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
- package/src/sap/ui/mdc/util/Common.js +26 -0
- package/src/sap/ui/mdc/util/FilterUtil.js +68 -16
- package/src/sap/ui/mdc/util/IdentifierUtil.js +4 -0
- package/src/sap/ui/mdc/util/PromiseCache.js +266 -0
- package/src/sap/ui/mdc/util/PropertyHelper.js +27 -2
- package/src/sap/ui/mdc/valuehelp/Dialog.js +475 -0
- package/src/sap/ui/mdc/valuehelp/Popover.js +346 -0
- package/src/sap/ui/mdc/valuehelp/base/Container.js +440 -0
- package/src/sap/ui/mdc/valuehelp/base/Content.js +442 -0
- package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +96 -0
- package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +537 -0
- package/src/sap/ui/mdc/valuehelp/base/ListContent.js +105 -0
- package/src/sap/ui/mdc/valuehelp/content/Bool.js +232 -0
- package/src/sap/ui/mdc/valuehelp/content/Conditions.js +250 -0
- package/src/sap/ui/mdc/valuehelp/content/FixedList.js +504 -0
- package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +619 -0
- package/src/sap/ui/mdc/valuehelp/content/MTable.js +881 -0
- package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +2 -2
- package/test/sap/ui/mdc/testutils/opa/filterbar/Actions.js +250 -0
- package/test/sap/ui/mdc/testutils/opa/filterbar/Assertions.js +91 -0
- package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +137 -0
- package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +25 -0
- package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +256 -94
- package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +2 -1
- package/test/sap/ui/mdc/testutils/opa/p13n/{waitForP13nButtonWithParentAndIcon.js → waitForP13nButtonWithMatchers.js} +5 -18
- package/test/sap/ui/mdc/testutils/opa/table/TestObjects.js +0 -1
|
@@ -52,6 +52,11 @@
|
|
|
52
52
|
white-space: nowrap;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
// overrules the tokenizer display setting for empty tokenizer
|
|
56
|
+
.sapMdcTokenizer .sapMTokenizerScrollContainerNoVisibleTokens {
|
|
57
|
+
display: inline-block;
|
|
58
|
+
}
|
|
59
|
+
|
|
55
60
|
// make the ITB header height 3rem
|
|
56
61
|
.sapMdcValueHelpPanel .sapMITBHead {
|
|
57
62
|
margin-top: 0rem;
|
|
@@ -83,10 +88,13 @@
|
|
|
83
88
|
}
|
|
84
89
|
|
|
85
90
|
// makes the IconTab Header hidden when only one tabs exist
|
|
86
|
-
.sapMdcValueHelpPanel .sapMdcNoHeader .sapMITH {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
91
|
+
// .sapMdcValueHelpPanel .sapMdcNoHeader .sapMITH {
|
|
92
|
+
// display: none;
|
|
93
|
+
// }
|
|
94
|
+
|
|
95
|
+
.sapMdcNoHeader > div:first-child {
|
|
96
|
+
display: none;
|
|
97
|
+
}
|
|
90
98
|
|
|
91
99
|
.sapUiMdcDefineConditionPanel .sapUiMdcDefineConditionGrid {
|
|
92
100
|
margin-bottom: 0.5rem;
|
|
@@ -94,8 +102,8 @@
|
|
|
94
102
|
|
|
95
103
|
// give the Filterbar the required padding and max height
|
|
96
104
|
.sapMdcValueHelpPanelFilterbar {
|
|
97
|
-
|
|
98
|
-
|
|
105
|
+
margin-left: 2rem;
|
|
106
|
+
margin-right: 1rem;
|
|
99
107
|
}
|
|
100
108
|
|
|
101
109
|
// allign static text
|
|
@@ -134,12 +142,12 @@
|
|
|
134
142
|
// hide the toolbar border and give some more top margin
|
|
135
143
|
.sapMdcValueHelpPanel .sapMTBStandard {
|
|
136
144
|
margin-top: 0.5rem;
|
|
137
|
-
|
|
145
|
+
border-bottom: solid 1px transparent;
|
|
138
146
|
}
|
|
139
147
|
|
|
140
148
|
// hide the panel bottom border
|
|
141
149
|
.sapMdcValueHelpPanel .sapMPanelContent:not(.sapMPanelBGTransparent) {
|
|
142
|
-
|
|
150
|
+
border-bottom: none;
|
|
143
151
|
}
|
|
144
152
|
|
|
145
153
|
|
|
@@ -155,29 +163,56 @@
|
|
|
155
163
|
font-size: @sapMFontHeader5Size
|
|
156
164
|
}
|
|
157
165
|
|
|
158
|
-
// scrollbar for Table if FixFlex is fix
|
|
159
|
-
.sapMdcValueHelpPanel .sapUiFixFlexScrolling .sapMdcTablePanel {
|
|
160
|
-
height: 200px !important;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
166
|
// make the title shadows transparent
|
|
164
|
-
.
|
|
165
|
-
|
|
167
|
+
.sapMdcValueHelpTitleShadow.sapMDialog:not(.sapMDialogWithSubHeader) > header:first-of-type .sapMIBar {
|
|
168
|
+
box-shadow: inset 0 -0.0625rem transparent;
|
|
166
169
|
}
|
|
167
170
|
|
|
168
|
-
.
|
|
169
|
-
|
|
171
|
+
.sapMdcValueHelpTitleShadow.sapMBar {
|
|
172
|
+
box-shadow: inset 0 -0.0625rem transparent;
|
|
170
173
|
}
|
|
171
174
|
|
|
172
175
|
// remove some borders around the IconTabBar content
|
|
173
176
|
.sapMdcValueHelpPanel .sapMITBContent {
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
+
border-left: none;
|
|
178
|
+
border-right: none;
|
|
179
|
+
border-bottom: none;
|
|
177
180
|
}
|
|
178
181
|
|
|
179
182
|
// set the 2rem padding also on the OK and Cancel buttons in the footer
|
|
180
183
|
.sapMdcValueHelpTitle.sapMDialog footer .sapMTB {
|
|
181
|
-
|
|
184
|
+
padding: 0 2rem;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
.sapMdcValueHelpPanelTableBox {
|
|
189
|
+
padding: 0 2rem;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
.sapMdcValueHelpPanelTableBox > .sapMFlexItem {
|
|
193
|
+
//min-height: 200px !important;
|
|
194
|
+
height: 100%;
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
.sapMdcValueHelpPanelTableBox .sapUiMdcTable .sapMTBStandard {
|
|
198
|
+
margin-top: 0;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
.sapMdcValueHelpPanel .sapUiFixFlexScrolling .sapMdcValueHelpPanelTableBox {
|
|
202
|
+
height: 200px !important;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
.sapMdcValueHelpPanelTableBox .sapUiMdcTable .sapMTitleTB {
|
|
206
|
+
font-size: 1rem;
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
.sapMdcValueHelpPopover.sapMdcValueHelpMultiSelect .sapUiMdcDefineConditionPanel {
|
|
210
|
+
margin-left: 1rem;
|
|
211
|
+
margin-top: 1rem;
|
|
182
212
|
}
|
|
183
213
|
|
|
214
|
+
.sapMdcValueHelpPopover.sapMdcValueHelpSingleSelect .sapUiMdcDefineConditionPanel {
|
|
215
|
+
margin-left: 0rem;
|
|
216
|
+
margin-right: 0.75rem;
|
|
217
|
+
margin-top: 1rem;
|
|
218
|
+
}
|
|
@@ -22,12 +22,12 @@ sap.ui.define([
|
|
|
22
22
|
* @extends sap.ui.core.Control
|
|
23
23
|
*
|
|
24
24
|
* @author SAP SE
|
|
25
|
-
* @version 1.
|
|
25
|
+
* @version 1.95.0
|
|
26
26
|
*
|
|
27
27
|
* @constructor
|
|
28
28
|
* @alias sap.ui.mdc.ui.Container
|
|
29
29
|
* @author SAP SE
|
|
30
|
-
* @version 1.
|
|
30
|
+
* @version 1.95.0
|
|
31
31
|
* @since 1.85.0
|
|
32
32
|
*
|
|
33
33
|
* @private
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* Defines the default view for the <code>Container</code> content area
|
|
43
43
|
*/
|
|
44
44
|
defaultView: {
|
|
45
|
-
type: "
|
|
45
|
+
type: "string"
|
|
46
46
|
}
|
|
47
47
|
},
|
|
48
48
|
aggregations: {
|
|
@@ -20,12 +20,12 @@ sap.ui.define(['sap/ui/core/Element'],
|
|
|
20
20
|
* @extends sap.ui.core.Element
|
|
21
21
|
*
|
|
22
22
|
* @author SAP SE
|
|
23
|
-
* @version 1.
|
|
23
|
+
* @version 1.95.0
|
|
24
24
|
*
|
|
25
25
|
* @constructor
|
|
26
26
|
* @alias sap.ui.mdc.ui.ContainerItem
|
|
27
27
|
* @author SAP SE
|
|
28
|
-
* @version 1.
|
|
28
|
+
* @version 1.95.0
|
|
29
29
|
* @since 1.85.0
|
|
30
30
|
*
|
|
31
31
|
* @private
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ! OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
sap.ui.define([], function() {
|
|
8
|
+
"use strict";
|
|
9
|
+
|
|
10
|
+
var Common = {
|
|
11
|
+
cleanup: function (oTarget, aFields) {
|
|
12
|
+
aFields.forEach(function (sField) {
|
|
13
|
+
var oRemovable = oTarget[sField];
|
|
14
|
+
if (oRemovable) {
|
|
15
|
+
if (oRemovable.destroy && !oRemovable.bIsDestroyed) {
|
|
16
|
+
oRemovable.destroy();
|
|
17
|
+
}
|
|
18
|
+
oTarget[sField] = null;
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
return Common;
|
|
25
|
+
|
|
26
|
+
}, /* bExport= */true);
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
// ------------------------------------------------------------------------------------------
|
|
8
8
|
// Utility class used mdc table and chart
|
|
9
9
|
// ------------------------------------------------------------------------------------------
|
|
10
|
-
sap.ui.define(['sap/ui/mdc/util/IdentifierUtil', "sap/ui/mdc/condition/ConditionConverter", 'sap/ui/mdc/condition/FilterConverter', 'sap/base/Log', 'sap/base/util/merge'],
|
|
11
|
-
function(IdentifierUtil, ConditionConverter, FilterConverter, Log, merge) {
|
|
10
|
+
sap.ui.define(['sap/ui/mdc/util/IdentifierUtil', 'sap/ui/mdc/enum/ConditionValidated', "sap/ui/mdc/condition/ConditionConverter", 'sap/ui/mdc/condition/FilterConverter', 'sap/base/Log', 'sap/base/util/merge'],
|
|
11
|
+
function(IdentifierUtil, ConditionValidated, ConditionConverter, FilterConverter, Log, merge) {
|
|
12
12
|
"use strict";
|
|
13
13
|
|
|
14
14
|
/**
|
|
@@ -33,21 +33,82 @@ sap.ui.define(['sap/ui/mdc/util/IdentifierUtil', "sap/ui/mdc/condition/Condition
|
|
|
33
33
|
*/
|
|
34
34
|
getPropertyByKey : function(aPropertiesMetadata, sKey) {
|
|
35
35
|
var oPropertyInfo = null;
|
|
36
|
+
|
|
36
37
|
aPropertiesMetadata.some(function(oProp) {
|
|
37
|
-
if (IdentifierUtil.
|
|
38
|
+
if (IdentifierUtil.getPropertyKeyByPath(oProp) === sKey) {
|
|
38
39
|
oPropertyInfo = oProp;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
return oPropertyInfo != null;
|
|
42
43
|
});
|
|
43
44
|
|
|
45
|
+
if (!oPropertyInfo) {
|
|
46
|
+
aPropertiesMetadata.some(function(oProp) {
|
|
47
|
+
if (IdentifierUtil.getPropertyKey(oProp) === sKey) {
|
|
48
|
+
oPropertyInfo = oProp;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return oPropertyInfo != null;
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
|
|
44
55
|
return oPropertyInfo;
|
|
45
56
|
},
|
|
46
57
|
|
|
58
|
+
/**
|
|
59
|
+
* Returns internal conditions for a set of properties. Properties without a condition will be ignored.
|
|
60
|
+
* The resulting conditions are represented by the operation and by the values array.
|
|
61
|
+
* <b>Note:</b><br>The operation information will be returned as they are contained in the internal conditions model.
|
|
62
|
+
* This has to be considered, in case custom operations are used.
|
|
63
|
+
*
|
|
64
|
+
* @param {sap.ui.mdc.FilterBar} oFilterBar instance of the filter bar
|
|
65
|
+
* @param {array} aPropertyNames list of property names to be considered
|
|
66
|
+
* @returns {map} mResultingConditions with property names as key and a list of internal conditions for each property
|
|
67
|
+
* @returns {array} mResultingConditions.["propertyName"] conditions addressed by the property name
|
|
68
|
+
* @returns {string} mResultingConditions.["propertyName"].operator operator for a single condition
|
|
69
|
+
* @returns {array} mResultingConditions.["propertyName"].values values for a single condition
|
|
70
|
+
* @private
|
|
71
|
+
* @ui5-restricted sap.ui.mdc, sap.fe
|
|
72
|
+
* @MDC_PUBLIC_CANDIDATE
|
|
73
|
+
*/
|
|
74
|
+
getConditionsMap : function(oFilterBar, aPropertyNames) {
|
|
75
|
+
var aPropertyConditions, oPropertyCondition, mResultingConditions = {};
|
|
76
|
+
|
|
77
|
+
if (!oFilterBar || !oFilterBar.isA("sap.ui.mdc.FilterBar")) {
|
|
78
|
+
Log.error("instance of sap.ui.mdc.FilterBar expected");
|
|
79
|
+
return mResultingConditions;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
var mConditions = oFilterBar.getInternalConditions();
|
|
83
|
+
for (var sPropertyName in mConditions) {
|
|
84
|
+
if (aPropertyNames.indexOf(sPropertyName) >= 0) {
|
|
85
|
+
aPropertyConditions = [];
|
|
86
|
+
if (mConditions[sPropertyName]) {
|
|
87
|
+
for (var i = 0; i < mConditions[sPropertyName].length; i++) {
|
|
88
|
+
oPropertyCondition = {};
|
|
89
|
+
oPropertyCondition.operator = mConditions[sPropertyName][i].operator;
|
|
90
|
+
|
|
91
|
+
if ((oPropertyCondition.operator === "EQ") && (mConditions[sPropertyName][i].validated === ConditionValidated.Validated)) {
|
|
92
|
+
oPropertyCondition.values = [mConditions[sPropertyName][i].values[0]];
|
|
93
|
+
} else {
|
|
94
|
+
oPropertyCondition.values = mConditions[sPropertyName][i].values;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
aPropertyConditions.push(oPropertyCondition);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
mResultingConditions[sPropertyName] = aPropertyConditions;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return mResultingConditions;
|
|
106
|
+
},
|
|
107
|
+
|
|
47
108
|
/**
|
|
48
109
|
* Creates the filter statements based on the externalize conditions.<br>
|
|
49
110
|
*
|
|
50
|
-
* @param {sap.ui.mdc.Control}
|
|
111
|
+
* @param {sap.ui.mdc.Control|sap.ui.mdc.util.TypeUtil} vTypeProvider the MDC control instance or TypeUtil
|
|
51
112
|
* @param {map} mConditions - map with externalized conditions
|
|
52
113
|
* @param {array} aPropertiesMetadata - array with all the property metadata
|
|
53
114
|
* @param {array} aIgnoreProperties - an array of property names which should be not considered for filtering
|
|
@@ -55,19 +116,10 @@ sap.ui.define(['sap/ui/mdc/util/IdentifierUtil', "sap/ui/mdc/condition/Condition
|
|
|
55
116
|
* @private
|
|
56
117
|
* @ui5-restricted sap.ui.mdc
|
|
57
118
|
*/
|
|
58
|
-
getFilterInfo: function(
|
|
119
|
+
getFilterInfo: function(vTypeProvider, mConditions, aPropertiesMetadata, aIgnoreProperties) {
|
|
59
120
|
|
|
60
121
|
var oFilterInfo = {};
|
|
61
122
|
|
|
62
|
-
if (!oMDCControl) {
|
|
63
|
-
Log.error("not an mdc control");
|
|
64
|
-
return oFilterInfo;
|
|
65
|
-
}
|
|
66
|
-
if (!oMDCControl.bDelegateInitialized || !oMDCControl.getTypeUtil()) {
|
|
67
|
-
Log.error("typeUtil not available");
|
|
68
|
-
return oFilterInfo;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
123
|
aIgnoreProperties = aIgnoreProperties ? aIgnoreProperties : [];
|
|
72
124
|
|
|
73
125
|
var i, sFieldPath, mInternalFilterConditions = {}, oConditionInternal;
|
|
@@ -80,13 +132,13 @@ sap.ui.define(['sap/ui/mdc/util/IdentifierUtil', "sap/ui/mdc/condition/Condition
|
|
|
80
132
|
var oProperty = FilterUtil.getPropertyByKey(aPropertiesMetadata, sFieldPath);
|
|
81
133
|
if (oProperty) {
|
|
82
134
|
|
|
83
|
-
mFilterTypes[sFieldPath] = { type: oProperty.typeConfig.typeInstance };
|
|
135
|
+
mFilterTypes[sFieldPath] = { type: oProperty.typeConfig.typeInstance, caseSensitive: oProperty.caseSensitive };
|
|
84
136
|
mInternalFilterConditions[sFieldPath] = [];
|
|
85
137
|
|
|
86
138
|
//convert from externalized to model-specific value representation
|
|
87
139
|
for (i = 0; i < mConditions[sFieldPath].length; i++) {
|
|
88
140
|
oConditionInternal = merge({}, mConditions[sFieldPath][i]);
|
|
89
|
-
mInternalFilterConditions[sFieldPath].push(ConditionConverter.toType(oConditionInternal, oProperty.typeConfig,
|
|
141
|
+
mInternalFilterConditions[sFieldPath].push(ConditionConverter.toType(oConditionInternal, oProperty.typeConfig, vTypeProvider.getTypeUtil ? vTypeProvider.getTypeUtil() : vTypeProvider));
|
|
90
142
|
}
|
|
91
143
|
|
|
92
144
|
} else {
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
|
+
*/
|
|
6
|
+
sap.ui.define(
|
|
7
|
+
["sap/ui/base/Object"],
|
|
8
|
+
function (BaseObject) {
|
|
9
|
+
"use strict";
|
|
10
|
+
|
|
11
|
+
var _checkAndPrepareAdd = function (sName) {
|
|
12
|
+
if (!sName) {
|
|
13
|
+
throw new Error("PromiseCache: Please provide an identifier!");
|
|
14
|
+
}
|
|
15
|
+
if (this._oCache && this._oCache[sName]) {
|
|
16
|
+
this.remove.call(this, sName);
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
var _findKeyForPromise = function (oPromise) {
|
|
21
|
+
if (typeof oPromise === "object" && this._oCache) {
|
|
22
|
+
for (var sKey in this._oCache) {
|
|
23
|
+
if (this._oCache[sKey].promise === oPromise) {
|
|
24
|
+
return sKey;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
var _findConfigByKeyOrPromise = function (vPromise, bThrow) {
|
|
31
|
+
var sKey = typeof vPromise === "string" ? vPromise : _findKeyForPromise.call(this, vPromise);
|
|
32
|
+
var oConfig = sKey && this._oCache && this._oCache[sKey];
|
|
33
|
+
|
|
34
|
+
if (bThrow && !oConfig) {
|
|
35
|
+
throw new Error("PromiseCache: Promise not found!");
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return oConfig;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Provides a caching mechanism for promises.
|
|
43
|
+
* This API features Promise cancellation: resolve or reject handlers won't be called after removal of the promise, cache destruction or manual cancellation.
|
|
44
|
+
* Destroying the cache will cancel all registered promises and delete references. Convenience methods for promise creation, wrapping and replacement are offered.
|
|
45
|
+
*
|
|
46
|
+
* @author SAP SE
|
|
47
|
+
* @version 1.95.0
|
|
48
|
+
* @alias sap.ui.mdc.util.PromiseCache
|
|
49
|
+
* @namespace
|
|
50
|
+
* @since 1.85.0
|
|
51
|
+
* @private
|
|
52
|
+
* @experimental
|
|
53
|
+
* @ui5-restricted sap.ui.mdc
|
|
54
|
+
*/
|
|
55
|
+
var PromiseCache = BaseObject.extend("sap.ui.mdc.util.PromiseCache", {
|
|
56
|
+
/**
|
|
57
|
+
* Constructor.
|
|
58
|
+
*/
|
|
59
|
+
constructor: function () {
|
|
60
|
+
this._oCache = {};
|
|
61
|
+
},
|
|
62
|
+
/**
|
|
63
|
+
* Adds a promise to the promise cache using a string identifier and a creation method or given <code>Promise</code>.
|
|
64
|
+
* Calling add using an already existing identifier will cancel and replace the existing promise.
|
|
65
|
+
*
|
|
66
|
+
* Note: All unsettled promises will be cancelled on removal or cache destruction
|
|
67
|
+
* A given creation method will receive the following arguments on execution:
|
|
68
|
+
* <ul>
|
|
69
|
+
* <li><code>oPromise</code> - The newly created Promise</li>
|
|
70
|
+
* <li><code>fnResolve</code> - Resolve method for the newly created Promise</li>
|
|
71
|
+
* <li><code>fnReject</code> - Reject method for the newly created Promise</li>
|
|
72
|
+
* <li><code>fnRemove</code> - Remove method for the newly created Promise</li>
|
|
73
|
+
* </ul>
|
|
74
|
+
*
|
|
75
|
+
* @protected
|
|
76
|
+
* @param {string} [sName] Promise identifier
|
|
77
|
+
* @param {function(oPromise,fnResolve,fnReject,fnRemove)|Promise} [fnCreate] creation method or pre-created promise
|
|
78
|
+
* @returns {Promise} Returns the newly created <code>Promise</code>
|
|
79
|
+
*/
|
|
80
|
+
add: function (sName, fnCreate) {
|
|
81
|
+
_checkAndPrepareAdd.call(this, sName);
|
|
82
|
+
var oPromiseConfig = {};
|
|
83
|
+
this._oCache[sName] = oPromiseConfig;
|
|
84
|
+
|
|
85
|
+
oPromiseConfig.promise = new Promise(function (resolve, reject) {
|
|
86
|
+
oPromiseConfig.resolve = function (oResult) {
|
|
87
|
+
if (!oPromiseConfig._isCanceled) {
|
|
88
|
+
oPromiseConfig._isSettled = true;
|
|
89
|
+
resolve(oResult);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
oPromiseConfig.reject = function (oErr) {
|
|
93
|
+
if (!oPromiseConfig._isCanceled) {
|
|
94
|
+
oPromiseConfig._isSettled = true;
|
|
95
|
+
reject(oErr);
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
oPromiseConfig.promise.isSettled = function () {
|
|
101
|
+
return !!oPromiseConfig._isSettled;
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
oPromiseConfig.promise.isCanceled = function () {
|
|
105
|
+
return !!oPromiseConfig._isCanceled;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
oPromiseConfig.promise.getInternalPromise = function () {
|
|
109
|
+
return oPromiseConfig._promise;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
if (fnCreate) {
|
|
113
|
+
var bIsCreateFunction = typeof fnCreate === "function";
|
|
114
|
+
var bIsCreatePromise = !bIsCreateFunction && typeof fnCreate.then === "function";
|
|
115
|
+
|
|
116
|
+
if (!bIsCreateFunction && !bIsCreatePromise) {
|
|
117
|
+
throw new Error("PromiseCache: fnCreate must be a promise or function");
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
var oCreateResult = bIsCreateFunction ? fnCreate() : fnCreate;
|
|
121
|
+
var bIsCreateResultPromise = oCreateResult && typeof oCreateResult.then === "function";
|
|
122
|
+
|
|
123
|
+
if (bIsCreateResultPromise) { // handle internal promise
|
|
124
|
+
oPromiseConfig._promise = oCreateResult;
|
|
125
|
+
oPromiseConfig._promise.then(function (vResult) {
|
|
126
|
+
if (!oPromiseConfig._isCanceled) {
|
|
127
|
+
oPromiseConfig._isSettled = true;
|
|
128
|
+
oPromiseConfig.resolve(vResult);
|
|
129
|
+
}
|
|
130
|
+
return vResult;
|
|
131
|
+
}, function (vErr) {
|
|
132
|
+
if (!oPromiseConfig._isCanceled) {
|
|
133
|
+
oPromiseConfig._isSettled = true;
|
|
134
|
+
oPromiseConfig.reject(vErr);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
} else { // handle non-promise results
|
|
138
|
+
oPromiseConfig.resolve(oCreateResult);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
return this._oCache[sName].promise;
|
|
143
|
+
},
|
|
144
|
+
/**
|
|
145
|
+
* Cancels an unsettled promise from the promise cache.
|
|
146
|
+
* Calling cancel twice is a no-op.
|
|
147
|
+
*
|
|
148
|
+
* @protected
|
|
149
|
+
* @param {string|Promise} vPromise Promise or identifier
|
|
150
|
+
* @returns {Promise} Returns the canceled <code>Promise</code>
|
|
151
|
+
*/
|
|
152
|
+
cancel: function (vPromise) {
|
|
153
|
+
var oPromiseConfig = _findConfigByKeyOrPromise.call(this, vPromise, true);
|
|
154
|
+
if (!oPromiseConfig._isSettled) {
|
|
155
|
+
oPromiseConfig._isCanceled = true;
|
|
156
|
+
}
|
|
157
|
+
return oPromiseConfig.promise;
|
|
158
|
+
},
|
|
159
|
+
/**
|
|
160
|
+
* Retrieves an existing promise from the promise cache.
|
|
161
|
+
* Automatically creates and returns a new promise if <code>fnCreate</code> is given.
|
|
162
|
+
*
|
|
163
|
+
* A given creation method will receive the following arguments on execution:
|
|
164
|
+
* <ul>
|
|
165
|
+
* <li><code>oPromise</code> - The newly created Promise</li>
|
|
166
|
+
* <li><code>fnResolve</code> - Resolve method for the newly created Promise</li>
|
|
167
|
+
* <li><code>fnReject</code> - Reject method for the newly created Promise</li>
|
|
168
|
+
* <li><code>fnRemove</code> - Remove method for the newly created Promise</li>
|
|
169
|
+
* </ul>
|
|
170
|
+
*
|
|
171
|
+
* @protected
|
|
172
|
+
* @param {string} sName Promise identifier
|
|
173
|
+
* @param {function(oPromise,fnResolve,fnReject,fnRemove)|Promise} [fnCreate] creation method or pre-created promise
|
|
174
|
+
* @returns {Promise} Returns the newly created <code>Promise</code>
|
|
175
|
+
*/
|
|
176
|
+
retrieve: function (sName, fnCreate) {
|
|
177
|
+
var oPromiseConfig = this._oCache && this._oCache[sName];
|
|
178
|
+
if (!oPromiseConfig && fnCreate) {
|
|
179
|
+
return this.add.apply(this, [sName, fnCreate]);
|
|
180
|
+
}
|
|
181
|
+
return oPromiseConfig && oPromiseConfig.promise;
|
|
182
|
+
},
|
|
183
|
+
|
|
184
|
+
/**
|
|
185
|
+
* Retrieves multiple promises from the promise cache
|
|
186
|
+
* Will return all cached promises if no arguments are given
|
|
187
|
+
*
|
|
188
|
+
* @protected
|
|
189
|
+
* @param {...string} sName Promise identifier(s)
|
|
190
|
+
* @returns {Array} Returns the retrieved promises
|
|
191
|
+
*/
|
|
192
|
+
retrieveMany: function () {
|
|
193
|
+
var aResults = [];
|
|
194
|
+
var aKeys = arguments.length
|
|
195
|
+
? [].slice.call(arguments)
|
|
196
|
+
: Object.keys(this._oCache);
|
|
197
|
+
for (var i = 0; i < aKeys.length; i++) {
|
|
198
|
+
aResults.push(this.retrieve(aKeys[i].toString()));
|
|
199
|
+
}
|
|
200
|
+
return aResults;
|
|
201
|
+
},
|
|
202
|
+
/**
|
|
203
|
+
* Removes an existing promise from the promise cache
|
|
204
|
+
*
|
|
205
|
+
* @protected
|
|
206
|
+
* @param {string|Promise} vPromise Promise or identifier
|
|
207
|
+
*/
|
|
208
|
+
remove: function (vPromise) {
|
|
209
|
+
var sKey = typeof vPromise === "string" ? vPromise : _findKeyForPromise.call(this, vPromise);
|
|
210
|
+
var oConfig = sKey && this._oCache && this._oCache[sKey];
|
|
211
|
+
if (oConfig) {
|
|
212
|
+
oConfig._isCanceled = true;
|
|
213
|
+
delete this._oCache[sKey];
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
/**
|
|
217
|
+
* Resolves an existing promise from the promise cache
|
|
218
|
+
*
|
|
219
|
+
* @protected
|
|
220
|
+
* @param {string|Promise} vPromise Promise or identifier
|
|
221
|
+
* @param {string} [oValue] Promise result
|
|
222
|
+
* @returns {Promise} Returns the resolved <code>Promise</code>
|
|
223
|
+
*/
|
|
224
|
+
resolve: function (vPromise, oValue) {
|
|
225
|
+
var oConfig = _findConfigByKeyOrPromise.call(this, vPromise, true);
|
|
226
|
+
oConfig.resolve(oValue);
|
|
227
|
+
return oConfig.promise;
|
|
228
|
+
},
|
|
229
|
+
/**
|
|
230
|
+
* Rejects an existing promise from the promise cache
|
|
231
|
+
*
|
|
232
|
+
* @protected
|
|
233
|
+
* @param {string|Promise} vPromise Promise or identifier
|
|
234
|
+
* @param {string} [oValue] Promise error
|
|
235
|
+
* @returns {Promise} Returns the rejected <code>Promise</code>
|
|
236
|
+
*/
|
|
237
|
+
reject: function (vPromise, oValue) {
|
|
238
|
+
var oConfig = _findConfigByKeyOrPromise.call(this, vPromise, true);
|
|
239
|
+
oConfig.reject(oValue);
|
|
240
|
+
return oConfig.promise;
|
|
241
|
+
},
|
|
242
|
+
/**
|
|
243
|
+
* Provides cleanup functionality for the promise cache
|
|
244
|
+
*
|
|
245
|
+
* @protected
|
|
246
|
+
*/
|
|
247
|
+
clear: function () {
|
|
248
|
+
Object.keys(this._oCache).forEach(
|
|
249
|
+
function (sKey) {
|
|
250
|
+
this.remove(sKey);
|
|
251
|
+
}.bind(this)
|
|
252
|
+
);
|
|
253
|
+
},
|
|
254
|
+
/**
|
|
255
|
+
* Provides cleanup functionality for the promise cache
|
|
256
|
+
*
|
|
257
|
+
* @protected
|
|
258
|
+
*/
|
|
259
|
+
destroy: function () {
|
|
260
|
+
this.clear();
|
|
261
|
+
this._oCache = null;
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
return PromiseCache;
|
|
265
|
+
}
|
|
266
|
+
);
|
|
@@ -89,6 +89,10 @@ sap.ui.define([
|
|
|
89
89
|
defaultValue: -1,
|
|
90
90
|
valueForComplexProperty: null
|
|
91
91
|
},
|
|
92
|
+
caseSensitive: {
|
|
93
|
+
type: "boolean",
|
|
94
|
+
defaultValue: true
|
|
95
|
+
},
|
|
92
96
|
group: { // Key of the group the property is inside. Used to visually group properties in personalization dialogs.
|
|
93
97
|
type: "string",
|
|
94
98
|
allowedForComplexProperty: true
|
|
@@ -133,19 +137,25 @@ sap.ui.define([
|
|
|
133
137
|
type: "object",
|
|
134
138
|
allowedForComplexProperty: true
|
|
135
139
|
},
|
|
140
|
+
visualSettings: { // This object contains all relevant properties for visual adjustments
|
|
141
|
+
type: "object"
|
|
142
|
+
},
|
|
136
143
|
|
|
137
144
|
// Chart
|
|
138
145
|
|
|
139
146
|
// FilterBar
|
|
140
147
|
required: { // Whether there must be a filter condition for this property before firing a "search" event.
|
|
141
148
|
type: "boolean"
|
|
149
|
+
},
|
|
150
|
+
hiddenFilter: { // Name of the property indicating if the filter is never to be shown on the UI.
|
|
151
|
+
type: "boolean"
|
|
142
152
|
}
|
|
143
153
|
|
|
144
154
|
// Reserved attributes
|
|
145
155
|
// extension - Used to add model-specific information. For example, for analytics in OData, see sap.ui.mdc.odata.v4.TableDelegate.
|
|
146
156
|
};
|
|
147
157
|
|
|
148
|
-
var aCommonAttributes = ["name", "label", "visible", "path", "typeConfig", "maxConditions", "group", "groupLabel"];
|
|
158
|
+
var aCommonAttributes = ["name", "label", "visible", "path", "typeConfig", "maxConditions", "group", "groupLabel", "caseSensitive"];
|
|
149
159
|
var aPropertyMethods = [];
|
|
150
160
|
var _private = new WeakMap();
|
|
151
161
|
|
|
@@ -402,7 +412,7 @@ sap.ui.define([
|
|
|
402
412
|
* @extends sap.ui.base.Object
|
|
403
413
|
*
|
|
404
414
|
* @author SAP SE
|
|
405
|
-
* @version 1.
|
|
415
|
+
* @version 1.95.0
|
|
406
416
|
*
|
|
407
417
|
* @private
|
|
408
418
|
* @experimental
|
|
@@ -976,6 +986,21 @@ sap.ui.define([
|
|
|
976
986
|
};
|
|
977
987
|
aPropertyMethods.push("getExportSettings");
|
|
978
988
|
|
|
989
|
+
/**
|
|
990
|
+
* Gets the visual settings.
|
|
991
|
+
*
|
|
992
|
+
* @function
|
|
993
|
+
* @name getVisualSettings
|
|
994
|
+
* @param {string} sName Name of a property
|
|
995
|
+
* @returns {object|false|null} The visual settings
|
|
996
|
+
* @public
|
|
997
|
+
*/
|
|
998
|
+
PropertyHelper.prototype.getVisualSettings = function(sName) {
|
|
999
|
+
var oProperty = this.getProperty(sName);
|
|
1000
|
+
return oProperty ? oProperty.visualSettings : null;
|
|
1001
|
+
};
|
|
1002
|
+
aPropertyMethods.push("getVisualSettings");
|
|
1003
|
+
|
|
979
1004
|
/**
|
|
980
1005
|
* Gets the unique name (key) of a property.
|
|
981
1006
|
*
|