@openui5/sap.f 1.115.1 → 1.117.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.
Files changed (139) hide show
  1. package/.reuse/dep5 +0 -5
  2. package/THIRDPARTY.txt +1 -7
  3. package/package.json +4 -4
  4. package/src/sap/f/.library +1 -1
  5. package/src/sap/f/Avatar.js +1 -1
  6. package/src/sap/f/AvatarGroup.js +1 -1
  7. package/src/sap/f/AvatarGroupItem.js +1 -1
  8. package/src/sap/f/CalendarAppointmentInCard.js +1 -1
  9. package/src/sap/f/CalendarInCard.js +1 -1
  10. package/src/sap/f/Card.js +1 -1
  11. package/src/sap/f/CardBase.js +1 -1
  12. package/src/sap/f/DynamicPage.js +38 -4
  13. package/src/sap/f/DynamicPageAccessibleLandmarkInfo.js +1 -1
  14. package/src/sap/f/DynamicPageHeader.js +1 -1
  15. package/src/sap/f/DynamicPageTitle.js +6 -2
  16. package/src/sap/f/DynamicPageTitleRenderer.js +2 -2
  17. package/src/sap/f/FlexibleColumnLayout.js +1 -1
  18. package/src/sap/f/FlexibleColumnLayoutAccessibleLandmarkInfo.js +1 -1
  19. package/src/sap/f/FlexibleColumnLayoutSemanticHelper.js +1 -1
  20. package/src/sap/f/GridContainer.js +1 -1
  21. package/src/sap/f/GridContainerItemLayoutData.js +1 -1
  22. package/src/sap/f/GridContainerSettings.js +2 -2
  23. package/src/sap/f/GridList.js +1 -1
  24. package/src/sap/f/GridListItem.js +1 -1
  25. package/src/sap/f/GridNavigationMatrix.js +61 -33
  26. package/src/sap/f/IllustratedMessage.js +1 -1
  27. package/src/sap/f/Illustration.js +1 -1
  28. package/src/sap/f/PlanningCalendarInCardLegend.js +1 -1
  29. package/src/sap/f/ProductSwitch.js +1 -1
  30. package/src/sap/f/ProductSwitchItem.js +1 -1
  31. package/src/sap/f/SearchManager.js +1 -1
  32. package/src/sap/f/ShellBar.js +1 -1
  33. package/src/sap/f/SidePanel.js +17 -5
  34. package/src/sap/f/SidePanelItem.js +1 -1
  35. package/src/sap/f/SidePanelRenderer.js +1 -1
  36. package/src/sap/f/cards/BaseHeader.js +7 -1
  37. package/src/sap/f/cards/Header.js +9 -1
  38. package/src/sap/f/cards/HeaderRenderer.js +2 -2
  39. package/src/sap/f/cards/NumericHeader.js +1 -1
  40. package/src/sap/f/cards/NumericHeaderRenderer.js +1 -1
  41. package/src/sap/f/cards/NumericIndicators.js +1 -1
  42. package/src/sap/f/cards/NumericSideIndicator.js +1 -1
  43. package/src/sap/f/cards/loading/AnalyticalPlaceholder.js +1 -1
  44. package/src/sap/f/cards/loading/CalendarPlaceholder.js +1 -1
  45. package/src/sap/f/cards/loading/GenericPlaceholder.js +1 -1
  46. package/src/sap/f/cards/loading/ListPlaceholder.js +1 -1
  47. package/src/sap/f/cards/loading/ObjectPlaceholder.js +1 -1
  48. package/src/sap/f/cards/loading/PlaceholderBase.js +1 -1
  49. package/src/sap/f/cards/loading/TablePlaceholder.js +1 -1
  50. package/src/sap/f/cards/loading/TimelinePlaceholder.js +1 -1
  51. package/src/sap/f/changeHandler/MoveDynamicPageTitleActions.js +1 -1
  52. package/src/sap/f/delegate/GridContainerItemNavigation.js +1 -1
  53. package/src/sap/f/delegate/GridItemNavigation.js +135 -111
  54. package/src/sap/f/dnd/GridDragOver.js +1 -1
  55. package/src/sap/f/dnd/GridDropInfo.js +1 -1
  56. package/src/sap/f/library.js +2 -2
  57. package/src/sap/f/messagebundle.properties +5 -5
  58. package/src/sap/f/messagebundle_ar.properties +2 -2
  59. package/src/sap/f/messagebundle_bg.properties +2 -2
  60. package/src/sap/f/messagebundle_ca.properties +2 -2
  61. package/src/sap/f/messagebundle_cs.properties +2 -2
  62. package/src/sap/f/messagebundle_cy.properties +2 -2
  63. package/src/sap/f/messagebundle_da.properties +3 -3
  64. package/src/sap/f/messagebundle_de.properties +2 -2
  65. package/src/sap/f/messagebundle_el.properties +2 -2
  66. package/src/sap/f/messagebundle_en.properties +2 -2
  67. package/src/sap/f/messagebundle_en_GB.properties +2 -2
  68. package/src/sap/f/messagebundle_en_US_sappsd.properties +2 -2
  69. package/src/sap/f/messagebundle_en_US_saprigi.properties +2 -2
  70. package/src/sap/f/messagebundle_en_US_saptrc.properties +2 -2
  71. package/src/sap/f/messagebundle_es.properties +2 -2
  72. package/src/sap/f/messagebundle_es_MX.properties +2 -2
  73. package/src/sap/f/messagebundle_et.properties +2 -2
  74. package/src/sap/f/messagebundle_fi.properties +2 -2
  75. package/src/sap/f/messagebundle_fr.properties +6 -6
  76. package/src/sap/f/messagebundle_fr_CA.properties +2 -2
  77. package/src/sap/f/messagebundle_hi.properties +2 -2
  78. package/src/sap/f/messagebundle_hr.properties +2 -2
  79. package/src/sap/f/messagebundle_hu.properties +2 -2
  80. package/src/sap/f/messagebundle_id.properties +2 -2
  81. package/src/sap/f/messagebundle_it.properties +2 -2
  82. package/src/sap/f/messagebundle_iw.properties +2 -2
  83. package/src/sap/f/messagebundle_ja.properties +2 -2
  84. package/src/sap/f/messagebundle_kk.properties +2 -2
  85. package/src/sap/f/messagebundle_ko.properties +2 -2
  86. package/src/sap/f/messagebundle_lt.properties +2 -2
  87. package/src/sap/f/messagebundle_lv.properties +2 -2
  88. package/src/sap/f/messagebundle_ms.properties +2 -2
  89. package/src/sap/f/messagebundle_nl.properties +2 -2
  90. package/src/sap/f/messagebundle_no.properties +2 -2
  91. package/src/sap/f/messagebundle_pl.properties +2 -2
  92. package/src/sap/f/messagebundle_pt.properties +2 -2
  93. package/src/sap/f/messagebundle_pt_PT.properties +2 -2
  94. package/src/sap/f/messagebundle_ro.properties +3 -3
  95. package/src/sap/f/messagebundle_ru.properties +2 -2
  96. package/src/sap/f/messagebundle_sh.properties +2 -2
  97. package/src/sap/f/messagebundle_sk.properties +2 -2
  98. package/src/sap/f/messagebundle_sl.properties +2 -2
  99. package/src/sap/f/messagebundle_sv.properties +2 -2
  100. package/src/sap/f/messagebundle_th.properties +2 -2
  101. package/src/sap/f/messagebundle_tr.properties +2 -2
  102. package/src/sap/f/messagebundle_uk.properties +2 -2
  103. package/src/sap/f/messagebundle_vi.properties +2 -2
  104. package/src/sap/f/messagebundle_zh_CN.properties +2 -2
  105. package/src/sap/f/messagebundle_zh_TW.properties +2 -2
  106. package/src/sap/f/semantic/AddAction.js +1 -1
  107. package/src/sap/f/semantic/CloseAction.js +1 -1
  108. package/src/sap/f/semantic/CopyAction.js +1 -1
  109. package/src/sap/f/semantic/DeleteAction.js +1 -1
  110. package/src/sap/f/semantic/DiscussInJamAction.js +1 -1
  111. package/src/sap/f/semantic/EditAction.js +1 -1
  112. package/src/sap/f/semantic/ExitFullScreenAction.js +1 -1
  113. package/src/sap/f/semantic/FavoriteAction.js +1 -1
  114. package/src/sap/f/semantic/FlagAction.js +1 -1
  115. package/src/sap/f/semantic/FooterMainAction.js +1 -1
  116. package/src/sap/f/semantic/FullScreenAction.js +1 -1
  117. package/src/sap/f/semantic/MainAction.js +1 -1
  118. package/src/sap/f/semantic/MessagesIndicator.js +1 -1
  119. package/src/sap/f/semantic/NegativeAction.js +1 -1
  120. package/src/sap/f/semantic/PositiveAction.js +1 -1
  121. package/src/sap/f/semantic/PrintAction.js +1 -1
  122. package/src/sap/f/semantic/SemanticButton.js +1 -1
  123. package/src/sap/f/semantic/SemanticConfiguration.js +3 -3
  124. package/src/sap/f/semantic/SemanticControl.js +1 -1
  125. package/src/sap/f/semantic/SemanticFooter.js +1 -1
  126. package/src/sap/f/semantic/SemanticPage.js +24 -1
  127. package/src/sap/f/semantic/SemanticShareMenu.js +1 -1
  128. package/src/sap/f/semantic/SemanticTitle.js +2 -2
  129. package/src/sap/f/semantic/SemanticToggleButton.js +1 -1
  130. package/src/sap/f/semantic/SendEmailAction.js +1 -1
  131. package/src/sap/f/semantic/SendMessageAction.js +1 -1
  132. package/src/sap/f/semantic/ShareInJamAction.js +1 -1
  133. package/src/sap/f/semantic/TitleMainAction.js +1 -1
  134. package/src/sap/f/shellBar/AdditionalContentSupport.js +1 -1
  135. package/src/sap/f/shellBar/CoPilot.js +1 -1
  136. package/src/sap/f/shellBar/ControlSpacer.js +1 -1
  137. package/src/sap/f/shellBar/Search.js +1 -1
  138. package/src/sap/f/themes/base/Card.less +0 -6
  139. package/ui5.yaml +1 -1
@@ -8,18 +8,21 @@ sap.ui.define([
8
8
  "sap/ui/core/delegate/ItemNavigation",
9
9
  "sap/ui/events/KeyCodes",
10
10
  "sap/base/Log",
11
- "sap/f/library"
11
+ "sap/f/library",
12
+ "sap/f/GridNavigationMatrix"
12
13
  ], function (
13
14
  Element,
14
15
  ItemNavigation,
15
16
  KeyCodes,
16
17
  Log,
17
- library
18
+ library,
19
+ GridNavigationMatrix
18
20
  ) {
19
21
  "use strict";
20
22
 
21
23
  // shortcut for sap.f.NavigationDirection
22
- var NavigationDirection = library.NavigationDirection;
24
+ const NavigationDirection = library.NavigationDirection;
25
+ const PAGE_SIZE = 10;
23
26
 
24
27
  /**
25
28
  * Constructor for a new <code>sap.f.delegate.GridItemNavigation</code>.
@@ -31,7 +34,7 @@ sap.ui.define([
31
34
  *
32
35
  *
33
36
  * @author SAP SE
34
- * @version 1.115.1
37
+ * @version 1.117.0
35
38
  *
36
39
  * @extends sap.ui.core.delegate.ItemNavigation
37
40
  *
@@ -41,20 +44,22 @@ sap.ui.define([
41
44
  */
42
45
  var GridItemNavigation = ItemNavigation.extend("sap.f.delegate.GridItemNavigation");
43
46
 
44
- GridItemNavigation.prototype.resetFocusPosition = function () {
45
- this._mCurrentPosition = null;
46
- };
47
-
47
+ /**
48
+ * @override
49
+ */
48
50
  GridItemNavigation.prototype.onfocusin = function (oEvent) {
49
51
  ItemNavigation.prototype.onfocusin.call(this, oEvent);
50
52
 
51
- var aMatrix = this._getGridInstance().getNavigationMatrix();
53
+ const aMatrix = this._getGridInstance().getNavigationMatrix();
52
54
 
53
55
  if (aMatrix && oEvent.target === this.oDomRef) {
54
56
  this._mCurrentPosition = this._findPositionInMatrix(aMatrix, this.getItemDomRefs().indexOf(this.iFocusedIndex));
55
57
  }
56
58
  };
57
59
 
60
+ /**
61
+ * @override
62
+ */
58
63
  GridItemNavigation.prototype.onsapfocusleave = function (oEvent) {
59
64
  ItemNavigation.prototype.onsapfocusleave.call(this, oEvent);
60
65
 
@@ -63,54 +68,61 @@ sap.ui.define([
63
68
  }
64
69
  };
65
70
 
66
- GridItemNavigation.prototype.ontap = function (oEvent) {
67
- // reset focus position when navigation is performed without keyboard
68
- this.resetFocusPosition();
69
- };
70
-
71
71
  /**
72
- * Handles the onsapnext event
73
- * Sets the focus to the next item
74
- *
75
- * @param {jQuery.Event} oEvent the browser event
76
- * @private
72
+ * @override
77
73
  */
78
74
  GridItemNavigation.prototype.onsapnext = function (oEvent) {
79
75
  this._moveFocus(oEvent);
80
76
  };
81
77
 
82
78
  /**
83
- * Handles the onsapprevious event
84
- * Sets the focus to the previous item
85
- *
86
- * @param {jQuery.Event} oEvent the browser event
87
- * @private
79
+ * @override
88
80
  */
89
81
  GridItemNavigation.prototype.onsapprevious = function (oEvent) {
90
82
  this._moveFocus(oEvent);
91
83
  };
92
84
 
85
+ /**
86
+ * @override
87
+ */
88
+ GridItemNavigation.prototype.onsappageup = function(oEvent) {
89
+ this._moveFocus(oEvent);
90
+ };
91
+
92
+ /**
93
+ * @override
94
+ */
95
+ GridItemNavigation.prototype.onsappagedown = function (oEvent) {
96
+ this._moveFocus(oEvent);
97
+ };
98
+
99
+ GridItemNavigation.prototype.resetFocusPosition = function () {
100
+ this._mCurrentPosition = null;
101
+ };
102
+
103
+ GridItemNavigation.prototype.ontap = function () {
104
+ // reset focus position when navigation is performed without keyboard
105
+ this.resetFocusPosition();
106
+ };
107
+
93
108
  GridItemNavigation.prototype._moveFocus = function (oEvent) {
94
- var aItemDomRefs = this.getItemDomRefs(),
95
- oCurrentItem = oEvent.target,
96
- aMatrix,
97
- oStartPosition;
109
+ const oCurrentItem = oEvent.target;
98
110
 
99
111
  // only react on events of the domrefs
100
- if (aItemDomRefs.indexOf(oEvent.target) === -1) {
112
+ if (this.getItemDomRefs().indexOf(oCurrentItem) === -1) {
101
113
  return;
102
114
  }
103
115
 
104
116
  oEvent.preventDefault();
105
117
 
106
- aMatrix = this._getGridInstance().getNavigationMatrix();
118
+ const aMatrix = this._getGridInstance().getNavigationMatrix();
107
119
 
108
120
  if (!aMatrix) {
109
121
  // grid control is not rendered or theme is not applied yet
110
122
  return;
111
123
  }
112
124
 
113
- oStartPosition = this._findPositionInMatrix(aMatrix, oCurrentItem);
125
+ const oStartPosition = this._findPositionInMatrix(aMatrix, oCurrentItem);
114
126
 
115
127
  if (!this._mCurrentPosition) {
116
128
  this._mCurrentPosition = {
@@ -132,133 +144,142 @@ sap.ui.define([
132
144
  case KeyCodes.ARROW_LEFT:
133
145
  this._moveFocusLeft(oStartPosition, aMatrix, oCurrentItem, oEvent);
134
146
  break;
147
+ case KeyCodes.PAGE_DOWN:
148
+ this._moveFocusDown(oStartPosition, aMatrix, oCurrentItem, oEvent, PAGE_SIZE);
149
+ break;
150
+ case KeyCodes.PAGE_UP:
151
+ this._moveFocusUp(oStartPosition, aMatrix, oCurrentItem, oEvent, PAGE_SIZE);
152
+ break;
135
153
  default:
136
154
  break;
137
155
  }
138
-
139
- Log.info("Grid matrix position: (" + oStartPosition.row + ", " + oStartPosition.column + ")");
140
156
  };
141
157
 
142
- GridItemNavigation.prototype._moveFocusDown = function (oStartPosition, aMatrix, oCurrentItem, oEvent) {
143
-
144
- var aItemDomRefs = this.getItemDomRefs(),
145
- oNextFocusItem;
146
-
147
- oStartPosition.column = this._mCurrentPosition.column;
148
-
149
- while (oStartPosition.row < aMatrix.length &&
150
- (aMatrix[oStartPosition.row][oStartPosition.column] === oCurrentItem || aMatrix[oStartPosition.row][oStartPosition.column] === false)) {
151
- oStartPosition.row += 1;
158
+ GridItemNavigation.prototype._moveFocusDown = function (oStartPosition, aMatrix, oCurrentItem, oEvent, iMinSkipRows = 1) {
159
+ const oPosition = {
160
+ row: oStartPosition.row,
161
+ column: this._mCurrentPosition.column
162
+ };
163
+ const oNextItemPosition = { ...oPosition };
164
+ let oNextFocusItem = aMatrix[oNextItemPosition.row][oNextItemPosition.column];
165
+
166
+ while (
167
+ oPosition.row < aMatrix.length - 1
168
+ && (oNextFocusItem === oCurrentItem || oPosition.row - oStartPosition.row < iMinSkipRows)
169
+ ) {
170
+ oPosition.row += 1;
171
+
172
+ if (aMatrix[oPosition.row][oPosition.column] !== GridNavigationMatrix.EMPTY_CELL) {
173
+ oNextFocusItem = aMatrix[oPosition.row][oPosition.column];
174
+ oNextItemPosition.row = oPosition.row;
175
+ }
152
176
  }
153
177
 
154
- if (oStartPosition.row >= aMatrix.length) {
178
+ if (oNextFocusItem === oCurrentItem) {
155
179
  this._onBorderReached(oEvent);
156
180
  return;
157
181
  }
158
182
 
159
- oNextFocusItem = aMatrix[oStartPosition.row][oStartPosition.column];
160
- if (oNextFocusItem) {
161
- this._mCurrentPosition = oStartPosition;
162
- this.focusItem(aItemDomRefs.indexOf(oNextFocusItem), oEvent);
163
- } else {
164
- this._onBorderReached(oEvent);
165
- }
183
+ this._mCurrentPosition = oNextItemPosition;
184
+ this.focusItem(this.getItemDomRefs().indexOf(oNextFocusItem), oEvent);
185
+ Log.info("Grid matrix position: (" + this._mCurrentPosition.row + ", " + this._mCurrentPosition.column + ")");
166
186
  };
167
187
 
168
188
  GridItemNavigation.prototype._moveFocusRight = function (oStartPosition, aMatrix, oCurrentItem, oEvent) {
169
- var aItemDomRefs = this.getItemDomRefs(),
170
- oNextFocusItem;
171
-
172
189
  oStartPosition.row = this._mCurrentPosition.row;
190
+ let oNextFocusItem = aMatrix[oStartPosition.row][oStartPosition.column];
173
191
 
174
- while (oStartPosition.column < aMatrix[oStartPosition.row].length &&
175
- (aMatrix[oStartPosition.row][oStartPosition.column] === oCurrentItem || aMatrix[oStartPosition.row][oStartPosition.column] === false)) {
192
+ while (
193
+ oStartPosition.column < aMatrix[oStartPosition.row].length - 1
194
+ && oNextFocusItem === oCurrentItem
195
+ ) {
176
196
  oStartPosition.column += 1;
197
+
198
+ if (aMatrix[oStartPosition.row][oStartPosition.column] !== GridNavigationMatrix.EMPTY_CELL) {
199
+ oNextFocusItem = aMatrix[oStartPosition.row][oStartPosition.column];
200
+ }
177
201
  }
178
202
 
179
- if (oStartPosition.column >= aMatrix[oStartPosition.row].length) {
203
+ if (oNextFocusItem === oCurrentItem) {
180
204
  this._onBorderReached(oEvent);
181
205
  return;
182
206
  }
183
207
 
184
- oNextFocusItem = aMatrix[oStartPosition.row][oStartPosition.column];
185
- if (oNextFocusItem) {
186
- this._mCurrentPosition = oStartPosition;
187
- this.focusItem(aItemDomRefs.indexOf(oNextFocusItem), oEvent);
188
- } else {
189
- this._onBorderReached(oEvent);
190
- }
208
+ this._mCurrentPosition = oStartPosition;
209
+ this.focusItem(this.getItemDomRefs().indexOf(oNextFocusItem), oEvent);
210
+ Log.info("Grid matrix position: (" + this._mCurrentPosition.row + ", " + this._mCurrentPosition.column + ")");
191
211
  };
192
212
 
193
- GridItemNavigation.prototype._moveFocusUp = function (oStartPosition, aMatrix, oCurrentItem, oEvent) {
194
- var aItemDomRefs = this.getItemDomRefs(),
195
- oNextFocusItem;
196
-
197
- oStartPosition.column = this._mCurrentPosition.column;
198
-
199
- while (oStartPosition.row >= 0 &&
200
- (aMatrix[oStartPosition.row][oStartPosition.column] === oCurrentItem || aMatrix[oStartPosition.row][oStartPosition.column] === false)) {
201
- oStartPosition.row -= 1;
213
+ GridItemNavigation.prototype._moveFocusUp = function (oStartPosition, aMatrix, oCurrentItem, oEvent, iMinSkipRows = 1) {
214
+ const oPosition = {
215
+ row: oStartPosition.row,
216
+ column: this._mCurrentPosition.column
217
+ };
218
+ const oNextItemPosition = { ...oPosition };
219
+ let oNextFocusItem = aMatrix[oNextItemPosition.row][oNextItemPosition.column];
220
+
221
+ while (
222
+ oPosition.row > 0
223
+ && (oNextFocusItem === oCurrentItem || oStartPosition.row - oPosition.row < iMinSkipRows)
224
+ ) {
225
+ oPosition.row -= 1;
226
+
227
+ if (aMatrix[oPosition.row][oPosition.column] !== GridNavigationMatrix.EMPTY_CELL) {
228
+ oNextFocusItem = aMatrix[oPosition.row][oPosition.column];
229
+ oNextItemPosition.row = oPosition.row;
230
+ }
202
231
  }
203
232
 
204
- if (oStartPosition.row < 0) {
233
+ if (oNextFocusItem === oCurrentItem) {
205
234
  this._onBorderReached(oEvent);
206
235
  return;
207
236
  }
208
237
 
209
- oNextFocusItem = aMatrix[oStartPosition.row][oStartPosition.column];
210
- if (oNextFocusItem) {
211
-
212
- // move to the upper top row index
213
- while (oStartPosition.row > 0 && aMatrix[oStartPosition.row - 1][oStartPosition.column] === oNextFocusItem) {
214
- oStartPosition.row -= 1;
215
- }
216
-
217
- this._mCurrentPosition = oStartPosition;
218
- this.focusItem(aItemDomRefs.indexOf(oNextFocusItem), oEvent);
219
- } else {
220
- this._onBorderReached(oEvent);
238
+ // move to the upper top row index
239
+ while (oNextItemPosition.row > 0 && aMatrix[oNextItemPosition.row - 1][oNextItemPosition.column] === oNextFocusItem) {
240
+ oNextItemPosition.row -= 1;
221
241
  }
242
+
243
+ this._mCurrentPosition = oNextItemPosition;
244
+ this.focusItem(this.getItemDomRefs().indexOf(oNextFocusItem), oEvent);
245
+ Log.info("Grid matrix position: (" + this._mCurrentPosition.row + ", " + this._mCurrentPosition.column + ")");
222
246
  };
223
247
 
224
248
  GridItemNavigation.prototype._moveFocusLeft = function (oStartPosition, aMatrix, oCurrentItem, oEvent) {
225
- var aItemDomRefs = this.getItemDomRefs(),
226
- oNextFocusItem;
227
-
228
249
  oStartPosition.row = this._mCurrentPosition.row;
250
+ let oNextFocusItem = aMatrix[oStartPosition.row][oStartPosition.column];
229
251
 
230
- while (oStartPosition.column >= 0 &&
231
- (aMatrix[oStartPosition.row][oStartPosition.column] === oCurrentItem || aMatrix[oStartPosition.row][oStartPosition.column] === false)) {
252
+ while (
253
+ oStartPosition.column > 0
254
+ && oNextFocusItem === oCurrentItem
255
+ ) {
232
256
  oStartPosition.column -= 1;
257
+
258
+ if (aMatrix[oStartPosition.row][oStartPosition.column] !== GridNavigationMatrix.EMPTY_CELL) {
259
+ oNextFocusItem = aMatrix[oStartPosition.row][oStartPosition.column];
260
+ }
233
261
  }
234
262
 
235
- if (oStartPosition.column < 0) {
263
+ if (oNextFocusItem === oCurrentItem) {
236
264
  this._onBorderReached(oEvent);
237
265
  return;
238
266
  }
239
267
 
240
- oNextFocusItem = aMatrix[oStartPosition.row][oStartPosition.column];
241
- if (oNextFocusItem) {
242
-
243
- // move to the most left column index
244
- while (oStartPosition.column > 0 && aMatrix[oStartPosition.row][oStartPosition.column - 1] === oNextFocusItem) {
245
- oStartPosition.column -= 1;
246
- }
247
-
248
- this._mCurrentPosition = oStartPosition;
249
- this.focusItem(aItemDomRefs.indexOf(oNextFocusItem), oEvent);
250
- } else {
251
- this._onBorderReached(oEvent);
268
+ // move to the most left column index
269
+ while (oStartPosition.column > 0 && aMatrix[oStartPosition.row][oStartPosition.column - 1] === oNextFocusItem) {
270
+ oStartPosition.column -= 1;
252
271
  }
272
+
273
+ this._mCurrentPosition = oStartPosition;
274
+ this.focusItem(this.getItemDomRefs().indexOf(oNextFocusItem), oEvent);
275
+ Log.info("Grid matrix position: (" + this._mCurrentPosition.row + ", " + this._mCurrentPosition.column + ")");
253
276
  };
254
277
 
255
278
  GridItemNavigation.prototype._findPositionInMatrix = function (aMatrix, oItem) {
256
-
257
- var oMatrixPositions = null;
279
+ let oMatrixPositions = null;
258
280
 
259
281
  aMatrix.some(function (aInnerRow, iColumnIndex) {
260
-
261
- var iRowIndex = aInnerRow.indexOf(oItem);
282
+ const iRowIndex = aInnerRow.indexOf(oItem);
262
283
 
263
284
  if (iRowIndex !== -1) {
264
285
  oMatrixPositions = {};
@@ -268,11 +289,12 @@ sap.ui.define([
268
289
  }
269
290
  return false;
270
291
  });
292
+
271
293
  return oMatrixPositions;
272
294
  };
273
295
 
274
296
  GridItemNavigation.prototype._onBorderReached = function (oEvent) {
275
- var sDirection;
297
+ let sDirection;
276
298
 
277
299
  switch (oEvent.keyCode) {
278
300
  case KeyCodes.ARROW_RIGHT:
@@ -282,9 +304,11 @@ sap.ui.define([
282
304
  sDirection = NavigationDirection.Left;
283
305
  break;
284
306
  case KeyCodes.ARROW_DOWN:
307
+ case KeyCodes.PAGE_DOWN:
285
308
  sDirection = NavigationDirection.Down;
286
309
  break;
287
310
  case KeyCodes.ARROW_UP:
311
+ case KeyCodes.PAGE_UP:
288
312
  sDirection = NavigationDirection.Up;
289
313
  break;
290
314
  }
@@ -298,8 +322,8 @@ sap.ui.define([
298
322
  };
299
323
 
300
324
  GridItemNavigation.prototype.focusItemByDirection = function (oGrid, sDirection, iRow, iColumn) {
301
- var oCurrentItem,
302
- aMatrix = oGrid.getNavigationMatrix(),
325
+ const aMatrix = oGrid.getNavigationMatrix();
326
+ let oCurrentItem,
303
327
  aRow,
304
328
  iRowIndex,
305
329
  iColIndex;
@@ -18,7 +18,7 @@ sap.ui.define([
18
18
  * Handles dragging of a control over a given grid container.
19
19
  *
20
20
  * @author SAP SE
21
- * @version 1.115.1
21
+ * @version 1.117.0
22
22
  *
23
23
  * @extends sap.ui.base.Object
24
24
  *
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  * @extends sap.ui.core.dnd.DropInfo
38
38
  *
39
39
  * @author SAP SE
40
- * @version 1.115.1
40
+ * @version 1.117.0
41
41
  *
42
42
  * @public
43
43
  * @experimental Since 1.68 This class is experimental. The API may change.
@@ -36,13 +36,13 @@ sap.ui.define(["sap/ui/base/DataType",
36
36
  * @namespace
37
37
  * @alias sap.f
38
38
  * @author SAP SE
39
- * @version 1.115.1
39
+ * @version 1.117.0
40
40
  * @since 1.44
41
41
  * @public
42
42
  */
43
43
  var thisLib = sap.ui.getCore().initLibrary({
44
44
  name : "sap.f",
45
- version: "1.115.1",
45
+ version: "1.117.0",
46
46
  dependencies : ["sap.ui.core", "sap.m", "sap.ui.layout"],
47
47
  designtime: "sap/f/designtime/library.designtime",
48
48
  interfaces: [
@@ -97,14 +97,14 @@ SEMANTIC_CONTROL_FLAG=Flag
97
97
  #XBUT: sap.f.semantic.SemanticControl Favorite button text
98
98
  SEMANTIC_CONTROL_FAVORITE=Favorite
99
99
 
100
- #XBUT: sap.f.semantic.SemanticControl Send Email button text
100
+ #XBUT: sap.f.semantic.SemanticControl Send E-Mail button text
101
101
  SEMANTIC_CONTROL_SEND_EMAIL=Send E-Mail
102
102
 
103
- #XBUT: sap.f.semantic.SemanticControl Discuss in SAP Jam button text
104
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=Discuss in SAP Jam
103
+ #XBUT: sap.f.semantic.SemanticControl Discuss in SAP Work Zone button text
104
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=Discuss in SAP Work Zone
105
105
 
106
- #XBUT: sap.f.semantic.SemanticControl Share in SAP Jam button text
107
- SEMANTIC_CONTROL_SHARE_IN_JAM=Share in SAP Jam
106
+ #XBUT: sap.f.semantic.SemanticControl Share on SAP Work Zone button text
107
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=Share on SAP Work Zone
108
108
 
109
109
  #XBUT: sap.f.semantic.SemanticControl Send Message button text
110
110
  SEMANTIC_CONTROL_SEND_MESSAGE=Send Message
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=\u0627\u0644\u0645\u0641\u0636\u0644\u0629
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=\u0625\u0631\u0633\u0627\u0644 \u0631\u0633\u0627\u0644\u0629 \u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=\u0645\u0646\u0627\u0642\u0634\u0629 \u0641\u064A SAP Jam
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=\u0645\u0646\u0627\u0642\u0634\u0629 \u0641\u064A SAP Work Zone
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=\u0645\u0634\u0627\u0631\u0643\u0629 \u0641\u064A SAP Jam
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=\u0645\u0634\u0627\u0631\u0643\u0629 \u0639\u0644\u0649 SAP Work Zone
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=\u0625\u0631\u0633\u0627\u0644 \u0631\u0633\u0627\u0644\u0629
73
73
 
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=\u0424\u0430\u0432\u043E\u0440\u0438\u0442
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=\u0418\u0437\u043F\u0440\u0430\u0449\u0430\u043D\u0435 \u043D\u0430 \u0438\u043C\u0435\u0439\u043B
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=\u041E\u0431\u0441\u044A\u0436\u0434\u0430\u043D\u0435 \u0432 SAP Jam
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=\u041E\u0431\u0441\u044A\u0436\u0434\u0430\u043D\u0435 \u0432 SAP Work Zone
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=\u0421\u043F\u043E\u0434\u0435\u043B\u044F\u043D\u0435 \u0432 SAP Jam
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=\u0421\u043F\u043E\u0434\u0435\u043B\u044F\u043D\u0435 \u0432 SAP Work Zone
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=\u0418\u0437\u043F\u0440\u0430\u0449\u0430\u043D\u0435 \u043D\u0430 \u0441\u044A\u043E\u0431\u0449\u0435\u043D\u0438\u0435
73
73
 
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=Preferits
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=Enviar correu electr\u00F2nic
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=Debatre a SAP Jam
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=Debatre a SAP Work Zone
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=Compartir a SAP Jam
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=Compartir a SAP Work Zone
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=Enviar missatge
73
73
 
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=Obl\u00EDben\u00E9
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=Odeslat e-mail
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=Diskutovat na SAP Jam
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=Diskuze v SAP Work Zone
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=Sd\u00EDlet na SAP Jam
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=Sd\u00EDlet v SAP Work Zone
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=Odeslat zpr\u00E1vu
73
73
 
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=Ffefryn
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=Anfon E-bost
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=Trafod yn SAP Jam
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=Trafod yn SAP Work Zone
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=Rhannu yn SAP Jam
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=Rhannu ar SAP Work Zone
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=Anfon Neges
73
73
 
@@ -59,15 +59,15 @@ SEMANTIC_CONTROL_ACCEPT=Accept\u00E9r
59
59
 
60
60
  SEMANTIC_CONTROL_REJECT=Afvis
61
61
 
62
- SEMANTIC_CONTROL_FLAG=Indikator
62
+ SEMANTIC_CONTROL_FLAG=Mark\u00E9r
63
63
 
64
64
  SEMANTIC_CONTROL_FAVORITE=Foretrukken
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=Send e-mail
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=Diskuter i SAP Jam
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=Dr\u00F8ft i SAP Work Zone
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=Del i SAP Jam
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=Del p\u00E5 SAP Work Zone
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=Send meddelelse
73
73
 
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=Favorit
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=E-Mail senden
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=In SAP Jam diskutieren
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=In SAP Work Zone diskutieren
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=In SAP Jam teilen
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=Auf SAP Work Zone teilen
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=Nachricht senden
73
73
 
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=\u0391\u03B3\u03B1\u03C0\u03B7\u03BC\u03AD\u03BD\u03BF
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=\u0391\u03C0\u03BF\u03C3\u03C4\u03BF\u03BB\u03AE E-Mail
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=\u03A3\u03C5\u03B6\u03AE\u03C4\u03B7\u03C3\u03B7 \u03C3\u03C4\u03BF SAP Jam
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=\u03A3\u03C5\u03B6\u03B7\u03C4\u03AE\u03C3\u03C4\u03B5 \u03C3\u03C4\u03BF SAP Work Zone
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=\u039A\u03BF\u03B9\u03BD\u03BF\u03C0\u03BF\u03AF\u03B7\u03C3\u03B7 \u03C3\u03C4\u03BF SAP Jam
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=\u03A7\u03C1\u03B7\u03C3\u03B9\u03BC\u03BF\u03C0\u03BF\u03B9\u03AE\u03C3\u03C4\u03B5 \u03B1\u03C0\u03CC \u03BA\u03BF\u03B9\u03BD\u03BF\u03CD \u03C3\u03C4\u03BF SAP Work Zone
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=\u0391\u03C0\u03BF\u03C3\u03C4\u03BF\u03BB\u03AE \u039C\u03B7\u03BD\u03CD\u03BC\u03B1\u03C4\u03BF\u03C2
73
73
 
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=Favorite
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=Send E-Mail
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=Discuss in SAP Jam
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=Discuss in SAP Work Zone
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=Share in SAP Jam
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=Share on SAP Work Zone
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=Send Message
73
73
 
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=Favourite
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=Send E-Mail
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=Discuss in SAP Jam
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=Discuss in SAP Work Zone
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=Share in SAP Jam
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=Share on SAP Work Zone
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=Send Message
73
73
 
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=[[[\u0191\u0105\u028B\u014F\u0157\u012F\u0163\u0113\u2
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=[[[\u015C\u0113\u014B\u018C \u0114-\u039C\u0105\u012F\u013A\u2219\u2219\u2219\u2219\u2219\u2219\u2219\u2219]]]
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=[[[\u010E\u012F\u015F\u010B\u0171\u015F\u015F \u012F\u014B \u015C\u0100\u01A4 \u0134\u0105\u0271\u2219\u2219\u2219\u2219\u2219\u2219]]]
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=[[[\u010E\u012F\u015F\u010B\u0171\u015F\u015F \u012F\u014B \u015C\u0100\u01A4 \u0174\u014F\u0157\u0137 \u017B\u014F\u014B\u0113\u2219\u2219\u2219\u2219\u2219\u2219]]]
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=[[[\u015C\u0125\u0105\u0157\u0113 \u012F\u014B \u015C\u0100\u01A4 \u0134\u0105\u0271\u2219\u2219\u2219\u2219\u2219\u2219\u2219\u2219]]]
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=[[[\u015C\u0125\u0105\u0157\u0113 \u014F\u014B \u015C\u0100\u01A4 \u0174\u014F\u0157\u0137 \u017B\u014F\u014B\u0113\u2219\u2219\u2219\u2219\u2219]]]
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=[[[\u015C\u0113\u014B\u018C \u039C\u0113\u015F\u015F\u0105\u011F\u0113\u2219\u2219\u2219\u2219\u2219\u2219\u2219]]]
73
73
 
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=\u206A\u206A\u206A\u200C\u200B\u200B\u200B\u200B\u200C
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=\u206A\u206A\u206A\u200C\u200D\u200B\u200B\u200D\u200D\u200C\u200C\u200D\u200D\u200B\u200D\u200D\u200C\u200C\u200B\u200B\u200B\u200C\u200B\u200D\u200C\u200C\u200D\u200B\u200C\u200C\u200D\u200C\u200B\u200B\u200D\u200B\u200B\u200B\u200B\u200B\u200C\u206ASend E-Mail\u206A\u206A
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=\u206A\u206A\u206A\u200C\u200D\u200B\u200C\u200D\u200C\u200D\u200B\u200D\u200D\u200D\u200B\u200D\u200D\u200D\u200D\u200D\u200D\u200D\u200B\u200D\u200C\u200D\u200D\u200B\u200C\u200D\u200B\u200D\u200B\u200D\u200D\u200C\u200B\u200C\u200D\u200C\u200C\u200B\u200D\u206ADiscuss in SAP Jam\u206A\u206A
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=\u206A\u206A\u206A\u200D\u200C\u200D\u200C\u200C\u200C\u200B\u200B\u200D\u200C\u200D\u200D\u200D\u200D\u200C\u200B\u200D\u200C\u200C\u200D\u200B\u200B\u200C\u200D\u200C\u200B\u200C\u200C\u200D\u200D\u200C\u200B\u200C\u200D\u200B\u200D\u200B\u200C\u200C\u200B\u206ADiscuss in SAP Work Zone\u206A\u206A
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=\u206A\u206A\u206A\u200C\u200B\u200C\u200B\u200D\u200B\u200B\u200B\u200C\u200B\u200C\u200C\u200B\u200C\u200D\u200C\u200C\u200C\u200B\u200B\u200C\u200D\u200D\u200D\u200B\u200C\u200D\u200D\u200C\u200C\u200D\u200D\u200B\u200C\u200B\u200C\u200D\u200B\u200B\u200B\u206AShare in SAP Jam\u206A\u206A
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=\u206A\u206A\u206A\u200D\u200D\u200C\u200D\u200B\u200C\u200C\u200B\u200B\u200C\u200C\u200D\u200D\u200C\u200C\u200B\u200B\u200B\u200C\u200B\u200B\u200C\u200D\u200B\u200D\u200D\u200B\u200C\u200B\u200B\u200D\u200D\u200C\u200B\u200B\u200C\u200B\u200B\u200B\u206AShare on SAP Work Zone\u206A\u206A
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=\u206A\u206A\u206A\u200D\u200B\u200C\u200D\u200B\u200C\u200D\u200D\u200D\u200C\u200B\u200D\u200C\u200C\u200B\u200D\u200C\u200B\u200C\u200B\u200D\u200B\u200C\u200B\u200B\u200C\u200C\u200C\u200D\u200C\u200B\u200D\u200B\u200C\u200B\u200B\u200C\u200D\u200B\u200B\u206ASend Message\u206A\u206A
73
73
 
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=vhtg/3BuQhVoVVgs5zeyRA_Favorite
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=29oAoL7mqk5nDyPyA0xwEQ_Send E-Mail
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=lXQZTBPQFbb6dbTA9h8dow_Discuss in SAP Jam
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=sIPi7Q4TWBTw3rgM/0CMCg_Discuss in SAP Work Zone
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=wG2xxnR5a00M5e+BAvUoDQ_Share in SAP Jam
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=99ZJb2dnKLiCLQ+oDf0BTQ_Share on SAP Work Zone
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=vGuDRw0NwV/UuC916BejUg_Send Message
73
73
 
@@ -65,9 +65,9 @@ SEMANTIC_CONTROL_FAVORITE=Favorito
65
65
 
66
66
  SEMANTIC_CONTROL_SEND_EMAIL=Enviar correo electr\u00F3nico
67
67
 
68
- SEMANTIC_CONTROL_DISCUSS_IN_JAM=Debatir en SAP Jam
68
+ SEMANTIC_CONTROL_DISCUSS_IN_WORK_ZONE=Debatir en SAP Work Zone
69
69
 
70
- SEMANTIC_CONTROL_SHARE_IN_JAM=Compartir en SAP Jam
70
+ SEMANTIC_CONTROL_SHARE_ON_WORK_ZONE=Compartir en SAP Work Zone
71
71
 
72
72
  SEMANTIC_CONTROL_SEND_MESSAGE=Enviar mensaje
73
73