@openui5/sap.ui.mdc 1.96.2 → 1.98.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.reuse/dep5 +26 -31
- package/THIRDPARTY.txt +15 -21
- package/package.json +4 -4
- package/src/sap/ui/mdc/.library +2 -2
- package/src/sap/ui/mdc/ActionToolbar.js +3 -8
- package/src/sap/ui/mdc/AggregationBaseDelegate.js +2 -2
- package/src/sap/ui/mdc/BaseDelegate.js +2 -2
- package/src/sap/ui/mdc/Chart.js +1017 -1797
- package/src/sap/ui/mdc/ChartDelegate.js +430 -271
- package/src/sap/ui/mdc/ChartRenderer.js +74 -78
- package/src/sap/ui/mdc/Control.js +2 -2
- package/src/sap/ui/mdc/Delegate.js +1 -1
- package/src/sap/ui/mdc/Element.js +2 -2
- package/src/sap/ui/mdc/Field.js +4 -3
- package/src/sap/ui/mdc/FilterBar.js +4 -3
- package/src/sap/ui/mdc/FilterBarDelegate.js +1 -1
- package/src/sap/ui/mdc/FilterField.js +26 -9
- package/src/sap/ui/mdc/Link.js +5 -4
- package/src/sap/ui/mdc/LinkDelegate.js +2 -2
- package/src/sap/ui/mdc/MultiValueField.js +3 -2
- package/src/sap/ui/mdc/Table.js +174 -142
- package/src/sap/ui/mdc/TableDelegate.js +31 -16
- package/src/sap/ui/mdc/ValueHelp.js +52 -16
- package/src/sap/ui/mdc/ValueHelpDelegate.js +21 -1
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -2
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarActionRenderer.js +1 -1
- package/src/sap/ui/mdc/{chartNew/ChartSelectionDetailsNew.js → chart/ChartSelectionDetails.js} +9 -9
- package/src/sap/ui/mdc/chart/ChartSettings.js +1 -1
- package/src/sap/ui/mdc/{chartNew/ChartToolbarNew.js → chart/ChartToolbar.js} +11 -11
- package/src/sap/ui/mdc/chart/ChartTypeButton.js +49 -53
- package/src/sap/ui/mdc/{chartNew/DrillBreadcrumbsNew.js → chart/DrillBreadcrumbs.js} +4 -4
- package/src/sap/ui/mdc/chart/DrillStackHandler.js +39 -250
- package/src/sap/ui/mdc/chart/Item.js +63 -93
- package/src/sap/ui/mdc/{chartNew/PropertyHelperNew.js → chart/PropertyHelper.js} +4 -4
- package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +18 -22
- package/src/sap/ui/mdc/condition/Condition.js +2 -2
- package/src/sap/ui/mdc/condition/ConditionConverter.js +2 -2
- package/src/sap/ui/mdc/condition/ConditionModel.js +2 -2
- package/src/sap/ui/mdc/condition/ConditionModelPropertyBinding.js +1 -1
- package/src/sap/ui/mdc/condition/FilterConverter.js +2 -2
- package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +7 -3
- package/src/sap/ui/mdc/condition/Operator.js +10 -10
- package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +437 -0
- package/src/sap/ui/mdc/condition/RangeOperator.js +2 -2
- package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/chart/Chart.designtime.js +78 -6
- package/src/sap/ui/mdc/designtime/field/Field.designtime.js +97 -0
- package/src/sap/ui/mdc/designtime/field/FieldBase.designtime.js +104 -0
- package/src/sap/ui/mdc/designtime/field/FilterField.designtime.js +22 -0
- package/src/sap/ui/mdc/designtime/field/MultiValueField.designtime.js +23 -0
- package/src/sap/ui/mdc/designtime/filterbar/FilterBar.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/filterbar/FilterBarBase.designtime.js +4 -1
- package/src/sap/ui/mdc/designtime/library.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/link/Panel.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/link/PanelItem.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/p13n/PersistenceProvider.designtime.js +1 -1
- package/src/sap/ui/mdc/designtime/table/Table.designtime.js +1 -1
- package/src/sap/ui/mdc/enum/ActionToolbarActionAlignment.js +1 -1
- package/src/sap/ui/mdc/enum/BaseType.js +1 -1
- package/src/sap/ui/mdc/enum/ConditionValidated.js +1 -1
- package/src/sap/ui/mdc/enum/ContentMode.js +1 -1
- package/src/sap/ui/mdc/enum/EditMode.js +1 -1
- package/src/sap/ui/mdc/enum/FieldDisplay.js +1 -1
- package/src/sap/ui/mdc/enum/OutParameterMode.js +1 -1
- package/src/sap/ui/mdc/enum/PersistenceMode.js +1 -1
- package/src/sap/ui/mdc/enum/SelectType.js +1 -1
- package/src/sap/ui/mdc/field/BoolFieldHelp.js +2 -2
- package/src/sap/ui/mdc/field/ConditionFieldHelp.js +2 -2
- package/src/sap/ui/mdc/field/ConditionType.js +8 -8
- package/src/sap/ui/mdc/field/ConditionsType.js +8 -8
- package/src/sap/ui/mdc/field/CustomFieldHelp.js +2 -2
- package/src/sap/ui/mdc/field/CustomFieldInfo.js +2 -2
- package/src/sap/ui/mdc/field/DefineConditionPanel.js +59 -22
- package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +311 -0
- package/src/sap/ui/mdc/field/FieldBase.js +84 -53
- package/src/sap/ui/mdc/field/FieldBaseDelegate.js +1 -1
- package/src/sap/ui/mdc/field/FieldBaseRenderer.js +1 -4
- package/src/sap/ui/mdc/field/FieldHelpBase.js +2 -2
- package/src/sap/ui/mdc/field/FieldHelpBaseDelegate.js +1 -1
- package/src/sap/ui/mdc/field/FieldInfoBase.js +2 -2
- package/src/sap/ui/mdc/field/FieldInput.js +2 -2
- package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +2 -2
- package/src/sap/ui/mdc/field/FieldInputRenderer.js +1 -1
- package/src/sap/ui/mdc/field/FieldMultiInput.js +2 -2
- package/src/sap/ui/mdc/field/FieldMultiInputRenderer.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelp.js +8 -8
- package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +2 -2
- package/src/sap/ui/mdc/field/FieldValueHelpDelegate.js +21 -1
- package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +2 -2
- package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +2 -2
- package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +3 -2
- package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +2 -2
- package/src/sap/ui/mdc/field/InParameter.js +2 -2
- package/src/sap/ui/mdc/field/ListFieldHelp.js +11 -3
- package/src/sap/ui/mdc/field/ListFieldHelpItem.js +2 -2
- package/src/sap/ui/mdc/field/MultiValueFieldDelegate.js +1 -1
- package/src/sap/ui/mdc/field/MultiValueFieldItem.js +2 -2
- package/src/sap/ui/mdc/field/OutParameter.js +2 -2
- package/src/sap/ui/mdc/field/ValueHelpPanel.js +3 -2
- package/src/sap/ui/mdc/field/content/BooleanContent.js +2 -2
- package/src/sap/ui/mdc/field/content/ContentFactory.js +24 -22
- package/src/sap/ui/mdc/field/content/DateContent.js +129 -3
- package/src/sap/ui/mdc/field/content/DateTimeContent.js +10 -2
- package/src/sap/ui/mdc/field/content/DefaultContent.js +2 -2
- package/src/sap/ui/mdc/field/content/LinkContent.js +1 -1
- package/src/sap/ui/mdc/field/content/SearchContent.js +1 -1
- package/src/sap/ui/mdc/field/content/TimeContent.js +9 -2
- package/src/sap/ui/mdc/field/content/UnitContent.js +24 -5
- package/src/sap/ui/mdc/filterbar/FilterBarBase.js +326 -141
- package/src/sap/ui/mdc/filterbar/FilterBarBaseRenderer.js +1 -1
- package/src/sap/ui/mdc/filterbar/IFilterContainer.js +1 -1
- package/src/sap/ui/mdc/filterbar/PropertyHelper.js +2 -2
- package/src/sap/ui/mdc/filterbar/aligned/FilterContainer.js +1 -1
- package/src/sap/ui/mdc/filterbar/aligned/FilterItemLayout.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +9 -3
- package/src/sap/ui/mdc/filterbar/p13n/FilterColumnLayout.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/FilterGroupLayout.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/GroupContainer.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/TableContainer.js +1 -1
- package/src/sap/ui/mdc/filterbar/vh/CollectiveSearchSelect.js +4 -2
- package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +8 -2
- package/src/sap/ui/mdc/filterbar/vh/FilterContainer.js +1 -1
- package/src/sap/ui/mdc/filterbar/vh/GenericFilterBarDelegate.js +7 -7
- package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/ActionToolbarAction.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/AggregateFlex.js +3 -3
- package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +2 -2
- package/src/sap/ui/mdc/flexibility/ChartItemFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/ColumnFlex.js +2 -2
- package/src/sap/ui/mdc/flexibility/ConditionFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +5 -4
- package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +2 -2
- package/src/sap/ui/mdc/flexibility/GroupFlex.js +2 -2
- package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/Panel.flexibility.js +10 -4
- package/src/sap/ui/mdc/flexibility/PanelItem.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/PropertyInfoFlex.js +110 -0
- package/src/sap/ui/mdc/flexibility/SortFlex.js +3 -3
- package/src/sap/ui/mdc/flexibility/Table.flexibility.js +1 -1
- package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +2 -2
- package/src/sap/ui/mdc/library.js +50 -39
- package/src/sap/ui/mdc/link/ContactDetails.js +2 -2
- package/src/sap/ui/mdc/link/ContactDetailsAddressItem.js +2 -2
- package/src/sap/ui/mdc/link/ContactDetailsEmailItem.js +2 -2
- package/src/sap/ui/mdc/link/ContactDetailsItem.js +2 -2
- package/src/sap/ui/mdc/link/ContactDetailsPhoneItem.js +2 -2
- package/src/sap/ui/mdc/link/Factory.js +3 -3
- package/src/sap/ui/mdc/link/FakeFlpConnector.js +2 -2
- package/src/sap/ui/mdc/link/LinkItem.js +2 -2
- package/src/sap/ui/mdc/link/Log.js +1 -1
- package/src/sap/ui/mdc/link/Panel.js +141 -179
- package/src/sap/ui/mdc/link/PanelItem.js +2 -2
- package/src/sap/ui/mdc/link/PanelListItem.js +2 -2
- package/src/sap/ui/mdc/link/SemanticObjectMapping.js +2 -2
- package/src/sap/ui/mdc/link/SemanticObjectMappingItem.js +2 -2
- package/src/sap/ui/mdc/link/SemanticObjectUnavailableAction.js +2 -2
- package/src/sap/ui/mdc/messagebundle.properties +19 -4
- package/src/sap/ui/mdc/messagebundle_ar.properties +13 -4
- package/src/sap/ui/mdc/messagebundle_bg.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_ca.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_cs.properties +26 -17
- package/src/sap/ui/mdc/messagebundle_cy.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_da.properties +18 -9
- package/src/sap/ui/mdc/messagebundle_de.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_el.properties +12 -3
- package/src/sap/ui/mdc/messagebundle_en.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_en_GB.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +17 -0
- package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +3 -19
- package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +17 -0
- package/src/sap/ui/mdc/messagebundle_es.properties +12 -3
- package/src/sap/ui/mdc/messagebundle_es_MX.properties +24 -15
- package/src/sap/ui/mdc/messagebundle_et.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_fi.properties +17 -8
- package/src/sap/ui/mdc/messagebundle_fr.properties +15 -6
- package/src/sap/ui/mdc/messagebundle_fr_CA.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_hi.properties +12 -3
- package/src/sap/ui/mdc/messagebundle_hr.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_hu.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_id.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_it.properties +26 -17
- package/src/sap/ui/mdc/messagebundle_iw.properties +12 -3
- package/src/sap/ui/mdc/messagebundle_ja.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_kk.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_ko.properties +15 -6
- package/src/sap/ui/mdc/messagebundle_lt.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_lv.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_ms.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_nl.properties +16 -7
- package/src/sap/ui/mdc/messagebundle_no.properties +19 -10
- package/src/sap/ui/mdc/messagebundle_pl.properties +12 -3
- package/src/sap/ui/mdc/messagebundle_pt.properties +18 -9
- package/src/sap/ui/mdc/messagebundle_pt_PT.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_ro.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_ru.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_sh.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_sk.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_sl.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_sv.properties +13 -4
- package/src/sap/ui/mdc/messagebundle_th.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_tr.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_uk.properties +12 -3
- package/src/sap/ui/mdc/messagebundle_vi.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_zh_CN.properties +11 -2
- package/src/sap/ui/mdc/messagebundle_zh_TW.properties +11 -2
- package/src/sap/ui/mdc/mixin/AdaptationMixin.js +3 -4
- package/src/sap/ui/mdc/mixin/DelegateMixin.js +3 -3
- package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +17 -12
- package/src/sap/ui/mdc/mixin/PromiseMixin.js +3 -4
- package/src/sap/ui/mdc/odata/TypeUtil.js +2 -2
- package/src/sap/ui/mdc/odata/json/FilterBarDelegate.js +1 -1
- package/src/sap/ui/mdc/odata/v4/ChartDelegate.js +30 -484
- package/src/sap/ui/mdc/odata/v4/{ChartPropertyHelperNew.js → ChartPropertyHelper.js} +6 -6
- package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +1 -1
- package/src/sap/ui/mdc/odata/v4/FieldValueHelpDelegate.js +1 -1
- package/src/sap/ui/mdc/odata/v4/FilterBarDelegate.js +1 -1
- package/src/sap/ui/mdc/odata/v4/ODataMetaModelUtil.js +1 -1
- package/src/sap/ui/mdc/odata/v4/TableDelegate.js +158 -114
- package/src/sap/ui/mdc/odata/v4/TypeUtil.js +2 -2
- package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +2 -2
- package/src/sap/ui/mdc/odata/v4/util/DelegateUtil.js +2 -2
- package/src/sap/ui/mdc/odata/v4/vizChart/{ChartDelegateNew.js → ChartDelegate.js} +137 -49
- package/src/sap/ui/mdc/p13n/AdaptationProvider.js +1 -1
- package/src/sap/ui/mdc/p13n/Engine.js +56 -19
- package/src/sap/ui/mdc/p13n/FlexUtil.js +12 -119
- package/src/sap/ui/mdc/p13n/P13nBuilder.js +3 -3
- package/src/sap/ui/mdc/p13n/PersistenceProvider.js +22 -11
- package/src/sap/ui/mdc/p13n/PropertyHelper.js +2 -2
- package/src/sap/ui/mdc/p13n/StateUtil.js +41 -7
- package/src/sap/ui/mdc/p13n/UIManager.js +16 -13
- package/src/sap/ui/mdc/p13n/modification/FlexModificationHandler.js +5 -2
- package/src/sap/ui/mdc/p13n/modification/ModificationHandler.js +10 -7
- package/src/sap/ui/mdc/p13n/{DefaultProviderRegistry.js → modules/DefaultProviderRegistry.js} +3 -3
- package/src/sap/ui/mdc/p13n/modules/StateHandlerRegistry.js +86 -0
- package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/AdaptFiltersPanel.js +20 -4
- package/src/sap/ui/mdc/p13n/panels/BasePanel.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/ChartItemPanel.js +1093 -49
- package/src/sap/ui/mdc/p13n/panels/GroupView.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +72 -0
- package/src/sap/ui/mdc/p13n/panels/ListView.js +7 -3
- package/src/sap/ui/mdc/p13n/panels/SelectionPanel.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/SortPanel.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/AdaptFiltersController.js +7 -6
- package/src/sap/ui/mdc/p13n/subcontroller/AggregateController.js +2 -2
- package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +157 -12
- package/src/sap/ui/mdc/p13n/subcontroller/ChartItemController.js +16 -27
- package/src/sap/ui/mdc/p13n/subcontroller/ColumnController.js +7 -6
- package/src/sap/ui/mdc/p13n/subcontroller/ColumnWidthController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/FilterController.js +7 -6
- package/src/sap/ui/mdc/p13n/subcontroller/GroupController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +173 -0
- package/src/sap/ui/mdc/p13n/subcontroller/SortController.js +11 -18
- package/src/sap/ui/mdc/table/Column.js +36 -11
- package/src/sap/ui/mdc/table/CreationRow.js +15 -14
- package/src/sap/ui/mdc/table/GridTableType.js +14 -14
- package/src/sap/ui/mdc/table/PropertyHelper.js +65 -28
- package/src/sap/ui/mdc/table/ResponsiveTableType.js +27 -30
- package/src/sap/ui/mdc/table/RowSettings.js +8 -6
- package/src/sap/ui/mdc/table/TableSettings.js +1 -1
- package/src/sap/ui/mdc/table/TableTypeBase.js +7 -7
- package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +16 -72
- package/src/sap/ui/mdc/themes/base/Chart.less +3 -0
- package/src/sap/ui/mdc/themes/base/FieldBase.less +0 -5
- package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +12 -1
- package/src/sap/ui/mdc/themes/base/library.source.less +2 -1
- package/src/sap/ui/mdc/ui/Container.js +3 -3
- package/src/sap/ui/mdc/ui/ContainerItem.js +3 -3
- package/src/sap/ui/mdc/util/Common.js +2 -2
- package/src/sap/ui/mdc/util/DateUtil.js +2 -2
- package/src/sap/ui/mdc/util/FilterUtil.js +2 -2
- package/src/sap/ui/mdc/util/FormatUtil.js +2 -2
- package/src/sap/ui/mdc/util/IdentifierUtil.js +2 -2
- package/src/sap/ui/mdc/util/PromiseCache.js +2 -2
- package/src/sap/ui/mdc/util/PropertyHelper.js +149 -326
- package/src/sap/ui/mdc/util/TypeUtil.js +6 -5
- package/src/sap/ui/mdc/util/loadModules.js +1 -1
- package/src/sap/ui/mdc/valuehelp/Dialog.js +13 -9
- package/src/sap/ui/mdc/valuehelp/Popover.js +15 -3
- package/src/sap/ui/mdc/valuehelp/base/Container.js +34 -2
- package/src/sap/ui/mdc/valuehelp/base/Content.js +37 -6
- package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +3 -2
- package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +44 -16
- package/src/sap/ui/mdc/valuehelp/base/ListContent.js +3 -2
- package/src/sap/ui/mdc/valuehelp/content/Bool.js +3 -2
- package/src/sap/ui/mdc/valuehelp/content/Conditions.js +29 -33
- package/src/sap/ui/mdc/valuehelp/content/FixedList.js +12 -6
- package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +44 -9
- package/src/sap/ui/mdc/valuehelp/content/MTable.js +58 -27
- package/test/sap/ui/mdc/testutils/opa/TestLibrary.js +2 -1
- package/test/sap/ui/mdc/testutils/opa/actions/OpenContextMenu.js +3 -3
- package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsBase.js +3 -3
- package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ActionsViz.js +0 -0
- package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsBase.js +1 -1
- package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/AssertionsViz.js +0 -0
- package/test/sap/ui/mdc/testutils/opa/{chartNew → chart}/ChartNew.js +0 -0
- package/test/sap/ui/mdc/testutils/opa/chart/TestObjects.js +289 -0
- package/test/sap/ui/mdc/testutils/opa/chartNew/TestObjects.js +5 -5
- package/test/sap/ui/mdc/testutils/opa/filterbar/Util.js +12 -11
- package/test/sap/ui/mdc/testutils/opa/link/Actions.js +85 -0
- package/test/sap/ui/mdc/testutils/opa/link/Assertions.js +79 -0
- package/test/sap/ui/mdc/testutils/opa/link/TestObjects.js +112 -0
- package/test/sap/ui/mdc/testutils/opa/link/waitForLink.js +50 -0
- package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +365 -236
- package/test/sap/ui/mdc/testutils/opa/p13n/Util.js +27 -26
- package/src/sap/ui/mdc/ChartDelegateNew.js +0 -395
- package/src/sap/ui/mdc/ChartNew.js +0 -1114
- package/src/sap/ui/mdc/ChartNewRenderer.js +0 -91
- package/src/sap/ui/mdc/chart/DimensionItem.js +0 -281
- package/src/sap/ui/mdc/chart/MeasureItem.js +0 -318
- package/src/sap/ui/mdc/chart/MetadataDelegate.js +0 -31
- package/src/sap/ui/mdc/chart/SelectionHandler.js +0 -127
- package/src/sap/ui/mdc/chart/ToolbarHandler.js +0 -328
- package/src/sap/ui/mdc/chartNew/ChartTypeButtonNew.js +0 -295
- package/src/sap/ui/mdc/chartNew/DrillStackHandlerNew.js +0 -212
- package/src/sap/ui/mdc/chartNew/ItemNew.js +0 -72
- package/src/sap/ui/mdc/chartNew/SelectionDetailsActionsNew.js +0 -34
- package/src/sap/ui/mdc/designtime/chart/ChartNew.designtime.js +0 -91
- package/src/sap/ui/mdc/link/SelectionDialog.control.xml +0 -66
- package/src/sap/ui/mdc/link/SelectionDialog.js +0 -213
- package/src/sap/ui/mdc/link/SelectionDialogItem.js +0 -86
- package/src/sap/ui/mdc/odata/v4/ChartDelegateNew.js +0 -35
- package/src/sap/ui/mdc/p13n/panels/ChartItemPanelNew.js +0 -1171
- package/src/sap/ui/mdc/p13n/panels/GroupPanel.js +0 -111
- package/src/sap/ui/mdc/p13n/panels/QueryPanel.js +0 -322
- package/src/sap/ui/mdc/p13n/panels/SortQueryPanel.js +0 -133
- package/src/sap/ui/mdc/p13n/panels/Wrapper.js +0 -203
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* OpenUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE or an SAP affiliate company.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
|
|
5
5
|
*/
|
|
6
6
|
sap.ui.define([
|
|
@@ -88,7 +88,7 @@ sap.ui.define([
|
|
|
88
88
|
* @extends sap.ui.core.Control
|
|
89
89
|
*
|
|
90
90
|
* @author SAP SE
|
|
91
|
-
* @version 1.
|
|
91
|
+
* @version 1.98.0
|
|
92
92
|
*
|
|
93
93
|
* @constructor
|
|
94
94
|
* @alias sap.ui.mdc.field.DefineConditionPanel
|
|
@@ -277,6 +277,7 @@ sap.ui.define([
|
|
|
277
277
|
|
|
278
278
|
aConditions.splice(iIndex, 1);
|
|
279
279
|
this.setProperty("conditions", aConditions, true); // do not invalidate whole DefineConditionPanel
|
|
280
|
+
_checkInvalidInput.call(this, undefined); // check if invalid condition was removed
|
|
280
281
|
|
|
281
282
|
this.fireConditionProcessed();
|
|
282
283
|
},
|
|
@@ -301,8 +302,10 @@ sap.ui.define([
|
|
|
301
302
|
var sOperator = oOperator.name;
|
|
302
303
|
var oCondition = Condition.createCondition(sOperator, oOperator.valueDefaults ? oOperator.valueDefaults : [], undefined, undefined, ConditionValidated.NotValidated);
|
|
303
304
|
|
|
304
|
-
|
|
305
|
-
|
|
305
|
+
if (oOperator.valueTypes[0] && oOperator.valueTypes[0] !== Operator.ValueType.Static) {
|
|
306
|
+
// mark the condition as initial and not modified by the user
|
|
307
|
+
oCondition.isInitial = true;
|
|
308
|
+
}
|
|
306
309
|
|
|
307
310
|
FilterOperatorUtil.updateConditionValues(oCondition);
|
|
308
311
|
FilterOperatorUtil.checkConditionsEmpty(oCondition, aOperators);
|
|
@@ -313,6 +316,11 @@ sap.ui.define([
|
|
|
313
316
|
aConditions.push(oCondition);
|
|
314
317
|
}
|
|
315
318
|
this.setProperty("conditions", aConditions, true); // do not invalidate whole DefineConditionPanel
|
|
319
|
+
|
|
320
|
+
if (!oCondition.isInitial) {
|
|
321
|
+
// static condition added, it is ready to use -> fire event
|
|
322
|
+
this.fireConditionProcessed();
|
|
323
|
+
}
|
|
316
324
|
},
|
|
317
325
|
|
|
318
326
|
updateDefineConditions: function() {
|
|
@@ -350,6 +358,21 @@ sap.ui.define([
|
|
|
350
358
|
|
|
351
359
|
onSelectChange: function(oEvent) {
|
|
352
360
|
var oField = oEvent.getSource();
|
|
361
|
+
var oCondition = oField.getBindingContext("$this").getObject();
|
|
362
|
+
var aConditions = this.getConditions();
|
|
363
|
+
var iIndex = FilterOperatorUtil.indexOfCondition(oCondition, aConditions);
|
|
364
|
+
if (iIndex >= 0) {
|
|
365
|
+
oCondition = aConditions[iIndex]; // to get right instance
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
if (!oEvent.getParameter("valid")) { // if Operator in error state -> don't update values
|
|
369
|
+
oCondition.invalid = true;
|
|
370
|
+
this.setProperty("conditions", aConditions, true); // do not invalidate whole DefineConditionPanel
|
|
371
|
+
oField._sOldKey = oField.getValue();
|
|
372
|
+
_checkInvalidInput.call(this, true); // set imediately, not only if row left
|
|
373
|
+
return;
|
|
374
|
+
}
|
|
375
|
+
|
|
353
376
|
var sKey = oField.getValue();
|
|
354
377
|
var sOldKey = oField._sOldKey;
|
|
355
378
|
var oOperator = FilterOperatorUtil.getOperator(sKey); // operator must exist as List is created from valid operators
|
|
@@ -357,16 +380,11 @@ sap.ui.define([
|
|
|
357
380
|
|
|
358
381
|
if (oOperator && oOperatorOld) {
|
|
359
382
|
var bUpdate = false;
|
|
360
|
-
var oCondition = oField.getBindingContext("$this").getObject();
|
|
361
|
-
var aConditions = this.getConditions();
|
|
362
|
-
var iIndex = FilterOperatorUtil.indexOfCondition(oCondition, aConditions);
|
|
363
383
|
|
|
364
384
|
if (!deepEqual(oOperator.valueTypes[0], oOperatorOld.valueTypes[0]) && oOperator.valueTypes[0] !== Operator.ValueType.Static ) {
|
|
365
385
|
// type changed -> remove entered value (only if changed by user in Select)
|
|
366
386
|
// As Static text updated on condition change, don't delete it here.
|
|
367
387
|
if (iIndex >= 0) {
|
|
368
|
-
oCondition = aConditions[iIndex]; // to get right instance
|
|
369
|
-
|
|
370
388
|
oCondition.values.forEach(function(value, index) {
|
|
371
389
|
if (value !== null) {
|
|
372
390
|
if ((oOperator.valueTypes[index] === Operator.ValueType.Self && oOperatorOld.valueTypes[index] === Operator.ValueType.SelfNoParse) ||
|
|
@@ -391,8 +409,6 @@ sap.ui.define([
|
|
|
391
409
|
|
|
392
410
|
if (iIndex >= 0 && oOperator.valueDefaults) {
|
|
393
411
|
// sets the default values for the operator back to default, if the condition is inital or the value is null
|
|
394
|
-
oCondition = aConditions[iIndex];
|
|
395
|
-
|
|
396
412
|
oCondition.values.forEach(function(value, index) {
|
|
397
413
|
if ((oCondition.isInitial && value !== oOperator.valueDefaults[index]) || (value === null)) {
|
|
398
414
|
// set the default value and mark the condition as initial
|
|
@@ -407,7 +423,6 @@ sap.ui.define([
|
|
|
407
423
|
if (!oOperator.valueTypes[1] && oOperatorOld.valueTypes[1]) {
|
|
408
424
|
// switch from BT to EQ -> remove second value even if filled
|
|
409
425
|
if (iIndex >= 0) {
|
|
410
|
-
oCondition = aConditions[iIndex]; // to get right instance
|
|
411
426
|
if (oCondition.values.length > 1 && oCondition.values[1]) {
|
|
412
427
|
oCondition.values = oCondition.values.slice(0, 1);
|
|
413
428
|
bUpdate = true;
|
|
@@ -415,9 +430,14 @@ sap.ui.define([
|
|
|
415
430
|
}
|
|
416
431
|
}
|
|
417
432
|
|
|
433
|
+
if (oCondition.invalid) {
|
|
434
|
+
delete oCondition.invalid;
|
|
435
|
+
bUpdate = true;
|
|
436
|
+
}
|
|
418
437
|
if (bUpdate) {
|
|
419
438
|
FilterOperatorUtil.checkConditionsEmpty(oCondition, _getOperators.call(this));
|
|
420
439
|
this.setProperty("conditions", aConditions, true); // do not invalidate whole DefineConditionPanel
|
|
440
|
+
_checkInvalidInput.call(this, false); // set imediately, not only if row left
|
|
421
441
|
}
|
|
422
442
|
}
|
|
423
443
|
|
|
@@ -674,7 +694,7 @@ sap.ui.define([
|
|
|
674
694
|
oControl = new Field(sId, {
|
|
675
695
|
delegate: _getDelegate.call(this),
|
|
676
696
|
value: { path: "$this>", type: oNullableType, mode: 'TwoWay', targetType: 'raw' },
|
|
677
|
-
editMode: {path: "$condition>operator", formatter: _getEditModeFromOperator},
|
|
697
|
+
editMode: {parts: [{path: "$condition>operator"}, {path: "$condition>invalid"}], formatter: _getEditModeFromOperator},
|
|
678
698
|
width: "100%"
|
|
679
699
|
});
|
|
680
700
|
}
|
|
@@ -788,7 +808,7 @@ sap.ui.define([
|
|
|
788
808
|
// default operator not valid -> cannot use -> use first include-operator which requires some values
|
|
789
809
|
for (var i = 0; i < aOperators.length; i++) {
|
|
790
810
|
oOperator = FilterOperatorUtil.getOperator(aOperators[i]);
|
|
791
|
-
if (oOperator.exclude || !oOperator.hasRequiredValues()) {
|
|
811
|
+
if (!oOperator || oOperator.exclude || !oOperator.hasRequiredValues()) {
|
|
792
812
|
oOperator = undefined;
|
|
793
813
|
} else {
|
|
794
814
|
break;
|
|
@@ -1210,10 +1230,12 @@ sap.ui.define([
|
|
|
1210
1230
|
|
|
1211
1231
|
}
|
|
1212
1232
|
|
|
1213
|
-
function _getEditModeFromOperator(sOperator) {
|
|
1233
|
+
function _getEditModeFromOperator(sOperator, bInvalid) {
|
|
1214
1234
|
|
|
1215
1235
|
if (!sOperator) {
|
|
1216
1236
|
return EditMode.Display;
|
|
1237
|
+
} else if (bInvalid) {
|
|
1238
|
+
return EditMode.ReadOnly;
|
|
1217
1239
|
}
|
|
1218
1240
|
|
|
1219
1241
|
var oOperator = FilterOperatorUtil.getOperator(sOperator);
|
|
@@ -1231,7 +1253,7 @@ sap.ui.define([
|
|
|
1231
1253
|
|
|
1232
1254
|
var oOperator = sOperator && FilterOperatorUtil.getOperator(sOperator);
|
|
1233
1255
|
|
|
1234
|
-
if (!oOperator || !oOperator.valueTypes[0]) {
|
|
1256
|
+
if (!oOperator || !oOperator.valueTypes[0] || (oOperator.valueTypes[0] === Operator.ValueType.Static && !oOperator.getStaticText)) {
|
|
1235
1257
|
return "XL8 L8 M8 S0";
|
|
1236
1258
|
} else {
|
|
1237
1259
|
return "";
|
|
@@ -1309,6 +1331,10 @@ sap.ui.define([
|
|
|
1309
1331
|
if (oBindingContext) {
|
|
1310
1332
|
oOperatorField.setFieldGroupIds([oBindingContext.getPath()]); // use path to have a ID for every condition
|
|
1311
1333
|
}
|
|
1334
|
+
if (oOperatorField.getValueState() === ValueState.Error && !oCondition.invalid) {
|
|
1335
|
+
// remove error and show right value
|
|
1336
|
+
oOperatorField.setValue(oOperatorField.getValue());
|
|
1337
|
+
}
|
|
1312
1338
|
iIndex++;
|
|
1313
1339
|
|
|
1314
1340
|
var oRemoveButton = aGridContent[iIndex];
|
|
@@ -1323,8 +1349,7 @@ sap.ui.define([
|
|
|
1323
1349
|
var oValue0Field = aGridContent[iIndex];
|
|
1324
1350
|
var oValue1Field;
|
|
1325
1351
|
if (oValue0Field.hasOwnProperty("_iValueIndex") && oValue0Field._iValueIndex === 0) {
|
|
1326
|
-
|
|
1327
|
-
if (oCondition.values.length > 0 || sEditMode === EditMode.Display) { // as static text for display controls is created after update
|
|
1352
|
+
if (oCondition.values.length > 0) {
|
|
1328
1353
|
oValueBindingContext = this._oManagedObjectModel.getContext(oBindingContext.getPath() + "values/0/");
|
|
1329
1354
|
oValue0Field.setBindingContext(oValueBindingContext, "$this");
|
|
1330
1355
|
oValue0Field.setBindingContext(oBindingContext, "$condition");
|
|
@@ -1421,9 +1446,9 @@ sap.ui.define([
|
|
|
1421
1446
|
var oField2; // also update second Field if exist
|
|
1422
1447
|
var oCondition = oBindingContext.getObject();
|
|
1423
1448
|
var oOperator = FilterOperatorUtil.getOperator(oCondition.operator);
|
|
1424
|
-
var bInvalid =
|
|
1449
|
+
var bInvalid = !!oCondition.invalid;
|
|
1425
1450
|
|
|
1426
|
-
if (oOperator.valueTypes.length > 0 && oOperator.valueTypes[0] !== Operator.ValueType.Static) {
|
|
1451
|
+
if (!bInvalid && oOperator.valueTypes.length > 0 && oOperator.valueTypes[0] !== Operator.ValueType.Static) {
|
|
1427
1452
|
// check only not static operators
|
|
1428
1453
|
if (oOperator.valueTypes.length > 1 && oOperator.valueTypes[1]) {
|
|
1429
1454
|
// two fields exist
|
|
@@ -1467,14 +1492,26 @@ sap.ui.define([
|
|
|
1467
1492
|
|
|
1468
1493
|
function _checkInvalidInput(bInvalid) {
|
|
1469
1494
|
|
|
1495
|
+
var i = 0;
|
|
1496
|
+
|
|
1470
1497
|
if (bInvalid !== true) {
|
|
1471
1498
|
// if already known that invalid input exist -> no additional check needed
|
|
1499
|
+
var aConditions = this.getConditions();
|
|
1500
|
+
for (i = 0; i < aConditions.length; i++) {
|
|
1501
|
+
if (aConditions[i].invalid) {
|
|
1502
|
+
bInvalid = true;
|
|
1503
|
+
break;
|
|
1504
|
+
}
|
|
1505
|
+
}
|
|
1506
|
+
}
|
|
1507
|
+
|
|
1508
|
+
if (bInvalid !== true) {
|
|
1472
1509
|
var oGrid = this.byId("conditions");
|
|
1473
1510
|
var aContent = oGrid.getContent();
|
|
1474
1511
|
bInvalid = false;
|
|
1475
|
-
for (
|
|
1512
|
+
for (i = 0; i < aContent.length; i++) {
|
|
1476
1513
|
var oControl = aContent[i];
|
|
1477
|
-
if (oControl
|
|
1514
|
+
if (oControl.hasOwnProperty("_iValueIndex") && oControl.getValueState && oControl.getValueState() === ValueState.Error) {
|
|
1478
1515
|
bInvalid = true;
|
|
1479
1516
|
break;
|
|
1480
1517
|
}
|
|
@@ -0,0 +1,311 @@
|
|
|
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
|
+
// Provides the base implementation for all model implementations
|
|
8
|
+
sap.ui.define([
|
|
9
|
+
'sap/ui/mdc/field/ConditionsType',
|
|
10
|
+
'sap/ui/mdc/condition/FilterOperatorUtil',
|
|
11
|
+
'sap/ui/mdc/condition/Operator',
|
|
12
|
+
'sap/ui/mdc/condition/Condition',
|
|
13
|
+
'sap/ui/mdc/enum/ConditionValidated',
|
|
14
|
+
'sap/ui/mdc/enum/BaseType',
|
|
15
|
+
"sap/ui/mdc/util/DateUtil",
|
|
16
|
+
'sap/ui/model/SimpleType',
|
|
17
|
+
'sap/ui/model/FormatException',
|
|
18
|
+
'sap/ui/model/ParseException',
|
|
19
|
+
'sap/ui/model/ValidateException',
|
|
20
|
+
'sap/m/DynamicDate',
|
|
21
|
+
'sap/m/library'
|
|
22
|
+
],
|
|
23
|
+
function(
|
|
24
|
+
ConditionsType,
|
|
25
|
+
FilterOperatorUtil,
|
|
26
|
+
Operator,
|
|
27
|
+
Condition,
|
|
28
|
+
ConditionValidated,
|
|
29
|
+
BaseType,
|
|
30
|
+
DateUtil,
|
|
31
|
+
SimpleType,
|
|
32
|
+
FormatException,
|
|
33
|
+
ParseException,
|
|
34
|
+
ValidateException,
|
|
35
|
+
DynamicDateType,
|
|
36
|
+
mLibrary
|
|
37
|
+
) {
|
|
38
|
+
"use strict";
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Constructor for a <code>ConditionsType</code> to be used in <code>DynamicDateRange</code> control.
|
|
42
|
+
*
|
|
43
|
+
* @class
|
|
44
|
+
* This class represents a type to map an array of conditions used in a {@link sap.ui.mdc.FilterField FilterField} control to a value of a {@link sap.m.DynamicDateRange DynamicDateRange} control.
|
|
45
|
+
*
|
|
46
|
+
* @extends sap.ui.mdc.field.ConditionsType
|
|
47
|
+
*
|
|
48
|
+
* @author SAP SE
|
|
49
|
+
* @version 1.98.0
|
|
50
|
+
*
|
|
51
|
+
* @since 1.96.0
|
|
52
|
+
* @private
|
|
53
|
+
* @ui5-restricted sap.ui.mdc.field.FieldBase, sap.fe
|
|
54
|
+
* @MDC_PUBLIC_CANDIDATE
|
|
55
|
+
*
|
|
56
|
+
* @param {object} [oFormatOptions] Formatting options
|
|
57
|
+
* @param {sap.ui.model.Type} [oFormatOptions.valueType] Type of the value of the condition (used for formatting and parsing)
|
|
58
|
+
* @param {string[]} [oFormatOptions.operators] Possible operators to be used in the condition
|
|
59
|
+
* @param {sap.ui.mdc.enum.FieldDisplay} [oFormatOptions.display] DisplayFormat used to visualize a value
|
|
60
|
+
* @param {string} [oFormatOptions.fieldHelpID] ID of the field help to determine the key and description // TODO: async request????
|
|
61
|
+
* @param {boolean} [oFormatOptions.hideOperator] If set, only the value of the condition is shown, but no operator //TODO
|
|
62
|
+
* @param {int} [oFormatOptions.maxConditions] Maximum number of allowed conditions
|
|
63
|
+
* @param {sap.ui.model.Context} [oFormatOptions.bindingContext] <code>BindingContext</code> of field. Used to get a key or description from the value help using in/out parameters. (In a table, the value help might be connected to a different row)
|
|
64
|
+
* @param {sap.ui.model.Type} [oFormatOptions.originalDateType] Type used on field, for example, for date types; a different type is used internally to have different <code>formatOptions</code>
|
|
65
|
+
* @param {boolean} [oFormatOptions.isUnit] If set, the type is used for the unit part of a field
|
|
66
|
+
* @param {function} [oFormatOptions.getConditions] Function to get the existing conditions of the field. Only used if <code>isUnit</code> is set. TODO: better solution
|
|
67
|
+
* @param {function} [oFormatOptions.asyncParsing] Callback function to tell the <code>Field</code> the parsing is asynchronous.
|
|
68
|
+
* @param {object} [oFormatOptions.navigateCondition] Condition of keyboard navigation. If this is filled, no real parsing is needed as the condition has already been determined and is just returned
|
|
69
|
+
* @param {object} [oFormatOptions.delegate] Field delegate to handle model-specific logic
|
|
70
|
+
* @param {object} [oFormatOptions.payload] Payload of the delegate
|
|
71
|
+
* @param {boolean} [oFormatOptions.preventGetDescription] If set, description is not read by <code>formatValue</code> as it is known that no description exists or might be set later
|
|
72
|
+
* @param {sap.ui.mdc.condition.ConditionModel} [oFormatOptions.conditionModel] <code>ConditionModel</code>, if bound to one
|
|
73
|
+
* @param {string} [oFormatOptions.conditionModelName] Name of the <code>ConditionModel</code>, if bound to one
|
|
74
|
+
* @param {string} [oFormatOptions.defaultOperatorName] Name of the default <code>Operator</code>
|
|
75
|
+
* @param {object} [oConstraints] Value constraints
|
|
76
|
+
* @alias sap.ui.mdc.field.DynamicDateRangeConditionsType
|
|
77
|
+
*/
|
|
78
|
+
var DynamicDateRangeConditionsType = ConditionsType.extend("sap.ui.mdc.field.DynamicDateRangeConditionsType", /** @lends sap.ui.mdc.field.DynamicDateRangeConditionsType.prototype */ {
|
|
79
|
+
|
|
80
|
+
constructor : function (oFormatOptions, oConstraints) {
|
|
81
|
+
SimpleType.apply(this, arguments);
|
|
82
|
+
this.sName = "ConditionsDateRange";
|
|
83
|
+
this._oResourceBundle = sap.ui.getCore().getLibraryResourceBundle("sap.ui.mdc");
|
|
84
|
+
//TODO: specialConditionDataRangeType if used for tokens in MultiValue FilterField
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
});
|
|
88
|
+
|
|
89
|
+
DynamicDateRangeConditionsType.prototype.destroy = function() {
|
|
90
|
+
|
|
91
|
+
SimpleType.prototype.destroy.apply(this, arguments);
|
|
92
|
+
|
|
93
|
+
this._bDestroyed = true;
|
|
94
|
+
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
DynamicDateRangeConditionsType.prototype.formatValue = function(aConditions, sInternalType) {
|
|
98
|
+
|
|
99
|
+
if (aConditions == undefined || aConditions == null || this._bDestroyed) { // if destroyed do nothing
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
if (!Array.isArray(aConditions)) {
|
|
104
|
+
throw new FormatException("No valid conditions provided");
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
var iMaxConditions = _getMaxConditions.call(this);
|
|
108
|
+
var vResult;
|
|
109
|
+
|
|
110
|
+
if (iMaxConditions !== 1) {
|
|
111
|
+
throw new FormatException("MaxConditions must be 1");
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
if (aConditions.length === 1) {
|
|
115
|
+
var oCondition = aConditions[0];
|
|
116
|
+
|
|
117
|
+
var oOperator = FilterOperatorUtil.getOperator(oCondition.operator);
|
|
118
|
+
if (!oCondition.operator || !oOperator) {
|
|
119
|
+
throw new FormatException("No valid condition provided, Operator wrong.");
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
var aValues = [];
|
|
123
|
+
var sOption = oOperator.name;
|
|
124
|
+
if (!mLibrary.StandardDynamicDateRangeKeys[sOption]) {
|
|
125
|
+
sOption = oOperator.alias || sOption;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
for (var i = 0; i < oOperator.valueTypes.length; i++) {
|
|
129
|
+
if (mLibrary.StandardDynamicDateRangeKeys[sOption] && oOperator.valueTypes[i] === Operator.ValueType.Self) { // only for standard operators
|
|
130
|
+
aValues.push(_dateToTimestamp.call(this, oCondition.values[i]));
|
|
131
|
+
} else if (oOperator.valueTypes[i] && oOperator.valueTypes[i] !== Operator.ValueType.Static) {
|
|
132
|
+
aValues.push(oCondition.values[i]);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
var oDynamicDateType = _getDynamicDateType.call(this, oOperator);
|
|
137
|
+
vResult = oDynamicDateType.formatValue({operator: sOption, values: aValues}, sInternalType);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
return vResult;
|
|
141
|
+
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
function _getDynamicDateType(oOperator) {
|
|
145
|
+
|
|
146
|
+
if (!this._oDynamicDateType) {
|
|
147
|
+
var oDynamicDateFormatOptions = {
|
|
148
|
+
date: {
|
|
149
|
+
source: {pattern: "timestamp"}
|
|
150
|
+
},
|
|
151
|
+
"int": {}
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
this._oDynamicDateType = new DynamicDateType(oDynamicDateFormatOptions);
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
return this._oDynamicDateType;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
function _dateToTimestamp(vValue) {
|
|
161
|
+
|
|
162
|
+
var oType = _getInternalType.call(this);
|
|
163
|
+
var sDate = oType.formatValue(vValue, "string");
|
|
164
|
+
var aDate = sDate.split("-");
|
|
165
|
+
var iYear = parseInt(aDate[0]);
|
|
166
|
+
var iMonth = parseInt(aDate[1]) - 1;
|
|
167
|
+
var iDate = parseInt(aDate[2]);
|
|
168
|
+
var iTimeStamp = new Date(iYear, iMonth, iDate).getTime();
|
|
169
|
+
|
|
170
|
+
return iTimeStamp;
|
|
171
|
+
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
function _timestampToDate(iTimeStamp) {
|
|
175
|
+
|
|
176
|
+
var oType = _getInternalType.call(this);
|
|
177
|
+
var oDate = new Date(iTimeStamp);
|
|
178
|
+
var iYear = oDate.getFullYear();
|
|
179
|
+
var iMonth = oDate.getMonth() + 1;
|
|
180
|
+
var iDate = oDate.getDate();
|
|
181
|
+
var sDate = iYear.toString() + "-" + ((iMonth < 10) ? "0" : "") + iMonth.toString() + "-" + ((iDate < 10) ? "0" : "") + iDate.toString();
|
|
182
|
+
var vDate = oType.parseValue(sDate, "string");
|
|
183
|
+
|
|
184
|
+
return vDate;
|
|
185
|
+
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
function _getInternalType() {
|
|
189
|
+
|
|
190
|
+
if (!this._oInternalType) {
|
|
191
|
+
var oType = _getValueType.call(this);
|
|
192
|
+
this._oInternalType = DateUtil.createInternalType(oType, "yyyy-MM-dd");
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
return this._oInternalType;
|
|
196
|
+
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
DynamicDateRangeConditionsType.prototype.parseValue = function(oValue, sInternalType) {
|
|
200
|
+
|
|
201
|
+
if (this._bDestroyed) { // if destroyed do nothing
|
|
202
|
+
return null;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
if (_getMaxConditions.call(this) !== 1) {
|
|
206
|
+
throw new ParseException("Only one condition supported for parsing");
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
var aOperators = _getOperators.call(this);
|
|
210
|
+
var aConditions = [];
|
|
211
|
+
if (oValue && oValue.operator) {
|
|
212
|
+
if (oValue.operator === "PARSEERROR") {
|
|
213
|
+
throw new ParseException(oValue.values[0]);
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
var sOperator = oValue.operator; // sOperator is the Option name
|
|
217
|
+
var oOperator = FilterOperatorUtil.getOperator(sOperator); // getOperator will search via name and alias
|
|
218
|
+
sOperator = oOperator.name; // map it back to the real Operator name
|
|
219
|
+
|
|
220
|
+
if (oOperator) {
|
|
221
|
+
var oDynamicDateType = _getDynamicDateType.call(this, oOperator);
|
|
222
|
+
var vResult = oDynamicDateType.parseValue(oValue, sInternalType);
|
|
223
|
+
var aValues = [];
|
|
224
|
+
|
|
225
|
+
for (var i = 0; i < oOperator.valueTypes.length; i++) {
|
|
226
|
+
if (mLibrary.StandardDynamicDateRangeKeys[oValue.operator] && oOperator.valueTypes[i] === Operator.ValueType.Self) { // only for standard operators
|
|
227
|
+
aValues.push(_timestampToDate.call(this, vResult.values[i]));
|
|
228
|
+
} else if (oOperator.valueTypes[i] && oOperator.valueTypes[i] !== Operator.ValueType.Static) {
|
|
229
|
+
aValues.push(vResult.values[i]);
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
var oCondition = Condition.createCondition(oOperator.name, aValues, undefined, undefined, ConditionValidated.NotValidated);
|
|
234
|
+
FilterOperatorUtil.updateConditionValues(oCondition);
|
|
235
|
+
FilterOperatorUtil.checkConditionsEmpty(oCondition, aOperators);
|
|
236
|
+
aConditions.push(oCondition);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
return aConditions;
|
|
241
|
+
|
|
242
|
+
};
|
|
243
|
+
|
|
244
|
+
DynamicDateRangeConditionsType.prototype.validateValue = function(aConditions) {
|
|
245
|
+
|
|
246
|
+
if (aConditions === undefined || aConditions === null || this._bDestroyed) { // if destroyed do nothing
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
if (!Array.isArray(aConditions)) {
|
|
251
|
+
throw new ValidateException("No valid conditions provided");
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
var oType = _getValueType.call(this);
|
|
255
|
+
var aOperators = _getOperators.call(this);
|
|
256
|
+
|
|
257
|
+
for (var i = 0; i < aConditions.length; i++) {
|
|
258
|
+
var oCondition = aConditions[i];
|
|
259
|
+
if (typeof oCondition !== "object" || !oCondition.operator || !oCondition.values ||
|
|
260
|
+
!Array.isArray(oCondition.values)) {
|
|
261
|
+
throw new ValidateException(this._oResourceBundle.getText("field.VALUE_NOT_VALID"));
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
var oOperator = FilterOperatorUtil.getOperator(oCondition.operator, aOperators);
|
|
265
|
+
|
|
266
|
+
if (!oOperator) {
|
|
267
|
+
throw new ValidateException("No valid condition provided, Operator wrong.");
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
oOperator.validate(oCondition.values, oType);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
};
|
|
274
|
+
|
|
275
|
+
function _getMaxConditions() {
|
|
276
|
+
|
|
277
|
+
var iMaxConditions = 1;
|
|
278
|
+
|
|
279
|
+
if (this.oFormatOptions.hasOwnProperty("maxConditions")) {
|
|
280
|
+
iMaxConditions = this.oFormatOptions.maxConditions;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
return iMaxConditions;
|
|
284
|
+
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
function _getValueType() {
|
|
288
|
+
|
|
289
|
+
var oType = this.oFormatOptions.valueType;
|
|
290
|
+
if (!oType) {
|
|
291
|
+
throw new Error("Type missing");
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
return oType;
|
|
295
|
+
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
function _getOperators() {
|
|
299
|
+
|
|
300
|
+
var aOperators = this.oFormatOptions.operators;
|
|
301
|
+
if (!aOperators || aOperators.length === 0) {
|
|
302
|
+
aOperators = FilterOperatorUtil.getOperatorsForType(BaseType.Date); // TODO: check for type
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
return aOperators;
|
|
306
|
+
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
return DynamicDateRangeConditionsType;
|
|
310
|
+
|
|
311
|
+
});
|