@openui5/sap.ui.mdc 1.102.1 → 1.103.1
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/package.json +4 -4
- package/src/sap/ui/mdc/.library +1 -1
- package/src/sap/ui/mdc/ActionToolbar.js +1 -1
- package/src/sap/ui/mdc/AggregationBaseDelegate.js +11 -0
- package/src/sap/ui/mdc/Chart.js +111 -55
- package/src/sap/ui/mdc/ChartDelegate.js +97 -92
- package/src/sap/ui/mdc/Control.js +1 -1
- package/src/sap/ui/mdc/Element.js +1 -1
- package/src/sap/ui/mdc/Field.js +2 -2
- package/src/sap/ui/mdc/FilterBar.js +1 -1
- package/src/sap/ui/mdc/FilterField.js +2 -2
- package/src/sap/ui/mdc/Link.js +4 -1
- package/src/sap/ui/mdc/MultiValueField.js +1 -1
- package/src/sap/ui/mdc/Table.js +48 -12
- package/src/sap/ui/mdc/ValueHelp.js +1 -19
- package/src/sap/ui/mdc/actiontoolbar/ActionToolbarAction.js +2 -1
- package/src/sap/ui/mdc/chart/ChartSelectionDetails.js +1 -2
- package/src/sap/ui/mdc/chart/ChartToolbar.js +34 -2
- package/src/sap/ui/mdc/chart/DrillBreadcrumbs.js +6 -2
- package/src/sap/ui/mdc/chart/Item.js +6 -11
- package/src/sap/ui/mdc/chart/PropertyHelper.js +7 -8
- package/src/sap/ui/mdc/chart/SelectionDetailsActions.js +2 -3
- package/src/sap/ui/mdc/condition/Condition.js +1 -1
- package/src/sap/ui/mdc/condition/ConditionConverter.js +16 -131
- package/src/sap/ui/mdc/condition/ConditionModel.js +50 -21
- package/src/sap/ui/mdc/condition/FilterConverter.js +1 -1
- package/src/sap/ui/mdc/condition/FilterOperatorUtil.js +3 -3
- package/src/sap/ui/mdc/condition/Operator.js +1 -1
- package/src/sap/ui/mdc/condition/OperatorDynamicDateOption.js +1 -1
- package/src/sap/ui/mdc/condition/RangeOperator.js +1 -1
- package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbar.designtime.js +6 -3
- package/src/sap/ui/mdc/designtime/actiontoolbar/ActionToolbarAction.designtime.js +53 -0
- package/src/sap/ui/mdc/designtime/field/Field.designtime.js +9 -4
- package/src/sap/ui/mdc/designtime/table/Table.designtime.js +1 -1
- 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 +135 -39
- package/src/sap/ui/mdc/field/ConditionsType.js +71 -10
- package/src/sap/ui/mdc/field/CustomFieldHelp.js +1 -2
- package/src/sap/ui/mdc/field/CustomFieldInfo.js +1 -1
- package/src/sap/ui/mdc/field/DefineConditionPanel.js +93 -81
- package/src/sap/ui/mdc/field/DynamicDateRangeConditionsType.js +9 -62
- package/src/sap/ui/mdc/field/FieldBase.js +91 -70
- package/src/sap/ui/mdc/field/FieldBaseDelegate.js +20 -1
- package/src/sap/ui/mdc/field/FieldHelpBase.js +1 -39
- package/src/sap/ui/mdc/field/FieldInfoBase.js +1 -1
- package/src/sap/ui/mdc/field/FieldInput.js +2 -2
- package/src/sap/ui/mdc/field/FieldInputRenderUtil.js +1 -1
- package/src/sap/ui/mdc/field/FieldMultiInput.js +2 -2
- package/src/sap/ui/mdc/field/FieldValueHelp.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpContentWrapperBase.js +1 -19
- package/src/sap/ui/mdc/field/FieldValueHelpMTableWrapper.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpMdcTableWrapper.js +7 -1
- package/src/sap/ui/mdc/field/FieldValueHelpTableWrapperBase.js +1 -1
- package/src/sap/ui/mdc/field/FieldValueHelpUITableWrapper.js +1 -1
- package/src/sap/ui/mdc/field/InParameter.js +1 -4
- 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 +2 -2
- package/src/sap/ui/mdc/field/TokenizerDisplay.js +2 -2
- package/src/sap/ui/mdc/field/ValueHelpPanel.js +1 -5
- package/src/sap/ui/mdc/field/content/DateContent.js +3 -3
- package/src/sap/ui/mdc/field/content/DateTimeContent.js +1 -1
- package/src/sap/ui/mdc/filterbar/FilterBarBase.js +4 -4
- package/src/sap/ui/mdc/filterbar/IFilterContainer.js +1 -1
- package/src/sap/ui/mdc/filterbar/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/filterbar/p13n/AdaptationFilterBar.js +1 -1
- package/src/sap/ui/mdc/filterbar/vh/FilterBar.js +1 -1
- package/src/sap/ui/mdc/flexibility/ActionToolbar.flexibility.js +80 -4
- package/src/sap/ui/mdc/flexibility/AggregateFlex.js +19 -38
- package/src/sap/ui/mdc/flexibility/Chart.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/ChartTypeFlex.js +23 -41
- package/src/sap/ui/mdc/flexibility/ConditionFlex.js +43 -58
- package/src/sap/ui/mdc/flexibility/FilterBar.flexibility.js +1 -1
- package/src/sap/ui/mdc/flexibility/FilterItemFlex.js +1 -1
- package/src/sap/ui/mdc/flexibility/GroupFlex.js +25 -55
- package/src/sap/ui/mdc/flexibility/ItemBaseFlex.js +21 -42
- package/src/sap/ui/mdc/flexibility/SortFlex.js +23 -52
- package/src/sap/ui/mdc/flexibility/Table.flexibility.js +3 -3
- package/src/sap/ui/mdc/flexibility/Util.js +82 -0
- package/src/sap/ui/mdc/flexibility/xConfigFlex.js +137 -0
- package/src/sap/ui/mdc/flp/FlpLinkDelegate.js +3 -1
- package/src/sap/ui/mdc/library.js +4 -15
- 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 +9 -1
- package/src/sap/ui/mdc/link/Panel.js +25 -10
- package/src/sap/ui/mdc/link/PanelItem.js +10 -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 +12 -0
- package/src/sap/ui/mdc/messagebundle_ar.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_bg.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_ca.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_cs.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_cy.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_da.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_de.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_el.properties +19 -11
- package/src/sap/ui/mdc/messagebundle_en.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_en_GB.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_en_US_sappsd.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_en_US_saprigi.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_en_US_saptrc.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_es.properties +14 -6
- package/src/sap/ui/mdc/messagebundle_es_MX.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_et.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_fi.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_fr.properties +9 -1
- package/src/sap/ui/mdc/messagebundle_fr_CA.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_hi.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_hr.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_hu.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_id.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_it.properties +9 -1
- package/src/sap/ui/mdc/messagebundle_iw.properties +9 -1
- package/src/sap/ui/mdc/messagebundle_ja.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_kk.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_ko.properties +10 -2
- package/src/sap/ui/mdc/messagebundle_lt.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_lv.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_ms.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_nl.properties +22 -14
- package/src/sap/ui/mdc/messagebundle_no.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_pl.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_pt.properties +12 -4
- package/src/sap/ui/mdc/messagebundle_pt_PT.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_ro.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_ru.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_sh.properties +9 -1
- package/src/sap/ui/mdc/messagebundle_sk.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_sl.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_sv.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_th.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_tr.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_uk.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_vi.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_zh_CN.properties +8 -0
- package/src/sap/ui/mdc/messagebundle_zh_TW.properties +9 -1
- package/src/sap/ui/mdc/mixin/AdaptationMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/DelegateMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/FilterIntegrationMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/PromiseMixin.js +1 -1
- package/src/sap/ui/mdc/mixin/PropertyHelperMixin.js +1 -1
- package/src/sap/ui/mdc/odata/TypeUtil.js +24 -2
- package/src/sap/ui/mdc/odata/v4/ChartPropertyHelper.js +5 -5
- package/src/sap/ui/mdc/odata/v4/FieldBaseDelegate.js +6 -0
- package/src/sap/ui/mdc/odata/v4/TypeUtil.js +6 -6
- package/src/sap/ui/mdc/odata/v4/ValueHelpDelegate.js +0 -33
- package/src/sap/ui/mdc/odata/v4/vizChart/ChartDelegate.js +359 -151
- package/src/sap/ui/mdc/p13n/Engine.js +1 -1
- package/src/sap/ui/mdc/p13n/PersistenceProvider.js +1 -0
- package/src/sap/ui/mdc/p13n/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/p13n/UIManager.js +1 -1
- package/src/sap/ui/mdc/p13n/modules/DefaultProviderRegistry.js +1 -1
- package/src/sap/ui/mdc/p13n/panels/ActionToolbarPanel.js +133 -0
- package/src/sap/ui/mdc/p13n/panels/FilterPanel.js +7 -32
- package/src/sap/ui/mdc/p13n/panels/LinkSelectionPanel.js +12 -4
- package/src/sap/ui/mdc/p13n/subcontroller/ActionToolbarController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/BaseController.js +1 -1
- package/src/sap/ui/mdc/p13n/subcontroller/LinkPanelController.js +22 -27
- package/src/sap/ui/mdc/table/Column.js +4 -1
- package/src/sap/ui/mdc/table/CreationRow.js +1 -1
- package/src/sap/ui/mdc/table/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/table/RowActionItem.js +1 -1
- package/src/sap/ui/mdc/table/RowSettings.js +1 -1
- package/src/sap/ui/mdc/table/V4AnalyticsPropertyHelper.js +1 -1
- package/src/sap/ui/mdc/themes/base/ValueHelpDialog.less +5 -0
- package/src/sap/ui/mdc/util/FilterUtil.js +2 -2
- package/src/sap/ui/mdc/util/PromiseCache.js +1 -1
- package/src/sap/ui/mdc/util/PropertyHelper.js +1 -1
- package/src/sap/ui/mdc/util/TypeUtil.js +105 -17
- package/src/sap/ui/mdc/valuehelp/Dialog.js +95 -30
- package/src/sap/ui/mdc/valuehelp/Popover.js +15 -2
- package/src/sap/ui/mdc/valuehelp/base/Container.js +37 -28
- package/src/sap/ui/mdc/valuehelp/base/Content.js +39 -21
- package/src/sap/ui/mdc/valuehelp/base/DialogTab.js +5 -5
- package/src/sap/ui/mdc/valuehelp/base/FilterableListContent.js +41 -34
- package/src/sap/ui/mdc/valuehelp/base/ListContent.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/Bool.js +4 -4
- package/src/sap/ui/mdc/valuehelp/content/Conditions.js +11 -3
- package/src/sap/ui/mdc/valuehelp/content/FixedList.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/MDCTable.js +1 -1
- package/src/sap/ui/mdc/valuehelp/content/MTable.js +2 -2
- package/test/sap/ui/mdc/testutils/opa/p13n/Actions.js +34 -82
- package/src/sap/ui/mdc/flexibility/AggregationConfigFlex.js +0 -139
|
@@ -30,7 +30,7 @@ sap.ui.define([
|
|
|
30
30
|
"use strict";
|
|
31
31
|
|
|
32
32
|
var MDialog, MLibrary, Button, ManagedObjectModel, IconTabBar, IconTabFilter;
|
|
33
|
-
var Panel, HBox, Tokenizer, Token;
|
|
33
|
+
var Panel, HBox, Tokenizer, Token, Filter;
|
|
34
34
|
|
|
35
35
|
/**
|
|
36
36
|
* Constructor for a new <code>Dialog</code> container.
|
|
@@ -39,7 +39,7 @@ sap.ui.define([
|
|
|
39
39
|
* @param {object} [mSettings] Initial settings for the new control
|
|
40
40
|
* @class Container for the {@link sap.ui.mdc.ValueHelp ValueHelp} element showing a dialog.
|
|
41
41
|
* @extends sap.ui.mdc.valuehelp.base.Container
|
|
42
|
-
* @version 1.
|
|
42
|
+
* @version 1.103.1
|
|
43
43
|
* @constructor
|
|
44
44
|
* @abstract
|
|
45
45
|
* @private
|
|
@@ -117,7 +117,11 @@ sap.ui.define([
|
|
|
117
117
|
return oContent.getId() === sCurrentContentKey;
|
|
118
118
|
});
|
|
119
119
|
if (oCurrentContent) {
|
|
120
|
+
if (oCurrentContent.setCollectiveSearchSelect) {
|
|
121
|
+
oCurrentContent.setCollectiveSearchSelect(undefined); // remove collective search from Filterbar
|
|
122
|
+
}
|
|
120
123
|
oCurrentContent.onHide();
|
|
124
|
+
this._unbindContent(oCurrentContent);
|
|
121
125
|
}
|
|
122
126
|
this._renderSelectedContent(sNextId);
|
|
123
127
|
}.bind(this));
|
|
@@ -166,6 +170,10 @@ sap.ui.define([
|
|
|
166
170
|
oContent.onHide();
|
|
167
171
|
}
|
|
168
172
|
|
|
173
|
+
this.getContent().forEach(function (oContent) {
|
|
174
|
+
oContent.onContainerClose();
|
|
175
|
+
});
|
|
176
|
+
|
|
169
177
|
// Reset selection to initial key for retrieveContent calls before it is opened again.
|
|
170
178
|
this.setProperty("_selectedContentKey", this._sInitialContentKey);
|
|
171
179
|
|
|
@@ -514,7 +522,7 @@ sap.ui.define([
|
|
|
514
522
|
VBox = aModules[2];
|
|
515
523
|
Tokenizer = aModules[3];
|
|
516
524
|
Token = aModules[4];
|
|
517
|
-
|
|
525
|
+
Filter = aModules[5];
|
|
518
526
|
var ConditionType = aModules[6];
|
|
519
527
|
var BackgroundDesign = MLibrary.BackgroundDesign;
|
|
520
528
|
var ButtonType = MLibrary.ButtonType;
|
|
@@ -523,8 +531,8 @@ sap.ui.define([
|
|
|
523
531
|
backgroundDesign: BackgroundDesign.Transparent,
|
|
524
532
|
expanded: true,
|
|
525
533
|
visible: {parts: ['$valueHelp>/_config/maxConditions', '$help>/content'], formatter: _isTokenizerRequired},
|
|
526
|
-
headerText: {parts: ['$
|
|
527
|
-
function(
|
|
534
|
+
headerText: {parts: ['$valueHelp>/conditions', '$help>/_selectableContents'], formatter:
|
|
535
|
+
function(aConditions, aContent) {
|
|
528
536
|
var iCount = 0;
|
|
529
537
|
for (var i = 0; i < aConditions.length; i++) {
|
|
530
538
|
var oCondition = aConditions[i];
|
|
@@ -532,11 +540,19 @@ sap.ui.define([
|
|
|
532
540
|
iCount++;
|
|
533
541
|
}
|
|
534
542
|
}
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
543
|
+
var sTitle;
|
|
544
|
+
if (aContent && aContent.length == 1) { // in case of single content the title will be provided by the content
|
|
545
|
+
sTitle = aContent[0].getFormattedTokenizerTitle(iCount);
|
|
546
|
+
return sTitle;
|
|
547
|
+
} else {
|
|
548
|
+
// default title
|
|
549
|
+
sTitle = this._oResourceBundle.getText("valuehelp.TOKENIZERTITLE");
|
|
550
|
+
if (iCount === 0) {
|
|
551
|
+
// in case of no items do not show a number
|
|
552
|
+
sTitle = this._oResourceBundle.getText("valuehelp.TOKENIZERTITLENONUMBER");
|
|
553
|
+
}
|
|
554
|
+
return formatMessage(sTitle, iCount);
|
|
538
555
|
}
|
|
539
|
-
return formatMessage(sText, iCount);
|
|
540
556
|
}.bind(this)
|
|
541
557
|
}
|
|
542
558
|
});
|
|
@@ -544,19 +560,9 @@ sap.ui.define([
|
|
|
544
560
|
|
|
545
561
|
var oHBox = new HBox(this.getId() + "-TokenBox", {fitContainer: true, width: "100%"});
|
|
546
562
|
|
|
547
|
-
var
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
var oConfig = oValueHelpModel ? oValueHelpModel.getProperty("/_config") : {};
|
|
551
|
-
var oParent = this.getParent();
|
|
552
|
-
var oFormatOptions = { // TODO: is more needed?
|
|
553
|
-
maxConditions: -1, // as for tokens there should not be a limit on type side
|
|
554
|
-
valueType: oConfig.dataType,
|
|
555
|
-
operators: oConfig.operators,
|
|
556
|
-
display: oConfig.display,
|
|
557
|
-
fieldHelpID: oParent && oParent.getId() // needed to get description for Token (if not provided)
|
|
558
|
-
};
|
|
559
|
-
var oTokenTemplate = new Token(this.getId() + "-Token", {text: {path: '$valueHelp>', type: new ConditionType(oFormatOptions)}});
|
|
563
|
+
var oFormatOptions = _getConditionFormatOptions.call(this);
|
|
564
|
+
this._oConditionType = new ConditionType(oFormatOptions);
|
|
565
|
+
this._oConditionType._bVHTokenizer = true; // just help for debugging
|
|
560
566
|
this.oTokenizer = new Tokenizer(this.getId() + "-Tokenizer", {
|
|
561
567
|
width: "100%",
|
|
562
568
|
tokenDelete: function(oEvent) {
|
|
@@ -575,11 +581,11 @@ sap.ui.define([
|
|
|
575
581
|
}
|
|
576
582
|
|
|
577
583
|
}.bind(this),
|
|
578
|
-
tokens: {path: '/conditions', model: "$valueHelp", templateShareable: false, template: oTokenTemplate, filters: oFilter},
|
|
579
584
|
layoutData: new FlexItemData({growFactor: 1, maxWidth: "calc(100% - 2rem)"})
|
|
580
585
|
});
|
|
581
586
|
this.oTokenizer.addAriaDescribedBy( this.oTokenizer.getTokensInfoId());
|
|
582
587
|
this.oTokenizer.addStyleClass("sapMdcTokenizer");
|
|
588
|
+
_bindTokenizer.call(this, true);
|
|
583
589
|
|
|
584
590
|
this.oRemoveAllBtn = new Button(this.getId() + "-TokenRemoveAll", {
|
|
585
591
|
press: function(oEvent) {
|
|
@@ -599,6 +605,9 @@ sap.ui.define([
|
|
|
599
605
|
|
|
600
606
|
return this.oTokenizerPanel;
|
|
601
607
|
}.bind(this));
|
|
608
|
+
} else { // update ConditionType with current formatOptions
|
|
609
|
+
var oFormatOptions = _getConditionFormatOptions.call(this);
|
|
610
|
+
this._oConditionType.setFormatOptions(oFormatOptions);
|
|
602
611
|
}
|
|
603
612
|
return this.oTokenizerPanel;
|
|
604
613
|
};
|
|
@@ -616,23 +625,70 @@ sap.ui.define([
|
|
|
616
625
|
return bVisible;
|
|
617
626
|
}
|
|
618
627
|
|
|
628
|
+
function _getConditionFormatOptions() {
|
|
629
|
+
|
|
630
|
+
var oValueHelpModel = this.getModel("$valueHelp");
|
|
631
|
+
var oConfig = oValueHelpModel ? oValueHelpModel.getProperty("/_config") : {};
|
|
632
|
+
var oParent = this.getParent();
|
|
633
|
+
var oControl = this._getControl();
|
|
634
|
+
return { // TODO: is more needed?
|
|
635
|
+
maxConditions: -1, // as for tokens there should not be a limit on type side
|
|
636
|
+
valueType: oConfig.dataType,
|
|
637
|
+
operators: oConfig.operators,
|
|
638
|
+
display: oConfig.display,
|
|
639
|
+
fieldHelpID: oParent && oParent.getId(), // needed to get description for Token (if not provided)
|
|
640
|
+
control: oControl,
|
|
641
|
+
delegate: oControl && oControl.getControlDelegate && oControl.getControlDelegate(),
|
|
642
|
+
delegateName: oControl && oControl.getDelegate && oControl.getDelegate() && oControl.getDelegate().name,
|
|
643
|
+
payload: oControl && oControl.getPayload && oControl.getPayload(),
|
|
644
|
+
convertWhitespaces: true
|
|
645
|
+
};
|
|
646
|
+
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
function _bindTokenizer(bBind) {
|
|
650
|
+
|
|
651
|
+
if (this.oTokenizer) {
|
|
652
|
+
var oBindingInfo = this.oTokenizer.getBindingInfo("tokens");
|
|
653
|
+
if (bBind) {
|
|
654
|
+
if (!oBindingInfo) { // not bound -> create binding
|
|
655
|
+
var oFilter = new Filter({path:'isEmpty', operator:'NE', value1:true});
|
|
656
|
+
var oTokenTemplate = new Token(this.getId() + "-Token", {text: {path: '$valueHelp>', type: this._oConditionType}});
|
|
657
|
+
this.oTokenizer.bindAggregation("tokens", {path: '/conditions', model: "$valueHelp", templateShareable: false, template: oTokenTemplate, filters: oFilter});
|
|
658
|
+
}
|
|
659
|
+
} else if (oBindingInfo) { // remove binding if dialog is closed to prevent updated on tokens if conditions are updated. (Suspend would not be enough, as every single binding on token would need to be suspended too.)
|
|
660
|
+
this.oTokenizer.unbindAggregation("tokens");
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
|
|
664
|
+
}
|
|
665
|
+
|
|
619
666
|
Dialog.prototype._open = function (oDialog) {
|
|
620
667
|
if (oDialog) {
|
|
621
668
|
this._updateInitialContentKey(); // Update initial key as visibilities might change during content retrieval
|
|
669
|
+
|
|
670
|
+
var fnRenderContent = function () {
|
|
671
|
+
this._renderSelectedContent(this._sInitialContentKey, function () {
|
|
672
|
+
oDialog.open();
|
|
673
|
+
this.getContent().forEach(function (oContent) {
|
|
674
|
+
oContent.onContainerOpen();
|
|
675
|
+
});
|
|
676
|
+
}.bind(this));
|
|
677
|
+
}.bind(this);
|
|
678
|
+
|
|
622
679
|
if (_isTokenizerRequired(this.getMaxConditions(), this.getContent()) && oDialog.getContent()[0].getItems().length === 1) {
|
|
623
680
|
// Tokenizer needed but already no tokenizer
|
|
624
681
|
Promise.all([this._getTokenizerPanel()]).then(function (aControls) {
|
|
625
682
|
aControls.forEach(function (oControl) {
|
|
626
683
|
oDialog.getContent()[0].addItem(oControl);
|
|
627
684
|
});
|
|
628
|
-
|
|
629
|
-
oDialog.open();
|
|
630
|
-
});
|
|
685
|
+
fnRenderContent();
|
|
631
686
|
});
|
|
632
687
|
} else {
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
}
|
|
688
|
+
if (this.oTokenizer) { // restore tokenizer binding to enable updates if open
|
|
689
|
+
_bindTokenizer.call(this, true);
|
|
690
|
+
}
|
|
691
|
+
fnRenderContent();
|
|
636
692
|
}
|
|
637
693
|
}
|
|
638
694
|
};
|
|
@@ -655,9 +711,14 @@ sap.ui.define([
|
|
|
655
711
|
}
|
|
656
712
|
return Promise.all(aNecessaryPromises).then(function (aPromiseResults) {
|
|
657
713
|
|
|
714
|
+
this._bindContent(oNextContent);
|
|
658
715
|
this.setProperty("_selectedContentKey", sNextContentId);
|
|
659
716
|
this.setProperty("_selectableContents", this._getSelectableContents());
|
|
660
|
-
this._oManagedObjectModel.checkUpdate(true,
|
|
717
|
+
this._oManagedObjectModel.checkUpdate(true, false, function (oBinding) { // force update as bindings to $help>displayContent are not updated automatically in some cases
|
|
718
|
+
if (oBinding.getPath() === "displayContent") { // do not update other bindings as this might lead to rerendering of IconTabBar ot other unwanted updates.
|
|
719
|
+
return true;
|
|
720
|
+
}
|
|
721
|
+
});
|
|
661
722
|
|
|
662
723
|
if (oGroupSelectPromise) {
|
|
663
724
|
this._updateGroupSelectModel();
|
|
@@ -681,6 +742,10 @@ sap.ui.define([
|
|
|
681
742
|
var oContainer = this.getAggregation("_container");
|
|
682
743
|
if (oContainer) {
|
|
683
744
|
oContainer.close();
|
|
745
|
+
|
|
746
|
+
if (this.oTokenizer) { // remove tokenizer binding to prevent updates if closed
|
|
747
|
+
_bindTokenizer.call(this, false);
|
|
748
|
+
}
|
|
684
749
|
}
|
|
685
750
|
};
|
|
686
751
|
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @param {object} [mSettings] Initial settings for the new control
|
|
27
27
|
* @class Container for the {@link sap.ui.mdc.ValueHelp ValueHelp} element showing a popover.
|
|
28
28
|
* @extends sap.ui.mdc.valuehelp.base.Container
|
|
29
|
-
* @version 1.
|
|
29
|
+
* @version 1.103.1
|
|
30
30
|
* @constructor
|
|
31
31
|
* @abstract
|
|
32
32
|
* @private
|
|
@@ -107,6 +107,10 @@ sap.ui.define([
|
|
|
107
107
|
afterClose: this._handleClosed.bind(this)
|
|
108
108
|
}).addStyleClass("sapMdcValueHelpPopover").addStyleClass("sapMComboBoxBasePicker").addStyleClass("sapMComboBoxBasePicker-CTX"); // to have a ComboBox popup
|
|
109
109
|
|
|
110
|
+
oPopover.isPopupAdaptationAllowed = function () {
|
|
111
|
+
return false;
|
|
112
|
+
};
|
|
113
|
+
|
|
110
114
|
oPopover.addStyleClass(this._isSingleSelect() ? "sapMdcValueHelpSingleSelect" : "sapMdcValueHelpMultiSelect");
|
|
111
115
|
|
|
112
116
|
oPopover.addDelegate({onsapshow: this._handleRequestSwitchToDialog.bind(this)});
|
|
@@ -185,6 +189,10 @@ sap.ui.define([
|
|
|
185
189
|
this._oCurrentContent = aContents[0];
|
|
186
190
|
var oFooterContent = aContents[1];
|
|
187
191
|
|
|
192
|
+
// to prevent a Fieldgroup leave if opening control has fieldgroups, asign the fieldgroups to content
|
|
193
|
+
var oControl = this._getControl();
|
|
194
|
+
this._oCurrentContent.setFieldGroupIds(oControl.getFieldGroupIds());
|
|
195
|
+
|
|
188
196
|
if (oFooterContent && oPopover.getFooter() != oFooterContent && oFooterContent.isA && oFooterContent.isA("sap.m.Toolbar")) {
|
|
189
197
|
oPopover.setFooter(oFooterContent);
|
|
190
198
|
return oPopover;
|
|
@@ -212,6 +220,8 @@ sap.ui.define([
|
|
|
212
220
|
return;
|
|
213
221
|
}
|
|
214
222
|
|
|
223
|
+
Container.prototype._open.apply(this, arguments);
|
|
224
|
+
|
|
215
225
|
var oControl = this._getControl();
|
|
216
226
|
var oTarget = oControl && oControl.getFocusElementForValueHelp ? oControl.getFocusElementForValueHelp(this.isTypeahead()) : oControl;
|
|
217
227
|
|
|
@@ -226,6 +236,7 @@ sap.ui.define([
|
|
|
226
236
|
|
|
227
237
|
Popover.prototype._close = function () {
|
|
228
238
|
|
|
239
|
+
Container.prototype._close.apply(this, arguments);
|
|
229
240
|
var oPopover = this.getAggregation("_container");
|
|
230
241
|
if (oPopover) {
|
|
231
242
|
oPopover.close();
|
|
@@ -241,6 +252,7 @@ sap.ui.define([
|
|
|
241
252
|
var oContent = this._getContent();
|
|
242
253
|
|
|
243
254
|
if (oContent) {
|
|
255
|
+
oContent.onContainerOpen();
|
|
244
256
|
oContent.onShow();
|
|
245
257
|
}
|
|
246
258
|
|
|
@@ -256,6 +268,7 @@ sap.ui.define([
|
|
|
256
268
|
|
|
257
269
|
if (oContent) {
|
|
258
270
|
oContent.onHide();
|
|
271
|
+
oContent.onContainerClose();
|
|
259
272
|
}
|
|
260
273
|
|
|
261
274
|
var oPopover = this.getAggregation("_container");
|
|
@@ -319,7 +332,7 @@ sap.ui.define([
|
|
|
319
332
|
return {
|
|
320
333
|
contentId: oContentAttributes.contentId,
|
|
321
334
|
ariaHasPopup: oContentAttributes.ariaHasPopup,
|
|
322
|
-
role: this.
|
|
335
|
+
role: this.isDialog() ? "combobox" : null, // Popover is a ComboBox, but only if used as valuehelp, only typeahead has no role (see sap.m.Input)
|
|
323
336
|
roleDescription: oContentAttributes.roleDescription // for multiselect-mTable it needs to be set
|
|
324
337
|
};
|
|
325
338
|
}
|
|
@@ -24,7 +24,7 @@ sap.ui.define([
|
|
|
24
24
|
* @param {object} [mSettings] Initial settings for the new element
|
|
25
25
|
* @class Container for the {@link sap.ui.mdc.ValueHelp ValueHelp} element.
|
|
26
26
|
* @extends sap.ui.core.Element
|
|
27
|
-
* @version 1.
|
|
27
|
+
* @version 1.103.1
|
|
28
28
|
* @constructor
|
|
29
29
|
* @abstract
|
|
30
30
|
* @private
|
|
@@ -160,8 +160,8 @@ sap.ui.define([
|
|
|
160
160
|
if (oChanges.mutation === "remove") {
|
|
161
161
|
this._unbindContent(oContent);
|
|
162
162
|
|
|
163
|
-
} else {
|
|
164
|
-
|
|
163
|
+
// } else {
|
|
164
|
+
// this._bindContent(oContent);
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
167
|
};
|
|
@@ -291,9 +291,15 @@ sap.ui.define([
|
|
|
291
291
|
|
|
292
292
|
Container.prototype._open = function (oContainer) {
|
|
293
293
|
|
|
294
|
+
var aContent = this.getContent();
|
|
295
|
+
for (var i = 0; i < aContent.length; i++) { // for Dialog overwrite to only bind shown content
|
|
296
|
+
this._bindContent(aContent[i]);
|
|
297
|
+
}
|
|
298
|
+
|
|
294
299
|
};
|
|
295
300
|
|
|
296
301
|
Container.prototype._close = function () {
|
|
302
|
+
|
|
297
303
|
};
|
|
298
304
|
|
|
299
305
|
Container.prototype._handleOpened = function () {
|
|
@@ -303,6 +309,12 @@ sap.ui.define([
|
|
|
303
309
|
|
|
304
310
|
Container.prototype._handleClosed = function (oEvent) {
|
|
305
311
|
this._removePromise("open");
|
|
312
|
+
|
|
313
|
+
var aContent = this.getContent();
|
|
314
|
+
for (var i = 0; i < aContent.length; i++) {
|
|
315
|
+
this._unbindContent(aContent[i]);
|
|
316
|
+
}
|
|
317
|
+
|
|
306
318
|
this.fireClosed();
|
|
307
319
|
};
|
|
308
320
|
|
|
@@ -327,7 +339,6 @@ sap.ui.define([
|
|
|
327
339
|
*
|
|
328
340
|
* @private
|
|
329
341
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
330
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
331
342
|
*/
|
|
332
343
|
Container.prototype.isOpen = function () {
|
|
333
344
|
var oPromise = this._retrievePromise("open");
|
|
@@ -343,7 +354,6 @@ sap.ui.define([
|
|
|
343
354
|
*
|
|
344
355
|
* @private
|
|
345
356
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
346
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
347
357
|
*/
|
|
348
358
|
Container.prototype.isOpening = function () {
|
|
349
359
|
var oPromise = this._retrievePromise("open");
|
|
@@ -377,7 +387,6 @@ sap.ui.define([
|
|
|
377
387
|
*
|
|
378
388
|
* @private
|
|
379
389
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
380
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
381
390
|
*/
|
|
382
391
|
Container.prototype.getItemForValue = function(oConfig) { // TODO only for TypeAhead container
|
|
383
392
|
};
|
|
@@ -389,9 +398,8 @@ sap.ui.define([
|
|
|
389
398
|
*
|
|
390
399
|
* @private
|
|
391
400
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
392
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
393
401
|
*/
|
|
394
|
-
|
|
402
|
+
Container.prototype.isValidationSupported = function() { // TODO only for TypeAhead container
|
|
395
403
|
return false;
|
|
396
404
|
};
|
|
397
405
|
|
|
@@ -408,7 +416,6 @@ sap.ui.define([
|
|
|
408
416
|
*
|
|
409
417
|
* @private
|
|
410
418
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
411
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
412
419
|
*/
|
|
413
420
|
Container.prototype.navigate = function(iStep) { // pass through to content
|
|
414
421
|
return Promise.all([this._getContainer()]).then(function (aResults) {
|
|
@@ -426,7 +433,6 @@ sap.ui.define([
|
|
|
426
433
|
*
|
|
427
434
|
* @private
|
|
428
435
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
429
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
430
436
|
*/
|
|
431
437
|
Container.prototype.removeFocus = function() {
|
|
432
438
|
};
|
|
@@ -440,7 +446,6 @@ sap.ui.define([
|
|
|
440
446
|
*
|
|
441
447
|
* @private
|
|
442
448
|
* @ui5-restricted sap.ui.mdc.valueHelp.base.Content
|
|
443
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
444
449
|
*/
|
|
445
450
|
Container.prototype.isTypeahead = function () {
|
|
446
451
|
var oValueHelp = this.getParent();
|
|
@@ -456,12 +461,28 @@ sap.ui.define([
|
|
|
456
461
|
*
|
|
457
462
|
* @private
|
|
458
463
|
* @ui5-restricted sap.ui.mdc.ValueHelp, sap.ui.mdc.valueHelp.base.Content
|
|
459
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
460
464
|
*/
|
|
461
465
|
Container.prototype.isTypeaheadSupported = function () {
|
|
462
466
|
return false;
|
|
463
467
|
};
|
|
464
468
|
|
|
469
|
+
/**
|
|
470
|
+
* Determines if the container is used as dialog inside the value help
|
|
471
|
+
*
|
|
472
|
+
* The container is also used as dialog if <code>useAsValueHelp</code> is set on content and no other dialog is set.
|
|
473
|
+
*
|
|
474
|
+
* <b>Note:</b> This function is used by the container and content and must not be used from outside
|
|
475
|
+
*
|
|
476
|
+
* @returns {boolean} True if used as dialog
|
|
477
|
+
*
|
|
478
|
+
* @private
|
|
479
|
+
* @ui5-restricted sap.ui.mdc.valueHelp.base.Content
|
|
480
|
+
*/
|
|
481
|
+
Container.prototype.isDialog = function () {
|
|
482
|
+
var oValueHelp = this.getParent();
|
|
483
|
+
return oValueHelp && (oValueHelp.getDialog() === this || (this.isTypeahead() && !oValueHelp.getDialog() && this.getUseAsValueHelp()));
|
|
484
|
+
};
|
|
485
|
+
|
|
465
486
|
/**
|
|
466
487
|
* Determines if the container provides a own scroll functionality.
|
|
467
488
|
* If not, the <code>Content</code> needs to provide a scrolling solution like a {@link sap.m.ScrollContainer ScrollContainer}.
|
|
@@ -472,7 +493,6 @@ sap.ui.define([
|
|
|
472
493
|
*
|
|
473
494
|
* @private
|
|
474
495
|
* @ui5-restricted sap.ui.mdc.valueHelp.base.Content
|
|
475
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
476
496
|
*/
|
|
477
497
|
Container.prototype.providesScrolling = function () {
|
|
478
498
|
return false;
|
|
@@ -488,7 +508,6 @@ sap.ui.define([
|
|
|
488
508
|
*
|
|
489
509
|
* @private
|
|
490
510
|
* @ui5-restricted sap.ui.mdc.valueHelp.base.Content
|
|
491
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
492
511
|
*/
|
|
493
512
|
Container.prototype.getValueHelpDelegate = function () {
|
|
494
513
|
var oValueHelp = this.getParent();
|
|
@@ -504,9 +523,8 @@ sap.ui.define([
|
|
|
504
523
|
*
|
|
505
524
|
* @private
|
|
506
525
|
* @ui5-restricted sap.ui.mdc.valueHelp.base.Content
|
|
507
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
508
526
|
*/
|
|
509
|
-
|
|
527
|
+
Container.prototype.getValueHelpDelegatePayload = function () {
|
|
510
528
|
var oValueHelp = this.getParent();
|
|
511
529
|
return oValueHelp && oValueHelp.getPayload();
|
|
512
530
|
};
|
|
@@ -521,9 +539,8 @@ sap.ui.define([
|
|
|
521
539
|
*
|
|
522
540
|
* @private
|
|
523
541
|
* @ui5-restricted sap.ui.mdc.valueHelp.base.Content
|
|
524
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
525
542
|
*/
|
|
526
|
-
|
|
543
|
+
Container.prototype.awaitValueHelpDelegate = function () {
|
|
527
544
|
var oValueHelp = this.getParent();
|
|
528
545
|
return oValueHelp && oValueHelp.awaitControlDelegate();
|
|
529
546
|
};
|
|
@@ -537,9 +554,8 @@ sap.ui.define([
|
|
|
537
554
|
*
|
|
538
555
|
* @private
|
|
539
556
|
* @ui5-restricted sap.ui.mdc.valueHelp.base.Content
|
|
540
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
541
557
|
*/
|
|
542
|
-
|
|
558
|
+
Container.prototype.isValueHelpDelegateInitialized = function () {
|
|
543
559
|
var oValueHelp = this.getParent();
|
|
544
560
|
return oValueHelp && oValueHelp.bDelegateInitialized;
|
|
545
561
|
};
|
|
@@ -554,7 +570,6 @@ sap.ui.define([
|
|
|
554
570
|
* @returns {boolean} True if value help shall open as valuehelp
|
|
555
571
|
* @private
|
|
556
572
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
557
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
558
573
|
*/
|
|
559
574
|
Container.prototype.getUseAsValueHelp = function() {
|
|
560
575
|
return false;
|
|
@@ -566,7 +581,6 @@ sap.ui.define([
|
|
|
566
581
|
* @returns {string} Name of the icon
|
|
567
582
|
* @private
|
|
568
583
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
569
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
570
584
|
*/
|
|
571
585
|
Container.prototype.getValueHelpIcon = function() {
|
|
572
586
|
// not define icon property on Container as it might be dependent Popover/Dialog or used content
|
|
@@ -580,7 +594,6 @@ sap.ui.define([
|
|
|
580
594
|
* @returns {object} object with the aria-attibutes
|
|
581
595
|
* @private
|
|
582
596
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
583
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
584
597
|
*/
|
|
585
598
|
Container.prototype.getAriaAttributes = function(iMaxConditions) {
|
|
586
599
|
|
|
@@ -604,7 +617,6 @@ sap.ui.define([
|
|
|
604
617
|
* @returns {boolean} If <code>true</code>, the value help should open when user clicks into the connected field control
|
|
605
618
|
* @private
|
|
606
619
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
607
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
608
620
|
*/
|
|
609
621
|
Container.prototype.shouldOpenOnClick = function() {
|
|
610
622
|
return false;
|
|
@@ -616,9 +628,8 @@ sap.ui.define([
|
|
|
616
628
|
* @returns {boolean} If <code>true</code>, the value help should open when user used the arrow keys in the connected field control
|
|
617
629
|
* @private
|
|
618
630
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
619
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
620
631
|
*/
|
|
621
|
-
|
|
632
|
+
Container.prototype.shouldOpenOnNavigate = function() {
|
|
622
633
|
return false;
|
|
623
634
|
};
|
|
624
635
|
|
|
@@ -630,7 +641,6 @@ sap.ui.define([
|
|
|
630
641
|
*
|
|
631
642
|
* @private
|
|
632
643
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
633
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
634
644
|
*/
|
|
635
645
|
Container.prototype.isFocusInHelp = function() {
|
|
636
646
|
|
|
@@ -645,7 +655,6 @@ sap.ui.define([
|
|
|
645
655
|
*
|
|
646
656
|
* @private
|
|
647
657
|
* @ui5-restricted sap.ui.mdc.ValueHelp
|
|
648
|
-
* @ui5-metamodel This method also will be described in the UI5 (legacy) designtime metamodel
|
|
649
658
|
*/
|
|
650
659
|
Container.prototype.isMultiSelect = function() {
|
|
651
660
|
|