@sapui5/sap.ui.vk 1.135.0 → 1.136.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 (226) hide show
  1. package/package.json +1 -1
  2. package/src/sap/ui/vk/.library +1 -1
  3. package/src/sap/ui/vk/AnimationPlayback.js +1 -1
  4. package/src/sap/ui/vk/AnimationPlayer.js +1 -1
  5. package/src/sap/ui/vk/AnimationSequence.js +1 -1
  6. package/src/sap/ui/vk/AnimationTimeSlider.js +1 -1
  7. package/src/sap/ui/vk/AnimationTrack.js +1 -1
  8. package/src/sap/ui/vk/Annotation.js +1 -1
  9. package/src/sap/ui/vk/BaseNodeProxy.js +1 -1
  10. package/src/sap/ui/vk/Camera.js +1 -1
  11. package/src/sap/ui/vk/ContentConnector.js +137 -87
  12. package/src/sap/ui/vk/ContentManager.js +1 -1
  13. package/src/sap/ui/vk/ContentResource.js +38 -8
  14. package/src/sap/ui/vk/ContentType.js +41 -0
  15. package/src/sap/ui/vk/Core.js +1 -1
  16. package/src/sap/ui/vk/DownloadManager.js +1 -1
  17. package/src/sap/ui/vk/DrawerToolbar.js +17 -57
  18. package/src/sap/ui/vk/DvlException.js +1 -1
  19. package/src/sap/ui/vk/FlexibleControl.js +1 -1
  20. package/src/sap/ui/vk/FlexibleControlLayoutData.js +1 -1
  21. package/src/sap/ui/vk/Highlight.js +1 -1
  22. package/src/sap/ui/vk/ImageContentManager.js +1 -1
  23. package/src/sap/ui/vk/JointUtils.js +1 -1
  24. package/src/sap/ui/vk/LayerProxy.js +1 -1
  25. package/src/sap/ui/vk/Loco.js +1 -1
  26. package/src/sap/ui/vk/Material.js +1 -1
  27. package/src/sap/ui/vk/NativeViewport.js +1 -1
  28. package/src/sap/ui/vk/NodeHierarchy.js +1 -1
  29. package/src/sap/ui/vk/NodeProxy.js +1 -1
  30. package/src/sap/ui/vk/NodeUtils.js +1 -1
  31. package/src/sap/ui/vk/Notifications.js +1 -1
  32. package/src/sap/ui/vk/OrthographicCamera.js +1 -1
  33. package/src/sap/ui/vk/PerspectiveCamera.js +1 -1
  34. package/src/sap/ui/vk/ProgressIndicator.js +1 -1
  35. package/src/sap/ui/vk/RedlineCollaboration.js +1 -1
  36. package/src/sap/ui/vk/RedlineConversation.js +1 -1
  37. package/src/sap/ui/vk/RedlineDesign.js +1 -1
  38. package/src/sap/ui/vk/RedlineElement.js +1 -1
  39. package/src/sap/ui/vk/RedlineElementComment.js +1 -1
  40. package/src/sap/ui/vk/RedlineElementEllipse.js +1 -1
  41. package/src/sap/ui/vk/RedlineElementFreehand.js +1 -1
  42. package/src/sap/ui/vk/RedlineElementLine.js +1 -1
  43. package/src/sap/ui/vk/RedlineElementRectangle.js +1 -1
  44. package/src/sap/ui/vk/RedlineElementText.js +1 -1
  45. package/src/sap/ui/vk/RedlineSurface.js +1 -1
  46. package/src/sap/ui/vk/SafeArea.js +1 -1
  47. package/src/sap/ui/vk/Scene.js +1 -1
  48. package/src/sap/ui/vk/SceneTree.js +1 -1
  49. package/src/sap/ui/vk/StepNavigation.js +1 -1
  50. package/src/sap/ui/vk/Texture.js +1 -1
  51. package/src/sap/ui/vk/ToggleMenuButton.js +1 -1
  52. package/src/sap/ui/vk/ToggleMenuItem.js +1 -1
  53. package/src/sap/ui/vk/Toolbar.js +10 -18
  54. package/src/sap/ui/vk/View.js +1 -1
  55. package/src/sap/ui/vk/ViewGallery.js +1 -1
  56. package/src/sap/ui/vk/ViewGalleryThumbnail.js +1 -1
  57. package/src/sap/ui/vk/ViewGroup.js +1 -1
  58. package/src/sap/ui/vk/ViewManager.js +1 -1
  59. package/src/sap/ui/vk/ViewStateManager.js +1 -1
  60. package/src/sap/ui/vk/ViewStateManagerBase.js +1 -1
  61. package/src/sap/ui/vk/Viewer.js +65 -76
  62. package/src/sap/ui/vk/Viewport.js +1 -1
  63. package/src/sap/ui/vk/ViewportBase.js +46 -3
  64. package/src/sap/ui/vk/VisibilityMode.js +2 -1
  65. package/src/sap/ui/vk/dvl/BaseNodeProxy.js +1 -1
  66. package/src/sap/ui/vk/dvl/ContentManager.js +1 -1
  67. package/src/sap/ui/vk/dvl/GraphicsCore.js +1 -1
  68. package/src/sap/ui/vk/dvl/LayerProxy.js +1 -1
  69. package/src/sap/ui/vk/dvl/NodeHierarchy.js +1 -1
  70. package/src/sap/ui/vk/dvl/NodeProxy.js +1 -1
  71. package/src/sap/ui/vk/dvl/Scene.js +1 -1
  72. package/src/sap/ui/vk/dvl/ViewStateManager.js +1 -1
  73. package/src/sap/ui/vk/dvl/Viewport.js +1 -1
  74. package/src/sap/ui/vk/ecad/ElementsPanel.js +469 -0
  75. package/src/sap/ui/vk/ecad/ElementsPanelRenderer.js +41 -0
  76. package/src/sap/ui/vk/ecad/LayersPanel.js +440 -0
  77. package/src/sap/ui/vk/ecad/LayersPanelRenderer.js +41 -0
  78. package/src/sap/ui/vk/ecad/VisibilityType.js +31 -0
  79. package/src/sap/ui/vk/i18n/messagebundle.properties +55 -0
  80. package/src/sap/ui/vk/i18n/messagebundle_ar.properties +29 -0
  81. package/src/sap/ui/vk/i18n/messagebundle_bg.properties +29 -0
  82. package/src/sap/ui/vk/i18n/messagebundle_ca.properties +30 -1
  83. package/src/sap/ui/vk/i18n/messagebundle_cnr.properties +29 -0
  84. package/src/sap/ui/vk/i18n/messagebundle_cs.properties +29 -0
  85. package/src/sap/ui/vk/i18n/messagebundle_cy.properties +29 -0
  86. package/src/sap/ui/vk/i18n/messagebundle_da.properties +29 -0
  87. package/src/sap/ui/vk/i18n/messagebundle_de.properties +30 -1
  88. package/src/sap/ui/vk/i18n/messagebundle_el.properties +29 -0
  89. package/src/sap/ui/vk/i18n/messagebundle_en.properties +29 -0
  90. package/src/sap/ui/vk/i18n/messagebundle_en_GB.properties +29 -0
  91. package/src/sap/ui/vk/i18n/messagebundle_en_US_saprigi.properties +29 -0
  92. package/src/sap/ui/vk/i18n/messagebundle_es.properties +33 -4
  93. package/src/sap/ui/vk/i18n/messagebundle_es_MX.properties +29 -0
  94. package/src/sap/ui/vk/i18n/messagebundle_et.properties +29 -0
  95. package/src/sap/ui/vk/i18n/messagebundle_fi.properties +29 -0
  96. package/src/sap/ui/vk/i18n/messagebundle_fr.properties +29 -0
  97. package/src/sap/ui/vk/i18n/messagebundle_fr_CA.properties +29 -0
  98. package/src/sap/ui/vk/i18n/messagebundle_hi.properties +29 -0
  99. package/src/sap/ui/vk/i18n/messagebundle_hr.properties +29 -0
  100. package/src/sap/ui/vk/i18n/messagebundle_hu.properties +29 -0
  101. package/src/sap/ui/vk/i18n/messagebundle_id.properties +31 -2
  102. package/src/sap/ui/vk/i18n/messagebundle_it.properties +31 -2
  103. package/src/sap/ui/vk/i18n/messagebundle_iw.properties +29 -0
  104. package/src/sap/ui/vk/i18n/messagebundle_ja.properties +29 -0
  105. package/src/sap/ui/vk/i18n/messagebundle_kk.properties +41 -12
  106. package/src/sap/ui/vk/i18n/messagebundle_ko.properties +29 -0
  107. package/src/sap/ui/vk/i18n/messagebundle_lt.properties +29 -0
  108. package/src/sap/ui/vk/i18n/messagebundle_lv.properties +31 -2
  109. package/src/sap/ui/vk/i18n/messagebundle_mk.properties +31 -2
  110. package/src/sap/ui/vk/i18n/messagebundle_ms.properties +34 -5
  111. package/src/sap/ui/vk/i18n/messagebundle_nl.properties +29 -0
  112. package/src/sap/ui/vk/i18n/messagebundle_no.properties +29 -0
  113. package/src/sap/ui/vk/i18n/messagebundle_pl.properties +29 -0
  114. package/src/sap/ui/vk/i18n/messagebundle_pt.properties +29 -0
  115. package/src/sap/ui/vk/i18n/messagebundle_pt_PT.properties +29 -0
  116. package/src/sap/ui/vk/i18n/messagebundle_ro.properties +29 -0
  117. package/src/sap/ui/vk/i18n/messagebundle_ru.properties +29 -0
  118. package/src/sap/ui/vk/i18n/messagebundle_sh.properties +29 -0
  119. package/src/sap/ui/vk/i18n/messagebundle_sk.properties +29 -0
  120. package/src/sap/ui/vk/i18n/messagebundle_sl.properties +32 -3
  121. package/src/sap/ui/vk/i18n/messagebundle_sr.properties +29 -0
  122. package/src/sap/ui/vk/i18n/messagebundle_sv.properties +29 -0
  123. package/src/sap/ui/vk/i18n/messagebundle_th.properties +29 -0
  124. package/src/sap/ui/vk/i18n/messagebundle_tr.properties +29 -0
  125. package/src/sap/ui/vk/i18n/messagebundle_uk.properties +30 -1
  126. package/src/sap/ui/vk/i18n/messagebundle_vi.properties +29 -0
  127. package/src/sap/ui/vk/i18n/messagebundle_zh_CN.properties +29 -0
  128. package/src/sap/ui/vk/i18n/messagebundle_zh_TW.properties +29 -0
  129. package/src/sap/ui/vk/library.js +4 -3
  130. package/src/sap/ui/vk/measurements/Angle.js +1 -1
  131. package/src/sap/ui/vk/measurements/Area.js +1 -1
  132. package/src/sap/ui/vk/measurements/Distance.js +1 -1
  133. package/src/sap/ui/vk/measurements/Edge.js +1 -1
  134. package/src/sap/ui/vk/measurements/Face.js +1 -1
  135. package/src/sap/ui/vk/measurements/Feature.js +1 -1
  136. package/src/sap/ui/vk/measurements/Vertex.js +1 -1
  137. package/src/sap/ui/vk/pdf/ContentManager.js +1 -1
  138. package/src/sap/ui/vk/pdf/PageGallery.js +3 -5
  139. package/src/sap/ui/vk/pdf/Viewport.js +1 -1
  140. package/src/sap/ui/vk/svg/BaseNodeProxy.js +1 -1
  141. package/src/sap/ui/vk/svg/ContentDeliveryService.js +2 -1
  142. package/src/sap/ui/vk/svg/ContentManager.js +4 -3
  143. package/src/sap/ui/vk/svg/NodeHierarchy.js +1 -1
  144. package/src/sap/ui/vk/svg/NodeProxy.js +1 -1
  145. package/src/sap/ui/vk/svg/OrthographicCamera.js +1 -1
  146. package/src/sap/ui/vk/svg/Scene.js +1 -1
  147. package/src/sap/ui/vk/svg/SceneBuilder.js +1 -1
  148. package/src/sap/ui/vk/svg/ViewStateManager.js +1 -1
  149. package/src/sap/ui/vk/svg/Viewport.js +1 -1
  150. package/src/sap/ui/vk/themes/base/DrawerToolbar.less +8 -0
  151. package/src/sap/ui/vk/themes/base/Viewer.less +9 -12
  152. package/src/sap/ui/vk/themes/sap_belize_base/Viewer.less +1 -12
  153. package/src/sap/ui/vk/themes/sap_bluecrystal_base/Viewer.less +1 -12
  154. package/src/sap/ui/vk/themes/sap_hcb/base_Viewer.less +1 -12
  155. package/src/sap/ui/vk/thirdparty/pdf.worker.js +1 -1
  156. package/src/sap/ui/vk/thirdparty/three.js +31455 -31473
  157. package/src/sap/ui/vk/threejs/AnimationHelper.js +1 -1
  158. package/src/sap/ui/vk/threejs/BaseNodeProxy.js +1 -1
  159. package/src/sap/ui/vk/threejs/Billboard.js +1 -1
  160. package/src/sap/ui/vk/threejs/Callout.js +1 -1
  161. package/src/sap/ui/vk/threejs/ContentDeliveryService.js +2 -1
  162. package/src/sap/ui/vk/threejs/ContentManager.js +2 -2
  163. package/src/sap/ui/vk/threejs/DetailView.js +1 -1
  164. package/src/sap/ui/vk/threejs/HighlightPlayer.js +1 -1
  165. package/src/sap/ui/vk/threejs/Material.js +1 -1
  166. package/src/sap/ui/vk/threejs/NodeHierarchy.js +1 -1
  167. package/src/sap/ui/vk/threejs/NodeProxy.js +1 -1
  168. package/src/sap/ui/vk/threejs/OrthographicCamera.js +1 -1
  169. package/src/sap/ui/vk/threejs/PerspectiveCamera.js +1 -1
  170. package/src/sap/ui/vk/threejs/PointCloudGroup.js +1 -1
  171. package/src/sap/ui/vk/threejs/Scene.js +1 -1
  172. package/src/sap/ui/vk/threejs/SceneBuilder.js +2 -2
  173. package/src/sap/ui/vk/threejs/Texture.js +1 -1
  174. package/src/sap/ui/vk/threejs/ThreeExtensions.js +9 -1
  175. package/src/sap/ui/vk/threejs/Thrustline.js +1 -1
  176. package/src/sap/ui/vk/threejs/ViewStateManager.js +1 -1
  177. package/src/sap/ui/vk/threejs/Viewport.js +7 -1
  178. package/src/sap/ui/vk/threejs/v2/ViewStateManager.js +1 -1
  179. package/src/sap/ui/vk/tools/AnchorPointTool.js +1 -1
  180. package/src/sap/ui/vk/tools/AnchorPointToolGizmo.js +1 -1
  181. package/src/sap/ui/vk/tools/AxisAngleRotationTool.js +1 -1
  182. package/src/sap/ui/vk/tools/AxisAngleRotationToolGizmo.js +1 -1
  183. package/src/sap/ui/vk/tools/CreateEllipseTool.js +1 -1
  184. package/src/sap/ui/vk/tools/CreateEllipseToolGizmo.js +1 -1
  185. package/src/sap/ui/vk/tools/CreateParametricGizmo.js +1 -1
  186. package/src/sap/ui/vk/tools/CreatePathTool.js +1 -1
  187. package/src/sap/ui/vk/tools/CreatePathToolGizmo.js +1 -1
  188. package/src/sap/ui/vk/tools/CreateRectangleTool.js +1 -1
  189. package/src/sap/ui/vk/tools/CreateRectangleToolGizmo.js +1 -1
  190. package/src/sap/ui/vk/tools/CreateTextTool.js +1 -1
  191. package/src/sap/ui/vk/tools/CreateTextToolGizmo.js +1 -1
  192. package/src/sap/ui/vk/tools/CrossSectionTool.js +1 -1
  193. package/src/sap/ui/vk/tools/CrossSectionToolGizmo.js +1 -1
  194. package/src/sap/ui/vk/tools/DuplicateSvgElementTool.js +1 -1
  195. package/src/sap/ui/vk/tools/DuplicateSvgElementToolGizmo.js +1 -1
  196. package/src/sap/ui/vk/tools/ExplodeTool.js +1 -1
  197. package/src/sap/ui/vk/tools/ExplodeToolGizmo.js +1 -1
  198. package/src/sap/ui/vk/tools/Gizmo.js +1 -1
  199. package/src/sap/ui/vk/tools/HitTestTool.js +1 -1
  200. package/src/sap/ui/vk/tools/MoveTool.js +1 -1
  201. package/src/sap/ui/vk/tools/MoveToolGizmo.js +1 -1
  202. package/src/sap/ui/vk/tools/PointCloudSelectionTool.js +1 -1
  203. package/src/sap/ui/vk/tools/PointCloudSelectionToolGizmo.js +1 -1
  204. package/src/sap/ui/vk/tools/RectSelectTool.js +1 -1
  205. package/src/sap/ui/vk/tools/RedlineTool.js +1 -1
  206. package/src/sap/ui/vk/tools/RedlineToolGizmo.js +1 -1
  207. package/src/sap/ui/vk/tools/RotateOrbitTool.js +1 -1
  208. package/src/sap/ui/vk/tools/RotateTool.js +1 -1
  209. package/src/sap/ui/vk/tools/RotateToolGizmo.js +1 -1
  210. package/src/sap/ui/vk/tools/RotateTurntableTool.js +1 -1
  211. package/src/sap/ui/vk/tools/ScaleTool.js +1 -1
  212. package/src/sap/ui/vk/tools/ScaleToolGizmo.js +1 -1
  213. package/src/sap/ui/vk/tools/SceneOrientationTool.js +1 -1
  214. package/src/sap/ui/vk/tools/SceneOrientationToolGizmo.js +1 -1
  215. package/src/sap/ui/vk/tools/Tool.js +1 -1
  216. package/src/sap/ui/vk/tools/TooltipTool.js +1 -1
  217. package/src/sap/ui/vk/tools/TooltipToolGizmo.js +1 -1
  218. package/src/sap/ui/vk/tools/TransformSvgElementTool.js +1 -1
  219. package/src/sap/ui/vk/tools/TransformSvgElementToolGizmo.js +1 -1
  220. package/src/sap/ui/vk/totara/TotaraLoader.js +2 -2
  221. package/src/sap/ui/vk/totara/TotaraLoaderWorker.js +18 -21
  222. package/src/sap/ui/vk/totara/TotaraUtils.js +5 -0
  223. package/src/sap/ui/vk/ve/dvl.js +1 -1
  224. package/src/sap/ui/vk/ve/dvl.wasm +0 -0
  225. package/src/sap/ui/vk/ve/matai.js +1 -1
  226. package/src/sap/ui/vk/ve/matai.wasm +0 -0
@@ -15,7 +15,8 @@ sap.ui.define([
15
15
  "./SelectionDisplayMode",
16
16
  "./RenderMode",
17
17
  "./SafeArea",
18
- "sap/ui/core/Element"
18
+ "sap/ui/core/Element",
19
+ "sap/ui/core/StaticArea"
19
20
  ], function(
20
21
  Control,
21
22
  Tool,
@@ -25,7 +26,8 @@ sap.ui.define([
25
26
  SelectionDisplayMode,
26
27
  RenderMode,
27
28
  SafeArea,
28
- Element
29
+ Element,
30
+ StaticArea
29
31
  ) {
30
32
  "use strict";
31
33
 
@@ -40,7 +42,7 @@ sap.ui.define([
40
42
  * @public
41
43
  * @abstract
42
44
  * @author SAP SE
43
- * @version 1.135.0
45
+ * @version 1.136.1
44
46
  * @extends sap.ui.core.Control
45
47
  * @alias sap.ui.vk.ViewportBase
46
48
  * @since 1.50.0
@@ -402,6 +404,11 @@ sap.ui.define([
402
404
  this.setSafeArea(new SafeArea());
403
405
  }
404
406
  this._camera = null;
407
+
408
+ this._staticAreaParent = null;
409
+ this._staticAreaNextSibling = null;
410
+
411
+ this.attachBrowserEvent("fullscreenchange", this._handleFullscreenChange, this);
405
412
  };
406
413
 
407
414
  ViewportBase.prototype.exit = function() {
@@ -416,11 +423,47 @@ sap.ui.define([
416
423
  }
417
424
  }
418
425
 
426
+ this._staticAreaParent = null;
427
+ this._staticAreaNextSibling = null;
428
+
429
+ this.detachBrowserEvent("fullscreenchange", this._handleFullscreenChange, this);
430
+
419
431
  if (basePrototype.exit) {
420
432
  basePrototype.exit.call(this);
421
433
  }
422
434
  };
423
435
 
436
+ ViewportBase.prototype._handleFullscreenChange = function(event) {
437
+ if (event.target === this.getDomRef()) {
438
+ const staticArea = StaticArea.getDomRef();
439
+ if (staticArea == null) {
440
+ return;
441
+ }
442
+ const viewportDomRef = this.getDomRef();
443
+ if (document.fullscreenElement === viewportDomRef) {
444
+ // Entering fullscreen
445
+ this._staticAreaParent = staticArea.parentElement;
446
+ this._staticAreaNextSibling = staticArea.nextSibling;
447
+ viewportDomRef.insertBefore(staticArea, viewportDomRef.firstChild);
448
+
449
+ // NOTE 1: When we enter fullscreen, we stop the event propagation because the
450
+ // parent elements may already be fullscreen.
451
+ event.stopImmediatePropagation();
452
+ } else {
453
+ // Exiting fullscreen
454
+ this._staticAreaParent.insertBefore(staticArea, this._staticAreaNextSibling);
455
+ this._staticAreaParent = this._staticAreaNextSibling = null;
456
+
457
+ // NOTE 2: When we exit fullscreen, we stop the event propagation only if there is
458
+ // another element in fullscreen. Otherwise, the event needs to bubble up to parent
459
+ // handlers so that they can restore the static area to its original position.
460
+ if (document.fullscreenElement != null) {
461
+ event.stopImmediatePropagation();
462
+ }
463
+ }
464
+ }
465
+ };
466
+
424
467
  ViewportBase.prototype.onSetContentConnector = function(contentConnector) {
425
468
  contentConnector.attachContentReplaced(this._onContentReplaced, this);
426
469
  this._setContent(contentConnector.getContent());
@@ -18,7 +18,8 @@ sap.ui.define([
18
18
  * @enum {string}
19
19
  * @readonly
20
20
  * @alias sap.ui.vk.VisibilityMode
21
- * @public
21
+ * @private
22
+ * @since 1.136.0
22
23
  */
23
24
  var VisibilityMode = {
24
25
  /**
@@ -37,7 +37,7 @@ sap.ui.define([
37
37
  *
38
38
  * @public
39
39
  * @author SAP SE
40
- * @version 1.135.0
40
+ * @version 1.136.1
41
41
  * @extends sap.ui.vk.BaseNodeProxy
42
42
  * @implements sap.ui.base.Poolable
43
43
  * @deprecated Since version 1.72.0. DVL namespace will be removed in future. Use {@link sap.ui.vk.BaseNodeProxy} instead.
@@ -25,7 +25,7 @@ sap.ui.define([
25
25
  * @param {object} [mSettings] Initial settings for the new ContentManager object.
26
26
  * @public
27
27
  * @author SAP SE
28
- * @version 1.135.0
28
+ * @version 1.136.1
29
29
  * @extends sap.ui.vk.ContentManager
30
30
  * @alias sap.ui.vk.dvl.ContentManager
31
31
  * @deprecated Since version 1.72.0. DVL namespace will be removed in future. Use {@link sap.ui.vk.ContentManager} instead.
@@ -279,7 +279,7 @@ sap.ui.define([
279
279
  * @param {object} webGLContextAttributes The WebGL context attributes. See {@link https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.2 WebGL context attributes}.
280
280
  * @public
281
281
  * @author SAP SE
282
- * @version 1.135.0
282
+ * @version 1.136.1
283
283
  * @extends sap.ui.base.EventProvider
284
284
  * @alias sap.ui.vk.dvl.GraphicsCore
285
285
  * @deprecated Since version 1.72.0. DVL namespace will be removed in future. Use {@link sap.ui.vk.ContentConnector} instead.
@@ -31,7 +31,7 @@ sap.ui.define([
31
31
  *
32
32
  * @public
33
33
  * @author SAP SE
34
- * @version 1.135.0
34
+ * @version 1.136.1
35
35
  * @extends sap.ui.vk.LayerProxy
36
36
  * @deprecated Since version 1.72.0. DVL namespace will be removed in future. Use {@link sap.ui.vk.LayerProxy} instead.
37
37
  * @alias sap.ui.vk.dvl.LayerProxy
@@ -71,7 +71,7 @@ sap.ui.define([
71
71
  *
72
72
  * @public
73
73
  * @author SAP SE
74
- * @version 1.135.0
74
+ * @version 1.136.1
75
75
  * @extends sap.ui.vk.NodeHierarchy
76
76
  * @alias sap.ui.vk.dvl.NodeHierarchy
77
77
  * @deprecated Since version 1.72.0. DVL namespace will be removed in future. Use {@link sap.ui.vk.NodeHierarchy} instead.
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  *
37
37
  * @public
38
38
  * @author SAP SE
39
- * @version 1.135.0
39
+ * @version 1.136.1
40
40
  * @extends sap.ui.vk.NodeProxy
41
41
  * @alias sap.ui.vk.dvl.NodeProxy
42
42
  * @deprecated Since version 1.72.0. DVL namespace will be removed in future. Use {@link sap.ui.vk.NodeProxy} instead.
@@ -30,7 +30,7 @@ sap.ui.define([
30
30
  *
31
31
  * @public
32
32
  * @author SAP SE
33
- * @version 1.135.0
33
+ * @version 1.136.1
34
34
  * @extends sap.ui.vk.Scene
35
35
  * @alias sap.ui.vk.dvl.Scene
36
36
  * @deprecated Since version 1.72.0. DVL namespace will be removed in future. Use {@link sap.ui.vk.Scene} instead.
@@ -41,7 +41,7 @@ sap.ui.define([
41
41
  * @param {object} [mSettings] Initial settings for the new ViewStateManager object.
42
42
  * @public
43
43
  * @author SAP SE
44
- * @version 1.135.0
44
+ * @version 1.136.1
45
45
  * @extends sap.ui.vk.ViewStateManagerBase
46
46
  * @alias sap.ui.vk.dvl.ViewStateManager
47
47
  * @deprecated Since version 1.72.0. DVL namespace will be removed in future. Use {@link sap.ui.vk.ViewStateManager} instead.
@@ -115,7 +115,7 @@ sap.ui.define([
115
115
  * @param {object} [mSettings] Initial settings for the new Viewport control.
116
116
  * @public
117
117
  * @author SAP SE
118
- * @version 1.135.0
118
+ * @version 1.136.1
119
119
  * @extends sap.ui.vk.ViewportBase
120
120
  * @alias sap.ui.vk.dvl.Viewport
121
121
  * @deprecated Since version 1.72.0. DVL namespace will be removed in future. Use {@link sap.ui.vk.Viewport} instead.
@@ -0,0 +1,469 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+
4
+ (c) Copyright 2009-2015 SAP SE. All rights reserved
5
+
6
+ */
7
+
8
+ // Provides control sap.ui.vk.ecad.ElementsPanel
9
+ sap.ui.define([
10
+ "sap/m/Button",
11
+ "sap/m/SearchField",
12
+ "sap/m/OverflowToolbar",
13
+ "sap/m/ToolbarLayoutData",
14
+ "sap/m/ToolbarSpacer",
15
+ "sap/m/Text",
16
+ "sap/m/Table",
17
+ "sap/m/Column",
18
+ "sap/m/Sticky",
19
+ "sap/m/ScrollContainer",
20
+ "sap/m/ColumnListItem",
21
+ "sap/ui/core/Core",
22
+ "sap/ui/core/Control",
23
+ "sap/ui/core/Element",
24
+ "sap/ui/core/Icon",
25
+ "sap/ui/core/library",
26
+ "sap/ui/core/ResizeHandler",
27
+ "sap/ui/model/json/JSONModel",
28
+ "../Core",
29
+ "../library",
30
+ "../ViewStateManager",
31
+ "./ElementsPanelRenderer",
32
+ "./VisibilityType",
33
+ "../getResourceBundle"
34
+ ], function(
35
+ Button,
36
+ SearchField,
37
+ OverflowToolbar,
38
+ ToolbarLayoutData,
39
+ ToolbarSpacer,
40
+ Text,
41
+ Table,
42
+ Column,
43
+ Sticky,
44
+ ScrollContainer,
45
+ ColumnListItem,
46
+ Core,
47
+ Control,
48
+ Element,
49
+ Icon,
50
+ Library,
51
+ ResizeHandler,
52
+ JSONModel,
53
+ vkCore,
54
+ vkLibrary,
55
+ ViewStateManager,
56
+ ElementsPanelRenderer,
57
+ VisibilityType,
58
+ getResourceBundle
59
+ ) {
60
+ "use strict";
61
+
62
+ /**
63
+ * Constructor for a new ElementsPanel.
64
+ *
65
+ * @param {string} [sId] id for the new control, generated automatically if no id is given
66
+ * @param {object} [mSettings] initial settings for the new control
67
+ *
68
+ * @class Provides a flat list view of all the ECAD layers in a given scene in table format.
69
+ * @extends sap.ui.core.Control
70
+ *
71
+ * @author SAP SE
72
+ * @version 1.136.1
73
+ *
74
+ * @constructor
75
+ * @private
76
+ * @alias sap.ui.vk.ecad.ElementsPanel
77
+ * @ui5-metamodel This control/element also will be described in the UI5 (legacy) designtime metamodel
78
+ * @since 1.136.0
79
+ */
80
+ var ElementsPanel = Control.extend("sap.ui.vk.ecad.ElementsPanel", /** @lends sap.ui.vk.ecad.ElementsPanel.prototype */ {
81
+ metadata: {
82
+ library: "sap.ui.vk",
83
+ aggregations: {
84
+ content: {
85
+ type: "sap.m.ScrollContainer",
86
+ multiple: false
87
+ }
88
+ },
89
+ associations: {
90
+ /**
91
+ * An association to the <code>ContentConnector</code> instance that manages content resources.
92
+ */
93
+ contentConnector: {
94
+ type: "sap.ui.vk.ContentConnector",
95
+ multiple: false
96
+ },
97
+
98
+ /**
99
+ * An association to the <code>ViewStateManager</code> instance.
100
+ */
101
+ viewStateManager: {
102
+ type: "sap.ui.vk.ViewStateManagerBase",
103
+ multiple: false
104
+ }
105
+ },
106
+ events: {
107
+ /**
108
+ * This event will be fired when content is replaced.
109
+ */
110
+ contentChanged: {
111
+ enableEventBubbling: true
112
+ }
113
+ }
114
+ },
115
+
116
+ renderer: ElementsPanelRenderer,
117
+
118
+ constructor: function(sId, mSettings) {
119
+ Control.apply(this, arguments);
120
+ vkCore.observeAssociations(this);
121
+ }
122
+ });
123
+
124
+ var iconHidden = "sap-icon://hide";
125
+ var iconPartial = "sap-icon://hide";
126
+ var iconVisible = "sap-icon://show";
127
+
128
+ ElementsPanel.prototype.onSetViewStateManager = function(manager) {
129
+ this._manager = manager;
130
+ manager.attachVisibilityChanged(this._onVisibilityChanged, this);
131
+ this.refresh();
132
+ };
133
+
134
+ ElementsPanel.prototype.onUnsetViewStateManager = function(manager) {
135
+ this._manager = null;
136
+ manager.detachVisibilityChanged(this._onVisibilityChanged, this);
137
+ this.refresh();
138
+ };
139
+
140
+ ElementsPanel.prototype.onSetContentConnector = function(connector) {
141
+ connector.attachContentReplaced(this._onContentReplaced, this);
142
+ connector.attachContentChangesFinished(this._onContentChangesFinished, this);
143
+ this._setContent(connector.getContent());
144
+ };
145
+
146
+ ElementsPanel.prototype.onUnsetContentConnector = function(connector) {
147
+ this._setContent(null);
148
+ connector.detachContentReplaced(this._onContentReplaced, this);
149
+ connector.detachContentChangesFinished(this._onContentChangesFinished, this);
150
+ };
151
+
152
+ ElementsPanel.prototype.init = function() {
153
+ if (Control.prototype.init) {
154
+ Control.prototype.init.apply(this);
155
+ }
156
+ var that = this;
157
+
158
+ this._showButton = new Button({
159
+ enabled: false,
160
+ iconFirst: true,
161
+ icon: iconVisible,
162
+ text: getResourceBundle().getText("ELEMENTS_PANEL_SHOW_BUTTON"),
163
+ tooltip: getResourceBundle().getText("ELEMENTS_PANEL_SHOW_BUTTON_TOOLTIP"),
164
+ press: this._onShowElements.bind(this)
165
+ });
166
+
167
+ this._hideButton = new Button({
168
+ enabled: false,
169
+ iconFirst: true,
170
+ icon: iconHidden,
171
+ text: getResourceBundle().getText("ELEMENTS_PANEL_HIDE_BUTTON"),
172
+ tooltip: getResourceBundle().getText("ELEMENTS_PANEL_HIDE_BUTTON_TOOLTIP"),
173
+ press: this._onHideElements.bind(this)
174
+ });
175
+
176
+ this._settingsButton = new Button({
177
+ icon: "sap-icon://settings",
178
+ tooltip: getResourceBundle().getText("ELEMENTS_PANEL_SETTINGS_BUTTON_TOOLTIP"),
179
+ press: this._onSettings.bind(this)
180
+ });
181
+
182
+ this._table = new Table({
183
+ mode: "MultiSelect",
184
+ sticky: [Sticky.HeaderToolbar, Sticky.ColumnHeaders],
185
+ selectionChange: this._onSelectionChanged.bind(this),
186
+ headerToolbar: new OverflowToolbar({
187
+ content: [
188
+ this._showButton,
189
+ this._hideButton,
190
+ new ToolbarSpacer(),
191
+ this._settingsButton
192
+ ]
193
+ }),
194
+ columns: [
195
+ new Column({
196
+ hAlign: Library.TextAlign.Begin,
197
+ header: new Text({ text: getResourceBundle().getText("ELEMENTS_PANEL_NAME_COLUMN") })
198
+
199
+ }),
200
+ new Column({
201
+ hAlign: Library.TextAlign.Begin,
202
+ header: new Text({ text: getResourceBundle().getText("ELEMENTS_PANEL_TYPE_COLUMN") })
203
+ }),
204
+ new Column({
205
+ hAlign: Library.TextAlign.Begin,
206
+ header: new Text({
207
+ text: getResourceBundle().getText("ELEMENTS_PANEL_DEVICE_REFERENCE_COLUMN")
208
+ })
209
+ }),
210
+ new Column({
211
+ hAlign: Library.TextAlign.Center,
212
+ header: new Text({ text: getResourceBundle().getText("ELEMENTS_PANEL_VISIBLE_COLUMN") })
213
+ })
214
+ ],
215
+ items: {
216
+ path: "/",
217
+ template: new ColumnListItem({
218
+ vAlign: "Middle",
219
+ cells: [
220
+ new Text({
221
+ text: "{refdes}"
222
+ }),
223
+ new Text({
224
+ text: {
225
+ path: "",
226
+ formatter: function(element) {
227
+ if (element.type === "2") {
228
+ return getResourceBundle().getText("ELEMENTS_PANEL_TYPE_COMPONENT");
229
+ } else if (element.type === "4") {
230
+ return getResourceBundle().getText("ELEMENTS_PANEL_TYPE_NET");
231
+ } else {
232
+ return getResourceBundle().getText("ELEMENTS_PANEL_TYPE_UNKNOWN");
233
+ }
234
+ }
235
+ }
236
+ }),
237
+ new Text({
238
+ text: "{deviceref}"
239
+ }),
240
+ new Icon({
241
+ src: {
242
+ path: "",
243
+ formatter: function(element) {
244
+ var type = that._getVisibility(element);
245
+ if (type === VisibilityType.Hidden) {
246
+ return iconHidden;
247
+ } else if (type === VisibilityType.Partial) {
248
+ return iconPartial;
249
+ }
250
+ return iconVisible;
251
+ }
252
+ },
253
+ tooltip: {
254
+ path: "",
255
+ formatter: function(element) {
256
+ var type = that._getVisibility(element);
257
+ if (type === VisibilityType.Hidden) {
258
+ return getResourceBundle().getText("ELEMENTS_PANEL_VISIBLE_COLUMN_HIDDEN_TOOLTIP");
259
+ } else if (type === VisibilityType.Partial) {
260
+ return getResourceBundle().getText("ELEMENTS_PANEL_VISIBLE_COLUMN_PARTIAL_TOOLTIP");
261
+ }
262
+ return getResourceBundle().getText("ELEMENTS_PANEL_VISIBLE_COLUMN_VISIBLE_TOOLTIP");
263
+ }
264
+ }
265
+ })
266
+ ]
267
+ })
268
+ }
269
+ });
270
+
271
+ this._scrollContainer = new ScrollContainer({
272
+ vertical: true,
273
+ horizontal: false,
274
+ height: "100%",
275
+ content: this._table
276
+ });
277
+
278
+ this.setAggregation("content", this._scrollContainer);
279
+
280
+ this._scene = null;
281
+ this._model = new JSONModel();
282
+ this._model.setSizeLimit(100000);
283
+ this._table.setModel(this._model);
284
+ };
285
+
286
+ ElementsPanel.prototype.refresh = function() {
287
+ if (!this._scene || !this._manager || !this._manager.getNodeHierarchy()) {
288
+ this._model.setData([]);
289
+ return;
290
+ }
291
+ // scan the tree and collect elements info
292
+ var elements = new Map();
293
+ this._scanTree(elements, this._manager.getNodeHierarchy().getSceneRef());
294
+
295
+ this._model.setData(elements.values().toArray());
296
+ this._table.setModel(this._model);
297
+ this.fireContentChanged();
298
+ };
299
+
300
+ ElementsPanel.prototype.onBeforeRendering = function() {
301
+ this._table.setVisible(true);
302
+ if (!this._resizeListenerId) {
303
+ this._resizeListenerId = ResizeHandler.register(this, this._handleResize.bind(this));
304
+ }
305
+ };
306
+
307
+ ElementsPanel.prototype._setScene = function(scene) {
308
+ this._scene = scene;
309
+ this.refresh();
310
+ };
311
+
312
+ ElementsPanel.prototype._getVisibility = function(element) {
313
+ return VisibilityType.Visible;
314
+ };
315
+
316
+ ElementsPanel.prototype._extractMetadata = function(metadata) {
317
+ if (metadata.length != undefined) {
318
+ var map = new Map();
319
+ metadata.forEach(function(entry) {
320
+ if (entry.category === "ecad") {
321
+ map.set(entry.tag, entry.value);
322
+ }
323
+ });
324
+ return map;
325
+ }
326
+ return null;
327
+ };
328
+
329
+ ElementsPanel.prototype._addElement = function(elements, metadata, nodeRef, nodeVisibility) {
330
+ var type = metadata.get("type");
331
+ var refdes = metadata.get("refdes");
332
+ var deviceref = metadata.get("deviceref");
333
+
334
+ var element = elements.get(refdes);
335
+ if (!element) {
336
+ element = {
337
+ refdes: refdes,
338
+ type: type,
339
+ deviceref: deviceref,
340
+ elements: new Map(),
341
+ hiddenElements: 0
342
+ };
343
+ elements.set(refdes, element);
344
+ }
345
+
346
+ if (nodeVisibility == false) {
347
+ // layer.hiddenElements++;
348
+ }
349
+ element.elements.set(nodeRef.uid, nodeRef);
350
+ };
351
+
352
+ ElementsPanel.prototype._scanTree = function(elements, nodeRef) {
353
+ var hierarchy = this._manager.getNodeHierarchy();
354
+ var node = hierarchy.createNodeProxy(nodeRef);
355
+ var metadata = this._extractMetadata(node.getNodeMetadata());
356
+ hierarchy.destroyNodeProxy(node);
357
+
358
+ if (metadata) {
359
+ var name = metadata.get("refdes");
360
+ if (name) {
361
+ this._addElement(elements, metadata, nodeRef, this._manager.getVisibilityState(nodeRef));
362
+ return; // don't go further down the hierarchy
363
+ }
364
+ }
365
+
366
+ hierarchy.getChildren(nodeRef).forEach(function(ref) {
367
+ this._scanTree(elements, ref);
368
+ }, this);
369
+ };
370
+
371
+ ElementsPanel.prototype._onSelectionChanged = function(event) {
372
+ this._updateButtons();
373
+ };
374
+
375
+ ElementsPanel.prototype._onVisibilityChanged = function(event) {
376
+ //
377
+ };
378
+
379
+ ElementsPanel.prototype._handleResize = function(event) {
380
+ // this._updateSelection();
381
+ };
382
+
383
+ ElementsPanel.prototype._setContent = function(content) {
384
+ // If there is no explicitly assigned view state manager then use the content connector's default one.
385
+ if (content && !this.getViewStateManager()) {
386
+ var connector = Element.getElementById(this.getContentConnector());
387
+ if (connector) {
388
+ var defaultManager = connector.getDefaultViewStateManager();
389
+ if (defaultManager) {
390
+ this.setViewStateManager(defaultManager);
391
+ }
392
+ }
393
+ }
394
+ this._setScene(content);
395
+ return this;
396
+ };
397
+
398
+ ElementsPanel.prototype._onContentReplaced = function(event) {
399
+ this._setContent(event.getParameter("newContent"));
400
+ };
401
+
402
+ ElementsPanel.prototype._onContentChangesFinished = function(event) {
403
+ this.refresh();
404
+ };
405
+
406
+ ElementsPanel.prototype._updateButtons = function() {
407
+ var canShow = false, canHide = false;
408
+ var selected = this._table.getSelectedItems();
409
+
410
+ selected.forEach(function(item) {
411
+ var element = item.getBindingContext().getObject();
412
+ var visibility = this._getVisibility(element);
413
+
414
+ if (visibility === VisibilityType.Visible) {
415
+ canHide = true;
416
+ } else if (visibility === VisibilityType.Hidden) {
417
+ canShow = true;
418
+ } else {
419
+ canHide = canShow = true;
420
+ }
421
+
422
+ }, this);
423
+
424
+ this._showButton.setEnabled(canShow);
425
+ this._hideButton.setEnabled(canHide);
426
+ };
427
+
428
+ ElementsPanel.prototype._onShowElements = function() {
429
+ var toShow = [];
430
+ var selected = this._table.getSelectedItems();
431
+
432
+ selected.forEach(function(item) {
433
+ var layer = item.getBindingContext().getObject();
434
+ if (layer.hiddenElements !== 0) {
435
+ layer.hiddenElements = 0;
436
+ layer.elements.forEach(function(nodeRef) {
437
+ toShow.push(nodeRef);
438
+ });
439
+ }
440
+ });
441
+ this._manager.setVisibilityState(toShow, true, true, true);
442
+ this._model.updateBindings(true);
443
+ this._updateButtons();
444
+ };
445
+
446
+ ElementsPanel.prototype._onHideElements = function() {
447
+ var toHide = [];
448
+ var selected = this._table.getSelectedItems();
449
+
450
+ selected.forEach(function(item) {
451
+ var layer = item.getBindingContext().getObject();
452
+ if (layer.hiddenElements !== layer.elements.size) {
453
+ layer.hiddenElements = layer.elements.size;
454
+ layer.elements.forEach(function(nodeRef) {
455
+ toHide.push(nodeRef);
456
+ });
457
+ }
458
+ });
459
+ this._manager.setVisibilityState(toHide, false, true, true);
460
+ this._model.updateBindings(true);
461
+ this._updateButtons();
462
+ };
463
+
464
+ ElementsPanel.prototype._onSettings = function() {
465
+ //
466
+ };
467
+
468
+ return ElementsPanel;
469
+ });
@@ -0,0 +1,41 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+
4
+ (c) Copyright 2009-2015 SAP SE. All rights reserved
5
+
6
+ */
7
+
8
+ sap.ui.define([
9
+ ], function() {
10
+ "use strict";
11
+
12
+ /**
13
+ * ElementsPanel renderer.
14
+ * @namespace
15
+ * @since 1.136.0
16
+ */
17
+ var ElementsPanelRenderer = {
18
+ apiVersion: 2
19
+ };
20
+
21
+ /**
22
+ * Renders the HTML for the given control, using the provided
23
+ * {@link sap.ui.core.RenderManager}.
24
+ *
25
+ * @param {sap.ui.core.RenderManager} oRm
26
+ * the RenderManager that can be used for writing to
27
+ * the Render-Output-Buffer
28
+ * @param {sap.ui.core.Control} oControl
29
+ * the control to be rendered
30
+ */
31
+ ElementsPanelRenderer.render = function(oRm, oControl) {
32
+ oRm.openStart("div", oControl);
33
+ oRm.class("sapUiSizeCompact");
34
+ oRm.openEnd();
35
+ oRm.renderControl(oControl.getAggregation("content"));
36
+ oRm.close("div");
37
+ };
38
+
39
+ return ElementsPanelRenderer;
40
+
41
+ });