@openui5/sap.ui.mdc 1.94.0 → 1.97.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 +12 -12
- package/THIRDPARTY.txt +21 -17
- package/package.json +4 -4
- package/src/sap/ui/mdc/.library +1 -1
- package/src/sap/ui/mdc/ActionToolbar.js +231 -334
- package/src/sap/ui/mdc/Chart.js +148 -21
- package/src/sap/ui/mdc/ChartDelegateNew.js +15 -0
- package/src/sap/ui/mdc/ChartNew.js +83 -56
- package/src/sap/ui/mdc/ChartNewRenderer.js +2 -2
- package/src/sap/ui/mdc/Control.js +4 -3
- package/src/sap/ui/mdc/Element.js +5 -4
- package/src/sap/ui/mdc/Field.js +3 -2
- package/src/sap/ui/mdc/FilterBar.js +1 -10
- package/src/sap/ui/mdc/FilterField.js +42 -4
- package/src/sap/ui/mdc/Link.js +2 -2
- package/src/sap/ui/mdc/MultiValueField.js +2 -1
- package/src/sap/ui/mdc/Table.js +285 -186
- package/src/sap/ui/mdc/TableDelegate.js +13 -11
- package/src/sap/ui/mdc/ValueHelp.js +1500 -0
- package/src/sap/ui/mdc/ValueHelpDelegate.js +167 -0
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +49 -104
- package/src/sap/ui/mdc/chart/DimensionItem.js +3 -3
- package/src/sap/ui/mdc/chart/Item.js +2 -3
- package/src/sap/ui/mdc/chart/MeasureItem.js +2 -2
- package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +21 -2
- package/src/sap/ui/mdc/chart/ToolbarHandler.js +237 -226
- package/src/sap/ui/mdc/chartNew/ChartSelectionDetailsNew.js +1 -1
- package/src/sap/ui/mdc/chartNew/ChartToolbarNew.js +14 -10
- package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +1 -1
- package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +11 -9
- package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -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 +1 -1
- package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +6 -2
- package/src/sap/ui/mdc/condition/Operator.js +9 -9
- package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +437 -0
- package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
- package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +43 -0
- package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +91 -0
- package/src/sap/ui/mdc/designtime/field/Field.designtime.js +21 -0
- package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +104 -0
- package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +22 -0
- package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +23 -0
- package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +19 -0
- package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +31 -0
- package/src/sap/ui/mdc/designtime/table/Table.designtime.js +5 -0
- package/src/sap/ui/mdc/enum/ContentMode.js +25 -4
- 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 +1 -1
- package/src/sap/ui/mdc/field/ConditionType.js +67 -35
- package/src/sap/ui/mdc/field/ConditionsType.js +12 -10
- 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 +13 -2
- package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +311 -0
- package/src/sap/ui/mdc/field/FieldBase.js +143 -83
- package/src/sap/ui/mdc/field/FieldBaseDelegate.js +9 -2
- package/src/sap/ui/mdc/field/FieldHelpBase.js +64 -4
- package/src/sap/ui/mdc/field/FieldInfoBase.js +9 -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 +12 -6
- package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +20 -0
- package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +2 -1
- package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
- package/src/sap/ui/mdc/field/InParameter.js +1 -1
- package/src/sap/ui/mdc/field/ListFieldHelp.js +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/ValueHelpPanel.js +2 -1
- package/src/sap/ui/mdc/field/content/BooleanContent.js +16 -4
- package/src/sap/ui/mdc/field/content/ContentFactory.js +34 -24
- package/src/sap/ui/mdc/field/content/DateContent.js +128 -2
- package/src/sap/ui/mdc/field/content/DateTimeContent.js +9 -1
- package/src/sap/ui/mdc/field/content/DefaultContent.js +65 -24
- package/src/sap/ui/mdc/field/content/LinkContent.js +6 -0
- package/src/sap/ui/mdc/field/content/SearchContent.js +21 -3
- package/src/sap/ui/mdc/field/content/TimeContent.js +8 -1
- package/src/sap/ui/mdc/field/content/UnitContent.js +25 -6
- package/src/sap/ui/mdc/filterbar/FilterBarBase.js +43 -24
- 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/FilterBar.js +1 -1
- package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +22 -0
- package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +19 -0
- 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/flexibility/ItemBaseFlex.js +203 -197
- package/src/sap/ui/mdc/library.js +603 -5
- 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 +2 -2
- 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 +37 -3
- package/src/sap/ui/mdc/messagebundle_ar.properties +24 -3
- package/src/sap/ui/mdc/messagebundle_bg.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_ca.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_cs.properties +36 -15
- package/src/sap/ui/mdc/messagebundle_cy.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_da.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_de.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_el.properties +24 -3
- package/src/sap/ui/mdc/messagebundle_en.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_en_GB.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_es.properties +48 -27
- package/src/sap/ui/mdc/messagebundle_es_MX.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_et.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_fi.properties +24 -3
- package/src/sap/ui/mdc/messagebundle_fr.properties +36 -15
- package/src/sap/ui/mdc/messagebundle_fr_CA.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_hi.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_hr.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_hu.properties +24 -3
- package/src/sap/ui/mdc/messagebundle_id.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_it.properties +46 -25
- package/src/sap/ui/mdc/messagebundle_iw.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_ja.properties +30 -9
- package/src/sap/ui/mdc/messagebundle_kk.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_ko.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_lt.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_lv.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_ms.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_nl.properties +24 -3
- package/src/sap/ui/mdc/messagebundle_no.properties +30 -9
- package/src/sap/ui/mdc/messagebundle_pl.properties +27 -6
- package/src/sap/ui/mdc/messagebundle_pt.properties +24 -3
- package/src/sap/ui/mdc/messagebundle_pt_PT.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_ro.properties +26 -5
- package/src/sap/ui/mdc/messagebundle_ru.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_sh.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_sk.properties +24 -3
- package/src/sap/ui/mdc/messagebundle_sl.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_sv.properties +24 -3
- package/src/sap/ui/mdc/messagebundle_th.properties +29 -8
- package/src/sap/ui/mdc/messagebundle_tr.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_uk.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_vi.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_zh_CN.properties +23 -2
- package/src/sap/ui/mdc/messagebundle_zh_TW.properties +23 -2
- 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 +3 -3
- package/src/sap/ui/mdc/mixin/PromiseMixin.js +94 -0
- package/src/sap/ui/mdc/odata/v4/ChartPropertyHelperNew.js +1 -1
- package/src/sap/ui/mdc/odata/v4/TableDelegate.js +65 -37
- package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +94 -0
- package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegateNew.js +221 -32
- package/src/sap/ui/mdc/p13n/Engine.js +34 -10
- package/src/sap/ui/mdc/p13n/P13nBuilder.js +2 -2
- package/src/sap/ui/mdc/p13n/PersistenceProvider.js +21 -10
- package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/p13n/StateUtil.js +20 -0
- package/src/sap/ui/mdc/p13n/UIManager.js +11 -6
- package/src/sap/ui/mdc/p13n/{DefaultProviderRegistry.js → modules/DefaultProviderRegistry.js} +2 -2
- package/src/sap/ui/mdc/p13n/modules/StateHandlerRegistry.js +86 -0
- package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +59 -0
- package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +20 -5
- package/src/sap/ui/mdc/p13n/panels/BasePanel.js +8 -8
- package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1 -2
- package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +1179 -0
- package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -2
- package/src/sap/ui/mdc/p13n/panels/ListView.js +6 -4
- package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +0 -1
- package/src/sap/ui/mdc/p13n/panels/SortPanel.js +0 -1
- package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +89 -0
- package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +9 -6
- package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +33 -4
- package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +9 -15
- package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +5 -12
- package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +19 -21
- package/src/sap/ui/mdc/table/Column.js +67 -17
- package/src/sap/ui/mdc/table/CreationRow.js +14 -13
- package/src/sap/ui/mdc/table/GridTableType.js +11 -11
- package/src/sap/ui/mdc/table/PropertyHelper.js +120 -17
- package/src/sap/ui/mdc/table/ResponsiveTableType.js +35 -26
- package/src/sap/ui/mdc/table/RowSettings.js +8 -6
- package/src/sap/ui/mdc/table/TableTypeBase.js +4 -5
- package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +15 -71
- package/src/sap/ui/mdc/themes/base/Chart.less +3 -0
- package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +51 -21
- package/src/sap/ui/mdc/themes/base/library.source.less +1 -0
- package/src/sap/ui/mdc/ui/Container.js +2 -2
- package/src/sap/ui/mdc/ui/ContainerItem.js +2 -2
- package/src/sap/ui/mdc/util/Common.js +26 -0
- package/src/sap/ui/mdc/util/PromiseCache.js +266 -0
- package/src/sap/ui/mdc/util/PropertyHelper.js +114 -304
- package/src/sap/ui/mdc/valuehelp/Dialog.js +499 -0
- package/src/sap/ui/mdc/valuehelp/Popover.js +373 -0
- package/src/sap/ui/mdc/valuehelp/base/Container.js +673 -0
- package/src/sap/ui/mdc/valuehelp/base/Content.js +658 -0
- package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +139 -0
- package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +584 -0
- package/src/sap/ui/mdc/valuehelp/base/ListContent.js +133 -0
- package/src/sap/ui/mdc/valuehelp/content/Bool.js +318 -0
- package/src/sap/ui/mdc/valuehelp/content/Conditions.js +270 -0
- package/src/sap/ui/mdc/valuehelp/content/FixedList.js +532 -0
- package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +643 -0
- package/src/sap/ui/mdc/valuehelp/content/MTable.js +928 -0
- package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +3 -2
- package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +48 -0
- package/test/sap/ui/mdc/testutils/opa/chartNew/ActionsBase.js +310 -0
- package/test/sap/ui/mdc/testutils/opa/chartNew/ActionsViz.js +39 -0
- package/test/sap/ui/mdc/testutils/opa/chartNew/AssertionsBase.js +118 -0
- package/test/sap/ui/mdc/testutils/opa/chartNew/AssertionsViz.js +137 -0
- package/test/sap/ui/mdc/testutils/opa/chartNew/ChartNew.js +24 -0
- package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +289 -0
- 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 +407 -93
- package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +4 -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
- package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +0 -111
- package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +0 -322
- package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +0 -133
- package/src/sap/ui/mdc/p13n/panels/Wrapper.js +0 -203
|
@@ -40,7 +40,7 @@ sap.ui.define([
|
|
|
40
40
|
* @class Base type for the <code>FieldHelp</code> association in the <code>FieldBase</code> controls.
|
|
41
41
|
* @extends sap.ui.mdc.Element
|
|
42
42
|
* @implements sap.ui.core.PopupInterface
|
|
43
|
-
* @version 1.
|
|
43
|
+
* @version 1.97.0
|
|
44
44
|
* @constructor
|
|
45
45
|
* @abstract
|
|
46
46
|
* @private
|
|
@@ -712,7 +712,7 @@ sap.ui.define([
|
|
|
712
712
|
|
|
713
713
|
/**
|
|
714
714
|
* Calls initialization of the FieldHelp before the FieldHelp is really opened.
|
|
715
|
-
* This is called in
|
|
715
|
+
* This is called in Typeahead on first letter before the FieldHelp is opened with a delay. So the
|
|
716
716
|
* content can be determined in the delegate coding early.
|
|
717
717
|
*
|
|
718
718
|
* <b>Note:</b> This function must only be called by the control the <code>FieldHelp</code> element
|
|
@@ -1091,7 +1091,7 @@ sap.ui.define([
|
|
|
1091
1091
|
*/
|
|
1092
1092
|
FieldHelpBase.prototype.isValidationSupported = function() {
|
|
1093
1093
|
// to be implemented by the concrete FieldHelp
|
|
1094
|
-
return
|
|
1094
|
+
return this.isUsableForValidation();
|
|
1095
1095
|
};
|
|
1096
1096
|
|
|
1097
1097
|
/**
|
|
@@ -1122,7 +1122,28 @@ sap.ui.define([
|
|
|
1122
1122
|
*/
|
|
1123
1123
|
FieldHelpBase.prototype.getItemForValue = function(vValue, vParsedValue, oInParameters, oOutParameters, oBindingContext, bCheckKeyFirst, bCheckKey, bCheckDescription, oConditionModel, sConditionModelName) {
|
|
1124
1124
|
|
|
1125
|
-
|
|
1125
|
+
if (typeof vValue !== "object" || !vValue.hasOwnProperty("value")) {
|
|
1126
|
+
// not new config object -> map old properties to config
|
|
1127
|
+
vValue = {
|
|
1128
|
+
value: vValue,
|
|
1129
|
+
parsedValue: vParsedValue,
|
|
1130
|
+
inParameters: oInParameters, // TODO: needed?
|
|
1131
|
+
outParameters: oOutParameters, // TODO: needed?
|
|
1132
|
+
bindingContext: oBindingContext,
|
|
1133
|
+
checkKeyFirst: bCheckKeyFirst, // TODO: not longer needed?
|
|
1134
|
+
checkKey: bCheckKey,
|
|
1135
|
+
checkDescription: bCheckDescription,
|
|
1136
|
+
conditionModel: oConditionModel,
|
|
1137
|
+
conditionModelName: sConditionModelName
|
|
1138
|
+
};
|
|
1139
|
+
}
|
|
1140
|
+
|
|
1141
|
+
if (vValue && typeof vValue === "object" && vValue.hasOwnProperty("value")) {
|
|
1142
|
+
// map new Config to old API
|
|
1143
|
+
return _getItemForValue.call(this, vValue.value, vValue.parsedValue, vValue.inParameters, vValue.outParameters, vValue.bindingContext, vValue.checkKeyFirst && vValue.checkKey, vValue.checkKey, vValue.checkDescription, vValue.conditionModel, vValue.conditionModelName);
|
|
1144
|
+
} else {
|
|
1145
|
+
return _getItemForValue.call(this, vValue, vParsedValue, oInParameters, oOutParameters, oBindingContext, bCheckKeyFirst && bCheckKey, bCheckKey, bCheckDescription, oConditionModel, sConditionModelName);
|
|
1146
|
+
}
|
|
1126
1147
|
|
|
1127
1148
|
};
|
|
1128
1149
|
|
|
@@ -1476,6 +1497,45 @@ sap.ui.define([
|
|
|
1476
1497
|
|
|
1477
1498
|
}
|
|
1478
1499
|
|
|
1500
|
+
/// renaming of functions -> call original ones
|
|
1501
|
+
FieldHelpBase.prototype.isTypeaheadSupported = function() {
|
|
1502
|
+
return this.openByTyping();
|
|
1503
|
+
};
|
|
1504
|
+
FieldHelpBase.prototype.shouldOpenOnClick = function() {
|
|
1505
|
+
return this.openByClick();
|
|
1506
|
+
};
|
|
1507
|
+
FieldHelpBase.prototype.onControlChange = function() {
|
|
1508
|
+
return this.onFieldChange();
|
|
1509
|
+
};
|
|
1510
|
+
|
|
1511
|
+
FieldHelpBase.prototype.getAriaAttributes = function(iMaxConditions) {
|
|
1512
|
+
|
|
1513
|
+
return {
|
|
1514
|
+
contentId: this.getContentId(),
|
|
1515
|
+
ariaHasPopup: this.getAriaHasPopup(),
|
|
1516
|
+
role: "combobox",
|
|
1517
|
+
roleDescription: this.getRoleDescription(iMaxConditions),
|
|
1518
|
+
valueHelpEnabled: this.getValueHelpEnabled()
|
|
1519
|
+
};
|
|
1520
|
+
|
|
1521
|
+
};
|
|
1522
|
+
|
|
1523
|
+
FieldHelpBase.prototype.attachEvent = function(sEventId, oData, fnFunction, oListener) {
|
|
1524
|
+
if (sEventId === "navigated") {
|
|
1525
|
+
return Element.prototype.attachEvent.apply(this, ["navigate", oData, fnFunction, oListener]);
|
|
1526
|
+
} else {
|
|
1527
|
+
return Element.prototype.attachEvent.apply(this, arguments);
|
|
1528
|
+
}
|
|
1529
|
+
};
|
|
1530
|
+
|
|
1531
|
+
FieldHelpBase.prototype.detachEvent = function(sEventId, fnFunction, oListener) {
|
|
1532
|
+
if (sEventId === "navigated") {
|
|
1533
|
+
return Element.prototype.detachEvent.apply(this, ["navigate", fnFunction, oListener]);
|
|
1534
|
+
} else {
|
|
1535
|
+
return Element.prototype.detachEvent.apply(this, arguments);
|
|
1536
|
+
}
|
|
1537
|
+
};
|
|
1538
|
+
|
|
1479
1539
|
return FieldHelpBase;
|
|
1480
1540
|
|
|
1481
1541
|
});
|
|
@@ -27,10 +27,12 @@ sap.ui.define([
|
|
|
27
27
|
* @param {object} [mSettings] Initial settings for the new control
|
|
28
28
|
* @class A <code>FieldInfoBase</code> element is a base class that shows any kind of information related to the <code>Field</code> control, for example, navigation targets or contact details.
|
|
29
29
|
* @extends sap.ui.mdc.Element
|
|
30
|
-
* @version 1.
|
|
30
|
+
* @version 1.97.0
|
|
31
31
|
* @constructor
|
|
32
32
|
* @private
|
|
33
33
|
* @since 1.54.0
|
|
34
|
+
* @experimental As of version 1.54
|
|
35
|
+
* @ui5-restricted sap.ui.mdc
|
|
34
36
|
* @alias sap.ui.mdc.field.FieldInfoBase
|
|
35
37
|
* @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
|
|
36
38
|
*/
|
|
@@ -39,7 +41,13 @@ sap.ui.define([
|
|
|
39
41
|
metadata: {
|
|
40
42
|
library: "sap.ui.mdc",
|
|
41
43
|
events: {
|
|
44
|
+
/**
|
|
45
|
+
* This event is fired if the data was updated.
|
|
46
|
+
*/
|
|
42
47
|
dataUpdate: {},
|
|
48
|
+
/**
|
|
49
|
+
* This event is fired after the popover is opened.
|
|
50
|
+
*/
|
|
43
51
|
popoverAfterOpen: {}
|
|
44
52
|
}
|
|
45
53
|
}
|
|
@@ -23,7 +23,7 @@ sap.ui.define([
|
|
|
23
23
|
* @param {object} [mSettings] Initial settings for the new control
|
|
24
24
|
* @class The <code>FieldInput</code> control is used to render an input field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
|
|
25
25
|
* @extends sap.m.Input
|
|
26
|
-
* @version 1.
|
|
26
|
+
* @version 1.97.0
|
|
27
27
|
* @constructor
|
|
28
28
|
* @abstract
|
|
29
29
|
* @private
|
|
@@ -16,7 +16,7 @@ sap.ui.define([
|
|
|
16
16
|
* @class Functions uses in <code>FieldInputRenderer</code> and <code>FieldMultiInputRenderer</code> to adjust aria attributes.
|
|
17
17
|
*
|
|
18
18
|
* @author SAP SE
|
|
19
|
-
* @version 1.
|
|
19
|
+
* @version 1.97.0
|
|
20
20
|
* @since 1.86.0
|
|
21
21
|
* @alias sap.ui.mdc.field.FieldInputRenderUtil
|
|
22
22
|
*
|
|
@@ -23,7 +23,7 @@ sap.ui.define([
|
|
|
23
23
|
* @param {object} [mSettings] Initial settings for the new control
|
|
24
24
|
* @class The <code>FieldMultiInput</code> control is used to render a multi-input field inside a control based on {@link sap.ui.mdc.field.FieldBase FieldBase}.
|
|
25
25
|
* @extends sap.m.MultiInput
|
|
26
|
-
* @version 1.
|
|
26
|
+
* @version 1.97.0
|
|
27
27
|
* @constructor
|
|
28
28
|
* @abstract
|
|
29
29
|
* @private
|
|
@@ -74,7 +74,7 @@ sap.ui.define([
|
|
|
74
74
|
* @param {object} [mSettings] Initial settings for the new control
|
|
75
75
|
* @class A field help used in the <code>FieldHelp</code> association of controls based on {@link sap.ui.mdc.field.FieldBase FieldBase} that shows a value help dialog.
|
|
76
76
|
* @extends sap.ui.mdc.field.FieldHelpBase
|
|
77
|
-
* @version 1.
|
|
77
|
+
* @version 1.97.0
|
|
78
78
|
* @constructor
|
|
79
79
|
* @private
|
|
80
80
|
* @ui5-restricted sap.fe
|
|
@@ -648,11 +648,11 @@ sap.ui.define([
|
|
|
648
648
|
|
|
649
649
|
if (oWrapper) {
|
|
650
650
|
oWrapper.fieldHelpOpen(false);
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
651
|
+
_updateSelectedItems.call(this);
|
|
652
|
+
}
|
|
653
|
+
this._aOldConditions = this.getConditions();
|
|
654
|
+
oDialog.open();
|
|
655
|
+
this._bDialogOpen = true; // to know already during opening animation
|
|
656
656
|
} else {
|
|
657
657
|
this._bOpen = true;
|
|
658
658
|
}
|
|
@@ -1369,6 +1369,10 @@ sap.ui.define([
|
|
|
1369
1369
|
if (oWrapper) {
|
|
1370
1370
|
var oValueHelpPanel = oDialog.getContent()[0];
|
|
1371
1371
|
_setContentOnValueHelpPanel.call(this, oValueHelpPanel, oWrapper.getDialogContent());
|
|
1372
|
+
if (!this._bApplyFilter && !this._bClosing && (this.isOpen() || this._bOpen) && !oWrapper.isSuspended()) {
|
|
1373
|
+
// in case ListBinding changed or is not longer suspended
|
|
1374
|
+
this._bApplyFilter = true;
|
|
1375
|
+
}
|
|
1372
1376
|
}
|
|
1373
1377
|
}
|
|
1374
1378
|
}
|
|
@@ -2601,6 +2605,8 @@ sap.ui.define([
|
|
|
2601
2605
|
liveMode: !oWrapper.isSuspended(), // if suspended, no live search
|
|
2602
2606
|
showGoButton: false
|
|
2603
2607
|
});
|
|
2608
|
+
oFilterBar.setInternalConditions(this._oConditions); // if already InParameter or SearchValue set, move it to FilterBar
|
|
2609
|
+
this._oConditions = {};
|
|
2604
2610
|
this.setAggregation("_filterBar", oFilterBar, true);
|
|
2605
2611
|
}
|
|
2606
2612
|
|
|
@@ -23,7 +23,7 @@ sap.ui.define([
|
|
|
23
23
|
* @param {object} [mSettings] Initial settings for the new control
|
|
24
24
|
* @class Base type for <code>FieldValueHelp</code> content control wrapper.
|
|
25
25
|
* @extends sap.ui.core.Element
|
|
26
|
-
* @version 1.
|
|
26
|
+
* @version 1.97.0
|
|
27
27
|
* @constructor
|
|
28
28
|
* @abstract
|
|
29
29
|
* @private
|
|
@@ -75,6 +75,26 @@ sap.ui.define([
|
|
|
75
75
|
|
|
76
76
|
};
|
|
77
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Changes the search string.
|
|
80
|
+
*
|
|
81
|
+
* If <code>$search</code> is used, depending on which back-end service is used, the search string might need to be escaped.
|
|
82
|
+
*
|
|
83
|
+
* @param {object} oPayload Payload for delegate
|
|
84
|
+
* @param {boolean} bTypeahead <code>true</code> if the search is called for a type-ahead
|
|
85
|
+
* @param {string} sSearch Search string
|
|
86
|
+
* @returns {string} Search string to use
|
|
87
|
+
* @since 1.97.0
|
|
88
|
+
* @private
|
|
89
|
+
* @ui5-restricted sap.fe
|
|
90
|
+
* @MDC_PUBLIC_CANDIDATE
|
|
91
|
+
*/
|
|
92
|
+
FieldValueHelpDelegate.adjustSearch = function(oPayload, bTypeahead, sSearch) {
|
|
93
|
+
|
|
94
|
+
return sSearch;
|
|
95
|
+
|
|
96
|
+
};
|
|
97
|
+
|
|
78
98
|
/**
|
|
79
99
|
* Executes a filter in a <code>ListBinding</code>.
|
|
80
100
|
*
|
|
@@ -34,7 +34,7 @@ sap.ui.define([
|
|
|
34
34
|
* @param {object} [mSettings] Initial settings for the new control
|
|
35
35
|
* @class Wrapper to use a <code>sap.m.Table</code> control as content of a <code>FieldValueHelp</code> element
|
|
36
36
|
* @extends sap.ui.mdc.field.FieldValueHelpTableWrapperBase
|
|
37
|
-
* @version 1.
|
|
37
|
+
* @version 1.97.0
|
|
38
38
|
* @constructor
|
|
39
39
|
* @private
|
|
40
40
|
* @ui5-restricted sap.fe
|
|
@@ -40,7 +40,7 @@ sap.ui.define([
|
|
|
40
40
|
* @param {object} [mSettings] Initial settings for the new control
|
|
41
41
|
* @class Wrapper to use a <code>sap.m.Table</code> control as content of a <code>FieldValueHelp</code> element
|
|
42
42
|
* @extends sap.ui.mdc.field.FieldValueHelpTableWrapperBase
|
|
43
|
-
* @version 1.
|
|
43
|
+
* @version 1.97.0
|
|
44
44
|
* @constructor
|
|
45
45
|
* @private
|
|
46
46
|
* @ui5-restricted sap.fe
|
|
@@ -47,7 +47,7 @@ sap.ui.define([
|
|
|
47
47
|
* @param {object} [mSettings] Initial settings for the new control
|
|
48
48
|
* @class Wrapper to use a table control as content of a <code>FieldValueHelp</code> element
|
|
49
49
|
* @extends sap.ui.mdc.field.FieldValueHelpContentWrapperBase
|
|
50
|
-
* @version 1.
|
|
50
|
+
* @version 1.97.0
|
|
51
51
|
* @constructor
|
|
52
52
|
* @private
|
|
53
53
|
* @experimental As of version 1.88
|
|
@@ -561,6 +561,7 @@ sap.ui.define([
|
|
|
561
561
|
oListBinding.suspend();
|
|
562
562
|
}
|
|
563
563
|
|
|
564
|
+
sSearch = oDelegate.delegate.adjustSearch(oDelegate.payload, this._bSuggestion, sSearch);
|
|
564
565
|
oDelegate.delegate.executeSearch(oDelegate.payload, oListBinding, sSearch);
|
|
565
566
|
Log.info("ValueHelp-Search: " + sSearch);
|
|
566
567
|
}
|
|
@@ -31,7 +31,7 @@ sap.ui.define([
|
|
|
31
31
|
* @param {object} [mSettings] Initial settings for the new control
|
|
32
32
|
* @class Wrapper to use a <code>sap.m.Table</code> control as content of a <code>FieldValueHelp</code> element
|
|
33
33
|
* @extends sap.ui.mdc.field.FieldValueHelpTableWrapperBase
|
|
34
|
-
* @version 1.
|
|
34
|
+
* @version 1.97.0
|
|
35
35
|
* @constructor
|
|
36
36
|
* @private
|
|
37
37
|
* @ui5-restricted sap.ui.mdc
|
|
@@ -20,7 +20,7 @@ sap.ui.define([
|
|
|
20
20
|
* @param {object} [mSettings] Initial settings for the new control
|
|
21
21
|
* @class The <code>InParameter</code> element is used in the {@link sap.ui.mdc.field.FieldValueHelp FieldValueHelp} element.
|
|
22
22
|
* @extends sap.ui.core.Element
|
|
23
|
-
* @version 1.
|
|
23
|
+
* @version 1.97.0
|
|
24
24
|
* @constructor
|
|
25
25
|
* @abstract
|
|
26
26
|
* @private
|
|
@@ -39,7 +39,7 @@ sap.ui.define([
|
|
|
39
39
|
* @param {object} [mSettings] Initial settings for the new control
|
|
40
40
|
* @class A field help used in the <code>FieldHelp</code> association of controls based on {@link sap.ui.mdc.field.FieldBase FieldBase} that shows a list of items.
|
|
41
41
|
* @extends sap.ui.mdc.field.FieldHelpBase
|
|
42
|
-
* @version 1.
|
|
42
|
+
* @version 1.97.0
|
|
43
43
|
* @constructor
|
|
44
44
|
* @private
|
|
45
45
|
* @ui5-restricted sap.fe
|
|
@@ -20,7 +20,7 @@ sap.ui.define([
|
|
|
20
20
|
* @param {object} [mSettings] Initial settings for the new control
|
|
21
21
|
* @class Base type for <code>MultiValueFieldItem</code> control.
|
|
22
22
|
* @extends sap.ui.core.Element
|
|
23
|
-
* @version 1.
|
|
23
|
+
* @version 1.97.0
|
|
24
24
|
* @constructor
|
|
25
25
|
* @abstract
|
|
26
26
|
* @private
|
|
@@ -22,7 +22,7 @@ sap.ui.define([
|
|
|
22
22
|
* @param {object} [mSettings] Initial settings for the new control
|
|
23
23
|
* @class The <code>OutParameter</code> element is used in the {@link sap.ui.mdc.field.FieldValueHelp FieldValueHelp} element.
|
|
24
24
|
* @extends sap.ui.mdc.field.InParameter
|
|
25
|
-
* @version 1.
|
|
25
|
+
* @version 1.97.0
|
|
26
26
|
* @constructor
|
|
27
27
|
* @abstract
|
|
28
28
|
* @private
|
|
@@ -37,7 +37,7 @@ sap.ui.define([
|
|
|
37
37
|
* @extends sap.ui.core.XMLComposite
|
|
38
38
|
*
|
|
39
39
|
* @author SAP SE
|
|
40
|
-
* @version 1.
|
|
40
|
+
* @version 1.97.0
|
|
41
41
|
*
|
|
42
42
|
* @constructor
|
|
43
43
|
* @alias sap.ui.mdc.field.ValueHelpPanel
|
|
@@ -124,6 +124,7 @@ sap.ui.define([
|
|
|
124
124
|
|
|
125
125
|
if (!this._oTokenizer) {
|
|
126
126
|
this._oTokenizer = this.byId("VHPTokenizer");
|
|
127
|
+
this._oTokenizer.addAriaDescribedBy( this._oTokenizer.getTokensInfoId());
|
|
127
128
|
this._oTokenizer._oScroller.setHorizontal(true);
|
|
128
129
|
}
|
|
129
130
|
this._oTokenizerPanel = this.byId("VHPTokenizerPanel");
|
|
@@ -21,20 +21,32 @@ sap.ui.define([
|
|
|
21
21
|
* @MDC_PUBLIC_CANDIDATE
|
|
22
22
|
*/
|
|
23
23
|
var BooleanContent = Object.assign({}, DefaultContent, {
|
|
24
|
-
|
|
24
|
+
getDisplayMultiValue: function() {
|
|
25
|
+
return [null];
|
|
26
|
+
},
|
|
27
|
+
getDisplayMultiLine: function() {
|
|
28
|
+
return [null];
|
|
29
|
+
},
|
|
30
|
+
getEditMultiValue: function() {
|
|
25
31
|
return [null];
|
|
26
32
|
},
|
|
27
33
|
getEditMultiLine: function() {
|
|
28
34
|
return [null];
|
|
29
35
|
},
|
|
30
36
|
getUseDefaultFieldHelp: function() {
|
|
31
|
-
return { name: "bool", oneOperatorSingle: true, oneOperatorMulti: true };
|
|
37
|
+
return { name: "bool", oneOperatorSingle: true, oneOperatorMulti: true, single: true, multi: true };
|
|
32
38
|
},
|
|
33
|
-
|
|
34
|
-
throw new Error("sap.ui.mdc.field.content.BooleanContent -
|
|
39
|
+
createEditMultiValue: function() {
|
|
40
|
+
throw new Error("sap.ui.mdc.field.content.BooleanContent - createEditMultiValue not defined!");
|
|
35
41
|
},
|
|
36
42
|
createEditMultiLine: function() {
|
|
37
43
|
throw new Error("sap.ui.mdc.field.content.BooleanContent - createEditMultiLine not defined!");
|
|
44
|
+
},
|
|
45
|
+
createDisplayMultiValue: function() {
|
|
46
|
+
throw new Error("sap.ui.mdc.field.content.BooleanContent - createDisplayMultiValue not defined!");
|
|
47
|
+
},
|
|
48
|
+
createDisplayMultiLine: function() {
|
|
49
|
+
throw new Error("sap.ui.mdc.field.content.BooleanContent - createDisplayMultiLine not defined!");
|
|
38
50
|
}
|
|
39
51
|
});
|
|
40
52
|
|
|
@@ -140,14 +140,22 @@ sap.ui.define([
|
|
|
140
140
|
ContentFactory.prototype.getContentMode = function(oContentType, sEditMode, iMaxConditions, bMultipleLines, aOperators) {
|
|
141
141
|
var sContentMode = ContentMode.Edit;
|
|
142
142
|
if (sEditMode === EditMode.Display) {
|
|
143
|
-
|
|
143
|
+
if (iMaxConditions !== 1) {
|
|
144
|
+
sContentMode = ContentMode.DisplayMultiValue;
|
|
145
|
+
} else if (bMultipleLines) {
|
|
146
|
+
sContentMode = ContentMode.DisplayMultiLine;
|
|
147
|
+
} else {
|
|
148
|
+
sContentMode = ContentMode.Display;
|
|
149
|
+
}
|
|
144
150
|
} else if (iMaxConditions !== 1) {
|
|
145
|
-
sContentMode = ContentMode.
|
|
151
|
+
sContentMode = ContentMode.EditMultiValue;
|
|
146
152
|
} else if (bMultipleLines) {
|
|
147
153
|
sContentMode = ContentMode.EditMultiLine;
|
|
148
154
|
} else if (aOperators.length === 1 && oContentType.getEditOperator() && oContentType.getEditOperator()[aOperators[0]]) {
|
|
149
155
|
this._sOperator = aOperators[0];
|
|
150
156
|
sContentMode = ContentMode.EditOperator;
|
|
157
|
+
} else if (this.getField().getFieldHelp()) { // if FieldHelp assigned use control supporting help
|
|
158
|
+
sContentMode = ContentMode.EditForHelp;
|
|
151
159
|
}
|
|
152
160
|
return sContentMode;
|
|
153
161
|
};
|
|
@@ -263,42 +271,44 @@ sap.ui.define([
|
|
|
263
271
|
return this._bHideOperator;
|
|
264
272
|
};
|
|
265
273
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
this.
|
|
270
|
-
|
|
274
|
+
function _getCondType(sCondType, CondType, fnGetFormatOptions, bSkipTypeGeneration) {
|
|
275
|
+
|
|
276
|
+
if (!bSkipTypeGeneration) {
|
|
277
|
+
if (this[sCondType] && this[sCondType].getMetadata().getName() !== CondType.getMetadata().getName()) {
|
|
278
|
+
// ConditionsType changed
|
|
279
|
+
this[sCondType].destroy();
|
|
280
|
+
this[sCondType] = undefined;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
if (!this[sCondType]) {
|
|
284
|
+
var oFormatOptions = fnGetFormatOptions();
|
|
285
|
+
this[sCondType] = new CondType(oFormatOptions);
|
|
286
|
+
this[sCondType]._bCreatedByField = true;
|
|
287
|
+
}
|
|
271
288
|
}
|
|
289
|
+
return this[sCondType];
|
|
272
290
|
|
|
273
|
-
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
ContentFactory.prototype.getConditionType = function(bSkipConditionTypeGeneration) {
|
|
294
|
+
return _getCondType.call(this, "_oConditionType", ConditionType, this.getField()._getFormatOptions.bind(this.getField()), bSkipConditionTypeGeneration);
|
|
274
295
|
};
|
|
275
296
|
|
|
276
297
|
ContentFactory.prototype.setConditionType = function(oConditionType) {
|
|
277
298
|
this._oConditionType = oConditionType;
|
|
278
299
|
};
|
|
279
300
|
|
|
280
|
-
ContentFactory.prototype.getConditionsType = function() {
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
this._oConditionsType = new ConditionsType(oFormatOptions);
|
|
284
|
-
this._oConditionsType._bCreatedByField = true;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
return this._oConditionsType;
|
|
301
|
+
ContentFactory.prototype.getConditionsType = function (bSkipConditionsTypeGeneration, CustomConditionsType) {
|
|
302
|
+
var UsedConditionType = CustomConditionsType || ConditionsType; // CustomConditionsType used for DynamicDateRange
|
|
303
|
+
return _getCondType.call(this, "_oConditionsType", UsedConditionType, this.getField()._getFormatOptions.bind(this.getField()), bSkipConditionsTypeGeneration);
|
|
288
304
|
};
|
|
289
305
|
|
|
290
306
|
ContentFactory.prototype.setConditionsType = function(oConditionsType) {
|
|
291
307
|
this._oConditionsType = oConditionsType;
|
|
292
308
|
};
|
|
293
309
|
|
|
294
|
-
ContentFactory.prototype.getUnitConditionsType = function() {
|
|
295
|
-
|
|
296
|
-
var oFormatOptions = this.getField()._getUnitFormatOptions();
|
|
297
|
-
this._oUnitConditionsType = new ConditionsType(oFormatOptions);
|
|
298
|
-
this._oUnitConditionsType._bCreatedByField = true;
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
return this._oUnitConditionsType;
|
|
310
|
+
ContentFactory.prototype.getUnitConditionsType = function(bSkipConditionsTypeGeneration) {
|
|
311
|
+
return _getCondType.call(this, "_oUnitConditionsType", ConditionsType, this.getField()._getUnitFormatOptions.bind(this.getField()), bSkipConditionsTypeGeneration);
|
|
302
312
|
};
|
|
303
313
|
|
|
304
314
|
ContentFactory.prototype.getContentConditionTypes = function() {
|
|
@@ -7,11 +7,22 @@ sap.ui.define([
|
|
|
7
7
|
"sap/ui/mdc/field/content/DefaultContent",
|
|
8
8
|
"sap/ui/mdc/enum/BaseType",
|
|
9
9
|
"sap/ui/mdc/util/DateUtil",
|
|
10
|
+
"sap/ui/mdc/condition/FilterOperatorUtil",
|
|
11
|
+
"sap/ui/mdc/condition/Operator",
|
|
10
12
|
"sap/ui/core/library"
|
|
11
|
-
], function(
|
|
13
|
+
], function(
|
|
14
|
+
DefaultContent,
|
|
15
|
+
BaseType,
|
|
16
|
+
DateUtil,
|
|
17
|
+
FilterOperatorUtil,
|
|
18
|
+
Operator,
|
|
19
|
+
coreLibrary) {
|
|
12
20
|
"use strict";
|
|
13
21
|
|
|
14
22
|
var CalendarType = coreLibrary.CalendarType;
|
|
23
|
+
var StandardDynamicDateRangeKeys;
|
|
24
|
+
var DynamicDateUtil;
|
|
25
|
+
var DynamicDateFormat;
|
|
15
26
|
|
|
16
27
|
/**
|
|
17
28
|
* Object-based definition of the date content type that is used in the {@link sap.ui.mdc.field.content.ContentFactory}.
|
|
@@ -29,14 +40,20 @@ sap.ui.define([
|
|
|
29
40
|
getEditMultiLine: function() {
|
|
30
41
|
return [null];
|
|
31
42
|
},
|
|
43
|
+
getEdit: function() {
|
|
44
|
+
return ["sap/m/DynamicDateRange", "sap/ui/mdc/condition/OperatorDynamicDateOption", "sap/ui/mdc/field/DynamicDateRangeConditionsType", "sap/m/StandardDynamicDateRangeKeys", "sap/m/DynamicDateUtil", "sap/m/DynamicDateFormat"];
|
|
45
|
+
},
|
|
32
46
|
getEditOperator: function() {
|
|
33
47
|
return {
|
|
34
48
|
"EQ": { name: "sap/m/DatePicker", create: this._createDatePickerControl }, // TODO: how to check custom operators
|
|
35
49
|
"BT": { name: "sap/m/DateRangeSelection", create: this._createDateRangePickerControl }
|
|
36
50
|
};
|
|
37
51
|
},
|
|
52
|
+
getEditForHelp: function() {
|
|
53
|
+
return DefaultContent.getEdit.apply(this, arguments);
|
|
54
|
+
},
|
|
38
55
|
getUseDefaultFieldHelp: function() {
|
|
39
|
-
return { name: "defineConditions", oneOperatorSingle: false, oneOperatorMulti: true };
|
|
56
|
+
return { name: "defineConditions", oneOperatorSingle: false, oneOperatorMulti: true, single: false, multi: true };
|
|
40
57
|
},
|
|
41
58
|
createEditMultiLine: function() {
|
|
42
59
|
throw new Error("sap.ui.mdc.field.content.DateContent - createEditMultiLine not defined!");
|
|
@@ -155,6 +172,115 @@ sap.ui.define([
|
|
|
155
172
|
oContentFactory.setCalendarType(oFormatOptions.calendarType);
|
|
156
173
|
}
|
|
157
174
|
}
|
|
175
|
+
},
|
|
176
|
+
createEdit: function(oContentFactory, aControlClasses, sId) {
|
|
177
|
+
|
|
178
|
+
var DynamicDateRange = aControlClasses[0];
|
|
179
|
+
var OperatorDynamicDateOption = aControlClasses[1];
|
|
180
|
+
var DynamicDateRangeConditionsType = aControlClasses[2];
|
|
181
|
+
|
|
182
|
+
if (!StandardDynamicDateRangeKeys || !DynamicDateUtil || !DynamicDateFormat) {
|
|
183
|
+
StandardDynamicDateRangeKeys = aControlClasses[3];
|
|
184
|
+
DynamicDateUtil = aControlClasses[4];
|
|
185
|
+
DynamicDateFormat = aControlClasses[5];
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
var oConditionsType = oContentFactory.getConditionsType(false, DynamicDateRangeConditionsType);
|
|
189
|
+
var vOptions;
|
|
190
|
+
if (oContentFactory.getField().getMetadata().hasProperty("operators")) { // TODO: Field case needed?
|
|
191
|
+
var fnGetDateRangeOptions = function (aOperators) {
|
|
192
|
+
return this._getDateRangeOptions(aOperators, oContentFactory, OperatorDynamicDateOption);
|
|
193
|
+
}.bind(this);
|
|
194
|
+
vOptions = {path: "$field>/operators", formatter: fnGetDateRangeOptions};
|
|
195
|
+
} else {
|
|
196
|
+
vOptions = this._getDateRangeOptions(undefined, oContentFactory, OperatorDynamicDateOption);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
var oDynamicDateRange = new DynamicDateRange(sId, {
|
|
200
|
+
value: { path: "$field>/conditions", type: oConditionsType },
|
|
201
|
+
formatter: this._getDateRangeFormatter(oContentFactory),
|
|
202
|
+
placeholder: "{$field>/placeholder}",
|
|
203
|
+
// textAlign: "{$field>/textAlign}", // this is currently not supported by the DynamicDateRange
|
|
204
|
+
// textDirection: "{$field>/textDirection}", // this is currently not supported by the DynamicDateRange
|
|
205
|
+
required: "{$field>/required}",
|
|
206
|
+
editable: { path: "$field>/editMode", formatter: oContentFactory.getMetadata()._oClass._getEditable },
|
|
207
|
+
enabled: { path: "$field>/editMode", formatter: oContentFactory.getMetadata()._oClass._getEnabled },
|
|
208
|
+
valueState: "{$field>/valueState}",
|
|
209
|
+
valueStateText: "{$field>/valueStateText}",
|
|
210
|
+
width: "100%",
|
|
211
|
+
tooltip: "{$field>/tooltip}",
|
|
212
|
+
// enableGroupHeaders: false, // disable the grouping of the options
|
|
213
|
+
options: vOptions,
|
|
214
|
+
change: oContentFactory.getHandleContentChange()
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
oContentFactory.setBoundProperty("value");
|
|
218
|
+
oContentFactory.setAriaLabelledBy(DynamicDateRange);
|
|
219
|
+
|
|
220
|
+
return [oDynamicDateRange];
|
|
221
|
+
|
|
222
|
+
},
|
|
223
|
+
createEditForHelp: function(oContentFactory, aControlClasses, sId) {
|
|
224
|
+
return DefaultContent.createEdit.apply(this, arguments);
|
|
225
|
+
},
|
|
226
|
+
|
|
227
|
+
_getDateRangeOptions: function(aOperators, oContentFactory, OperatorDynamicDateOption) {
|
|
228
|
+
if (!aOperators || aOperators.length === 0) {
|
|
229
|
+
aOperators = oContentFactory.getField()._getOperators(); // to use default operators if none given
|
|
230
|
+
}
|
|
231
|
+
var aOptions = [];
|
|
232
|
+
|
|
233
|
+
for (var i = 0; i < aOperators.length; i++) {
|
|
234
|
+
var sOperator = aOperators[i];
|
|
235
|
+
var sOption = this._getDateRangeOption(sOperator, oContentFactory, OperatorDynamicDateOption);
|
|
236
|
+
if (sOption) {
|
|
237
|
+
aOptions.push(sOption);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
return aOptions;
|
|
242
|
+
},
|
|
243
|
+
|
|
244
|
+
_getDateRangeOption: function(sOperator, oContentFactory, OperatorDynamicDateOption) {
|
|
245
|
+
var oOperator = FilterOperatorUtil.getOperator(sOperator);
|
|
246
|
+
var sOption = oOperator.name;
|
|
247
|
+
if (StandardDynamicDateRangeKeys.indexOf(sOption) === -1 ) {
|
|
248
|
+
sOption = oOperator.alias || sOption;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
if (StandardDynamicDateRangeKeys.indexOf(sOption) >= 0 ) {
|
|
252
|
+
return sOption; // use standard option
|
|
253
|
+
} else
|
|
254
|
+
// use OperatorDynamicDateOption
|
|
255
|
+
if (oOperator) {
|
|
256
|
+
if (!DynamicDateUtil.getOption(sOption)) {
|
|
257
|
+
var oType = oContentFactory.retrieveDataType(); // TODO: do we need to create data type right now?
|
|
258
|
+
var aValueTypes = [];
|
|
259
|
+
|
|
260
|
+
for (var j = 0; j < oOperator.valueTypes.length; j++) {
|
|
261
|
+
if (oOperator.valueTypes[j] && oOperator.valueTypes[j] !== Operator.ValueType.Static) {
|
|
262
|
+
aValueTypes.push("custom"); // provide value as it is to use type to format and parse // TODO: only if custom control?
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
DynamicDateUtil.addOption(new OperatorDynamicDateOption({key: sOption, operator: oOperator, type: oType, valueTypes: aValueTypes})); // TODO: use name as key?
|
|
267
|
+
}
|
|
268
|
+
return sOption;
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
|
|
272
|
+
_getDateRangeFormatter: function(oContentFactory) {
|
|
273
|
+
var oType = oContentFactory.retrieveDataType(); // TODO: do we need to create data type right now?
|
|
274
|
+
var oFormatOptions = oType.getFormatOptions();
|
|
275
|
+
var oDateRangeFormatOptions = {};
|
|
276
|
+
|
|
277
|
+
if (oFormatOptions.style) {
|
|
278
|
+
oDateRangeFormatOptions.date = {style: oFormatOptions.style};
|
|
279
|
+
} else if (oFormatOptions.pattern) {
|
|
280
|
+
oDateRangeFormatOptions.date = {pattern: oFormatOptions.pattern};
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
return DynamicDateFormat.getInstance(oDateRangeFormatOptions);
|
|
158
284
|
}
|
|
159
285
|
});
|
|
160
286
|
|