@sapui5/sap.ui.vbm 1.96.1 → 1.96.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/ui/vbm/.library +1 -1
- package/src/sap/ui/vbm/Adapter.js +2 -2
- package/src/sap/ui/vbm/Adapter3D.js +5 -2
- package/src/sap/ui/vbm/AnalyticMap.js +1 -1
- package/src/sap/ui/vbm/AnalyticMapRenderer.js +1 -1
- package/src/sap/ui/vbm/Area.js +1 -1
- package/src/sap/ui/vbm/Areas.js +1 -1
- package/src/sap/ui/vbm/Box.js +1 -1
- package/src/sap/ui/vbm/Boxes.js +1 -1
- package/src/sap/ui/vbm/Circle.js +1 -1
- package/src/sap/ui/vbm/Circles.js +1 -1
- package/src/sap/ui/vbm/Cluster.js +1 -1
- package/src/sap/ui/vbm/ClusterBase.js +3 -3
- package/src/sap/ui/vbm/ClusterContainer.js +1 -1
- package/src/sap/ui/vbm/ClusterDistance.js +1 -1
- package/src/sap/ui/vbm/ClusterGrid.js +1 -1
- package/src/sap/ui/vbm/ClusterRenderer.js +1 -1
- package/src/sap/ui/vbm/ClusterTree.js +1 -1
- package/src/sap/ui/vbm/Container.js +1 -1
- package/src/sap/ui/vbm/Containers.js +1 -1
- package/src/sap/ui/vbm/DragSource.js +1 -1
- package/src/sap/ui/vbm/DropTarget.js +1 -1
- package/src/sap/ui/vbm/Feature.js +1 -1
- package/src/sap/ui/vbm/FeatureCollection.js +1 -1
- package/src/sap/ui/vbm/GeoCircle.js +1 -1
- package/src/sap/ui/vbm/GeoCircles.js +1 -1
- package/src/sap/ui/vbm/GeoJsonLayer.js +1 -1
- package/src/sap/ui/vbm/GeoMap.js +1 -1
- package/src/sap/ui/vbm/GeoMapRenderer.js +1 -1
- package/src/sap/ui/vbm/HeatPoint.js +1 -1
- package/src/sap/ui/vbm/Heatmap.js +1 -1
- package/src/sap/ui/vbm/Legend.js +1 -1
- package/src/sap/ui/vbm/LegendItem.js +1 -1
- package/src/sap/ui/vbm/Pie.js +1 -1
- package/src/sap/ui/vbm/PieItem.js +1 -1
- package/src/sap/ui/vbm/Pies.js +1 -1
- package/src/sap/ui/vbm/Region.js +1 -1
- package/src/sap/ui/vbm/Resource.js +1 -1
- package/src/sap/ui/vbm/Route.js +1 -1
- package/src/sap/ui/vbm/Routes.js +1 -1
- package/src/sap/ui/vbm/Spot.js +1 -1
- package/src/sap/ui/vbm/Spots.js +1 -1
- package/src/sap/ui/vbm/VBI.js +1 -1
- package/src/sap/ui/vbm/VBIRenderer.js +1 -1
- package/src/sap/ui/vbm/Viewport.js +8 -3
- package/src/sap/ui/vbm/ViewportRenderer.js +1 -1
- package/src/sap/ui/vbm/VoAbstract.js +1 -1
- package/src/sap/ui/vbm/VoAggregation.js +1 -1
- package/src/sap/ui/vbm/VoBase.js +1 -1
- package/src/sap/ui/vbm/adapter3d/ModelHandler.js +26 -15
- package/src/sap/ui/vbm/adapter3d/ObjectFactory.js +2 -2
- package/src/sap/ui/vbm/adapter3d/PolygonHandler.js +32 -26
- package/src/sap/ui/vbm/adapter3d/SceneBuilder.js +14 -3
- package/src/sap/ui/vbm/adapter3d/Utilities.js +1 -1
- package/src/sap/ui/vbm/adapter3d/VBIJSONParser.js +2 -2
- package/src/sap/ui/vbm/lib/sapactions.js +1 -1
- package/src/sap/ui/vbm/lib/sapautomations.js +1 -1
- package/src/sap/ui/vbm/lib/sapconfig.js +1 -1
- package/src/sap/ui/vbm/lib/sapdataprovider.js +1 -1
- package/src/sap/ui/vbm/lib/sapevents.js +1 -1
- package/src/sap/ui/vbm/lib/sapgeolocation.js +1 -1
- package/src/sap/ui/vbm/lib/sapgeomath.js +1 -1
- package/src/sap/ui/vbm/lib/sapgeotool.js +1 -1
- package/src/sap/ui/vbm/lib/sapheatmap.js +1 -1
- package/src/sap/ui/vbm/lib/saplabels.js +1 -1
- package/src/sap/ui/vbm/lib/saplassotrack.js +1 -1
- package/src/sap/ui/vbm/lib/sapmaplayer.js +1 -1
- package/src/sap/ui/vbm/lib/sapmapmanager.js +1 -1
- package/src/sap/ui/vbm/lib/sapmapprovider.js +1 -1
- package/src/sap/ui/vbm/lib/sapnavigation.js +1 -1
- package/src/sap/ui/vbm/lib/sapparsing.js +1 -1
- package/src/sap/ui/vbm/lib/sappositioning.js +1 -1
- package/src/sap/ui/vbm/lib/sapprojection.js +1 -1
- package/src/sap/ui/vbm/lib/saprecttrack.js +1 -1
- package/src/sap/ui/vbm/lib/sapresources.js +1 -1
- package/src/sap/ui/vbm/lib/sapscale.js +1 -1
- package/src/sap/ui/vbm/lib/sapscene.js +19 -13
- package/src/sap/ui/vbm/lib/saputilities.js +6 -1
- package/src/sap/ui/vbm/lib/sapvbcluster.js +1 -1
- package/src/sap/ui/vbm/lib/sapvbi.js +1 -1
- package/src/sap/ui/vbm/lib/sapvbicontext.js +1 -1
- package/src/sap/ui/vbm/lib/sapvbmenu.js +1 -1
- package/src/sap/ui/vbm/lib/sapvobase.js +2 -2
- package/src/sap/ui/vbm/lib/sapvoutils.js +1 -1
- package/src/sap/ui/vbm/lib/sapwindow.js +1 -1
- package/src/sap/ui/vbm/library.js +3 -3
- package/src/sap/ui/vbm/themes/base/library.source.less +1 -1
- package/src/sap/ui/vbm/themes/sap_belize/library.source.less +1 -1
- package/src/sap/ui/vbm/themes/sap_belize_hcb/AnalyticMap.less +4 -0
- package/src/sap/ui/vbm/themes/sap_belize_hcb/VBI.less +96 -0
- package/src/sap/ui/vbm/themes/sap_belize_hcb/library.source.less +5 -2
- package/src/sap/ui/vbm/themes/sap_belize_hcw/library.source.less +1 -1
- package/src/sap/ui/vbm/themes/sap_belize_plus/library.source.less +1 -1
- package/src/sap/ui/vbm/themes/sap_bluecrystal/library.source.less +1 -1
- package/src/sap/ui/vbm/themes/sap_fiori_3/library.source.less +1 -1
- package/src/sap/ui/vbm/themes/sap_fiori_3_dark/library.source.less +1 -1
- package/src/sap/ui/vbm/themes/sap_fiori_3_hcb/AnalyticMap.less +4 -0
- package/src/sap/ui/vbm/themes/sap_fiori_3_hcb/VBI.less +96 -0
- package/src/sap/ui/vbm/themes/sap_fiori_3_hcb/library.source.less +4 -1
- package/src/sap/ui/vbm/themes/sap_fiori_3_hcw/library.source.less +1 -1
- package/src/sap/ui/vbm/themes/sap_hcb/library.source.less +1 -1
- package/src/sap/ui/vbm/themes/sap_horizon/library.source.less +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// Provides the base visual object.
|
|
@@ -378,7 +378,7 @@ sap.ui.define([
|
|
|
378
378
|
*
|
|
379
379
|
* @private
|
|
380
380
|
* @author SAP SE
|
|
381
|
-
* @version 1.96.
|
|
381
|
+
* @version 1.96.5
|
|
382
382
|
* @alias sap.ui.vbm.adapter3d.ObjectFactory
|
|
383
383
|
*/
|
|
384
384
|
var ObjectFactory = BaseObject.extend("sap.ui.vbm.adapter3d.ObjectFactory", /** @lends sap.ui.vbm.adapter3d.ObjectFactory.prototype */ {});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* ! SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// Provides class sap.ui.vbm.adapter3d.PolygonHandler
|
|
@@ -33,9 +33,9 @@ sap.ui.define([
|
|
|
33
33
|
*
|
|
34
34
|
* @private
|
|
35
35
|
* @author SAP SE
|
|
36
|
-
* @version 1.96.
|
|
36
|
+
* @version 1.96.5
|
|
37
37
|
* @alias sap.ui.vbm.adapter3d.PolygonHandler
|
|
38
|
-
*/
|
|
38
|
+
*/
|
|
39
39
|
var PolygonHandler = BaseObject.extend("sap.ui.vbm.adapter3d.PolygonHandler", /** @lends sap.ui.vbm.adapter3d.PolygonHandler.prototype */ {
|
|
40
40
|
|
|
41
41
|
constructor: function(root) {
|
|
@@ -98,7 +98,7 @@ sap.ui.define([
|
|
|
98
98
|
PolygonHandler.prototype.destroy = function() {
|
|
99
99
|
// Reset references to shared objects.
|
|
100
100
|
this._root = null;
|
|
101
|
-
this.
|
|
101
|
+
this._hotInstance = null;
|
|
102
102
|
|
|
103
103
|
// destroy 'meta' meshes
|
|
104
104
|
this._meshes.forEach(function(key, array) {
|
|
@@ -113,10 +113,16 @@ sap.ui.define([
|
|
|
113
113
|
this._deleteObject3D(border.object3D);
|
|
114
114
|
}, this);
|
|
115
115
|
}, this);
|
|
116
|
-
|
|
116
|
+
|
|
117
117
|
// clear
|
|
118
|
+
this._instances.clear();
|
|
119
|
+
this._instances = null;
|
|
120
|
+
|
|
118
121
|
this._meshes.clear();
|
|
122
|
+
this._meshes = null;
|
|
123
|
+
|
|
119
124
|
this._borders.clear();
|
|
125
|
+
this._borders = null;
|
|
120
126
|
|
|
121
127
|
BaseObject.prototype.destroy.call(this);
|
|
122
128
|
};
|
|
@@ -136,11 +142,11 @@ sap.ui.define([
|
|
|
136
142
|
|
|
137
143
|
/**
|
|
138
144
|
* Adds polygon instance to polygon handler.
|
|
139
|
-
*
|
|
145
|
+
*
|
|
140
146
|
* @param {object} instance Polygon instance.
|
|
141
147
|
* @public
|
|
142
148
|
*/
|
|
143
|
-
PolygonHandler.prototype.addInstance = function(instance) {
|
|
149
|
+
PolygonHandler.prototype.addInstance = function(instance) {
|
|
144
150
|
this._instances.set(instance, {
|
|
145
151
|
instance : instance,
|
|
146
152
|
indices: [],
|
|
@@ -160,11 +166,11 @@ sap.ui.define([
|
|
|
160
166
|
|
|
161
167
|
/**
|
|
162
168
|
* Updates polygon instance in polygon handler
|
|
163
|
-
*
|
|
169
|
+
*
|
|
164
170
|
* @param {object} instance Polygon instance.
|
|
165
171
|
* @public
|
|
166
172
|
*/
|
|
167
|
-
PolygonHandler.prototype.updateInstance = function(instance) {
|
|
173
|
+
PolygonHandler.prototype.updateInstance = function(instance) {
|
|
168
174
|
var data = this._instances.get(instance), updateMesh = false, updateBorder = false;
|
|
169
175
|
if (data) {
|
|
170
176
|
// position, rotation, scale [mandatory attributes] when change -> recalculate matrix
|
|
@@ -187,7 +193,7 @@ sap.ui.define([
|
|
|
187
193
|
}
|
|
188
194
|
|
|
189
195
|
// if any property which affects polygon color changed -> check if polygon color actually changed
|
|
190
|
-
// then update polygon color and remove polygon from current 'meta' mesh if it exists
|
|
196
|
+
// then update polygon color and remove polygon from current 'meta' mesh if it exists
|
|
191
197
|
// and put it into another 'meta' mesh according to polygon updated color
|
|
192
198
|
// color, selectColor, VB:s [mandatory attributes]
|
|
193
199
|
if (propertyChanged(instance, ["color", "selectColor", "VB:s"])) {
|
|
@@ -328,13 +334,13 @@ sap.ui.define([
|
|
|
328
334
|
// create 3 or 2 groups, depends on where hot instance geometry is within 'meta' mesh geometry
|
|
329
335
|
geometry.addGroup(range.start, data.indices.length, 1); // use hot material with index #1
|
|
330
336
|
|
|
331
|
-
if (range.start !== 0) {
|
|
337
|
+
if (range.start !== 0) {
|
|
332
338
|
geometry.addGroup(0, range.start, 0); // use original material with index #0
|
|
333
339
|
}
|
|
334
340
|
if (range.start + data.indices.length < geometry.index.count) {
|
|
335
341
|
geometry.addGroup(range.start + data.indices.length, geometry.index.count - range.start - data.indices.length, 0); // use original material with index #0
|
|
336
342
|
}
|
|
337
|
-
}
|
|
343
|
+
}
|
|
338
344
|
}
|
|
339
345
|
if (data.border) { // apply hover on polygon border geometry
|
|
340
346
|
material = data.border.material;
|
|
@@ -364,13 +370,13 @@ sap.ui.define([
|
|
|
364
370
|
var vertexCount = data.lines.length/3;
|
|
365
371
|
geometry.addGroup(range.start, vertexCount, 1); // use hot material with index #1
|
|
366
372
|
|
|
367
|
-
if (range.start !== 0) {
|
|
373
|
+
if (range.start !== 0) {
|
|
368
374
|
geometry.addGroup(0, range.start, 0); // use original material with index #0
|
|
369
375
|
}
|
|
370
376
|
if (range.start + vertexCount < positions.count) {
|
|
371
377
|
geometry.addGroup(range.start + vertexCount, positions.count - range.start - vertexCount, 0); // use original material with index #0
|
|
372
378
|
}
|
|
373
|
-
}
|
|
379
|
+
}
|
|
374
380
|
}
|
|
375
381
|
} else {
|
|
376
382
|
Log.error("Unable to find polygon instance data", "", thisModule);
|
|
@@ -429,7 +435,7 @@ sap.ui.define([
|
|
|
429
435
|
|
|
430
436
|
/**
|
|
431
437
|
* Updates 'meta' meshes requested for rebuild by combining geometry of all instances with the same color into one mesh.
|
|
432
|
-
*
|
|
438
|
+
*
|
|
433
439
|
* @returns {boolean} True if hot instance 'meta' mesh has been recreated.
|
|
434
440
|
* @private
|
|
435
441
|
*/
|
|
@@ -440,11 +446,11 @@ sap.ui.define([
|
|
|
440
446
|
for (var i = 0; i < array.length;) {
|
|
441
447
|
if (array[i].dirty) {
|
|
442
448
|
var j, instance, base, indices = [], vertices = [], normals = [], data = array[i];
|
|
443
|
-
|
|
449
|
+
|
|
444
450
|
this._deleteObject3D(data.object3D);
|
|
445
451
|
data.object3D = null;
|
|
446
452
|
data.hitInfo.length = 0; // erase hitInfo
|
|
447
|
-
|
|
453
|
+
|
|
448
454
|
data.instances.forEach(function(range, key) {
|
|
449
455
|
instance = key; // to access instance outside forEach
|
|
450
456
|
|
|
@@ -480,24 +486,24 @@ sap.ui.define([
|
|
|
480
486
|
|
|
481
487
|
if (indices.length) {
|
|
482
488
|
var geometry = new THREE.BufferGeometry();
|
|
483
|
-
|
|
489
|
+
|
|
484
490
|
geometry.setIndex(indices);
|
|
485
491
|
geometry.setAttribute("position", new THREE.Float32BufferAttribute(vertices, 3));
|
|
486
492
|
geometry.setAttribute("normal", new THREE.Float32BufferAttribute(normals, 3));
|
|
487
493
|
geometry.computeBoundingBox(); // needed for ray casting
|
|
488
494
|
geometry.computeBoundingSphere(); // needed for ray casting
|
|
489
|
-
|
|
495
|
+
|
|
490
496
|
var material = createMaterial(true);
|
|
491
497
|
material.color.copy(instance.color.rgb);
|
|
492
498
|
material.opacity = instance.color.opacity;
|
|
493
499
|
material.transparent = material.opacity < 1;
|
|
494
500
|
material.needsUpdate = true;
|
|
495
|
-
|
|
501
|
+
|
|
496
502
|
data.object3D = new THREE.Mesh(geometry, material);
|
|
497
503
|
data.object3D.matrixAutoUpdate = false;
|
|
498
504
|
data.object3D.layers.set(0); // put it to layer #0 to enable raycasting
|
|
499
505
|
this._root.add(data.object3D);
|
|
500
|
-
|
|
506
|
+
|
|
501
507
|
data.object3D._instanceHitTest = this._instanceHitTest.bind(data); // helper function to return instance based on hit test info
|
|
502
508
|
data.triangleCount = indices.length/3; // update triangle count on full rebuild
|
|
503
509
|
}
|
|
@@ -528,7 +534,7 @@ sap.ui.define([
|
|
|
528
534
|
|
|
529
535
|
/**
|
|
530
536
|
* Updates 'meta' borders requested for rebuild by combining geometry of all instances with the same color into one mesh.
|
|
531
|
-
*
|
|
537
|
+
*
|
|
532
538
|
* @returns {boolean} True if hot instance 'meta' border has been recreated.
|
|
533
539
|
* @private
|
|
534
540
|
*/
|
|
@@ -566,13 +572,13 @@ sap.ui.define([
|
|
|
566
572
|
var geometry = new THREE.BufferGeometry();
|
|
567
573
|
geometry.setAttribute("position", new THREE.Float32BufferAttribute(vertices, 3));
|
|
568
574
|
geometry.computeBoundingBox();
|
|
569
|
-
|
|
575
|
+
|
|
570
576
|
var material = createLineMaterial();
|
|
571
577
|
material.color.copy(instance.colorBorder.rgb);
|
|
572
578
|
material.opacity = instance.colorBorder.opacity;
|
|
573
579
|
material.transparent = material.opacity < 1;
|
|
574
580
|
material.needsUpdate = true;
|
|
575
|
-
|
|
581
|
+
|
|
576
582
|
data.object3D = new THREE.LineSegments(geometry, material);
|
|
577
583
|
data.object3D.matrixAutoUpdate = false;
|
|
578
584
|
data.object3D.layers.set(1); // put it to layer #1 to disable hit test
|
|
@@ -740,10 +746,10 @@ sap.ui.define([
|
|
|
740
746
|
if (object) {
|
|
741
747
|
if (object.parent) {
|
|
742
748
|
object.parent.remove(object);
|
|
743
|
-
}
|
|
749
|
+
}
|
|
744
750
|
if (object.geometry) {
|
|
745
751
|
object.geometry.dispose();
|
|
746
|
-
}
|
|
752
|
+
}
|
|
747
753
|
Utilities.toArray(object.material).forEach(function(material) {
|
|
748
754
|
material.dispose(); // no maps to dispose
|
|
749
755
|
});
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// Provides the base visual object.
|
|
@@ -47,7 +47,7 @@ sap.ui.define([
|
|
|
47
47
|
*
|
|
48
48
|
* @private
|
|
49
49
|
* @author SAP SE
|
|
50
|
-
* @version 1.96.
|
|
50
|
+
* @version 1.96.5
|
|
51
51
|
* @alias sap.ui.vbm.adapter3d.SceneBuilder
|
|
52
52
|
*/
|
|
53
53
|
var SceneBuilder = BaseObject.extend("sap.ui.vbm.adapter3d.SceneBuilder", /** @lends sap.ui.vbm.adapter3d.SceneBuilder.prototype */ {
|
|
@@ -104,9 +104,11 @@ sap.ui.define([
|
|
|
104
104
|
this._scene = null;
|
|
105
105
|
this._viewport = null;
|
|
106
106
|
this._context = null;
|
|
107
|
+
this._hotInstance = null;
|
|
108
|
+
|
|
107
109
|
|
|
108
110
|
if (this._box4) {
|
|
109
|
-
this.
|
|
111
|
+
this._box4.dispose();
|
|
110
112
|
}
|
|
111
113
|
if (this._box6) {
|
|
112
114
|
this._box6.dispose();
|
|
@@ -122,15 +124,22 @@ sap.ui.define([
|
|
|
122
124
|
this._decalHelper.material.dispose();
|
|
123
125
|
this._decalHelper.geometry.dispose();
|
|
124
126
|
this._scene.remove(this._decalHelper);
|
|
127
|
+
this._decalHelper = null;
|
|
125
128
|
}
|
|
126
129
|
|
|
127
130
|
this._polygonHandler.destroy();
|
|
131
|
+
this._polygonHandler = null;
|
|
132
|
+
|
|
128
133
|
this._modelHandler.destroy();
|
|
134
|
+
this._modelHandler = null;
|
|
129
135
|
|
|
130
136
|
this._textures.forEach(function(texture) {
|
|
131
137
|
texture.dispose();
|
|
132
138
|
});
|
|
133
139
|
|
|
140
|
+
this._targets.clear();
|
|
141
|
+
this._targets = null;
|
|
142
|
+
|
|
134
143
|
BaseObject.prototype.destroy.call(this);
|
|
135
144
|
};
|
|
136
145
|
|
|
@@ -907,6 +916,7 @@ sap.ui.define([
|
|
|
907
916
|
material = material || new THREE.MeshPhongMaterial({
|
|
908
917
|
specular: 0x444444,
|
|
909
918
|
shininess: 0,
|
|
919
|
+
opacity: 0.99,
|
|
910
920
|
transparent: true,
|
|
911
921
|
depthTest: true,
|
|
912
922
|
depthWrite: false,
|
|
@@ -926,6 +936,7 @@ sap.ui.define([
|
|
|
926
936
|
|
|
927
937
|
var geometry = new THREE.DecalGeometry(target, origin, this._decalHelper.rotation, size);
|
|
928
938
|
instance.object3D = new THREE.Mesh(geometry, material);
|
|
939
|
+
instance.object3D.renderOrder = 100;
|
|
929
940
|
instance.object3D.matrixAutoUpdate = false;
|
|
930
941
|
instance.object3D.layers.set(1); // put it to layer #1 to disable hit test
|
|
931
942
|
this._scene.add(instance.object3D);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* ! SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// Provides class sap.ui.vbm.adapter3d.VBIJSONParser
|
|
@@ -57,7 +57,7 @@ sap.ui.define([
|
|
|
57
57
|
*
|
|
58
58
|
* @private
|
|
59
59
|
* @author SAP SE
|
|
60
|
-
* @version 1.96.
|
|
60
|
+
* @version 1.96.5
|
|
61
61
|
* @alias sap.ui.vbm.adapter3d.VBIJSONParser
|
|
62
62
|
*/
|
|
63
63
|
var VBIJSONParser = BaseObject.extend("sap.ui.vbm.adapter3d.VBIJSONParser", /** @lends sap.ui.vbm.adapter3d.VBIJSONParser.prototype */ {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* ! SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// this module does the label handling
|
|
@@ -678,18 +678,24 @@ VBI.Scene = function(target) {
|
|
|
678
678
|
}
|
|
679
679
|
// standard case - click on single object
|
|
680
680
|
if (event.hitTests.length > 0) {
|
|
681
|
-
event.hitCached = event.hitTests[0];
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
681
|
+
event.hitCached = event.hitTests[0]; // cache first hit test
|
|
682
|
+
delete event.hitTests; // has to be deleted to avoid collecting hits information again
|
|
683
|
+
// if there is a VO then pass event to it
|
|
684
|
+
if (event.hitCached.m_Vo) {
|
|
685
|
+
return event.hitCached.m_Vo["on" + eventType].call(event.hitCached.m_Vo, event);
|
|
686
|
+
} else {
|
|
687
|
+
delete event.hitCached; // remove it to keep things going "old" way
|
|
688
|
+
}
|
|
689
|
+
} else {
|
|
690
|
+
return false; // not handled
|
|
685
691
|
}
|
|
686
|
-
}
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
692
|
+
}
|
|
693
|
+
// "old" approach -> process from last to first which corresponds to the rendering order (from topmost to last)
|
|
694
|
+
for (var i = scene.m_VOS.length - 1; i >= 0; --i) {
|
|
695
|
+
if ((func = scene.m_VOS[i]["on" + eventType]) && typeof (func) == 'function') {
|
|
696
|
+
// call the handler with the context set to corresponded visual object
|
|
697
|
+
if (func.call(scene.m_VOS[i], event)) {
|
|
698
|
+
return true; // handled
|
|
693
699
|
}
|
|
694
700
|
}
|
|
695
701
|
}
|
|
@@ -3352,7 +3358,7 @@ VBI.GeoScene = function(target, mapmanager, maplayerstack) {
|
|
|
3352
3358
|
}
|
|
3353
3359
|
var sCopyright = scene.m_MapLayerStack.GetCopyright();
|
|
3354
3360
|
if (sCopyright) {
|
|
3355
|
-
scene.m_DivCopyright.innerHTML =
|
|
3361
|
+
scene.m_DivCopyright.innerHTML = sCopyright;
|
|
3356
3362
|
} else {
|
|
3357
3363
|
scene.m_DivCopyright.style.paddingRight = 0;
|
|
3358
3364
|
scene.m_DivCopyright.style.paddingLeft = 0;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* ! SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// utilities object
|
|
@@ -1892,6 +1892,11 @@ VBI.Utilities.AssembleCopyrightString = function(Copyright, CopyrightLink, Copyr
|
|
|
1892
1892
|
var regex3 = /\{LINK\|([^\}]+)\}/;
|
|
1893
1893
|
|
|
1894
1894
|
if (Copyright) {
|
|
1895
|
+
if (!CopyrightLink && !CopyrightImage) {
|
|
1896
|
+
Copyright = jQuery.sap.encodeHTML(Copyright);
|
|
1897
|
+
}
|
|
1898
|
+
CopyrightLink = CopyrightLink ? jQuery.sap.encodeHTML(CopyrightLink):CopyrightLink;
|
|
1899
|
+
CopyrightImage = CopyrightImage ? jQuery.sap.encodeHTML(CopyrightImage):CopyrightImage;
|
|
1895
1900
|
var tmp = Copyright.replace(regex1, "<a href='" + CopyrightLink + "'><img src='" + CopyrightImage + "' width='10' height='10' border='none'></a>");
|
|
1896
1901
|
tmp = tmp.replace(regex2, "<img src='" + CopyrightImage + "' width='10' height='10' border='none' >");
|
|
1897
1902
|
return tmp.replace(regex3, "<a href='" + CopyrightLink + "'>$1</a>");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
2
|
* ! SAPUI5
|
|
3
|
-
* (c) Copyright 2009-
|
|
3
|
+
* (c) Copyright 2009-2022 SAP SE. All rights reserved.
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
// VisualObjects namespace
|
|
@@ -1223,7 +1223,7 @@ VBI.VisualObjects = function() {
|
|
|
1223
1223
|
}
|
|
1224
1224
|
// check for design handle context menu subscription.............//
|
|
1225
1225
|
var action, actions = scene.m_Ctx.m_Actions;
|
|
1226
|
-
if (actions && ocb.m_Design && ocb.m_Handle > -1) {
|
|
1226
|
+
if (actions && ocb.m_Design && (ocb.m_Handle > -1 || ocb.m_Hit === VBI.HTBOX)) {
|
|
1227
1227
|
// the action is raised whenever a design action has stopped..//
|
|
1228
1228
|
// for the instanced type.....................................//
|
|
1229
1229
|
// is it a HandleMoved or a HandleClick action ...............//
|