@sapui5/sap.ui.vbm 1.96.4 → 1.96.6

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.ui.vbm",
3
- "version": "1.96.4",
3
+ "version": "1.96.6",
4
4
  "description": "SAPUI5 Library sap.ui.vbm",
5
5
  "homepage": "https://sap.github.io/ui5-tooling/pages/SAPUI5/",
6
6
  "author": "SAP SE (https://www.sap.com)",
@@ -3,7 +3,7 @@
3
3
  <name>sap.ui.vbm</name>
4
4
  <vendor>SAP SE</vendor>
5
5
  <copyright>SAP UI development toolkit for HTML5 (SAPUI5) (c) Copyright 2009-2012 SAP AG. All rights reserved</copyright>
6
- <version>1.96.4</version>
6
+ <version>1.96.6</version>
7
7
 
8
8
  <documentation>SAP UI library: sap.ui.vbm</documentation>
9
9
 
@@ -23,7 +23,7 @@ sap.ui.define([
23
23
  * @param {string} [sId] id for the new control, generated automatically if no id is given
24
24
  * @param {object} [mSettings] initial settings for the new object
25
25
  * @author SAP SE
26
- * @version 1.96.4
26
+ * @version 1.96.6
27
27
  * @extends sap.ui.core.Element
28
28
  * @constructor
29
29
  * @public
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  * @param {string} [sId] id for the new control, generated automatically if no id is given
43
43
  * @param {object} [mSettings] initial settings for the new object
44
44
  * @author SAP SE
45
- * @version 1.96.4
45
+ * @version 1.96.6
46
46
  * @extends sap.ui.core.Element
47
47
  * @constructor
48
48
  * @public
@@ -247,7 +247,10 @@ sap.ui.define([
247
247
  this._parser = null;
248
248
  }
249
249
 
250
+ this._detail = null;
250
251
  this._context = null;
252
+ this._raycaster = null;
253
+ this._hoverInstance = null;
251
254
 
252
255
  if (basePrototype.exit) {
253
256
  basePrototype.exit.call(this);
@@ -326,7 +326,13 @@ sap.ui.define([
326
326
  }
327
327
 
328
328
  // get the name of the fragment........................................//
329
- tt = (f.properties && f.properties.name) ? f.properties.name : "";
329
+ if (f.properties && f.properties.name) {
330
+ tt = f.properties.name;
331
+ } else if (f.properties && f.properties.NAME) {
332
+ tt = f.properties.NAME;
333
+ } else {
334
+ tt = "";
335
+ }
330
336
  this.mNames[f.id2] = tt;
331
337
  this.mRegionProps[f.id2] = f.properties;
332
338
 
@@ -125,7 +125,7 @@ sap.ui.define([
125
125
  clusterVos: {
126
126
  type: "sap.ui.core.Control",
127
127
  multiple: true,
128
- visiblity: "hidden",
128
+ visibility: "hidden",
129
129
  singularName: "clusterVo"
130
130
  },
131
131
  /**
@@ -134,7 +134,7 @@ sap.ui.define([
134
134
  clusterContainers: {
135
135
  type: "sap.ui.vbm.ClusterContainer",
136
136
  multiple: true,
137
- visiblity: "hidden",
137
+ visibility: "hidden",
138
138
  singularName: "clusterContainer"
139
139
  }
140
140
 
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @public
26
26
  * @author SAP SE
27
- * @version 1.96.4
27
+ * @version 1.96.6
28
28
  * @extends sap.ui.core.Control
29
29
  * @alias sap.ui.vbm.Viewport
30
30
  */
@@ -190,9 +190,14 @@ sap.ui.define([
190
190
  }
191
191
  this._stopRenderLoop();
192
192
 
193
+ this._cameraController.dispose();
194
+ this._cameraController = null;
195
+
196
+ this._renderer.dispose();
197
+ this._renderer = null;
198
+
193
199
  this._scene = null;
194
200
  this._camera = null;
195
- this._renderer = null;
196
201
 
197
202
  if (basePrototype.exit) {
198
203
  basePrototype.exit.call(this);
@@ -30,9 +30,9 @@ sap.ui.define([
30
30
  *
31
31
  * @private
32
32
  * @author SAP SE
33
- * @version 1.96.4
33
+ * @version 1.96.6
34
34
  * @alias sap.ui.vbm.adapter3d.ModelHandler
35
- */
35
+ */
36
36
  var ModelHandler = BaseObject.extend("sap.ui.vbm.adapter3d.ModelHandler", /** @lends sap.ui.vbm.adapter3d.ModelHandler.prototype */ {
37
37
 
38
38
  constructor: function(resources, textures, scene, root) {
@@ -95,11 +95,14 @@ sap.ui.define([
95
95
  this._textures = null;
96
96
  this._scene = null;
97
97
  this._root = null;
98
+ this._hotInstance = null;
98
99
 
99
100
  // destroy 'meta' meshes
100
- this._meshes.forEach(function(mesh) {
101
- mesh.objects3D.forEach(function(object) {
102
- this._deleteObject3D(object);
101
+ this._meshes.forEach(function(array) {
102
+ array.forEach(function(item) {
103
+ item.objects3D.forEach(function(object) {
104
+ this._deleteObject3D(object);
105
+ }, this);
103
106
  }, this);
104
107
  }, this);
105
108
 
@@ -109,15 +112,23 @@ sap.ui.define([
109
112
  subRef(instance.texture);
110
113
  }
111
114
  });
112
-
115
+
113
116
  // destroy models
114
117
  this._models.forEach(function(model, resource) {
115
118
  this._deleteModel(model);
116
119
  }, this);
117
120
 
118
121
  this._meshes.clear();
122
+ this._meshes = null;
123
+
119
124
  this._instances.clear();
125
+ this._instances = null;
126
+
120
127
  this._models.clear();
128
+ this._models = null;
129
+
130
+ this._glTFLoader = null;
131
+ this._colladaLoader = null;
121
132
 
122
133
  BaseObject.prototype.destroy.call(this);
123
134
  };
@@ -147,7 +158,7 @@ sap.ui.define([
147
158
  * @param {object} instance Model instance.
148
159
  * @public
149
160
  */
150
- ModelHandler.prototype.updateInstance = function(instance) {
161
+ ModelHandler.prototype.updateInstance = function(instance) {
151
162
  var data = this._instances.get(instance), update = false, hot = this._hotInstance && this._hotInstance === instance;
152
163
  if (data) {
153
164
  var normalized = Utilities.toBoolean(instance.normalize);
@@ -186,7 +197,7 @@ sap.ui.define([
186
197
  }
187
198
  update = true;
188
199
  }
189
-
200
+
190
201
  // when model normalization changed -> update model properties -> reset instance model matrices
191
202
  if (propertyChanged(instance, ["normalize", "model"])) {
192
203
  this._updateModel(data.model, normalized);
@@ -218,9 +229,9 @@ sap.ui.define([
218
229
  if (data.matrices.length === 0) {
219
230
  var world = this._root.matrixWorld.clone(); // start from the _root
220
231
  world.multiply(data.world); // apply instance world matrix
221
-
232
+
222
233
  // if instance normalized -> apply normalized model root matrix as otherwise (non normalized case) model root has identity matrix
223
- if (normalized) {
234
+ if (normalized) {
224
235
  world.multiply(data.model.normalized.world);
225
236
  }
226
237
  // apply individual mesh matrices from the model at last
@@ -254,7 +265,7 @@ sap.ui.define([
254
265
  this._instances.delete(instance);
255
266
  this._removeInstanceFromMesh(data);
256
267
  instance._last = {}; // reset all LRU variables at once
257
-
268
+
258
269
  if (data.model) {
259
270
  subRef(data.model); // model can be null if removing 'broken' instance
260
271
  }
@@ -429,7 +440,7 @@ sap.ui.define([
429
440
  ModelHandler.prototype._postprocess = function(model, content) {
430
441
  // mirror on Z axis entire collada root which is effectively the same as collada processing with baking transformations and inverting Z coordinates in ActiveX
431
442
  model.scene.scale.set(1,1,-1);
432
-
443
+
433
444
  var meshes = [], materials = new Set(), marked = "_sapUsed";
434
445
  // collect meshes only + calculate world matrix, mark used materials & maps
435
446
  model.scene.traverse(function(object) {
@@ -559,7 +570,7 @@ sap.ui.define([
559
570
  // remove instanced mesh from scene
560
571
  if (object.parent) {
561
572
  object.parent.remove(object);
562
- }
573
+ }
563
574
  // geometries are shared -> cannot dispose
564
575
  Utilities.toArray(object.material).forEach(function(material) {
565
576
  material.dispose(); // materials are cloned -> can be disposed, maps are shared -> don't touch, cannot be disposes
@@ -583,7 +594,7 @@ sap.ui.define([
583
594
  // target has to be added to _root to mimic original model and must have same world matrix as original model
584
595
  // so we calculate world matrix for target which will be under _root and not under _scene as instance mesh
585
596
  var world = data.world.clone(); // use instance world as starting point
586
- if (data.model.normalized) {
597
+ if (data.model.normalized) {
587
598
  world.multiply(data.model.normalized.world);
588
599
  }
589
600
  world.multiply(data.model.root.children[0].matrixWorld);
@@ -378,7 +378,7 @@ sap.ui.define([
378
378
  *
379
379
  * @private
380
380
  * @author SAP SE
381
- * @version 1.96.4
381
+ * @version 1.96.6
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 */ {});
@@ -33,9 +33,9 @@ sap.ui.define([
33
33
  *
34
34
  * @private
35
35
  * @author SAP SE
36
- * @version 1.96.4
36
+ * @version 1.96.6
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._instances.clear();
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
  });
@@ -47,7 +47,7 @@ sap.ui.define([
47
47
  *
48
48
  * @private
49
49
  * @author SAP SE
50
- * @version 1.96.4
50
+ * @version 1.96.6
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._box.dispose();
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
 
@@ -57,7 +57,7 @@ sap.ui.define([
57
57
  *
58
58
  * @private
59
59
  * @author SAP SE
60
- * @version 1.96.4
60
+ * @version 1.96.6
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 */ {
@@ -3358,7 +3358,7 @@ VBI.GeoScene = function(target, mapmanager, maplayerstack) {
3358
3358
  }
3359
3359
  var sCopyright = scene.m_MapLayerStack.GetCopyright();
3360
3360
  if (sCopyright) {
3361
- scene.m_DivCopyright.innerHTML = jQuery.sap.encodeHTML(sCopyright);
3361
+ scene.m_DivCopyright.innerHTML = sCopyright;
3362
3362
  } else {
3363
3363
  scene.m_DivCopyright.style.paddingRight = 0;
3364
3364
  scene.m_DivCopyright.style.paddingLeft = 0;
@@ -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>");
@@ -20,7 +20,7 @@ sap.ui.define([
20
20
  * @namespace
21
21
  * @name sap.ui.vbm
22
22
  * @author SAP SE
23
- * @version 1.96.4
23
+ * @version 1.96.6
24
24
  * @public
25
25
  */
26
26
 
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  "sap.ui.vbm.ClusterBase", "sap.ui.vbm.ClusterTree", "sap.ui.vbm.ClusterGrid", "sap.ui.vbm.ClusterDistance", "sap.ui.vbm.Heatmap",
44
44
  "sap.ui.vbm.HeatPoint", "sap.ui.vbm.ClusterContainer", "sap.ui.vbm.Adapter", "sap.ui.vbm.Adapter3D"
45
45
  ],
46
- version: "1.96.4"
46
+ version: "1.96.6"
47
47
  });
48
48
 
49
49
  sap.ui.loader.config({
@@ -0,0 +1,4 @@
1
+
2
+ .sapUiVbmAnalyticMap {
3
+ background-color: @sapUiBaseBG;
4
+ }
@@ -0,0 +1,96 @@
1
+
2
+ .vbi-detail {
3
+ background-color: @sapUiBaseBG;
4
+ }
5
+
6
+ .vbi-detail-closebutton
7
+ {
8
+ background-color: @sapUiBaseBG;
9
+ }
10
+
11
+ .vbi-detail-content
12
+ {
13
+ background-color: @sapUiBaseBG;
14
+ }
15
+
16
+ .vbi-detail-phone
17
+ {
18
+ background-color: @sapUiBaseBG;
19
+ }
20
+
21
+ .vbi-detail > .vbi-detail-arrow.vbi-detail-left
22
+ {
23
+ border-right-color: @sapUiBaseBG;
24
+ }
25
+
26
+ .vbi-detail > .vbi-detail-header
27
+ {
28
+ font-size: @sapUiFontHeader4Size;
29
+ font-family: @sapUiFontHeaderFamily;
30
+ font-weight: @sapUiFontHeaderWeight;
31
+ color: @sapTextColor;
32
+ }
33
+
34
+ .vbi-detail-header-phone
35
+ {
36
+ font-family: @sapUiFontHeaderFamily;
37
+ font-weight: @sapUiFontHeaderWeight;
38
+ color: @sapTextColor;
39
+ }
40
+
41
+ .vbi-legend {
42
+ box-shadow: lighten(@sapUiContentForegroundColor, 20%) 0rem 0rem 0.9rem 0.0625rem;
43
+ font-family: @sapUiFontFamily;
44
+ background-color: @sapUiBaseBG;
45
+ color: @sapTextColor;
46
+ }
47
+
48
+ .vbi-legend > .vbi-legend-header
49
+ {
50
+ font-size: @sapMFontMediumSize;
51
+ }
52
+
53
+ .vbi-legend-button-col:hover
54
+ {
55
+ background-color: @sapUiHighlight;
56
+ }
57
+
58
+ .vbi-legend-button-col:active
59
+ {
60
+ background-color: darken(@sapUiHighlight, 20%);
61
+ }
62
+
63
+ .vbi-legend-button-exp:hover
64
+ {
65
+ background-color: @sapUiHighlight;
66
+ }
67
+
68
+ .vbi-legend-button-exp:active
69
+ {
70
+ background-color: darken(@sapUiHighlight, 20%);
71
+ }
72
+
73
+ .vbi-legend-table
74
+ {
75
+ font-size: @sapMFontSmallSize;
76
+ }
77
+
78
+ .vbi-legend-table-click
79
+ {
80
+ tr:hover {
81
+ background-color: @sapUiHighlight;
82
+ };
83
+ tr:active {
84
+ background-color: darken(@sapUiHighlight, 20%);
85
+ };
86
+ }
87
+
88
+ .vbi-legend-content-celltext
89
+ {
90
+ color: @sapUiChartLegendLabelFontColor;
91
+ }
92
+
93
+ .vbi-legend-content-celldiv-square
94
+ {
95
+ border-color: @sapUiContentForegroundColor;
96
+ }
@@ -6,3 +6,6 @@
6
6
  @import "../base/library.source.less";
7
7
  @import "../../../../../sap/ui/core/themes/sap_fiori_3_hcb/base.less";
8
8
  @import "../../../../../sap/ui/core/themes/sap_fiori_3_hcb/global.less";
9
+
10
+ @import "AnalyticMap.less";
11
+ @import "VBI.less";