@sapui5/sap.suite.ui.commons 1.145.1 → 1.147.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/package.json +1 -1
- package/src/sap/suite/ui/commons/.library +1 -1
- package/src/sap/suite/ui/commons/AriaProperties.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilder.js +83 -4
- package/src/sap/suite/ui/commons/CalculationBuilderExpression.js +87 -14
- package/src/sap/suite/ui/commons/CalculationBuilderFunction.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderGroup.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderInput.js +11 -0
- package/src/sap/suite/ui/commons/CalculationBuilderItem.js +16 -3
- package/src/sap/suite/ui/commons/CalculationBuilderValidationResult.js +1 -1
- package/src/sap/suite/ui/commons/CalculationBuilderVariable.js +1 -1
- package/src/sap/suite/ui/commons/CloudFilePicker.js +1 -1
- package/src/sap/suite/ui/commons/ControlProxy.js +7 -4
- package/src/sap/suite/ui/commons/MicroProcessFlow.js +1 -1
- package/src/sap/suite/ui/commons/MicroProcessFlowItem.js +1 -1
- package/src/sap/suite/ui/commons/ProcessFlowRenderer.js +3 -0
- package/src/sap/suite/ui/commons/collaboration/ContactHelper.js +5 -1
- package/src/sap/suite/ui/commons/collaboration/ContactPopover.fragment.xml +10 -10
- package/src/sap/suite/ui/commons/collaboration/MinimalContactPopover.fragment.xml +12 -10
- package/src/sap/suite/ui/commons/collaboration/ServiceContainer.js +12 -2
- package/src/sap/suite/ui/commons/flexibility/changeHandler/PropertyChangeMapper.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/CropCustomShapeHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/CropEllipseHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/CropRectangleHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/CustomSizeItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/FilterHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/FlipHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/HistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ImageEditor.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ImageEditorContainer.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/ImageEditorResponsiveContainer.js +9 -6
- package/src/sap/suite/ui/commons/imageeditor/ResizeHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/imageeditor/RotateHistoryItem.js +1 -1
- package/src/sap/suite/ui/commons/library.js +4 -4
- package/src/sap/suite/ui/commons/messagebundle.properties +16 -8
- package/src/sap/suite/ui/commons/messagebundle_ar.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_bg.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_ca.properties +10 -4
- package/src/sap/suite/ui/commons/messagebundle_cnr.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_cs.properties +7 -1
- package/src/sap/suite/ui/commons/messagebundle_cy.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_da.properties +10 -4
- package/src/sap/suite/ui/commons/messagebundle_de.properties +8 -2
- package/src/sap/suite/ui/commons/messagebundle_el.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_en.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_en_GB.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_en_US_saprigi.properties +9 -5
- package/src/sap/suite/ui/commons/messagebundle_es.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_es_MX.properties +10 -4
- package/src/sap/suite/ui/commons/messagebundle_et.properties +6 -0
- package/src/sap/suite/ui/commons/messagebundle_fi.properties +10 -4
- package/src/sap/suite/ui/commons/messagebundle_fr.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_fr_CA.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_hi.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_hr.properties +10 -4
- package/src/sap/suite/ui/commons/messagebundle_hu.properties +9 -3
- package/src/sap/suite/ui/commons/messagebundle_id.properties +12 -6
- package/src/sap/suite/ui/commons/messagebundle_it.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_iw.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_ja.properties +9 -3
- package/src/sap/suite/ui/commons/messagebundle_kk.properties +10 -4
- package/src/sap/suite/ui/commons/messagebundle_ko.properties +10 -4
- package/src/sap/suite/ui/commons/messagebundle_lt.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_lv.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_mk.properties +9 -3
- package/src/sap/suite/ui/commons/messagebundle_ms.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_nl.properties +8 -2
- package/src/sap/suite/ui/commons/messagebundle_no.properties +10 -4
- package/src/sap/suite/ui/commons/messagebundle_pl.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_pt.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_pt_PT.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_ro.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_ru.properties +12 -6
- package/src/sap/suite/ui/commons/messagebundle_sh.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_sk.properties +10 -4
- package/src/sap/suite/ui/commons/messagebundle_sl.properties +10 -4
- package/src/sap/suite/ui/commons/messagebundle_sr.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_sv.properties +10 -4
- package/src/sap/suite/ui/commons/messagebundle_th.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_tr.properties +8 -2
- package/src/sap/suite/ui/commons/messagebundle_uk.properties +14 -8
- package/src/sap/suite/ui/commons/messagebundle_vi.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_zh_CN.properties +11 -5
- package/src/sap/suite/ui/commons/messagebundle_zh_TW.properties +11 -5
- package/src/sap/suite/ui/commons/networkgraph/Graph.js +149 -40
- package/src/sap/suite/ui/commons/networkgraph/GraphMap.js +25 -3
- package/src/sap/suite/ui/commons/networkgraph/KeyboardNavigator.js +332 -13
- package/src/sap/suite/ui/commons/networkgraph/Line.js +110 -12
- package/src/sap/suite/ui/commons/networkgraph/Node.js +67 -5
- package/src/sap/suite/ui/commons/networkgraph/Utils.js +249 -10
- package/src/sap/suite/ui/commons/networkgraph/layout/NoopLayout.js +55 -8
- package/src/sap/suite/ui/commons/networkgraph/util/ConnectionPathUtils.js +34 -4
- package/src/sap/suite/ui/commons/networkgraph/util/DependencyLayoutHelper.js +230 -82
- package/src/sap/suite/ui/commons/networkgraph/util/DragDropManager.js +52 -50
- package/src/sap/suite/ui/commons/networkgraph/util/PortManager.js +12 -3
- package/src/sap/suite/ui/commons/statusindicator/Circle.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/CustomShape.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/DiscreteThreshold.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/FillingOption.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/LibraryShape.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/Path.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/PropertyThreshold.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/Rectangle.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/Shape.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/ShapeGroup.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/SimpleShape.js +1 -1
- package/src/sap/suite/ui/commons/statusindicator/StatusIndicator.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccount.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountGroup.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountItem.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountItemProperty.js +1 -1
- package/src/sap/suite/ui/commons/taccount/TAccountPanel.js +1 -1
- package/src/sap/suite/ui/commons/themes/base/BusinessCard.less +5 -4
- package/src/sap/suite/ui/commons/themes/base/CalculationBuilder.less +33 -24
- package/src/sap/suite/ui/commons/themes/base/CalculationBuilderExpression.less +40 -31
- package/src/sap/suite/ui/commons/themes/base/CalculationBuilderInput.less +26 -10
- package/src/sap/suite/ui/commons/themes/base/CalculationBuilderItem.less +76 -63
- package/src/sap/suite/ui/commons/themes/base/ChartContainer.less +8 -11
- package/src/sap/suite/ui/commons/themes/base/ChartTile.less +5 -8
- package/src/sap/suite/ui/commons/themes/base/CollaborationPopover.less +116 -106
- package/src/sap/suite/ui/commons/themes/base/DateRangeScroller.less +5 -5
- package/src/sap/suite/ui/commons/themes/base/DateRangeSliderInternal.less +9 -10
- package/src/sap/suite/ui/commons/themes/base/FacetOverview.less +9 -10
- package/src/sap/suite/ui/commons/themes/base/FeedItemHeader.less +9 -12
- package/src/sap/suite/ui/commons/themes/base/FeedTile.less +23 -27
- package/src/sap/suite/ui/commons/themes/base/GenericTile2X2.less +15 -15
- package/src/sap/suite/ui/commons/themes/base/HeaderCell.less +7 -6
- package/src/sap/suite/ui/commons/themes/base/HeaderContainer.less +35 -37
- package/src/sap/suite/ui/commons/themes/base/ImageEditor.less +28 -10
- package/src/sap/suite/ui/commons/themes/base/ImageEditorContainer.less +29 -22
- package/src/sap/suite/ui/commons/themes/base/InfoTile.less +10 -4
- package/src/sap/suite/ui/commons/themes/base/InfoTileSize.less +5 -4
- package/src/sap/suite/ui/commons/themes/base/KpiTile.less +10 -11
- package/src/sap/suite/ui/commons/themes/base/LaunchTile.less +9 -8
- package/src/sap/suite/ui/commons/themes/base/LinkActionSheet.less +14 -43
- package/src/sap/suite/ui/commons/themes/base/MicroProcessFlow.less +51 -47
- package/src/sap/suite/ui/commons/themes/base/MonitoringContent.less +5 -5
- package/src/sap/suite/ui/commons/themes/base/NetworkGraph.less +57 -62
- package/src/sap/suite/ui/commons/themes/base/NetworkGroup.less +61 -65
- package/src/sap/suite/ui/commons/themes/base/NetworkLine.less +58 -55
- package/src/sap/suite/ui/commons/themes/base/NetworkNode.less +3 -0
- package/src/sap/suite/ui/commons/themes/base/NetworkTooltip.less +21 -25
- package/src/sap/suite/ui/commons/themes/base/NoteTaker.less +13 -18
- package/src/sap/suite/ui/commons/themes/base/NoteTakerCard.less +26 -27
- package/src/sap/suite/ui/commons/themes/base/NoteTakerFeeder.less +22 -44
- package/src/sap/suite/ui/commons/themes/base/NumericTile.less +7 -5
- package/src/sap/suite/ui/commons/themes/base/PictureZoomIn.less +6 -5
- package/src/sap/suite/ui/commons/themes/base/ProcessFlow.less +57 -76
- package/src/sap/suite/ui/commons/themes/base/ProcessFlowConnection.less +71 -17
- package/src/sap/suite/ui/commons/themes/base/ProcessFlowConnectionLabel.less +9 -13
- package/src/sap/suite/ui/commons/themes/base/ProcessFlowLaneHeader.less +37 -96
- package/src/sap/suite/ui/commons/themes/base/ProcessFlowNode.less +219 -238
- package/src/sap/suite/ui/commons/themes/base/SemanticColorMixins.less +55 -0
- package/src/sap/suite/ui/commons/themes/base/SplitButton.less +7 -20
- package/src/sap/suite/ui/commons/themes/base/StatusIndicator.less +10 -9
- package/src/sap/suite/ui/commons/themes/base/TAccount.less +78 -73
- package/src/sap/suite/ui/commons/themes/base/TargetFilter.less +50 -58
- package/src/sap/suite/ui/commons/themes/base/ThingCollection.less +18 -13
- package/src/sap/suite/ui/commons/themes/base/ThreePanelThingViewer.less +14 -14
- package/src/sap/suite/ui/commons/themes/base/TileContent2X2.less +9 -13
- package/src/sap/suite/ui/commons/themes/base/Timeline.less +16 -19
- package/src/sap/suite/ui/commons/themes/base/TimelineItem.less +95 -103
- package/src/sap/suite/ui/commons/themes/base/UnifiedThingGroup.less +7 -9
- package/src/sap/suite/ui/commons/themes/base/UnifiedThingInspector.less +12 -9
- package/src/sap/suite/ui/commons/themes/base/VerticalNavigationBar.less +10 -15
- package/src/sap/suite/ui/commons/themes/base/ViewRepeater.less +8 -9
- package/src/sap/suite/ui/commons/themes/base/library.source.less +0 -2
- package/src/sap/suite/ui/commons/themes/sap_fiori_3/MicroProcessFlow.less +9 -3
- package/src/sap/suite/ui/commons/themes/sap_fiori_3/ProcessFlowConnection.less +14 -7
- package/src/sap/suite/ui/commons/themes/sap_fiori_3/ProcessFlowConnectionLabel.less +38 -35
- package/src/sap/suite/ui/commons/themes/sap_fiori_3/ProcessFlowLaneHeader.less +29 -30
- package/src/sap/suite/ui/commons/themes/sap_fiori_3/ProcessFlowNode.less +158 -102
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_dark/MicroProcessFlow.less +9 -3
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_dark/ProcessFlowConnection.less +14 -7
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_dark/ProcessFlowConnectionLabel.less +38 -35
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_dark/ProcessFlowLaneHeader.less +30 -31
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_dark/ProcessFlowNode.less +157 -101
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_hcb/ProcessFlowConnection.less +14 -7
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_hcb/ProcessFlowConnectionLabel.less +38 -35
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_hcb/ProcessFlowLaneHeader.less +30 -31
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_hcb/ProcessFlowNode.less +147 -101
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_hcw/ProcessFlowConnection.less +14 -7
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_hcw/ProcessFlowConnectionLabel.less +38 -35
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_hcw/ProcessFlowLaneHeader.less +30 -31
- package/src/sap/suite/ui/commons/themes/sap_fiori_3_hcw/ProcessFlowNode.less +158 -102
- package/src/sap/suite/ui/commons/themes/sap_horizon/MicroProcessFlow.less +5 -0
- package/src/sap/suite/ui/commons/themes/sap_horizon/NetworkLine.less +12 -8
- package/src/sap/suite/ui/commons/themes/sap_horizon/ProcessFlowConnection.less +17 -10
- package/src/sap/suite/ui/commons/themes/sap_horizon/ProcessFlowConnectionLabel.less +154 -133
- package/src/sap/suite/ui/commons/themes/sap_horizon/ProcessFlowLaneHeader.less +30 -32
- package/src/sap/suite/ui/commons/themes/sap_horizon/ProcessFlowNode.less +113 -214
- package/src/sap/suite/ui/commons/themes/sap_horizon/TimelineItem.less +43 -39
- package/src/sap/suite/ui/commons/themes/sap_horizon_dark/MicroProcessFlow.less +5 -0
- package/src/sap/suite/ui/commons/themes/sap_horizon_dark/NetworkLine.less +12 -12
- package/src/sap/suite/ui/commons/themes/sap_horizon_dark/ProcessFlowConnection.less +17 -10
- package/src/sap/suite/ui/commons/themes/sap_horizon_dark/ProcessFlowConnectionLabel.less +154 -133
- package/src/sap/suite/ui/commons/themes/sap_horizon_dark/ProcessFlowLaneHeader.less +30 -31
- package/src/sap/suite/ui/commons/themes/sap_horizon_dark/ProcessFlowNode.less +114 -216
- package/src/sap/suite/ui/commons/themes/sap_horizon_dark/TimelineItem.less +41 -39
- package/src/sap/suite/ui/commons/themes/sap_horizon_hcb/MicroProcessFlow.less +4 -4
- package/src/sap/suite/ui/commons/themes/sap_horizon_hcb/ProcessFlowConnection.less +17 -10
- package/src/sap/suite/ui/commons/themes/sap_horizon_hcb/ProcessFlowConnectionLabel.less +153 -131
- package/src/sap/suite/ui/commons/themes/sap_horizon_hcb/ProcessFlowLaneHeader.less +29 -30
- package/src/sap/suite/ui/commons/themes/sap_horizon_hcb/ProcessFlowNode.less +159 -103
- package/src/sap/suite/ui/commons/themes/sap_horizon_hcb/TimelineItem.less +41 -39
- package/src/sap/suite/ui/commons/themes/sap_horizon_hcw/MicroProcessFlow.less +4 -4
- package/src/sap/suite/ui/commons/themes/sap_horizon_hcw/ProcessFlowConnection.less +16 -9
- package/src/sap/suite/ui/commons/themes/sap_horizon_hcw/ProcessFlowConnectionLabel.less +153 -131
- package/src/sap/suite/ui/commons/themes/sap_horizon_hcw/ProcessFlowLaneHeader.less +29 -30
- package/src/sap/suite/ui/commons/themes/sap_horizon_hcw/ProcessFlowNode.less +157 -101
- package/src/sap/suite/ui/commons/themes/sap_horizon_hcw/TimelineItem.less +41 -39
- package/src/sap/suite/ui/commons/windowmessages/CollaborationMessageConsumer.js +3 -3
- package/src/sap/suite/ui/commons/themes/base/DateRangeSlider.less +0 -3
- package/src/sap/suite/ui/commons/themes/base/MonitoringTile.less +0 -3
package/package.json
CHANGED
|
@@ -134,7 +134,7 @@ sap.ui.define([
|
|
|
134
134
|
* @extends sap.ui.core.Control
|
|
135
135
|
*
|
|
136
136
|
* @author SAP SE
|
|
137
|
-
* @version 1.
|
|
137
|
+
* @version 1.147.0
|
|
138
138
|
* @since 1.56.0
|
|
139
139
|
*
|
|
140
140
|
* @constructor
|
|
@@ -345,7 +345,19 @@ sap.ui.define([
|
|
|
345
345
|
/**
|
|
346
346
|
* This event is fired after the expression is validated.
|
|
347
347
|
*/
|
|
348
|
-
afterValidation: {}
|
|
348
|
+
afterValidation: {},
|
|
349
|
+
/**
|
|
350
|
+
* This event is triggered when the focus leaves the input field.
|
|
351
|
+
* @param {string} value The current expression value
|
|
352
|
+
* @param {int} position The cursor position in the expression
|
|
353
|
+
* @since 1.146
|
|
354
|
+
*/
|
|
355
|
+
focusChange: {
|
|
356
|
+
parameters: {
|
|
357
|
+
value: "String",
|
|
358
|
+
position: "int"
|
|
359
|
+
}
|
|
360
|
+
}
|
|
349
361
|
}
|
|
350
362
|
},
|
|
351
363
|
renderer: {
|
|
@@ -441,6 +453,11 @@ sap.ui.define([
|
|
|
441
453
|
aItems = this._oInput._stringToItems(sText),
|
|
442
454
|
iPosition = oEvent.getParameter("position");
|
|
443
455
|
|
|
456
|
+
// Preserve manually-set Literal types when items move positions
|
|
457
|
+
// Only for unique keys (not duplicates) to avoid the bug where
|
|
458
|
+
// all items with same key become Literals
|
|
459
|
+
this._preserveUniqueLiteralTypes(aItems);
|
|
460
|
+
|
|
444
461
|
this._oExpressionBuilder._smartRender(aItems);
|
|
445
462
|
this._setExpression(this._oInput._convertEmptyHashes(sText));
|
|
446
463
|
|
|
@@ -456,11 +473,65 @@ sap.ui.define([
|
|
|
456
473
|
|
|
457
474
|
this._enableOrDisableExpandAllButton();
|
|
458
475
|
this.fireChange();
|
|
476
|
+
}.bind(this),
|
|
477
|
+
focusChange: function (oEvent) {
|
|
478
|
+
this.fireFocusChange({
|
|
479
|
+
value: oEvent.getParameter("value"),
|
|
480
|
+
position: oEvent.getParameter("position")
|
|
481
|
+
});
|
|
459
482
|
}.bind(this)
|
|
460
483
|
});
|
|
461
484
|
this.addDependent(this._oInput);
|
|
462
485
|
};
|
|
463
486
|
|
|
487
|
+
/**
|
|
488
|
+
* Preserves manually-set Literal types when items move positions (e.g., adding brackets).
|
|
489
|
+
* Only applies to keys that appear EXACTLY ONCE in both existing and new items.
|
|
490
|
+
* This prevents the bug where multiple items with the same key all become Literals
|
|
491
|
+
* when only one of them was manually converted.
|
|
492
|
+
* @param {array} aNewItems Array of new items to process
|
|
493
|
+
* @private
|
|
494
|
+
*/
|
|
495
|
+
CalculationBuilder.prototype._preserveUniqueLiteralTypes = function (aNewItems) {
|
|
496
|
+
var aExistingItems = this._oExpressionBuilder.getItems();
|
|
497
|
+
|
|
498
|
+
// Count occurrences of each key in existing and new items
|
|
499
|
+
var mExistingKeyCounts = {};
|
|
500
|
+
var mNewKeyCounts = {};
|
|
501
|
+
var mLiteralKeys = {}; // Track which keys are manually-set Literals
|
|
502
|
+
|
|
503
|
+
aExistingItems.forEach(function (oItem) {
|
|
504
|
+
var sKey = oItem.getKey();
|
|
505
|
+
mExistingKeyCounts[sKey] = (mExistingKeyCounts[sKey] || 0) + 1;
|
|
506
|
+
|
|
507
|
+
// Track manually-set Literals
|
|
508
|
+
if (oItem._sType === ItemType.Literal) {
|
|
509
|
+
mLiteralKeys[sKey] = true;
|
|
510
|
+
}
|
|
511
|
+
});
|
|
512
|
+
|
|
513
|
+
aNewItems.forEach(function (oItem) {
|
|
514
|
+
var sKey = oItem.getKey();
|
|
515
|
+
mNewKeyCounts[sKey] = (mNewKeyCounts[sKey] || 0) + 1;
|
|
516
|
+
});
|
|
517
|
+
|
|
518
|
+
// Only preserve Literal type for keys that:
|
|
519
|
+
// 1. Appear exactly ONCE in existing items as a Literal
|
|
520
|
+
// 2. Appear exactly ONCE in new items
|
|
521
|
+
// This ensures we're preserving the same logical item that moved, not duplicates
|
|
522
|
+
aNewItems.forEach(function (oNewItem) {
|
|
523
|
+
var sKey = oNewItem.getKey();
|
|
524
|
+
|
|
525
|
+
if (mLiteralKeys[sKey] &&
|
|
526
|
+
mExistingKeyCounts[sKey] === 1 &&
|
|
527
|
+
mNewKeyCounts[sKey] === 1 &&
|
|
528
|
+
(!oNewItem._sType || oNewItem._sType === "")) {
|
|
529
|
+
// This is a unique item that was manually set as Literal and has moved position
|
|
530
|
+
oNewItem._sType = ItemType.Literal;
|
|
531
|
+
}
|
|
532
|
+
});
|
|
533
|
+
};
|
|
534
|
+
|
|
464
535
|
CalculationBuilder.prototype._expressionChanged = function () {
|
|
465
536
|
var sPlainText = "";
|
|
466
537
|
|
|
@@ -501,7 +572,8 @@ sap.ui.define([
|
|
|
501
572
|
this._oInput._aVariables = this.getVariables();
|
|
502
573
|
|
|
503
574
|
if (this._bExpressionSet) {
|
|
504
|
-
this.
|
|
575
|
+
var aItems = this._oInput._stringToItems(this._sExpressionDirectValue);
|
|
576
|
+
this._oExpressionBuilder._setItems(aItems);
|
|
505
577
|
}
|
|
506
578
|
this._bExpressionSet = false;
|
|
507
579
|
this._sExpressionDirectValue = "";
|
|
@@ -868,10 +940,17 @@ sap.ui.define([
|
|
|
868
940
|
return ItemType.Variable;
|
|
869
941
|
}
|
|
870
942
|
|
|
871
|
-
if
|
|
943
|
+
// Check if default function exists and is not disabled
|
|
944
|
+
var bDefaultExistsInMap = this._findInArray(sKey, Object.keys(FunctionType));
|
|
945
|
+
var bIsDefaultDisabled = !!this._mDisabledTokens[sKey];
|
|
946
|
+
|
|
947
|
+
// If default function exists and is NOT disabled, return Function type
|
|
948
|
+
// (enabled defaults take precedence over custom functions with same key)
|
|
949
|
+
if (bDefaultExistsInMap && !bIsDefaultDisabled) {
|
|
872
950
|
return ItemType.Function;
|
|
873
951
|
}
|
|
874
952
|
|
|
953
|
+
// If default is disabled or doesn't exist, check for custom function
|
|
875
954
|
if (this._findInChildren(sKey, "Function")) {
|
|
876
955
|
return ItemType.CustomFunction;
|
|
877
956
|
}
|
|
@@ -148,7 +148,7 @@ sap.ui.define([
|
|
|
148
148
|
* @extends sap.ui.core.Control
|
|
149
149
|
*
|
|
150
150
|
* @author SAP SE
|
|
151
|
-
* @version 1.
|
|
151
|
+
* @version 1.147.0
|
|
152
152
|
* @since 1.56.0
|
|
153
153
|
*
|
|
154
154
|
* @constructor
|
|
@@ -1109,7 +1109,8 @@ sap.ui.define([
|
|
|
1109
1109
|
bIsTemplate = this._oCurrentItem && !this._oCurrentItem.getKey(),
|
|
1110
1110
|
oParent = this.getParent(),
|
|
1111
1111
|
oFunction = mArguments.functionObject,
|
|
1112
|
-
aItems = this.getItems()
|
|
1112
|
+
aItems = this.getItems(),
|
|
1113
|
+
aNewItems;
|
|
1113
1114
|
|
|
1114
1115
|
var fnProcessFunction = function () {
|
|
1115
1116
|
var aItems = mArguments.type === ItemType.Function ? oFunction.template : oParent._convertToTemplate(oFunction.getItems());
|
|
@@ -1134,7 +1135,11 @@ sap.ui.define([
|
|
|
1134
1135
|
}.bind(this);
|
|
1135
1136
|
|
|
1136
1137
|
if (bIsNewItem) {
|
|
1137
|
-
|
|
1138
|
+
// For literals, pass type information to preserve it during re-render
|
|
1139
|
+
// For other types, keep existing behavior (pass as string)
|
|
1140
|
+
aNewItems = (mArguments.type === ItemType.Literal) ?
|
|
1141
|
+
[{ key: mArguments.key, _sType: mArguments.type }] :
|
|
1142
|
+
[mArguments.key];
|
|
1138
1143
|
|
|
1139
1144
|
if (oFunction) {
|
|
1140
1145
|
fnProcessFunction();
|
|
@@ -1142,18 +1147,34 @@ sap.ui.define([
|
|
|
1142
1147
|
|
|
1143
1148
|
fnRender();
|
|
1144
1149
|
} else {
|
|
1145
|
-
|
|
1146
|
-
this._oCurrentItem.setKey(mArguments.key);
|
|
1150
|
+
var oCurrentItem = this._oCurrentItem;
|
|
1147
1151
|
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
}
|
|
1152
|
+
// Pass type as third parameter to preserve it after _reset()
|
|
1153
|
+
oCurrentItem.setKey(mArguments.key, false, mArguments.type);
|
|
1151
1154
|
|
|
1152
1155
|
if (bIsTemplate && oFunction) {
|
|
1153
|
-
|
|
1156
|
+
aNewItems = [];
|
|
1154
1157
|
this._iCurrentIndex = fnFindCurrentItem();
|
|
1155
1158
|
fnProcessFunction();
|
|
1156
1159
|
fnRender();
|
|
1160
|
+
} else {
|
|
1161
|
+
// For non-template items, manually update the DOM to reflect changes
|
|
1162
|
+
var oRm = new RenderManager();
|
|
1163
|
+
var $item = oCurrentItem.$();
|
|
1164
|
+
|
|
1165
|
+
if ($item && $item[0]) {
|
|
1166
|
+
// Update InvisibleText with new label (no destroy/recreate needed)
|
|
1167
|
+
var sCurrentLabel = oCurrentItem._getLabel();
|
|
1168
|
+
if (oCurrentItem._oCalculationBuilderItemText) {
|
|
1169
|
+
oCurrentItem._oCalculationBuilderItemText.setText(sCurrentLabel);
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
oCurrentItem._innerRender(oRm, $item[0]);
|
|
1173
|
+
$item.attr("class", oCurrentItem._getClass(null, oRm, true));
|
|
1174
|
+
|
|
1175
|
+
// Re-attach event handlers after DOM update
|
|
1176
|
+
oCurrentItem._setEvents();
|
|
1177
|
+
}
|
|
1157
1178
|
}
|
|
1158
1179
|
}
|
|
1159
1180
|
|
|
@@ -1280,6 +1301,11 @@ sap.ui.define([
|
|
|
1280
1301
|
|
|
1281
1302
|
CalculationBuilderExpression.prototype._getKeys = function () {
|
|
1282
1303
|
return this.getItems().map(function (oItem) {
|
|
1304
|
+
// Preserve type information for literals to prevent re-evaluation
|
|
1305
|
+
// when items are re-rendered (e.g., when adding an operator after a literal)
|
|
1306
|
+
if (oItem._sType === ItemType.Literal) {
|
|
1307
|
+
return { key: oItem.getKey(), _sType: oItem._sType };
|
|
1308
|
+
}
|
|
1283
1309
|
return oItem.getKey();
|
|
1284
1310
|
});
|
|
1285
1311
|
};
|
|
@@ -2046,10 +2072,26 @@ sap.ui.define([
|
|
|
2046
2072
|
};
|
|
2047
2073
|
|
|
2048
2074
|
CalculationBuilderExpression.prototype._convertFromNewItem = function (oItem) {
|
|
2049
|
-
|
|
2050
|
-
|
|
2075
|
+
if (typeof oItem === "object") {
|
|
2076
|
+
// Check if it's already a CalculationBuilderItem
|
|
2077
|
+
if (oItem.getKey) {
|
|
2078
|
+
return oItem;
|
|
2079
|
+
}
|
|
2080
|
+
// Plain object with key and optional _sType (for literals only)
|
|
2081
|
+
var oNewItem = new CalculationBuilderItem({
|
|
2082
|
+
key: oItem.key
|
|
2083
|
+
});
|
|
2084
|
+
// Only transfer type for literals (consistent with _smartRender)
|
|
2085
|
+
if (oItem._sType !== undefined && oItem._sType === ItemType.Literal) {
|
|
2086
|
+
oNewItem._sType = oItem._sType;
|
|
2087
|
+
}
|
|
2088
|
+
return oNewItem;
|
|
2089
|
+
} else {
|
|
2090
|
+
// String key (existing behavior for non-literals)
|
|
2091
|
+
return new CalculationBuilderItem({
|
|
2051
2092
|
key: oItem
|
|
2052
2093
|
});
|
|
2094
|
+
}
|
|
2053
2095
|
};
|
|
2054
2096
|
|
|
2055
2097
|
CalculationBuilderExpression.prototype._showErrorIcon = function () {
|
|
@@ -2101,15 +2143,46 @@ sap.ui.define([
|
|
|
2101
2143
|
for (var i = 0; i < aNewItems.length; i++) {
|
|
2102
2144
|
var oItem = aItems[i],
|
|
2103
2145
|
oNewItem = aNewItems[i],
|
|
2104
|
-
sKey
|
|
2146
|
+
sKey, sType;
|
|
2147
|
+
|
|
2148
|
+
// Extract key (standard logic for all types)
|
|
2149
|
+
if (typeof oNewItem === "object" && oNewItem.getKey) {
|
|
2150
|
+
sKey = oNewItem.getKey();
|
|
2151
|
+
} else if (typeof oNewItem === "object" && oNewItem.key) {
|
|
2152
|
+
sKey = oNewItem.key; // For literal plain objects: {key: "1000", _sType: "Literal"}
|
|
2153
|
+
} else {
|
|
2154
|
+
sKey = oNewItem; // String
|
|
2155
|
+
}
|
|
2156
|
+
|
|
2157
|
+
// Extract type: only preserve when explicitly passed in new item
|
|
2158
|
+
if (oNewItem._sType !== undefined && oNewItem._sType === ItemType.Literal) {
|
|
2159
|
+
// Literal with explicit type (from popup submission)
|
|
2160
|
+
sType = oNewItem._sType;
|
|
2161
|
+
} else {
|
|
2162
|
+
// All other cases - let natural type detection happen
|
|
2105
2163
|
sType = oNewItem._sType ? oNewItem._sType : "";
|
|
2164
|
+
}
|
|
2106
2165
|
|
|
2107
2166
|
if (!oItem) {
|
|
2108
2167
|
fnAddNew(aNewItems[i]);
|
|
2109
2168
|
} else if (oItem.getKey() !== sKey || oItem._sType !== sType) {
|
|
2110
|
-
|
|
2169
|
+
// CRITICAL: Preserve manually-set Literal type when keys match
|
|
2170
|
+
// This handles the case where user manually converts a variable to literal,
|
|
2171
|
+
// then types additional characters in text input (e.g., "1000" -> "+")
|
|
2172
|
+
// Without this, the literal would revert to variable on re-parse
|
|
2173
|
+
if (oItem.getKey() === sKey &&
|
|
2174
|
+
oItem._sType === ItemType.Literal &&
|
|
2175
|
+
(!sType || sType === "")) {
|
|
2176
|
+
// Keep existing literal type when:
|
|
2177
|
+
// 1. Keys match (same value)
|
|
2178
|
+
// 2. Existing item is a Literal (manually set)
|
|
2179
|
+
// 3. New item has no explicit type (from text input parser)
|
|
2180
|
+
sType = ItemType.Literal;
|
|
2181
|
+
}
|
|
2111
2182
|
|
|
2112
|
-
|
|
2183
|
+
// Pass type as third parameter to setKey to preserve it after _reset()
|
|
2184
|
+
// This is critical for literals to avoid auto-conversion to variables
|
|
2185
|
+
oItem.setKey(sKey, true, sType);
|
|
2113
2186
|
|
|
2114
2187
|
var $item = oItem.$();
|
|
2115
2188
|
|
|
@@ -110,6 +110,12 @@ sap.ui.define([
|
|
|
110
110
|
position: "integer",
|
|
111
111
|
validate: "boolean"
|
|
112
112
|
}
|
|
113
|
+
},
|
|
114
|
+
focusChange: {
|
|
115
|
+
parameters: {
|
|
116
|
+
value: "String",
|
|
117
|
+
position: "int"
|
|
118
|
+
}
|
|
113
119
|
}
|
|
114
120
|
}
|
|
115
121
|
},
|
|
@@ -987,6 +993,11 @@ sap.ui.define([
|
|
|
987
993
|
} else {
|
|
988
994
|
this._showErrorText(false);
|
|
989
995
|
this._validate(false);
|
|
996
|
+
var sCurrentValue = fnGetNodesText(this.$("input")[0], true);
|
|
997
|
+
this.fireFocusChange({
|
|
998
|
+
value: sCurrentValue,
|
|
999
|
+
position: this._iCarretPosition
|
|
1000
|
+
});
|
|
990
1001
|
}
|
|
991
1002
|
};
|
|
992
1003
|
|
|
@@ -40,7 +40,7 @@ sap.ui.define([
|
|
|
40
40
|
* @extends sap.ui.core.Control
|
|
41
41
|
*
|
|
42
42
|
* @author SAP SE
|
|
43
|
-
* @version 1.
|
|
43
|
+
* @version 1.147.0
|
|
44
44
|
* @since 1.56.0
|
|
45
45
|
*
|
|
46
46
|
* @constructor
|
|
@@ -261,11 +261,18 @@ sap.ui.define([
|
|
|
261
261
|
oRm.attr("tabindex", sTabIndexAttr);
|
|
262
262
|
oRm.attr("title", sTooltipAttr);
|
|
263
263
|
oRm.attr("role", "button");
|
|
264
|
+
// Always update label text to reflect current state
|
|
265
|
+
var sCurrentLabel = this._getLabel();
|
|
266
|
+
|
|
264
267
|
if (!this._oCalculationBuilderItemText) {
|
|
265
268
|
this._oCalculationBuilderItemText = new InvisibleText();
|
|
266
269
|
this._oCalculationBuilderItemText.toStatic();
|
|
267
|
-
|
|
270
|
+
// Make it a dependent so it's managed by control lifecycle
|
|
271
|
+
this.addDependent(this._oCalculationBuilderItemText);
|
|
268
272
|
}
|
|
273
|
+
// Update text every time to reflect label changes
|
|
274
|
+
this._oCalculationBuilderItemText.setText(sCurrentLabel);
|
|
275
|
+
|
|
269
276
|
oRm.attr("aria-labelledby", this._oCalculationBuilderItemText.getId());
|
|
270
277
|
oRm.attr("aria-describedby", this._oArrowNavigtionInvisibleText.getId());
|
|
271
278
|
oRm.openEnd();
|
|
@@ -600,11 +607,17 @@ sap.ui.define([
|
|
|
600
607
|
this._sType = "";
|
|
601
608
|
this._sLabel = "";
|
|
602
609
|
this._oVariable = "";
|
|
610
|
+
// InvisibleText is now a dependent - no need to destroy, just update text later
|
|
603
611
|
};
|
|
604
612
|
|
|
605
|
-
CalculationBuilderItem.prototype.setKey = function (sKey, bSuppressInvalidation) {
|
|
613
|
+
CalculationBuilderItem.prototype.setKey = function (sKey, bSuppressInvalidation, sType) {
|
|
606
614
|
this._reset();
|
|
607
615
|
|
|
616
|
+
// Restore type after reset if explicitly provided (for literal preservation)
|
|
617
|
+
if (sType !== undefined) {
|
|
618
|
+
this._sType = sType;
|
|
619
|
+
}
|
|
620
|
+
|
|
608
621
|
this.setProperty("key", this._sanitizeKey(sKey), bSuppressInvalidation);
|
|
609
622
|
|
|
610
623
|
// api change after all rendered, we need to recreate all items and input
|
|
@@ -30,11 +30,14 @@ sap.ui.define([
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
|
-
renderer:
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
renderer: {
|
|
34
|
+
apiVersion: 2,
|
|
35
|
+
render (oRm, oProxy) {
|
|
36
|
+
var sItem = oProxy.getAssociation("control"),
|
|
37
|
+
oItem = Element.getElementById(sItem);
|
|
36
38
|
|
|
37
|
-
|
|
39
|
+
oRm.renderControl(oItem);
|
|
40
|
+
}
|
|
38
41
|
}
|
|
39
42
|
});
|
|
40
43
|
|
|
@@ -72,6 +72,9 @@ sap.ui.define([
|
|
|
72
72
|
aLanePositionNodes = oControl._getOrCreateLaneMap();
|
|
73
73
|
aConnectionsBetweenNodes = oControl._getConnectionsMap();
|
|
74
74
|
} catch (exc) {
|
|
75
|
+
oRm.close("div"); //Scroll content.
|
|
76
|
+
oRm.close("div"); //Scroll container.
|
|
77
|
+
oRm.close("div"); //Whole control.
|
|
75
78
|
oControl._handleException(exc);
|
|
76
79
|
return;
|
|
77
80
|
}
|
|
@@ -14,13 +14,14 @@ sap.ui.define([
|
|
|
14
14
|
"sap/ui/core/Fragment",
|
|
15
15
|
"sap/ui/model/json/JSONModel",
|
|
16
16
|
"sap/m/library",
|
|
17
|
+
"sap/m/MessageToast",
|
|
17
18
|
"sap/ui/core/Lib",
|
|
18
19
|
"sap/ui/core/Core",
|
|
19
20
|
"sap/ui/model/resource/ResourceModel",
|
|
20
21
|
"./CollaborationContactInfoHelper",
|
|
21
22
|
"sap/ui/performance/trace/FESRHelper",
|
|
22
23
|
"sap/ui/core/Element"
|
|
23
|
-
], function(Controller, Fragment, JSONModel, mLibrary, Library, Core, ResourceModel, CollaborationContactInfoHelper, FESRHelper, Element) {
|
|
24
|
+
], function(Controller, Fragment, JSONModel, mLibrary, MessageToast, Library, Core, ResourceModel, CollaborationContactInfoHelper, FESRHelper, Element) {
|
|
24
25
|
"use strict";
|
|
25
26
|
|
|
26
27
|
var I18_BUNDLE = Library.getResourceBundleFor("sap.suite.ui.commons");
|
|
@@ -335,6 +336,9 @@ sap.ui.define([
|
|
|
335
336
|
handleCopyEmailPress: function() {
|
|
336
337
|
if (typeof window !== "undefined" && window.navigator && window.navigator.clipboard && window.navigator.clipboard.writeText) {
|
|
337
338
|
window.navigator.clipboard.writeText(this.sEmail);
|
|
339
|
+
MessageToast.show(I18_BUNDLE.getText("POPOVER_CONTACT_COPY_EMAIL_SUCCESS"));
|
|
340
|
+
} else {
|
|
341
|
+
MessageToast.show(I18_BUNDLE.getText("POPOVER_CONTACT_COPY_EMAIL_ERROR"));
|
|
338
342
|
}
|
|
339
343
|
}
|
|
340
344
|
});
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
placement="Auto"
|
|
9
9
|
showHeader="false"
|
|
10
10
|
contentWidth="21.875rem"
|
|
11
|
-
afterClose="afterClose"
|
|
12
|
-
afterOpen="afterOpen">
|
|
11
|
+
afterClose=".afterClose"
|
|
12
|
+
afterOpen=".afterOpen">
|
|
13
13
|
<VBox visible="{userData>/isUserExistsInTeams}">
|
|
14
14
|
<HBox>
|
|
15
15
|
<Avatar id="avatar" src="{= ${userData>/photo} ? ${userData>/photo} : 'sap-icon://person-placeholder' }"
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<Title text="{i18n>COLLABORATION_MSTEAMS_SHARE}" level="H5"/>
|
|
25
25
|
<ToolbarSpacer/>
|
|
26
26
|
<Button
|
|
27
|
-
press="handleMSTeamsPress"
|
|
27
|
+
press=".handleMSTeamsPress"
|
|
28
28
|
macrodata:email="{userData>/mail}"
|
|
29
29
|
macrodata:type="chat"
|
|
30
30
|
tooltip="{i18n>CHAT_BUTTON_TOOLTIP}"
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
fesr:press="MST:ContactAction"
|
|
35
35
|
/>
|
|
36
36
|
<Button
|
|
37
|
-
press="handleMSTeamsPress"
|
|
37
|
+
press=".handleMSTeamsPress"
|
|
38
38
|
macrodata:email="{userData>/mail}"
|
|
39
39
|
macrodata:type="videoCall"
|
|
40
40
|
tooltip="{i18n>VIDEOCALL_BUTTON_TOOLTIP}"
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
fesr:press="MST:ContactAction"
|
|
45
45
|
/>
|
|
46
46
|
<Button
|
|
47
|
-
press="handleMSTeamsPress"
|
|
47
|
+
press=".handleMSTeamsPress"
|
|
48
48
|
macrodata:email="{userData>/mail}"
|
|
49
49
|
macrodata:type="call"
|
|
50
50
|
tooltip="{i18n>CALL_BUTTON_TOOLTIP}"
|
|
@@ -71,9 +71,9 @@
|
|
|
71
71
|
|
|
72
72
|
<VBox visible="{= !!${userData>/mail}}" class="sapUiTinyMarginTop sapUiTinyMarginBottom" >
|
|
73
73
|
<Label id="UserEmail" text="{i18n>POPOVER_CONTACT_SECTION_EMAIL}:" />
|
|
74
|
-
<HBox>
|
|
75
|
-
<Link text="{userData>/mail}" href="{path: 'userData>/mail', formatter: '.formatUri'}" ariaLabelledBy="UserEmail"
|
|
76
|
-
<core:Icon src="sap-icon://copy" press="handleCopyEmailPress" decorative="false" tooltip="{i18n>POPOVER_CONTACT_COPY_EMAIL}"/>
|
|
74
|
+
<HBox alignItems="Center" justifyContent="SpaceBetween">
|
|
75
|
+
<Link text="{userData>/mail}" href="{path: 'userData>/mail', formatter: '.formatUri'}" ariaLabelledBy="UserEmail"/>
|
|
76
|
+
<core:Icon src="sap-icon://copy" press=".handleCopyEmailPress" decorative="false" tooltip="{i18n>POPOVER_CONTACT_COPY_EMAIL}" class="sapThemeHighlight-asColor"/>
|
|
77
77
|
</HBox>
|
|
78
78
|
</VBox>
|
|
79
79
|
|
|
@@ -87,8 +87,8 @@
|
|
|
87
87
|
<IllustratedMessage illustrationType="tnt-NoUsers" illustrationSize="Dialog" title="{i18n>POPOVER_NO_CONTACT_TITLE}"
|
|
88
88
|
description="{i18n>POPOVER_NO_CONTACT_DESCRIPTION}" >
|
|
89
89
|
<additionalContent>
|
|
90
|
-
<Button id="mail" text="{i18n>POPOVER_CONTINUE}" press="afterContinue" type="Emphasized" class="sapUiTinyMarginEnd"/>
|
|
91
|
-
<Button text="{i18n>POPOVER_CANCEL}" press="afterClose"/>
|
|
90
|
+
<Button id="mail" text="{i18n>POPOVER_CONTINUE}" press=".afterContinue" type="Emphasized" class="sapUiTinyMarginEnd"/>
|
|
91
|
+
<Button text="{i18n>POPOVER_CANCEL}" press=".afterClose"/>
|
|
92
92
|
</additionalContent>
|
|
93
93
|
</IllustratedMessage >
|
|
94
94
|
</HBox>
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
initialFocus="action"
|
|
11
11
|
showHeader="false"
|
|
12
12
|
contentWidth="25rem"
|
|
13
|
-
afterClose="afterClose">
|
|
13
|
+
afterClose=".afterClose">
|
|
14
14
|
<VBox>
|
|
15
15
|
<HBox>
|
|
16
16
|
<Title text="{i18n>COLLABORATION_MSTEAMS_SHARE}" level="H5" class="sapUiTinyMarginTop"/>
|
|
17
17
|
<Button
|
|
18
|
-
press="handleMSTeamsPress"
|
|
18
|
+
press=".handleMSTeamsPress"
|
|
19
19
|
macrodata:email="{userData>/mail}"
|
|
20
20
|
macrodata:type="chat"
|
|
21
21
|
tooltip="{i18n>CHAT_BUTTON_TOOLTIP}"
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
fesr:press="MST:ContactAction"
|
|
26
26
|
/>
|
|
27
27
|
<Button
|
|
28
|
-
press="handleMSTeamsPress"
|
|
28
|
+
press=".handleMSTeamsPress"
|
|
29
29
|
macrodata:email="{userData>/mail}"
|
|
30
30
|
macrodata:type="videoCall"
|
|
31
31
|
tooltip="{i18n>VIDEOCALL_BUTTON_TOOLTIP}"
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
fesr:press="MST:ContactAction"
|
|
36
36
|
/>
|
|
37
37
|
<Button
|
|
38
|
-
press="handleMSTeamsPress"
|
|
38
|
+
press=".handleMSTeamsPress"
|
|
39
39
|
macrodata:email="{userData>/mail}"
|
|
40
40
|
macrodata:type="call"
|
|
41
41
|
tooltip="{i18n>CALL_BUTTON_TOOLTIP}"
|
|
@@ -46,12 +46,14 @@
|
|
|
46
46
|
/>
|
|
47
47
|
</HBox>
|
|
48
48
|
|
|
49
|
-
<HBox class="sapUiTinyMarginTop">
|
|
50
|
-
<
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
<HBox class="sapUiTinyMarginTop" alignItems="Center" justifyContent="SpaceBetween">
|
|
50
|
+
<HBox alignItems="Center">
|
|
51
|
+
<core:Icon
|
|
52
|
+
src="sap-icon://email">
|
|
53
|
+
</core:Icon>
|
|
54
|
+
<Link text="{userData>/mail}" href="{parts: [{path: 'userData>/mail'}, {path: 'userData>/params'}], formatter: '.formatUri'}" class="sapUiSmallMarginBegin sapUiTinyMarginBottom" />
|
|
55
|
+
</HBox>
|
|
56
|
+
<core:Icon src="sap-icon://copy" press=".handleCopyEmailPress" decorative="false" tooltip="{i18n>POPOVER_CONTACT_COPY_EMAIL}" class="sapThemeHighlight-asColor"/>
|
|
55
57
|
</HBox>
|
|
56
58
|
</VBox>
|
|
57
59
|
</Popover>
|