@sapui5/sap.suite.ui.commons 1.144.0 → 1.145.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.
Files changed (115) hide show
  1. package/package.json +1 -1
  2. package/src/sap/suite/ui/commons/.library +1 -1
  3. package/src/sap/suite/ui/commons/AriaProperties.js +1 -1
  4. package/src/sap/suite/ui/commons/CalculationBuilder.js +8 -4
  5. package/src/sap/suite/ui/commons/CalculationBuilderExpression.js +1 -1
  6. package/src/sap/suite/ui/commons/CalculationBuilderFunction.js +1 -1
  7. package/src/sap/suite/ui/commons/CalculationBuilderGroup.js +1 -1
  8. package/src/sap/suite/ui/commons/CalculationBuilderItem.js +1 -1
  9. package/src/sap/suite/ui/commons/CalculationBuilderValidationResult.js +1 -1
  10. package/src/sap/suite/ui/commons/CalculationBuilderVariable.js +1 -1
  11. package/src/sap/suite/ui/commons/CloudFilePicker.js +1 -3
  12. package/src/sap/suite/ui/commons/MicroProcessFlow.js +1 -1
  13. package/src/sap/suite/ui/commons/MicroProcessFlowItem.js +1 -1
  14. package/src/sap/suite/ui/commons/ProcessFlow.js +79 -75
  15. package/src/sap/suite/ui/commons/Timeline.js +9 -0
  16. package/src/sap/suite/ui/commons/TimelineNavigator.js +37 -5
  17. package/src/sap/suite/ui/commons/TimelineRenderer.js +3 -3
  18. package/src/sap/suite/ui/commons/collaboration/BaseHelperService.js +0 -1
  19. package/src/sap/suite/ui/commons/collaboration/CollaborationHelper.js +0 -3
  20. package/src/sap/suite/ui/commons/collaboration/CollaborationManagerService.js +0 -1
  21. package/src/sap/suite/ui/commons/collaboration/ContactHelper.js +7 -0
  22. package/src/sap/suite/ui/commons/collaboration/ContactPopover.fragment.xml +4 -1
  23. package/src/sap/suite/ui/commons/collaboration/MinimalContactPopover.fragment.xml +2 -1
  24. package/src/sap/suite/ui/commons/collaboration/TeamsHelperService.js +0 -6
  25. package/src/sap/suite/ui/commons/collaboration/channels/MessageChannel.js +0 -2
  26. package/src/sap/suite/ui/commons/collaboration/flpplugins/msplugin/Component-preload.js +1 -1
  27. package/src/sap/suite/ui/commons/collaboration/flpplugins/msplugin/Component.js +1 -2
  28. package/src/sap/suite/ui/commons/flexibility/changeHandler/PropertyChangeMapper.js +1 -1
  29. package/src/sap/suite/ui/commons/imageeditor/CropCustomShapeHistoryItem.js +1 -1
  30. package/src/sap/suite/ui/commons/imageeditor/CropEllipseHistoryItem.js +1 -1
  31. package/src/sap/suite/ui/commons/imageeditor/CropRectangleHistoryItem.js +1 -1
  32. package/src/sap/suite/ui/commons/imageeditor/CustomSizeItem.js +1 -1
  33. package/src/sap/suite/ui/commons/imageeditor/FilterHistoryItem.js +1 -1
  34. package/src/sap/suite/ui/commons/imageeditor/FlipHistoryItem.js +1 -1
  35. package/src/sap/suite/ui/commons/imageeditor/HistoryItem.js +1 -1
  36. package/src/sap/suite/ui/commons/imageeditor/ImageEditor.js +1 -1
  37. package/src/sap/suite/ui/commons/imageeditor/ImageEditorContainer.js +1 -1
  38. package/src/sap/suite/ui/commons/imageeditor/ImageEditorResponsiveContainer.js +1 -1
  39. package/src/sap/suite/ui/commons/imageeditor/ResizeHistoryItem.js +1 -1
  40. package/src/sap/suite/ui/commons/imageeditor/RotateHistoryItem.js +1 -1
  41. package/src/sap/suite/ui/commons/library.js +25 -1
  42. package/src/sap/suite/ui/commons/messagebundle.properties +16 -9
  43. package/src/sap/suite/ui/commons/messagebundle_ar.properties +17 -2
  44. package/src/sap/suite/ui/commons/messagebundle_bg.properties +18 -3
  45. package/src/sap/suite/ui/commons/messagebundle_ca.properties +18 -3
  46. package/src/sap/suite/ui/commons/messagebundle_cnr.properties +18 -3
  47. package/src/sap/suite/ui/commons/messagebundle_cs.properties +17 -2
  48. package/src/sap/suite/ui/commons/messagebundle_cy.properties +17 -2
  49. package/src/sap/suite/ui/commons/messagebundle_da.properties +17 -2
  50. package/src/sap/suite/ui/commons/messagebundle_de.properties +30 -15
  51. package/src/sap/suite/ui/commons/messagebundle_el.properties +18 -3
  52. package/src/sap/suite/ui/commons/messagebundle_en.properties +18 -3
  53. package/src/sap/suite/ui/commons/messagebundle_en_GB.properties +18 -3
  54. package/src/sap/suite/ui/commons/messagebundle_en_US_saprigi.properties +2 -0
  55. package/src/sap/suite/ui/commons/messagebundle_es.properties +18 -3
  56. package/src/sap/suite/ui/commons/messagebundle_es_MX.properties +18 -3
  57. package/src/sap/suite/ui/commons/messagebundle_et.properties +17 -2
  58. package/src/sap/suite/ui/commons/messagebundle_fi.properties +17 -2
  59. package/src/sap/suite/ui/commons/messagebundle_fr.properties +26 -11
  60. package/src/sap/suite/ui/commons/messagebundle_fr_CA.properties +17 -2
  61. package/src/sap/suite/ui/commons/messagebundle_hi.properties +18 -3
  62. package/src/sap/suite/ui/commons/messagebundle_hr.properties +18 -3
  63. package/src/sap/suite/ui/commons/messagebundle_hu.properties +17 -2
  64. package/src/sap/suite/ui/commons/messagebundle_id.properties +18 -3
  65. package/src/sap/suite/ui/commons/messagebundle_it.properties +17 -2
  66. package/src/sap/suite/ui/commons/messagebundle_iw.properties +17 -2
  67. package/src/sap/suite/ui/commons/messagebundle_ja.properties +18 -3
  68. package/src/sap/suite/ui/commons/messagebundle_kk.properties +17 -2
  69. package/src/sap/suite/ui/commons/messagebundle_ko.properties +17 -2
  70. package/src/sap/suite/ui/commons/messagebundle_lt.properties +17 -2
  71. package/src/sap/suite/ui/commons/messagebundle_lv.properties +18 -3
  72. package/src/sap/suite/ui/commons/messagebundle_mk.properties +17 -2
  73. package/src/sap/suite/ui/commons/messagebundle_ms.properties +17 -2
  74. package/src/sap/suite/ui/commons/messagebundle_nl.properties +17 -2
  75. package/src/sap/suite/ui/commons/messagebundle_no.properties +18 -3
  76. package/src/sap/suite/ui/commons/messagebundle_pl.properties +17 -2
  77. package/src/sap/suite/ui/commons/messagebundle_pt.properties +17 -2
  78. package/src/sap/suite/ui/commons/messagebundle_pt_PT.properties +17 -2
  79. package/src/sap/suite/ui/commons/messagebundle_ro.properties +17 -2
  80. package/src/sap/suite/ui/commons/messagebundle_ru.properties +17 -2
  81. package/src/sap/suite/ui/commons/messagebundle_sh.properties +18 -3
  82. package/src/sap/suite/ui/commons/messagebundle_sk.properties +17 -2
  83. package/src/sap/suite/ui/commons/messagebundle_sl.properties +17 -2
  84. package/src/sap/suite/ui/commons/messagebundle_sr.properties +18 -3
  85. package/src/sap/suite/ui/commons/messagebundle_sv.properties +17 -2
  86. package/src/sap/suite/ui/commons/messagebundle_th.properties +18 -3
  87. package/src/sap/suite/ui/commons/messagebundle_tr.properties +17 -2
  88. package/src/sap/suite/ui/commons/messagebundle_uk.properties +17 -2
  89. package/src/sap/suite/ui/commons/messagebundle_vi.properties +19 -4
  90. package/src/sap/suite/ui/commons/messagebundle_zh_CN.properties +17 -2
  91. package/src/sap/suite/ui/commons/messagebundle_zh_TW.properties +19 -4
  92. package/src/sap/suite/ui/commons/networkgraph/Graph.js +45 -16
  93. package/src/sap/suite/ui/commons/networkgraph/KeyboardNavigator.js +45 -4
  94. package/src/sap/suite/ui/commons/networkgraph/Line.js +52 -0
  95. package/src/sap/suite/ui/commons/networkgraph/Node.js +289 -86
  96. package/src/sap/suite/ui/commons/networkgraph/util/DependencyLayoutHelper.js +143 -70
  97. package/src/sap/suite/ui/commons/networkgraph/util/PortManager.js +2 -3
  98. package/src/sap/suite/ui/commons/statusindicator/Circle.js +1 -1
  99. package/src/sap/suite/ui/commons/statusindicator/CustomShape.js +1 -1
  100. package/src/sap/suite/ui/commons/statusindicator/DiscreteThreshold.js +1 -1
  101. package/src/sap/suite/ui/commons/statusindicator/FillingOption.js +1 -1
  102. package/src/sap/suite/ui/commons/statusindicator/LibraryShape.js +1 -1
  103. package/src/sap/suite/ui/commons/statusindicator/Path.js +1 -1
  104. package/src/sap/suite/ui/commons/statusindicator/PropertyThreshold.js +1 -1
  105. package/src/sap/suite/ui/commons/statusindicator/Rectangle.js +1 -1
  106. package/src/sap/suite/ui/commons/statusindicator/Shape.js +1 -1
  107. package/src/sap/suite/ui/commons/statusindicator/ShapeGroup.js +1 -1
  108. package/src/sap/suite/ui/commons/statusindicator/SimpleShape.js +1 -1
  109. package/src/sap/suite/ui/commons/statusindicator/StatusIndicator.js +1 -1
  110. package/src/sap/suite/ui/commons/taccount/TAccount.js +1 -1
  111. package/src/sap/suite/ui/commons/taccount/TAccountGroup.js +1 -1
  112. package/src/sap/suite/ui/commons/taccount/TAccountItem.js +1 -1
  113. package/src/sap/suite/ui/commons/taccount/TAccountItemProperty.js +1 -1
  114. package/src/sap/suite/ui/commons/taccount/TAccountPanel.js +1 -1
  115. package/src/sap/suite/ui/commons/themes/base/NetworkLine.less +26 -5
@@ -17,7 +17,7 @@ MICRO_AREA_CHART_TARGET_VALUES=\u76EE\u6A19\u503C
17
17
 
18
18
  SEMANTIC_COLOR_CRITICAL=\u8B66\u544A
19
19
  SEMANTIC_COLOR_GOOD=\u826F\u597D
20
- SEMANTIC_COLOR_NEUTRAL=\u4E2D\u6027
20
+ SEMANTIC_COLOR_NEUTRAL=\u4E00\u822C
21
21
  SEMANTIC_COLOR_ERROR=\u56B4\u91CD
22
22
 
23
23
  DATERANGESCROLLER_PREV_TEXT=\u4E0A\u4E00\u6B65
@@ -188,7 +188,7 @@ PF_ARIA_STATUS_NEGATIVE=\u8CA0\u5411
188
188
  PF_ARIA_STATUS_CRITICAL=\u91CD\u8981
189
189
  PF_ARIA_STATUS_PLANNED=\u8A08\u5283
190
190
  PF_ARIA_STATUS_PLNNEGATIVE=\u8A08\u5283\u8CA0\u5411
191
- PF_ARIA_STATUS_NEUTRAL=\u4E2D\u6027
191
+ PF_ARIA_STATUS_NEUTRAL=\u4E00\u822C
192
192
  PF_ARIA_TYPE=\uFF0C\u96C6\u5408
193
193
  PF_CONNECTIONLABEL=\u9023\u7DDA\u6A19\u7C64
194
194
  PF_ARROW_ICON_LEFT=\u4E0A\u4E00\u6B65
@@ -239,9 +239,7 @@ NETWORK_GRAPH_ACCESSIBILITY_LABEL=\u7DB2\u72C0\u5716
239
239
  NETWORK_GRAPH_SVG_ACCESSIBILITY_LABEL=\u7DB2\u72C0\u5716 SVG
240
240
  NETWORK_GRAPH_OVERVIEW_SVG_ACCESSIBILITY_LABEL=\u7DB2\u72C0\u5716\u6982\u89C0 SVG
241
241
  NETWORK_GRAPH_NAVIGATOR_SVG_ACCESSIBILITY_LABEL=\u7DB2\u72C0\u5716\u700F\u89BD\u5668 SVG
242
- NETWORK_GRAPH_ACCESSIBILITY_DESCRIPTION=\u95DC\u9589\u8B80\u53D6\u6A21\u5F0F\uFF0C\u4EE5\u4FBF\u5728\u5176\u4E2D\u9032\u884C\u700F\u89BD
243
242
  NETWORK_GRAPH_ACCESSIBILITY_CONTENT=\u7DB2\u72C0\u5716\u5167\u5BB9
244
- NETWORK_GRAPH_ACCESSIBILITY_LINE_LABEL={0} \u5230 {1} \u7684\u7DDA\u689D
245
243
  NETWORK_GRAPH_ACCESSIBILITY_TOGGLE_STATE=\u6309\u4E0B\u7A7A\u767D\u9375\u4EE5\u5207\u63DB\u72C0\u614B
246
244
  NETWORK_GRAPH_ACCESSIBILITY_ACTION_BUTTON=\u52D5\u4F5C\u6309\u9215
247
245
  NETWORK_GRAPH_ACCESSIBILITY_ACTION_BUTTONS_LEFT=\u5DE6\u5074
@@ -266,6 +264,7 @@ NETWORK_GRAPH_STANDARD=\u6A19\u6E96
266
264
  NETWORK_GRAPH_SUCCESS=\u6210\u529F
267
265
  NETWORK_GRAPH_WARNING=\u8B66\u544A
268
266
  NETWORK_GRAPH_ERROR=\u932F\u8AA4
267
+ NETWORK_GRAPH_NEUTRAL=\u4E00\u822C
269
268
  NETWORK_GRAPH_INFORMATION=\u8CC7\u8A0A
270
269
  NETWORK_GRAPH_ZOOM_LEVEL=\u7E2E\u653E\u6BD4\u4F8B
271
270
  NETWORK_GRAPH_NODE_DESCRIPTION=\u8AAA\u660E
@@ -284,6 +283,22 @@ NETWORKGRAPH_CONNECTION_TYPE_TOP_TO_TOP=\u5F9E\u4E0A\u5230\u4E0A
284
283
  NETWORKGRAPH_CONNECTION_TYPE_TOP_TO_BOTTOM=\u5F9E\u4E0A\u5230\u4E0B
285
284
  NETWORKGRAPH_CONNECTION_TYPE_BOTTOM_TO_TOP=\u5F9E\u4E0B\u5230\u4E0A
286
285
  NETWORKGRAPH_CONNECTION_TYPE_BOTTOM_TO_BOTTOM=\u5F9E\u4E0B\u5230\u4E0B
286
+ NETWORKGRAPH_CONNECTION_TYPE_START_TO_START=\u5F9E\u958B\u59CB\u5230\u958B\u59CB
287
+ NETWORKGRAPH_CONNECTION_TYPE_START_TO_FINISH=\u5F9E\u958B\u59CB\u5230\u7D50\u675F
288
+ NETWORKGRAPH_CONNECTION_TYPE_FINISH_TO_START=\u5F9E\u7D50\u675F\u5230\u958B\u59CB
289
+ NETWORKGRAPH_CONNECTION_TYPE_FINISH_TO_FINISH=\u5F9E\u7D50\u675F\u5230\u7D50\u675F
290
+ NETWORK_GRAPH_NODE_ATTRIBUTES=\u5C6C\u6027\u70BA
291
+ NETWORK_GRAPH_NODE_ACCESSIBILITY_STATUS=\u72C0\u614B\u70BA
292
+ NETWORK_GRAPH_INCOMING_CONNECTOR_SINGULAR=\u76EE\u524D\u6709 {0} \u500B\u5167\u90E8\u9023\u63A5\u5668
293
+ NETWORK_GRAPH_INCOMING_CONNECTORS_PLURAL=\u76EE\u524D\u6709 {0} \u500B\u5167\u90E8\u9023\u63A5\u5668
294
+ NETWORK_GRAPH_OUTGOING_CONNECTOR_SINGULAR=\u76EE\u524D\u6709 {0} \u500B\u5916\u90E8\u9023\u63A5\u5668
295
+ NETWORK_GRAPH_OUTGOING_CONNECTORS_PLURAL=\u76EE\u524D\u6709 {0} \u500B\u5916\u90E8\u9023\u63A5\u5668
296
+ NETWORK_GRAPH_NAVIGATION_TAB_TO_OUTGOING=\u6309\u4E0B Tab \u9375\u524D\u5F80\u5916\u90E8\u9023\u63A5\u5668
297
+ NETWORK_GRAPH_NAVIGATION_SHIFT_TAB_TO_INCOMING=\u6309\u4E0B Shift+Tab \u524D\u5F80\u5167\u90E8\u9023\u63A5\u5668
298
+ NETWORK_GRAPH_LINE_NAVIGATION_TAB_TO_TARGET=\u6309\u4E0B Tab \u9375\u700F\u89BD\u81F3 {0}
299
+ NETWORK_GRAPH_LINE_NAVIGATION_SHIFT_TAB_TO_SOURCE=\u6309\u4E0B shift + Tab \u9375\u700F\u89BD\u56DE {0}
300
+ NETWORK_GRAPH_LINE_ACCESSIBILITY_STATUS=\u72C0\u614B\u70BA
301
+ NETWORK_GRAPH_LINE_ACCESSIBILITY_CONNECTION_FROM_TO=\u9023\u7DDA\u5F9E {0} \u5230 {1}
287
302
 
288
303
  STATUS_INDICATOR_ARIA_LABEL=\u72C0\u614B\u6307\u793A\u78BC
289
304
  STATUS_INDICATOR_VALUE_BELOW_THRESHOLD_COLOR={0}%\u3001\u4F4E\u65BC {1}\u3001{2}
@@ -47,7 +47,8 @@ sap.ui.define([
47
47
  'sap/ui/core/InvisibleText',
48
48
  "./GraphRenderer",
49
49
  "./util/DragDropManager",
50
- "./util/PortManager"
50
+ "./util/PortManager",
51
+ "sap/ui/core/IconPool"
51
52
  ], function (
52
53
  library,
53
54
  jQuery,
@@ -90,7 +91,8 @@ sap.ui.define([
90
91
  InvisibleText,
91
92
  GraphRenderer,
92
93
  DragDropManager,
93
- PortManager
94
+ PortManager,
95
+ IconPool
94
96
  ) {
95
97
  "use strict";
96
98
 
@@ -413,7 +415,8 @@ sap.ui.define([
413
415
  }
414
416
  },
415
417
  /**
416
- * This event is fired when a user drops a node in the graph. This event is available only for the noop layout.
418
+ * This event is fired when a user drops a node in the graph.
419
+ * This event is available only when the layout algorithm is set to "NoopLayout" and the <code>enableDragAndDrop</code> property is set to <code>true</code>.
417
420
  * @public
418
421
  * @since 1.144
419
422
  */
@@ -461,6 +464,20 @@ sap.ui.define([
461
464
  **/
462
465
  toNode: { type: "sap.suite.ui.commons.networkgraph.Node" }
463
466
  }
467
+ },
468
+ /**
469
+ * This event is fired when a user presses the delete key on a focused node or line.
470
+ * This event is available only when the layout algorithm is set to "NoopLayout" and the <code>enableDragAndDrop</code> property is set to <code>true</code>.
471
+ * @public
472
+ * @since 1.145
473
+ */
474
+ itemDeleted: {
475
+ parameters: {
476
+ /**
477
+ * The item (node or line) that is to be deleted.
478
+ */
479
+ item: { type: "sap.suite.ui.commons.networkgraph.ElementBase" }
480
+ }
464
481
  }
465
482
  }
466
483
  }
@@ -1143,10 +1160,16 @@ sap.ui.define([
1143
1160
  this.setProperty("enableDragAndDrop", bEnabled, true);
1144
1161
 
1145
1162
  // Update zoom button states
1146
- if (this._zoomIn && this._zoomOut) {
1163
+ if (this._zoomIn && this._zoomOut && this._zoomToFitButton) {
1147
1164
  var bZoomEnabled = !this._isDnDEnabled();
1148
1165
  this._zoomIn.setEnabled(bZoomEnabled);
1149
1166
  this._zoomOut.setEnabled(bZoomEnabled);
1167
+ this._zoomToFitButton.setEnabled(bZoomEnabled);
1168
+ }
1169
+
1170
+ // remove the node ports when drag and drop is disabled
1171
+ if (!bEnabled) {
1172
+ PortManager.removeAllPorts();
1150
1173
  }
1151
1174
 
1152
1175
  return this;
@@ -1176,12 +1199,12 @@ sap.ui.define([
1176
1199
  this._oFocus.item.isA("sap.suite.ui.commons.networkgraph.Node")))) {
1177
1200
  this._updateAccessibility(oFocus);
1178
1201
  }
1179
- this._updateAccessibility(oFocus);
1180
- return;
1202
+ this._updateAccessibility(oFocus);
1203
+ return;
1181
1204
  }
1182
1205
 
1183
1206
  this.defocus();
1184
- if (this.getFocusDomRef()) {
1207
+ if (this.getFocusDomRef() && !(oFocus && oFocus.button && oFocus.button.id && oFocus.button.id.indexOf("actionOverflow") !== -1)) {
1185
1208
  this.getFocusDomRef().focus();
1186
1209
  }
1187
1210
 
@@ -2203,21 +2226,27 @@ sap.ui.define([
2203
2226
  });
2204
2227
  this._toolbar.addContent(this._zoomOut);
2205
2228
 
2206
- // Disable zoom buttons if drag and drop is enabled
2207
- if (this._isDnDEnabled()) {
2208
- this._zoomIn.setEnabled(false);
2209
- this._zoomOut.setEnabled(false);
2210
- }
2229
+ // Disable zoom buttons if drag and drop is enabled
2230
+ if (this._isDnDEnabled()) {
2231
+ this._zoomIn.setEnabled(false);
2232
+ this._zoomOut.setEnabled(false);
2211
2233
  }
2234
+ }
2212
2235
 
2213
2236
  // fit to viewport
2214
- this._toolbar.addContent(new OverflowToolbarButton({
2237
+ this._zoomToFitButton = new OverflowToolbarButton({
2215
2238
  type: ButtonType.Transparent,
2216
2239
  icon: "sap-icon://popup-window",
2217
2240
  tooltip: oResourceBundle.getText("NETWORK_GRAPH_ZOOMTOFIT"),
2218
2241
  text: oResourceBundle.getText("NETWORK_GRAPH_ZOOMTOFIT"),
2219
2242
  press: this._fitToScreen.bind(this)
2220
- }));
2243
+ });
2244
+ this._toolbar.addContent(this._zoomToFitButton);
2245
+
2246
+ // Disable zoom to fit button if drag and drop is enabled
2247
+ if (this._isDnDEnabled()) {
2248
+ this._zoomToFitButton.setEnabled(false);
2249
+ }
2221
2250
 
2222
2251
  // toggle full screen
2223
2252
  this._oFullScreenButton = new OverflowToolbarButton({
@@ -2622,7 +2651,7 @@ sap.ui.define([
2622
2651
  this._tooltip.instantClose();
2623
2652
 
2624
2653
  // Remove all ports when deselecting
2625
- if (this.getNodePorts() !== "None") {
2654
+ if (PortManager._currentTriggerNodeKey !== null) {
2626
2655
  PortManager.removeAllPorts();
2627
2656
  }
2628
2657
  };
@@ -3309,7 +3338,7 @@ sap.ui.define([
3309
3338
  * @private
3310
3339
  */
3311
3340
  Graph.prototype._supportsNodePorts = function () {
3312
- return this.getNodePorts() !== "None" && this._isDnDEnabled() && this.getShowCreateConnectionButton();
3341
+ return this.getNodePorts() !== "None" && this._isDnDEnabled();
3313
3342
  };
3314
3343
 
3315
3344
  return Graph;
@@ -187,13 +187,15 @@ sap.ui.define([
187
187
  };
188
188
 
189
189
  KeyboardNavigator.prototype.onkeyup = function(oEvent) {
190
- if (oEvent.keyCode === KeyCodes.SPACE){
191
- this._handleEnter();
192
- if (this._oGraph.getFocusDomRef() === document.activeElement) {
190
+ if (oEvent.keyCode === KeyCodes.SPACE){
191
+ this._handleEnter();
192
+ if (this._oGraph.getFocusDomRef() === document.activeElement) {
193
193
  oEvent.stopPropagation();
194
194
  oEvent.preventDefault();
195
- }
196
195
  }
196
+ } else if (oEvent.keyCode === KeyCodes.DELETE || oEvent.keyCode === KeyCodes.BACKSPACE) {
197
+ this._handleDelete(oEvent);
198
+ }
197
199
  };
198
200
 
199
201
  KeyboardNavigator.prototype.onsapenter = function (oEvent) {
@@ -331,6 +333,45 @@ sap.ui.define([
331
333
  }
332
334
  };
333
335
 
336
+ KeyboardNavigator.prototype._handleDelete = function (oEvent) {
337
+ // Only handle delete when DnD is enabled
338
+ if (!this._oGraph._isDnDEnabled()) {
339
+ return;
340
+ }
341
+
342
+ var oFocus = this.getFocus();
343
+ if (!oFocus) {
344
+ return;
345
+ }
346
+
347
+ var oItem = oFocus.item;
348
+
349
+ // Only allow delete for Node and Line, not Group
350
+ if (oItem instanceof Node || oItem instanceof Line) {
351
+ oItem.setSelected(false);
352
+
353
+ // Clear focus before delete to prevent stale reference issues
354
+ if (this._oGraph._oFocus && this._oGraph._oFocus.item === oItem) {
355
+ this._oGraph._oFocus = null;
356
+ }
357
+
358
+ // Fire the itemDeleted event on the graph
359
+ var bExecuteDefault = this._oGraph.fireEvent("itemDeleted", {
360
+ item: oItem
361
+ }, true);
362
+
363
+ if (bExecuteDefault) {
364
+ oEvent.stopPropagation();
365
+ oEvent.preventDefault();
366
+ }
367
+
368
+ // Restore focus after a small timeout (to let any rerender settle)
369
+ setTimeout(function () {
370
+ this._oGraph.setFocus(oFocus)
371
+ }.bind(this), 0);
372
+ }
373
+ };
374
+
334
375
  KeyboardNavigator.prototype._handleTab = function (oEvent, sDirection) {
335
376
  var oResourceBundle = CoreLib.getResourceBundleFor("sap.suite.ui.commons");
336
377
  this._oWrapperDom.setAttribute("aria-live","assertive");
@@ -905,6 +905,11 @@ sap.ui.define([
905
905
 
906
906
  aSentenceParts.push(oResourceBundle.getText('NETWORK_GRAPH_ACCESSIBILITY_TOGGLE_STATE'));
907
907
 
908
+ const iIncomingConnectors = this.getFromNode().getChildLines().length;
909
+ if (iIncomingConnectors > 1) {
910
+ aSentenceParts.push(oResourceBundle.getText('NETWORK_GRAPH_LINE_NAVIGATION_ARROW_KEYS', [sFromNodeText]));
911
+ }
912
+
908
913
  aSentenceParts.push(oResourceBundle.getText('NETWORK_GRAPH_LINE_NAVIGATION_TAB_TO_TARGET', [sToNodeText]));
909
914
  aSentenceParts.push(oResourceBundle.getText('NETWORK_GRAPH_LINE_NAVIGATION_SHIFT_TAB_TO_SOURCE', [sFromNodeText]));
910
915
 
@@ -1106,10 +1111,39 @@ sap.ui.define([
1106
1111
  $line.on("mouseout", function (oEvent) {
1107
1112
  this._mouseOut();
1108
1113
  }.bind(this));
1114
+
1115
+ // Setup events for text box
1116
+ var oParent = this.getParent();
1117
+ if (oParent) {
1118
+ var sLineId = this._getLineId();
1119
+ var $textBox = oParent.$("line-texts").find('[data-line-id="' + sLineId + '"]');
1120
+
1121
+ $textBox.on("click", function (oEvent) {
1122
+ this._click({
1123
+ ctrlKey: oEvent.ctrlKey,
1124
+ clientX: oEvent.clientX,
1125
+ clientY: oEvent.clientY
1126
+ });
1127
+ }.bind(this));
1128
+
1129
+ $textBox.on("mouseover", function (oEvent) {
1130
+ this._mouseOver();
1131
+ }.bind(this));
1132
+
1133
+ $textBox.on("mouseout", function (oEvent) {
1134
+ this._mouseOut();
1135
+ }.bind(this));
1136
+ }
1109
1137
  };
1110
1138
 
1111
1139
  Line.prototype._mouseOut = function () {
1112
1140
  this.$().removeClass(this.HIGHLIGHT_CLASS);
1141
+ // Remove highlight class from text box using data-line-id attribute
1142
+ var oParent = this.getParent();
1143
+ if (oParent) {
1144
+ var sLineId = this._getLineId();
1145
+ oParent.$("line-texts").find('[data-line-id="' + sLineId + '"]').removeClass(this.HIGHLIGHT_CLASS);
1146
+ }
1113
1147
  if (!this.getSelected()) {
1114
1148
  this._setStatusColors("");
1115
1149
  }
@@ -1121,6 +1155,12 @@ sap.ui.define([
1121
1155
  if (!this.getSelected() && bExecuteDefault) {
1122
1156
  this._setStatusColors("Hover");
1123
1157
  this.$().addClass(this.HIGHLIGHT_CLASS);
1158
+ // Add highlight class to text box using data-line-id attribute
1159
+ var oParent = this.getParent();
1160
+ if (oParent) {
1161
+ var sLineId = this._getLineId();
1162
+ oParent.$("line-texts").find('[data-line-id="' + sLineId + '"]').addClass(this.HIGHLIGHT_CLASS);
1163
+ }
1124
1164
  }
1125
1165
  };
1126
1166
 
@@ -1434,6 +1474,18 @@ sap.ui.define([
1434
1474
  if (bFocus) {
1435
1475
  this._renderFocusWrapper();
1436
1476
  }
1477
+
1478
+ // Apply focus class to text box for blue border
1479
+ var oParent = this.getParent();
1480
+ if (oParent) {
1481
+ var sLineId = this._getLineId();
1482
+ var $textBox = oParent.$("line-texts").find('[data-line-id="' + sLineId + '"]');
1483
+ if (bFocus) {
1484
+ $textBox.addClass(this.FOCUS_CLASS);
1485
+ } else {
1486
+ $textBox.removeClass(this.FOCUS_CLASS);
1487
+ }
1488
+ }
1437
1489
  };
1438
1490
 
1439
1491
  Line.prototype._isEndPosition = function () {