@openui5/sap.ui.mdc 1.99.0 → 1.100.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 +2 -2
- 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 +50 -32
- package/src/sap/ui/mdc/ChartDelegate.js +66 -21
- package/src/sap/ui/mdc/ChartRenderer.js +1 -1
- package/src/sap/ui/mdc/Control.js +11 -6
- package/src/sap/ui/mdc/Element.js +10 -6
- package/src/sap/ui/mdc/Field.js +19 -4
- package/src/sap/ui/mdc/FilterBar.js +1 -1
- package/src/sap/ui/mdc/FilterBarDelegate.js +26 -0
- package/src/sap/ui/mdc/FilterField.js +41 -3
- package/src/sap/ui/mdc/Link.js +3 -3
- package/src/sap/ui/mdc/MultiValueField.js +11 -1
- package/src/sap/ui/mdc/Table.js +73 -39
- package/src/sap/ui/mdc/TableDelegate.js +28 -1
- package/src/sap/ui/mdc/ValueHelp.js +8 -3
- package/src/sap/ui/mdc/ValueHelpDelegate.js +2 -1
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +1 -1
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -1
- package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -1
- package/src/sap/ui/mdc/chart/ChartToolbar.js +13 -6
- package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +7 -7
- package/src/sap/ui/mdc/chart/DrillStackHandler.js +6 -6
- package/src/sap/ui/mdc/chart/PropertyHelper.js +1 -1
- 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 +4 -2
- package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +133 -25
- package/src/sap/ui/mdc/condition/Operator.js +4 -2
- package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +78 -24
- package/src/sap/ui/mdc/condition/RangeOperator.js +5 -5
- package/src/sap/ui/mdc/designtime/Util.js +63 -0
- package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +23 -30
- package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +3 -0
- package/src/sap/ui/mdc/designtime/link/PanelItem.designtime.js +3 -1
- package/src/sap/ui/mdc/designtime/table/Table.designtime.js +39 -52
- 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 +15 -4
- package/src/sap/ui/mdc/field/ConditionsType.js +2 -1
- 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 +16 -5
- package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +76 -19
- package/src/sap/ui/mdc/field/FieldBase.js +62 -11
- package/src/sap/ui/mdc/field/FieldBaseDelegate.js +1 -1
- package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -1
- package/src/sap/ui/mdc/field/FieldInfoBase.js +2 -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 +4 -1
- package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +5 -4
- package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +5 -3
- package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +7 -7
- package/src/sap/ui/mdc/field/InParameter.js +1 -1
- package/src/sap/ui/mdc/field/ListFieldHelp.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/OutParameter.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/field/ValueHelpPanel.js +1 -1
- package/src/sap/ui/mdc/field/content/ContentFactory.js +5 -1
- package/src/sap/ui/mdc/field/content/DateContent.js +27 -19
- package/src/sap/ui/mdc/field/content/DateTimeContent.js +0 -6
- package/src/sap/ui/mdc/filterbar/FilterBarBase.js +76 -208
- package/src/sap/ui/mdc/filterbar/PropertyHelper.js +27 -2
- package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +127 -57
- package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +2 -2
- package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +7 -3
- package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +52 -14
- package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +37 -19
- package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +1 -1
- package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +48 -31
- package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +36 -0
- package/src/sap/ui/mdc/flexibility/ConditionFlex.js +47 -10
- 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/ItemBaseFlex.js +0 -1
- package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +2 -85
- package/src/sap/ui/mdc/library.js +11 -4
- 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/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 -1
- package/src/sap/ui/mdc/mixin/AdaptationMixin.js +20 -19
- package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -141
- package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -9
- package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +348 -0
- package/src/sap/ui/mdc/odata/TypeUtil.js +1 -1
- package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +70 -3
- package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +116 -20
- package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +2 -2
- package/src/sap/ui/mdc/odata/v4/TableDelegate.js +11 -33
- package/src/sap/ui/mdc/odata/v4/TypeUtil.js +2 -4
- package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +1 -1
- package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +281 -263
- package/src/sap/ui/mdc/p13n/AdaptationProvider.js +1 -1
- package/src/sap/ui/mdc/p13n/Engine.js +21 -18
- package/src/sap/ui/mdc/p13n/FlexUtil.js +0 -5
- package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
- package/src/sap/ui/mdc/p13n/StateUtil.js +4 -0
- package/src/sap/ui/mdc/p13n/UIManager.js +16 -13
- package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +18 -14
- package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +6 -6
- package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +49 -27
- package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +4 -3
- package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +136 -0
- package/src/sap/ui/mdc/p13n/panels/GroupView.js +53 -28
- package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +54 -18
- package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +4 -7
- package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +1 -2
- package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +8 -4
- package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +1 -0
- package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +2 -2
- package/src/sap/ui/mdc/table/CreationRow.js +1 -1
- package/src/sap/ui/mdc/table/GridTableType.js +75 -27
- package/src/sap/ui/mdc/table/PropertyHelper.js +20 -13
- package/src/sap/ui/mdc/table/ResponsiveTableType.js +86 -13
- package/src/sap/ui/mdc/table/RowActionItem.js +119 -0
- package/src/sap/ui/mdc/table/RowSettings.js +42 -1
- package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +2 -2
- package/src/sap/ui/mdc/themes/base/Chart.less +2 -0
- package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +1 -0
- package/src/sap/ui/mdc/util/DateUtil.js +32 -7
- package/src/sap/ui/mdc/util/FilterUtil.js +1 -1
- package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
- package/src/sap/ui/mdc/util/PropertyHelper.js +201 -76
- package/src/sap/ui/mdc/util/TypeUtil.js +1 -1
- package/src/sap/ui/mdc/valuehelp/Dialog.js +1 -1
- package/src/sap/ui/mdc/valuehelp/Popover.js +5 -3
- 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/DialogTab.js +1 -1
- package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +4 -4
- 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 +13 -10
- package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +4 -10
- package/src/sap/ui/mdc/valuehelp/content/MTable.js +6 -4
- package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +2 -0
- package/test/sap/ui/mdc/testutils/opa/filterbar/TestObjects.js +0 -1
- package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +8 -6
- package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +0 -150
- package/src/sap/ui/mdc/p13n/panels/BasePanel.js +0 -721
- package/src/sap/ui/mdc/p13n/panels/ListView.js +0 -408
- package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -92
- package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -150
- package/src/sap/ui/mdc/ui/Container.js +0 -240
- package/src/sap/ui/mdc/ui/ContainerItem.js +0 -79
|
@@ -11,7 +11,6 @@ sap.ui.define([
|
|
|
11
11
|
|
|
12
12
|
var InnerTable, InnerColumn, InnerRowAction, InnerRowActionItem, InnerMultiSelectionPlugin, InnerFixedRowMode, InnerAutoRowMode, InnerRowSettings;
|
|
13
13
|
var RowCountMode = library.RowCountMode;
|
|
14
|
-
var RowAction = library.RowAction;
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
16
|
* Constructor for a new <code>GridTableType</code>.
|
|
@@ -168,15 +167,6 @@ sap.ui.define([
|
|
|
168
167
|
return oColumn;
|
|
169
168
|
};
|
|
170
169
|
|
|
171
|
-
GridTableType.createNavigationRowAction = function(sIdPrefix, aEventInfo) {
|
|
172
|
-
return new InnerRowAction(sIdPrefix + "--rowAction", {
|
|
173
|
-
items: new InnerRowActionItem(sIdPrefix + "--rowActionItem", {
|
|
174
|
-
type: RowAction.Navigation,
|
|
175
|
-
press: aEventInfo
|
|
176
|
-
})
|
|
177
|
-
});
|
|
178
|
-
};
|
|
179
|
-
|
|
180
170
|
GridTableType.createMultiSelectionPlugin = function(oTable, aEventInfo) {
|
|
181
171
|
return new InnerMultiSelectionPlugin(oTable.getId() + "--multiSelectPlugin", {
|
|
182
172
|
selectionMode: TableTypeBase.getSelectionMode(oTable),
|
|
@@ -208,14 +198,7 @@ sap.ui.define([
|
|
|
208
198
|
oTable._oTable.getPlugins()[0].setSelectionMode(sSelectionMode);
|
|
209
199
|
};
|
|
210
200
|
|
|
211
|
-
GridTableType.
|
|
212
|
-
oTable._oTable.setRowActionTemplate(this.createNavigationRowAction(oTable.getId(), [
|
|
213
|
-
fnRowActionPress, oTable
|
|
214
|
-
]));
|
|
215
|
-
oTable._oTable.setRowActionCount(1);
|
|
216
|
-
};
|
|
217
|
-
|
|
218
|
-
GridTableType.clearNavigation = function(oTable) {
|
|
201
|
+
GridTableType.removeRowActions = function(oTable) {
|
|
219
202
|
var oInnerRowAction = oTable._oTable.getRowActionTemplate();
|
|
220
203
|
if (oInnerRowAction) {
|
|
221
204
|
oInnerRowAction.destroy();
|
|
@@ -224,20 +207,85 @@ sap.ui.define([
|
|
|
224
207
|
oTable._oTable.setRowActionCount();
|
|
225
208
|
};
|
|
226
209
|
|
|
227
|
-
GridTableType.
|
|
228
|
-
this.clearNavigation(oTable);
|
|
229
|
-
if (bNavigation) {
|
|
230
|
-
this.updateNavigation(oTable, fnRowActionPress);
|
|
231
|
-
}
|
|
232
|
-
};
|
|
233
|
-
|
|
234
|
-
GridTableType.updateRowSettings = function(oTable, oRowSettings) {
|
|
210
|
+
GridTableType.updateRowSettings = function(oTable, oRowSettings, fnRowActionPress) {
|
|
235
211
|
var oInnerRowSettings = new InnerRowSettings(undefined, oRowSettings.getAllSettings());
|
|
236
|
-
|
|
212
|
+
this.updateRowActions(oTable.getParent(), oRowSettings, fnRowActionPress);
|
|
237
213
|
oTable.getRowSettingsTemplate().destroy();
|
|
238
214
|
oTable.setRowSettingsTemplate(oInnerRowSettings);
|
|
239
215
|
};
|
|
240
216
|
|
|
217
|
+
GridTableType.updateRowActions = function (oTable, oRowSettings) {
|
|
218
|
+
this.removeRowActions(oTable);
|
|
219
|
+
if (!oRowSettings) {
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
if (!oRowSettings.isBound("rowActions") && (!oRowSettings.getRowActions() || oRowSettings.getRowActions().length == 0)) {
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
var oRowActions = oRowSettings.getAllActions();
|
|
227
|
+
if ("templateInfo" in oRowActions) {
|
|
228
|
+
var oTemplateInfo = oRowActions.templateInfo;
|
|
229
|
+
// Set template for inner row actions using temporary metadata
|
|
230
|
+
oRowActions.items.template = new InnerRowActionItem({
|
|
231
|
+
type: oTemplateInfo.type,
|
|
232
|
+
visible: oTemplateInfo.visible,
|
|
233
|
+
icon: oTemplateInfo.icon,
|
|
234
|
+
text: oTemplateInfo.text,
|
|
235
|
+
press: [this._onRowActionPress, oTable]
|
|
236
|
+
});
|
|
237
|
+
// Remove temporary metadata from row actions object
|
|
238
|
+
delete oRowActions.templateInfo;
|
|
239
|
+
} else {
|
|
240
|
+
oRowActions.items = oRowActions.items.map(function (oRowActionItem) {
|
|
241
|
+
var oInnerRowActionItem = new InnerRowActionItem({
|
|
242
|
+
type: oRowActionItem.isBound("type") ? oRowActionItem.getBindingInfo("type") : oRowActionItem.getType(),
|
|
243
|
+
visible: oRowActionItem.isBound("visible") ? oRowActionItem.getBindingInfo("visible") : oRowActionItem.getVisible(),
|
|
244
|
+
icon: oRowActionItem.isBound("icon") ? oRowActionItem.getBindingInfo("icon") : oRowActionItem._getIcon(),
|
|
245
|
+
text: oRowActionItem.isBound("text") ? oRowActionItem.getBindingInfo("text") : oRowActionItem._getText(),
|
|
246
|
+
press: [this._onRowActionPress, oTable]
|
|
247
|
+
});
|
|
248
|
+
// Add custom data for MDC row action, so original is retrievable from inner row action item
|
|
249
|
+
oInnerRowActionItem.data("rowAction", oRowActionItem);
|
|
250
|
+
return oInnerRowActionItem;
|
|
251
|
+
}, this);
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
var oInnerRowAction = new InnerRowAction(oTable.getId() + "--rowAction", oRowActions);
|
|
255
|
+
oTable._oTable.setRowActionTemplate(oInnerRowAction);
|
|
256
|
+
oTable._oTable.setRowActionCount(oRowSettings.getRowActionCount());
|
|
257
|
+
};
|
|
258
|
+
|
|
259
|
+
GridTableType._onRowActionPress = function (oEvent) {
|
|
260
|
+
var oInnerRowActionItem = oEvent.getParameter("item");
|
|
261
|
+
var oRowActionsInfo = this.getRowSettings().getAllActions();
|
|
262
|
+
|
|
263
|
+
if (this.getRowSettings().isBound("rowActions")) {
|
|
264
|
+
var sActionModel = oRowActionsInfo.items.model;
|
|
265
|
+
var oActionContext = oInnerRowActionItem.getBindingContext(sActionModel);
|
|
266
|
+
|
|
267
|
+
// Create a one time clone for the MDC RowAction and 'switch' binding context based on press action
|
|
268
|
+
if (!this._oRowActionItem) {
|
|
269
|
+
this._oRowActionItem = oRowActionsInfo.items.template.clone();
|
|
270
|
+
}
|
|
271
|
+
this._oRowActionItem.setBindingContext(oActionContext, oRowActionsInfo.items.model);
|
|
272
|
+
|
|
273
|
+
// Set model for row settings, as it is not propagated
|
|
274
|
+
this._oRowActionItem.setModel(this.getModel(sActionModel), sActionModel);
|
|
275
|
+
this.getRowSettings().addDependent(this._oRowActionItem);
|
|
276
|
+
} else {
|
|
277
|
+
this._oRowActionItem = oInnerRowActionItem.data("rowAction");
|
|
278
|
+
}
|
|
279
|
+
var oRow = oEvent.getParameter("row");
|
|
280
|
+
this._oRowActionItem.firePress({
|
|
281
|
+
bindingContext: oRow.getBindingContext()
|
|
282
|
+
});
|
|
283
|
+
if (this._oTableRowAction) {
|
|
284
|
+
this.fireRowPress({
|
|
285
|
+
bindingContext: oRow.getBindingContext()
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
};
|
|
241
289
|
|
|
242
290
|
return GridTableType;
|
|
243
291
|
});
|
|
@@ -45,6 +45,22 @@ sap.ui.define([
|
|
|
45
45
|
* Defines whether a filter condition for this property is required.
|
|
46
46
|
* @property {object} [visualSettings]
|
|
47
47
|
* This object contains all relevant properties for visual adjustments.
|
|
48
|
+
* @property {object} [visualSettings.widthCalculation]
|
|
49
|
+
* This object contains all properties and their default values for the column width calculation
|
|
50
|
+
* @property {integer} [visualSettings.widthCalculation.minWidth]
|
|
51
|
+
* The minimum content width in rem
|
|
52
|
+
* @property {integer} [visualSettings.widthCalculation.maxWidth]
|
|
53
|
+
* The maximum content width in rem
|
|
54
|
+
* @property {integer} [visualSettings.widthCalculation.defaultWidth]
|
|
55
|
+
* The default column content width when type check fails
|
|
56
|
+
* @property {float} [visualSettings.widthCalculation.gap]
|
|
57
|
+
* The additional content width in rem
|
|
58
|
+
* @property {boolean} [visualSettings.widthCalculation.includeLabel]
|
|
59
|
+
* Whether the label should be taken into account
|
|
60
|
+
* @property {boolean} [visualSettings.widthCalculation.verticalArrangement]
|
|
61
|
+
* Whether the referenced properties are arranged vertically
|
|
62
|
+
* @property {sap.ui.mdc.util.PropertyHelper[]} [visualSettings.widthCalculation.excludeProperties]
|
|
63
|
+
* A list of invisible referenced property names
|
|
48
64
|
*
|
|
49
65
|
* @private
|
|
50
66
|
* @experimental
|
|
@@ -57,7 +73,7 @@ sap.ui.define([
|
|
|
57
73
|
*
|
|
58
74
|
* @param {object[]} aProperties
|
|
59
75
|
* The properties to process in this helper
|
|
60
|
-
* @param {
|
|
76
|
+
* @param {Object<string, object>} [mExtensions]
|
|
61
77
|
* Key-value map, where the key is the name of the property and the value is the extension containing mode-specific information.
|
|
62
78
|
* The extension of a property is stored in a reserved <code>extension</code> attribute, and its attributes must be specified with
|
|
63
79
|
* <code>mExtensionAttributeMetadata</code>.
|
|
@@ -74,7 +90,7 @@ sap.ui.define([
|
|
|
74
90
|
* @extends sap.ui.mdc.util.PropertyHelper
|
|
75
91
|
*
|
|
76
92
|
* @author SAP SE
|
|
77
|
-
* @version 1.
|
|
93
|
+
* @version 1.100.0
|
|
78
94
|
*
|
|
79
95
|
* @private
|
|
80
96
|
* @experimental
|
|
@@ -289,17 +305,8 @@ sap.ui.define([
|
|
|
289
305
|
PropertyHelper.prototype._calcColumnWidth = function (oProperty, mWidthCalculation) {
|
|
290
306
|
var fWidth = 0;
|
|
291
307
|
var fLabelWidth = 0;
|
|
292
|
-
var mPropertyInfoWidthCalculation = oProperty.visualSettings
|
|
293
|
-
|
|
294
|
-
mWidthCalculation = Object.assign({
|
|
295
|
-
minWidth: 2,
|
|
296
|
-
maxWidth: 19,
|
|
297
|
-
defaultWidth: 8,
|
|
298
|
-
gap: 0,
|
|
299
|
-
includeLabel: true,
|
|
300
|
-
excludeProperties: [],
|
|
301
|
-
verticalArrangement: false
|
|
302
|
-
}, mPropertyInfoWidthCalculation, mWidthCalculation || {});
|
|
308
|
+
var mPropertyInfoWidthCalculation = oProperty.visualSettings.widthCalculation;
|
|
309
|
+
mWidthCalculation = Object.assign({}, mPropertyInfoWidthCalculation, mWidthCalculation || {});
|
|
303
310
|
|
|
304
311
|
var iMinWidth = Math.max(1, mWidthCalculation.minWidth);
|
|
305
312
|
var iMaxWidth = Math.max(iMinWidth, mWidthCalculation.maxWidth);
|
|
@@ -167,25 +167,66 @@ sap.ui.define([
|
|
|
167
167
|
oTable._oTable.setMultiSelectMode(oTable.getMultiSelectMode());
|
|
168
168
|
};
|
|
169
169
|
|
|
170
|
-
ResponsiveTableType.
|
|
171
|
-
|
|
170
|
+
ResponsiveTableType.updateRowSettings = function(oTable, oRowSettings, fnRowActionPress) {
|
|
171
|
+
// Remove all bindings, as applySettings doesn't do it
|
|
172
|
+
var oRowTemplate = oTable._oTemplate;
|
|
173
|
+
oRowTemplate.unbindProperty("navigated");
|
|
174
|
+
oRowTemplate.unbindProperty("highlight");
|
|
175
|
+
oRowTemplate.unbindProperty("highlightText");
|
|
176
|
+
|
|
177
|
+
this.updateRowActions(oTable, oRowSettings, fnRowActionPress);
|
|
178
|
+
var oSettings = oRowSettings.getAllSettings();
|
|
179
|
+
oRowTemplate.applySettings(oSettings);
|
|
172
180
|
};
|
|
173
181
|
|
|
174
|
-
ResponsiveTableType.
|
|
182
|
+
ResponsiveTableType.updateRowActions = function (oTable, oRowSettings) {
|
|
183
|
+
oTable._oTemplate.unbindProperty("type");
|
|
184
|
+
|
|
175
185
|
var sType = oTable.hasListeners("rowPress") ? "Active" : "Inactive";
|
|
176
|
-
|
|
177
|
-
if (
|
|
178
|
-
|
|
186
|
+
|
|
187
|
+
if (!oRowSettings) {
|
|
188
|
+
oTable._oTemplate.setType(sType);
|
|
189
|
+
return;
|
|
179
190
|
}
|
|
180
|
-
};
|
|
181
191
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
192
|
+
var oRowActionsInfo = oRowSettings.getAllActions();
|
|
193
|
+
if ("templateInfo" in oRowActionsInfo) {
|
|
194
|
+
var oTemplateInfo = oRowActionsInfo.templateInfo;
|
|
195
|
+
|
|
196
|
+
if (oTemplateInfo.visible.formatter) {
|
|
197
|
+
// Wrap the formatter (which should return a boolean) value and determine the type based on the formatted value.
|
|
198
|
+
var fnFormatter = oTemplateInfo.visible.formatter;
|
|
199
|
+
oTemplateInfo.visible.formatter = function (sValue) {
|
|
200
|
+
var bVisible = fnFormatter(sValue);
|
|
201
|
+
return bVisible ? RowAction.Navigation : sType;
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
if (typeof oTemplateInfo.visible === "object") {
|
|
205
|
+
oTable._oTemplate.bindProperty("type", oTemplateInfo.visible);
|
|
206
|
+
} else {
|
|
207
|
+
oTable._oTemplate.setProperty("type", oTemplateInfo.visible);
|
|
208
|
+
}
|
|
209
|
+
} else if (oRowActionsInfo && oRowActionsInfo.items){
|
|
210
|
+
var _oRowActionItem;
|
|
211
|
+
if (oRowActionsInfo.items.length == 0) {
|
|
212
|
+
oTable._oTemplate.setType(sType);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
_oRowActionItem = oRowActionsInfo.items.find(function (oRowAction) {
|
|
217
|
+
return oRowAction.getType() == "Navigation";
|
|
218
|
+
});
|
|
187
219
|
|
|
188
|
-
|
|
220
|
+
// ResponsiveTable currently only supports RowActionItem<Navigation>
|
|
221
|
+
if (!_oRowActionItem && oRowActionsInfo.items.length > 0) {
|
|
222
|
+
throw new Error("No RowAction of type 'Navigation' found. sap.m.Table only accepts RowAction of type 'Navigation'.");
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
// Associate RowActionItem<Navigation> to template for reference
|
|
226
|
+
oTable._oTemplate.data("rowAction", _oRowActionItem);
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
oTable._oTemplate.setType(RowAction.Navigation);
|
|
189
230
|
};
|
|
190
231
|
|
|
191
232
|
ResponsiveTableType.disableColumnResizer = function(oTable, oInnerTable) {
|
|
@@ -308,5 +349,37 @@ sap.ui.define([
|
|
|
308
349
|
}
|
|
309
350
|
};
|
|
310
351
|
|
|
352
|
+
ResponsiveTableType._onRowActionPress = function (oEvent) {
|
|
353
|
+
var oInnerRow = oEvent.getParameter("listItem");
|
|
354
|
+
var oContext = oInnerRow.getBindingContext();
|
|
355
|
+
|
|
356
|
+
if (oInnerRow.getType() !== "Navigation") {
|
|
357
|
+
return;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
var oRowSettings = this.getRowSettings();
|
|
361
|
+
var oRowActionsInfo = oRowSettings.getAllActions();
|
|
362
|
+
|
|
363
|
+
if (this.getRowSettings().isBound("rowActions")) {
|
|
364
|
+
var sActionModel = oRowActionsInfo.items.model;
|
|
365
|
+
if (!this._oRowActionItem) {
|
|
366
|
+
this._oRowActionItem = oRowActionsInfo.items.template.clone();
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
// Set model for row settings, as it is not propagated
|
|
370
|
+
this._oRowActionItem.setModel(this.getModel(sActionModel), sActionModel);
|
|
371
|
+
this.getRowSettings().addDependent(this._oRowActionItem);
|
|
372
|
+
} else {
|
|
373
|
+
this._oRowActionItem = oInnerRow.data("rowAction");
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
// Binding Context cannot be determined for ResponsiveTable, which is why we always assume to have a RowActionItem<Navigation> no matter what
|
|
377
|
+
this._oRowActionItem.setType("Navigation");
|
|
378
|
+
|
|
379
|
+
this._oRowActionItem.firePress({
|
|
380
|
+
bindingContext: oContext
|
|
381
|
+
});
|
|
382
|
+
};
|
|
383
|
+
|
|
311
384
|
return ResponsiveTableType;
|
|
312
385
|
});
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* OpenUI5
|
|
3
|
+
* (c) Copyright 2009-2022 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([
|
|
8
|
+
'sap/ui/core/Element',
|
|
9
|
+
'../library',
|
|
10
|
+
'sap/ui/core/IconPool',
|
|
11
|
+
'sap/ui/core/Core'
|
|
12
|
+
], function(Element, library, IconPool, Core) {
|
|
13
|
+
"use strict";
|
|
14
|
+
|
|
15
|
+
var RowAction = library.RowAction;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Constructor for new RowActionItem.
|
|
19
|
+
*
|
|
20
|
+
* @param {string} [sId] Optional ID for the new object; generated automatically if no non-empty ID is given
|
|
21
|
+
* @param {object} [mSettings] initial settings for the new control
|
|
22
|
+
*
|
|
23
|
+
* @class
|
|
24
|
+
* The <code>RowActionItem</code> control represents a action for a row.
|
|
25
|
+
* This control can only be used in the context of <code>sap.ui.mdc.Table</code> control to define row actions.
|
|
26
|
+
* @extends sap.ui.core.Element
|
|
27
|
+
* @version 1.100.0
|
|
28
|
+
*
|
|
29
|
+
* @constructor
|
|
30
|
+
* @experimental
|
|
31
|
+
* @private
|
|
32
|
+
* @ui5-restricted sap.fe
|
|
33
|
+
* MDC_PUBLIC_CANDIDATE
|
|
34
|
+
* @alias sap.ui.mdc.table.RowActionItem
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
var RowActionItem = Element.extend("sap.ui.mdc.table.RowActionItem", {
|
|
38
|
+
metadata: {
|
|
39
|
+
library: "sap.ui.mdc",
|
|
40
|
+
properties: {
|
|
41
|
+
/**
|
|
42
|
+
* Type of the row action item.
|
|
43
|
+
*
|
|
44
|
+
* As of version 1.98, only sap.ui.mdc.RowAction.Navigation is available.
|
|
45
|
+
* Setting the type ensures default values for the properties <code>icon</code> and <code>text</code>.
|
|
46
|
+
* If an icon or text is set explicitly this setting is used.
|
|
47
|
+
*/
|
|
48
|
+
type: {type: "sap.ui.mdc.RowAction"},
|
|
49
|
+
/**
|
|
50
|
+
* Text for the row action item.
|
|
51
|
+
*
|
|
52
|
+
* Custom text cannot be set when using <code>sap.m.Table</code>.
|
|
53
|
+
*/
|
|
54
|
+
text: {type: "string"},
|
|
55
|
+
/**
|
|
56
|
+
* Icon for the row action item.
|
|
57
|
+
*
|
|
58
|
+
* A custom icon cannot be set when using <code>sap.m.Table</code>
|
|
59
|
+
*/
|
|
60
|
+
icon: {type: "sap.ui.core.URI"},
|
|
61
|
+
/**
|
|
62
|
+
* Whether the item should be visible on the screen.
|
|
63
|
+
*/
|
|
64
|
+
visible: {type: "boolean", defaultValue: true}
|
|
65
|
+
},
|
|
66
|
+
events: {
|
|
67
|
+
/**
|
|
68
|
+
* Fired when the row action item is pressed.
|
|
69
|
+
*
|
|
70
|
+
* <code>sap.ui.table.Table</code>: The press event is fired when a row action item is pressed.
|
|
71
|
+
*
|
|
72
|
+
* <code>sap.m.Table</code>: The press event is fired when a row with a row action item is pressed.
|
|
73
|
+
* The <code>sap.ui.mdc.Table</code>'s <code>rowPress</code> event is fired as well, when pressing a row with a row action item.
|
|
74
|
+
*
|
|
75
|
+
* @private
|
|
76
|
+
*/
|
|
77
|
+
press: {
|
|
78
|
+
parameters: {
|
|
79
|
+
/**
|
|
80
|
+
* The binding context of the pressed row action
|
|
81
|
+
*/
|
|
82
|
+
bindingContext: {
|
|
83
|
+
type: "sap.ui.model.Context"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
var mThemeParameters = {
|
|
92
|
+
navigationIcon: "navigation-right-arrow"
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
RowActionItem.prototype._getText = function () {
|
|
96
|
+
var sText;
|
|
97
|
+
if (this.getText()) {
|
|
98
|
+
sText = this.getText();
|
|
99
|
+
} else {
|
|
100
|
+
var oResourceBundle = Core.getLibraryResourceBundle("sap.ui.mdc");
|
|
101
|
+
if (this.getType() === RowAction.Navigation) {
|
|
102
|
+
sText = oResourceBundle.getText("table.ROW_ACTION_ITEM_NAVIGATE");
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return sText;
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
RowActionItem.prototype._getIcon = function () {
|
|
109
|
+
var oIcon;
|
|
110
|
+
if (this.getIcon()) {
|
|
111
|
+
oIcon = this.getIcon();
|
|
112
|
+
} else if (this.getType() === RowAction.Navigation) {
|
|
113
|
+
oIcon = IconPool.getIconURI(mThemeParameters["navigationIcon"]);
|
|
114
|
+
}
|
|
115
|
+
return oIcon;
|
|
116
|
+
};
|
|
117
|
+
|
|
118
|
+
return RowActionItem;
|
|
119
|
+
});
|
|
@@ -12,6 +12,8 @@ sap.ui.define([
|
|
|
12
12
|
/**
|
|
13
13
|
* Constructor for new RowSettings.
|
|
14
14
|
*
|
|
15
|
+
* Caution: Only use bindings which are bound against the rows, as working functionalities cannot be ensured for other binding types.
|
|
16
|
+
*
|
|
15
17
|
* @param {string} [sId] Optional ID for the new object; generated automatically if no non-empty ID is given
|
|
16
18
|
* @param {object} [mSettings] Initial settings for the new control
|
|
17
19
|
*
|
|
@@ -19,7 +21,7 @@ sap.ui.define([
|
|
|
19
21
|
* The <code>RowSettings</code> control is used to configure a row.
|
|
20
22
|
* This control can only be used in the context of the <code>sap.ui.mdc.Table</code> control to define row settings.
|
|
21
23
|
* @extends sap.ui.core.Element
|
|
22
|
-
* @version 1.
|
|
24
|
+
* @version 1.100.0
|
|
23
25
|
*
|
|
24
26
|
* @constructor
|
|
25
27
|
* @experimental
|
|
@@ -60,6 +62,14 @@ sap.ui.define([
|
|
|
60
62
|
* If set to <code>true</code>, a navigation indicator is displayed at the end of the row.
|
|
61
63
|
*/
|
|
62
64
|
navigated : {type : "boolean", group : "Appearance", defaultValue : false}
|
|
65
|
+
},
|
|
66
|
+
aggregations: {
|
|
67
|
+
/**
|
|
68
|
+
* The available actions for a row.
|
|
69
|
+
*
|
|
70
|
+
* rowActions cannot be bound with a factory. Additionally, {@link sap.m.Table} only works with row actions of type navigation.
|
|
71
|
+
*/
|
|
72
|
+
rowActions: {type: "sap.ui.mdc.table.RowActionItem", multiple: true}
|
|
63
73
|
}
|
|
64
74
|
}
|
|
65
75
|
});
|
|
@@ -89,5 +99,36 @@ sap.ui.define([
|
|
|
89
99
|
return mSettings;
|
|
90
100
|
};
|
|
91
101
|
|
|
102
|
+
RowSettings.prototype.getAllActions = function () {
|
|
103
|
+
var mSettings = {},
|
|
104
|
+
thisCloned = this.clone();
|
|
105
|
+
|
|
106
|
+
if (this.isBound("rowActions")) {
|
|
107
|
+
// Set bindingInfo for items aggregation to bindingInfo of rowActions
|
|
108
|
+
mSettings.items = thisCloned.getBindingInfo("rowActions");
|
|
109
|
+
var oTemplate = mSettings.items.template;
|
|
110
|
+
// Create temporary metdata information for later processing
|
|
111
|
+
mSettings.templateInfo = {
|
|
112
|
+
type: oTemplate.isBound("type") ? oTemplate.getBindingInfo("type") : oTemplate.getType(),
|
|
113
|
+
text: oTemplate.isBound("text") ? oTemplate.getBindingInfo("text") : oTemplate.getText(),
|
|
114
|
+
icon: oTemplate.isBound("icon") ? oTemplate.getBindingInfo("icon") : oTemplate.getIcon(),
|
|
115
|
+
visible: oTemplate.isBound("visible") ? oTemplate.getBindingInfo("visible") : oTemplate.getVisible()
|
|
116
|
+
};
|
|
117
|
+
} else {
|
|
118
|
+
mSettings.items = this.getRowActions();
|
|
119
|
+
}
|
|
120
|
+
return mSettings;
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
RowSettings.prototype.getRowActionCount = function () {
|
|
124
|
+
var iCount = 0;
|
|
125
|
+
if (this.isBound("rowActions")) {
|
|
126
|
+
iCount = 1;
|
|
127
|
+
} else {
|
|
128
|
+
iCount = this.getRowActions().length;
|
|
129
|
+
}
|
|
130
|
+
return iCount;
|
|
131
|
+
};
|
|
132
|
+
|
|
92
133
|
return RowSettings;
|
|
93
134
|
});
|
|
@@ -16,7 +16,7 @@ sap.ui.define([
|
|
|
16
16
|
*
|
|
17
17
|
* @param {object[]} aProperties
|
|
18
18
|
* The properties to process in this helper
|
|
19
|
-
* @param {
|
|
19
|
+
* @param {Object<string, object>} [mExtensions]
|
|
20
20
|
* Key-value map, where the key is the name of the property and the value is the extension containing mode-specific information.
|
|
21
21
|
* The extension of a property is stored in a reserved <code>extension</code> attribute and its attributes must be specified with
|
|
22
22
|
* <code>mExtensionAttributeMetadata</code>.
|
|
@@ -27,7 +27,7 @@ sap.ui.define([
|
|
|
27
27
|
* @extends sap.ui.mdc.table.PropertyHelper
|
|
28
28
|
*
|
|
29
29
|
* @author SAP SE
|
|
30
|
-
* @version 1.
|
|
30
|
+
* @version 1.100.0
|
|
31
31
|
*
|
|
32
32
|
* @private
|
|
33
33
|
* @experimental
|
|
@@ -6,12 +6,14 @@
|
|
|
6
6
|
sap.ui.define([
|
|
7
7
|
'sap/ui/core/library',
|
|
8
8
|
'sap/ui/core/date/UniversalDate',
|
|
9
|
-
'sap/base/util/merge'
|
|
9
|
+
'sap/base/util/merge',
|
|
10
|
+
'sap/ui/mdc/enum/BaseType'
|
|
10
11
|
],
|
|
11
12
|
function(
|
|
12
13
|
coreLibrary,
|
|
13
14
|
UniversalDate,
|
|
14
|
-
merge
|
|
15
|
+
merge,
|
|
16
|
+
BaseType
|
|
15
17
|
) {
|
|
16
18
|
"use strict";
|
|
17
19
|
|
|
@@ -34,18 +36,29 @@ sap.ui.define([
|
|
|
34
36
|
*
|
|
35
37
|
* @param {any} vDate Date
|
|
36
38
|
* @param {sap.ui.model.SimpleType} oType Data type
|
|
39
|
+
* @param {sap.ui.mdc.enum.BaseType} [sBaseType] Basic type
|
|
37
40
|
* @return {sap.ui.core.date.UniversalDate} UniversalDate
|
|
38
41
|
* @private
|
|
39
42
|
* @ui5-restricted sap.ui.mdc
|
|
40
43
|
* @since 1.74.0
|
|
41
44
|
*/
|
|
42
|
-
typeToUniversalDate: function(vDate, oType) {
|
|
45
|
+
typeToUniversalDate: function(vDate, oType, sBaseType) {
|
|
43
46
|
|
|
44
|
-
var
|
|
47
|
+
var sPattern;
|
|
48
|
+
if (sBaseType && sBaseType === BaseType.DateTime) {
|
|
49
|
+
sPattern = "yyyyMMdd-HHmmssSSS";
|
|
50
|
+
} else {
|
|
51
|
+
sPattern = "yyyyMMdd";
|
|
52
|
+
}
|
|
53
|
+
var sDate = this.typeToString(vDate, oType, sPattern);
|
|
45
54
|
var iYear = parseInt(sDate.slice(0,4));
|
|
46
55
|
var iMonth = parseInt(sDate.slice(4,6)) - 1;
|
|
47
56
|
var iDate = parseInt(sDate.slice(6,8));
|
|
48
|
-
var
|
|
57
|
+
var iHour = sBaseType === BaseType.DateTime ? parseInt(sDate.slice(9,11)) : 0;
|
|
58
|
+
var iMinute = sBaseType === BaseType.DateTime ? parseInt(sDate.slice(11,13)) : 0;
|
|
59
|
+
var iSecond = sBaseType === BaseType.DateTime ? parseInt(sDate.slice(13,15)) : 0;
|
|
60
|
+
var iMillisecond = sBaseType === BaseType.DateTime ? parseInt(sDate.slice(15,18)) : 0;
|
|
61
|
+
var oUniversalDate = new UniversalDate(UniversalDate.UTC(iYear, iMonth, iDate, iHour, iMinute, iSecond, iMillisecond));
|
|
49
62
|
|
|
50
63
|
return oUniversalDate;
|
|
51
64
|
|
|
@@ -56,18 +69,30 @@ sap.ui.define([
|
|
|
56
69
|
*
|
|
57
70
|
* @param {sap.ui.core.date.UniversalDate} oDate UniversalDate
|
|
58
71
|
* @param {sap.ui.model.SimpleType} oType Data type
|
|
72
|
+
* @param {sap.ui.mdc.enum.BaseType} [sBaseType] Basic type
|
|
59
73
|
* @return {any} type specific date
|
|
60
74
|
* @private
|
|
61
75
|
* @ui5-restricted sap.ui.mdc
|
|
62
76
|
* @since 1.74.0
|
|
63
77
|
*/
|
|
64
|
-
universalDateToType: function(oDate, oType) {
|
|
78
|
+
universalDateToType: function(oDate, oType, sBaseType) {
|
|
65
79
|
|
|
66
80
|
var iYear = oDate.getUTCFullYear();
|
|
67
81
|
var iMonth = oDate.getUTCMonth() + 1;
|
|
68
82
|
var iDate = oDate.getUTCDate();
|
|
69
83
|
var sDate = iYear.toString() + ((iMonth < 10) ? "0" : "") + iMonth.toString() + ((iDate < 10) ? "0" : "") + iDate.toString();
|
|
70
|
-
var
|
|
84
|
+
var sPattern;
|
|
85
|
+
if (sBaseType && sBaseType === BaseType.DateTime) {
|
|
86
|
+
sPattern = "yyyyMMdd-HHmmssSSS";
|
|
87
|
+
var iHour = oDate.getUTCHours();
|
|
88
|
+
var iMinute = oDate.getUTCMinutes();
|
|
89
|
+
var iSecond = oDate.getUTCSeconds();
|
|
90
|
+
var iMillisecond = oDate.getUTCMilliseconds();
|
|
91
|
+
sDate = sDate + "-" + ((iHour < 10) ? "0" : "") + iHour.toString() + ((iMinute < 10) ? "0" : "") + iMinute.toString() + ((iSecond < 10) ? "0" : "") + iSecond.toString() + ((iMillisecond < 100) ? "0" : "") + ((iMillisecond < 10) ? "0" : "") + iMillisecond.toString();
|
|
92
|
+
} else {
|
|
93
|
+
sPattern = "yyyyMMdd";
|
|
94
|
+
}
|
|
95
|
+
var vDate = this.stringToType(sDate, oType, sPattern);
|
|
71
96
|
|
|
72
97
|
return vDate;
|
|
73
98
|
|
|
@@ -132,7 +132,7 @@ sap.ui.define(['sap/ui/mdc/util/IdentifierUtil', 'sap/ui/mdc/enum/ConditionValid
|
|
|
132
132
|
var oProperty = FilterUtil.getPropertyByKey(aPropertiesMetadata, sFieldPath);
|
|
133
133
|
if (oProperty) {
|
|
134
134
|
|
|
135
|
-
mFilterTypes[sFieldPath] = { type: oProperty.typeConfig.typeInstance, caseSensitive: oProperty.caseSensitive };
|
|
135
|
+
mFilterTypes[sFieldPath] = { type: oProperty.typeConfig.typeInstance, caseSensitive: oProperty.caseSensitive, baseType: oProperty.typeConfig.baseType };
|
|
136
136
|
mInternalFilterConditions[sFieldPath] = [];
|
|
137
137
|
|
|
138
138
|
//convert from externalized to model-specific value representation
|
|
@@ -44,7 +44,7 @@ sap.ui.define(
|
|
|
44
44
|
* Destroying the cache will cancel all registered promises and delete references. Convenience methods for promise creation, wrapping and replacement are offered.
|
|
45
45
|
*
|
|
46
46
|
* @author SAP SE
|
|
47
|
-
* @version 1.
|
|
47
|
+
* @version 1.100.0
|
|
48
48
|
* @alias sap.ui.mdc.util.PromiseCache
|
|
49
49
|
* @namespace
|
|
50
50
|
* @since 1.85.0
|