@sapui5/sap.viz 1.139.0 → 1.140.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/package.json +1 -1
  2. package/src/sap/viz/.library +1 -1
  3. package/src/sap/viz/library.js +1 -1
  4. package/src/sap/viz/libs/sap-viz-info-charts.js +193 -35
  5. package/src/sap/viz/libs/sap-viz-info-framework.js +8 -5
  6. package/src/sap/viz/libs/sap-viz.js +1 -1
  7. package/src/sap/viz/resources/chart/langs/language_ar.js +1 -1
  8. package/src/sap/viz/resources/chart/langs/language_bg.js +1 -1
  9. package/src/sap/viz/resources/chart/langs/language_ca.js +1 -1
  10. package/src/sap/viz/resources/chart/langs/language_cs.js +1 -1
  11. package/src/sap/viz/resources/chart/langs/language_cy.js +1 -1
  12. package/src/sap/viz/resources/chart/langs/language_da.js +1 -1
  13. package/src/sap/viz/resources/chart/langs/language_de.js +1 -1
  14. package/src/sap/viz/resources/chart/langs/language_el.js +1 -1
  15. package/src/sap/viz/resources/chart/langs/language_en.js +1 -1
  16. package/src/sap/viz/resources/chart/langs/language_en_GB.js +1 -1
  17. package/src/sap/viz/resources/chart/langs/language_en_US_sappsd.js +1 -1
  18. package/src/sap/viz/resources/chart/langs/language_en_US_saprigi.js +1 -1
  19. package/src/sap/viz/resources/chart/langs/language_en_US_saptrc.js +1 -1
  20. package/src/sap/viz/resources/chart/langs/language_es.js +1 -1
  21. package/src/sap/viz/resources/chart/langs/language_es_MX.js +1 -1
  22. package/src/sap/viz/resources/chart/langs/language_et.js +1 -1
  23. package/src/sap/viz/resources/chart/langs/language_fi.js +1 -1
  24. package/src/sap/viz/resources/chart/langs/language_fr.js +1 -1
  25. package/src/sap/viz/resources/chart/langs/language_fr_CA.js +1 -1
  26. package/src/sap/viz/resources/chart/langs/language_he.js +1 -1
  27. package/src/sap/viz/resources/chart/langs/language_hi.js +1 -1
  28. package/src/sap/viz/resources/chart/langs/language_hr.js +1 -1
  29. package/src/sap/viz/resources/chart/langs/language_hu.js +1 -1
  30. package/src/sap/viz/resources/chart/langs/language_id.js +1 -1
  31. package/src/sap/viz/resources/chart/langs/language_it.js +1 -1
  32. package/src/sap/viz/resources/chart/langs/language_iw.js +1 -1
  33. package/src/sap/viz/resources/chart/langs/language_ja.js +1 -1
  34. package/src/sap/viz/resources/chart/langs/language_kk.js +1 -1
  35. package/src/sap/viz/resources/chart/langs/language_ko.js +1 -1
  36. package/src/sap/viz/resources/chart/langs/language_lt.js +1 -1
  37. package/src/sap/viz/resources/chart/langs/language_lv.js +1 -1
  38. package/src/sap/viz/resources/chart/langs/language_ms.js +1 -1
  39. package/src/sap/viz/resources/chart/langs/language_nb.js +1 -1
  40. package/src/sap/viz/resources/chart/langs/language_nl.js +1 -1
  41. package/src/sap/viz/resources/chart/langs/language_no.js +1 -1
  42. package/src/sap/viz/resources/chart/langs/language_pl.js +1 -1
  43. package/src/sap/viz/resources/chart/langs/language_pt.js +1 -1
  44. package/src/sap/viz/resources/chart/langs/language_pt_PT.js +1 -1
  45. package/src/sap/viz/resources/chart/langs/language_rigi.js +1 -1
  46. package/src/sap/viz/resources/chart/langs/language_ro.js +1 -1
  47. package/src/sap/viz/resources/chart/langs/language_ru.js +1 -1
  48. package/src/sap/viz/resources/chart/langs/language_sh.js +1 -1
  49. package/src/sap/viz/resources/chart/langs/language_sk.js +1 -1
  50. package/src/sap/viz/resources/chart/langs/language_sl.js +1 -1
  51. package/src/sap/viz/resources/chart/langs/language_sr.js +1 -1
  52. package/src/sap/viz/resources/chart/langs/language_sv.js +1 -1
  53. package/src/sap/viz/resources/chart/langs/language_th.js +1 -1
  54. package/src/sap/viz/resources/chart/langs/language_tr.js +1 -1
  55. package/src/sap/viz/resources/chart/langs/language_uk.js +1 -1
  56. package/src/sap/viz/resources/chart/langs/language_vi.js +1 -1
  57. package/src/sap/viz/resources/chart/langs/language_zh_CN.js +1 -1
  58. package/src/sap/viz/resources/chart/langs/language_zh_TW.js +1 -1
  59. package/src/sap/viz/ui5/controls/VizFrame.js +2 -1
  60. package/src/sap/viz/ui5/core/BaseChartMetadata.js +1 -1
@@ -7163,6 +7163,7 @@ define('sap/viz/chart/components/legend/ColorLegend',[
7163
7163
  var HORIZONTAL_OFFSET = Constants.LEGEND.HORIZONTAL_OFFSET;
7164
7164
  var INTERACTION_CLASS = Constants.CSS.CLASS.LEGENDITEM,
7165
7165
  ID_CLASS = "v-legend-element";
7166
+ var MIN_ELEMENT_SIZE = Constants.MIN_INTERACTIVE_ELEMENT_SIZE;
7166
7167
 
7167
7168
  function ColorLegend(runtime, options) {
7168
7169
  ColorLegend.superclass.constructor.apply(this, arguments);
@@ -8134,6 +8135,8 @@ define('sap/viz/chart/components/legend/ColorLegend',[
8134
8135
  colorMarkerSize = colorMarkerSize && parseFloat(colorMarkerSize);
8135
8136
  var isHorizontal = this.isHorizontal();
8136
8137
  var isScrollable = this._isScrollable();
8138
+ var isAccEnable = this._properties.origin.get('interaction.enableAccUpdates');
8139
+ var isInteractive = !this._properties.origin.get('interaction.noninteractiveMode');
8137
8140
  var paddingBottom = markerMargin.bottom * textHeight;
8138
8141
  var markerSize = this._colorLabelSize * textHeight;
8139
8142
  var markerWidth = this._getMarkerWidth(markerSize);
@@ -8146,6 +8149,10 @@ define('sap/viz/chart/components/legend/ColorLegend',[
8146
8149
  markerWidth = this._getMarkerWidth(markerSize);
8147
8150
  eachRowHeight = (1 + markerMargin.bottom) * colorMarkerSize;
8148
8151
  }
8152
+ var isMinimumSize = eachRowHeight < MIN_ELEMENT_SIZE;
8153
+ if(isAccEnable && isInteractive && isMinimumSize){
8154
+ eachRowHeight = MIN_ELEMENT_SIZE;
8155
+ }
8149
8156
  this._markerSize = markerSize;
8150
8157
 
8151
8158
  var textWidthLimit = cDomain.maxWidth - paddingWidth - markerWidth;
@@ -8202,6 +8209,12 @@ define('sap/viz/chart/components/legend/ColorLegend',[
8202
8209
  var textY = ((overallHeight - textHeight) / 2 + bottom);
8203
8210
  var postRenderX = markerSize / 2 + HORIZONTAL_OFFSET;
8204
8211
  var postRenderY = overallHeight / 2 + bottom;
8212
+ if(isAccEnable && isInteractive && isMinimumSize){
8213
+ bottom = (MIN_ELEMENT_SIZE - textHeight) / 2;
8214
+ textY = bottom;
8215
+ shapeY = eachRowHeight / 2;
8216
+ postRenderY = eachRowHeight / 2 ;
8217
+ }
8205
8218
 
8206
8219
  cDomain.shapeX = shapeX;
8207
8220
  cDomain.shapeY = shapeY;
@@ -10015,6 +10028,7 @@ return {
10015
10028
  "interaction.deselected.stroke.color": "darken(20%)",
10016
10029
  "interaction.deselected.stroke.visible": false,
10017
10030
  "interaction.deselected.stroke.width": "1px",
10031
+ "interaction.enableAccUpdates": false,
10018
10032
  "interaction.enableDeselectAll": true,
10019
10033
  "interaction.enableInternalEvents": {
10020
10034
  "access": "internal",
@@ -10243,6 +10257,7 @@ return {
10243
10257
  "interaction.deselected.stroke.color": "darken(20%)",
10244
10258
  "interaction.deselected.stroke.visible": false,
10245
10259
  "interaction.deselected.stroke.width": "1px",
10260
+ "interaction.enableAccUpdates": false,
10246
10261
  "interaction.enableDeselectAll": true,
10247
10262
  "interaction.enableInternalEvents": {
10248
10263
  "access": "internal",
@@ -10505,6 +10520,7 @@ return {
10505
10520
  "interaction.deselected.stroke.color": "darken(20%)",
10506
10521
  "interaction.deselected.stroke.visible": false,
10507
10522
  "interaction.deselected.stroke.width": "1px",
10523
+ "interaction.enableAccUpdates": false,
10508
10524
  "interaction.enableDeselectAll": true,
10509
10525
  "interaction.enableInternalEvents": {
10510
10526
  "access": "internal",
@@ -10680,6 +10696,7 @@ return {
10680
10696
  "interaction.deselected.stroke.color": "darken(20%)",
10681
10697
  "interaction.deselected.stroke.visible": false,
10682
10698
  "interaction.deselected.stroke.width": "1px",
10699
+ "interaction.enableAccUpdates": false,
10683
10700
  "interaction.enableDeselectAll": true,
10684
10701
  "interaction.enableInternalEvents": {
10685
10702
  "access": "internal",
@@ -10940,6 +10957,7 @@ return {
10940
10957
  "interaction.deselected.stroke.color": "darken(20%)",
10941
10958
  "interaction.deselected.stroke.visible": false,
10942
10959
  "interaction.deselected.stroke.width": "1px",
10960
+ "interaction.enableAccUpdates": false,
10943
10961
  "interaction.enableDeselectAll": true,
10944
10962
  "interaction.enableInternalEvents": {
10945
10963
  "access": "internal",
@@ -11222,6 +11240,7 @@ return {
11222
11240
  "interaction.deselected.stroke.color": "darken(20%)",
11223
11241
  "interaction.deselected.stroke.visible": false,
11224
11242
  "interaction.deselected.stroke.width": "1px",
11243
+ "interaction.enableAccUpdates": false,
11225
11244
  "interaction.enableDeselectAll": true,
11226
11245
  "interaction.enableInternalEvents": {
11227
11246
  "access": "internal",
@@ -11613,6 +11632,7 @@ return {
11613
11632
  "interaction.deselected.stroke.color": "darken(20%)",
11614
11633
  "interaction.deselected.stroke.visible": false,
11615
11634
  "interaction.deselected.stroke.width": "1px",
11635
+ "interaction.enableAccUpdates": false,
11616
11636
  "interaction.enableDeselectAll": true,
11617
11637
  "interaction.enableInternalEvents": {
11618
11638
  "access": "internal",
@@ -12066,6 +12086,7 @@ return {
12066
12086
  "interaction.deselected.stroke.color": "darken(20%)",
12067
12087
  "interaction.deselected.stroke.visible": false,
12068
12088
  "interaction.deselected.stroke.width": "1px",
12089
+ "interaction.enableAccUpdates": false,
12069
12090
  "interaction.enableDeselectAll": true,
12070
12091
  "interaction.enableInternalEvents": {
12071
12092
  "access": "internal",
@@ -14074,6 +14095,7 @@ return {
14074
14095
  "interaction.deselected.stroke.color": "darken(20%)",
14075
14096
  "interaction.deselected.stroke.visible": false,
14076
14097
  "interaction.deselected.stroke.width": "1px",
14098
+ "interaction.enableAccUpdates": false,
14077
14099
  "interaction.enableDeselectAll": true,
14078
14100
  "interaction.enableInternalEvents": {
14079
14101
  "access": "internal",
@@ -14274,6 +14296,7 @@ return {
14274
14296
  "interaction.deselected.stroke.color": "darken(20%)",
14275
14297
  "interaction.deselected.stroke.visible": false,
14276
14298
  "interaction.deselected.stroke.width": "1px",
14299
+ "interaction.enableAccUpdates": false,
14277
14300
  "interaction.enableDeselectAll": true,
14278
14301
  "interaction.enableInternalEvents": {
14279
14302
  "access": "internal",
@@ -14671,6 +14694,7 @@ return {
14671
14694
  "interaction.deselected.stroke.color": "darken(20%)",
14672
14695
  "interaction.deselected.stroke.visible": false,
14673
14696
  "interaction.deselected.stroke.width": "1px",
14697
+ "interaction.enableAccUpdates": false,
14674
14698
  "interaction.enableDeselectAll": true,
14675
14699
  "interaction.enableInternalEvents": {
14676
14700
  "access": "internal",
@@ -15063,6 +15087,7 @@ return {
15063
15087
  "interaction.deselected.stroke.color": "darken(20%)",
15064
15088
  "interaction.deselected.stroke.visible": false,
15065
15089
  "interaction.deselected.stroke.width": "1px",
15090
+ "interaction.enableAccUpdates": false,
15066
15091
  "interaction.enableDeselectAll": true,
15067
15092
  "interaction.enableInternalEvents": {
15068
15093
  "access": "internal",
@@ -16496,6 +16521,7 @@ return {
16496
16521
  "interaction.deselected.stroke.color": "darken(20%)",
16497
16522
  "interaction.deselected.stroke.visible": false,
16498
16523
  "interaction.deselected.stroke.width": "1px",
16524
+ "interaction.enableAccUpdates": false,
16499
16525
  "interaction.enableDeselectAll": true,
16500
16526
  "interaction.enableInternalEvents": {
16501
16527
  "access": "internal",
@@ -16807,6 +16833,7 @@ return {
16807
16833
  "interaction.deselected.stroke.color": "darken(20%)",
16808
16834
  "interaction.deselected.stroke.visible": false,
16809
16835
  "interaction.deselected.stroke.width": "1px",
16836
+ "interaction.enableAccUpdates": false,
16810
16837
  "interaction.enableDeselectAll": true,
16811
16838
  "interaction.enableInternalEvents": {
16812
16839
  "access": "internal",
@@ -17095,6 +17122,7 @@ return {
17095
17122
  "interaction.deselected.stroke.color": "darken(20%)",
17096
17123
  "interaction.deselected.stroke.visible": false,
17097
17124
  "interaction.deselected.stroke.width": "1px",
17125
+ "interaction.enableAccUpdates": false,
17098
17126
  "interaction.enableDeselectAll": true,
17099
17127
  "interaction.enableInternalEvents": {
17100
17128
  "access": "internal",
@@ -27394,6 +27422,9 @@ define('sap/viz/chart/behavior/config/ScreenReaderUtil',[
27394
27422
  var HOURS = "hours";
27395
27423
  var MINUTES = "minutes";
27396
27424
  var SENCONDS = "senconds";
27425
+ var LEGEND_ITEM = Constants.CSS.CLASS.LEGENDITEM;
27426
+ var MBC_LEGEND_ITEM = Constants.CSS.CLASS.MBCLEGENDITEM;
27427
+ var SELECTED = Constants.CSS.CLASS.SELECTED;
27397
27428
 
27398
27429
  var setNonInteractiveScreenReaderDesc = function(chartArguments, service) {
27399
27430
 
@@ -27492,6 +27523,7 @@ define('sap/viz/chart/behavior/config/ScreenReaderUtil',[
27492
27523
  var valuesArray;
27493
27524
  var ctx;
27494
27525
  var units = service.getStatusManager().get("data.unit");
27526
+ var isSelectionFeedback = service.getProperties().get('legend.selectionFeedback');
27495
27527
  switch (tabOrder) {
27496
27528
  case 1:
27497
27529
  if (isTreeMap(service) && !targetId){
@@ -27586,7 +27618,9 @@ define('sap/viz/chart/behavior/config/ScreenReaderUtil',[
27586
27618
  //.attr('aria-posinset', DataPointUtils.getDataId(target) + 1)
27587
27619
  // .attr('aria-setsize', service.getDataModel().getDataPointCount())
27588
27620
  if (!isNonInteractive) {
27589
- d3.select(target).attr("role", "listitem");
27621
+ var parent = d3.select(target).node().parentNode;
27622
+ d3.select(target).attr("role", "option");
27623
+ d3.select(parent).attr("role", "listbox");
27590
27624
  }
27591
27625
  break;
27592
27626
  case 2:
@@ -27648,7 +27682,7 @@ define('sap/viz/chart/behavior/config/ScreenReaderUtil',[
27648
27682
  });
27649
27683
  }
27650
27684
  if (!isNonInteractive) {
27651
- d3.select(target).attr("role", "option").attr("tabindex", "0");
27685
+ d3.select(target).attr("role", "option");
27652
27686
  }
27653
27687
  break;
27654
27688
  }
@@ -27749,8 +27783,18 @@ define('sap/viz/chart/behavior/config/ScreenReaderUtil',[
27749
27783
  }
27750
27784
  text += ". ";
27751
27785
  if(!isNonInteractive) {
27752
- d3.select(target).attr('aria-label', text).attr("focusable", true)
27786
+ d3.select(target).attr('aria-label', text).attr('tabindex', 0).attr("focusable", true)
27753
27787
  .style('outline', 'none');
27788
+ if(isSelectionFeedback){
27789
+ var isLegendItemSelected = d3.select(target).attr('class').indexOf(LEGEND_ITEM + SELECTED);
27790
+ if(isLegendItemSelected > -1){
27791
+ d3.select(target).attr('aria-label', text + ' Selected');
27792
+ }
27793
+ var isMBCLegendItemSelected = d3.select(target).attr('class').indexOf(MBC_LEGEND_ITEM + SELECTED);
27794
+ if(isMBCLegendItemSelected > -1){
27795
+ d3.select(target).attr('aria-label', text + ' Selected');
27796
+ }
27797
+ }
27754
27798
 
27755
27799
  if (typeof target.focus === "function") {
27756
27800
  target.focus();
@@ -28724,6 +28768,7 @@ define('sap/viz/chart/behavior/config/handler/KeyboardBehaviorHandler',[
28724
28768
  service.setStatus("hoveredLegendLabelId", null);
28725
28769
  service.setStatus("hoveredRadarLabelId", null);
28726
28770
 
28771
+ service._rootNode.selectAll('g[tabindex="0"]').attr('tabindex', -1);
28727
28772
  service._rootNode.selectAll('g[focusable="true"]').attr('focusable', false);
28728
28773
  };
28729
28774
 
@@ -35235,6 +35280,7 @@ define('sap/viz/chart/components/axis/sub/AxisTitle',[
35235
35280
  !useCustomColor && !titleObj.noNeedApplyHiddenTitleColor) {
35236
35281
  //note: you have to set v-hidden-title css after v-title (because of css rules)
35237
35282
  tItem.attr("class", className + " " + hiddenClassName);
35283
+ tItem.attr("aria-hidden", true);
35238
35284
  tItem.attr("fill", hiddenStyleColor);
35239
35285
  }
35240
35286
 
@@ -35726,17 +35772,20 @@ define('sap/viz/chart/components/util/BuildLayerUtil',[
35726
35772
  "sap/viz/framework/common/util/NumberUtils",
35727
35773
  "sap/viz/framework/common/util/DataUtils",
35728
35774
  "sap/viz/framework/common/util/ArrayUtils",
35775
+ 'sap/viz/framework/common/util/Constants',
35729
35776
  "sap/viz/chart/components/axis/renderer/DefaultCategoryLabelRenderer"
35730
35777
  ], function(
35731
35778
  NumberUtils,
35732
35779
  DataUtils,
35733
35780
  ArrayUtils,
35781
+ Constants,
35734
35782
  DefaultCategoryLabelRenderer
35735
35783
  ) {
35736
35784
 
35737
35785
  var LABEL_OFFSET = 6;
35738
35786
  var TICK_SIZE = 5;
35739
35787
  var VERTICAL_ANGLE = 90;
35788
+ var MIN_ELEMENT_SIZE = Constants.MIN_INTERACTIVE_ELEMENT_SIZE;
35740
35789
 
35741
35790
  var _buildUtils = {};
35742
35791
 
@@ -35951,7 +36000,8 @@ define('sap/viz/chart/components/util/BuildLayerUtil',[
35951
36000
  }
35952
36001
  var propStyle = config.propStyle;
35953
36002
  var labelVisible = config.labelVisible;
35954
-
36003
+ var isAccEnable = axisBody._properties.origin.get('interaction.enableAccUpdates');
36004
+ var isInteractive = !axisBody._properties.origin.get('interaction.noninteractiveMode');
35955
36005
  var checkLabelVisible = config.checkLabelVisible;
35956
36006
 
35957
36007
  var truncatedLabelRatioSetting = +config.truncatedLabelRatioSetting;
@@ -36102,7 +36152,7 @@ define('sap/viz/chart/components/util/BuildLayerUtil',[
36102
36152
 
36103
36153
  //determine initial step value
36104
36154
  var len = filteredCells.length;
36105
- step = noAutoHide ? 1 : _misc.getStep(filteredCells, 0, getPreferredSizeFn);
36155
+ step = noAutoHide ? 1 : _misc.getStep(axisBody, filteredCells, 0, getPreferredSizeFn);
36106
36156
  if(truncatedLabelRatio === 1) {
36107
36157
  //no rotation. So we have to check each label "noLabelSpace"
36108
36158
  step = 1;
@@ -36135,7 +36185,7 @@ define('sap/viz/chart/components/util/BuildLayerUtil',[
36135
36185
  labelNumber = 0;
36136
36186
  j = -step;
36137
36187
  //step changed
36138
- step = _misc.getStep(filteredCells, prevIdx, getPreferredSizeFn);
36188
+ step = _misc.getStep(axisBody, filteredCells, prevIdx, getPreferredSizeFn);
36139
36189
  continue;
36140
36190
  }
36141
36191
  prevIdx = j;
@@ -36250,6 +36300,9 @@ define('sap/viz/chart/components/util/BuildLayerUtil',[
36250
36300
  minMinLayerBand = -offset;
36251
36301
  }
36252
36302
  refSize = NumberUtils.preciseSimple(maxRefSize + offset);
36303
+ if(isAccEnable && isInteractive && refSize < MIN_ELEMENT_SIZE){
36304
+ refSize = MIN_ELEMENT_SIZE;
36305
+ }
36253
36306
  for (j = 0, jLength = cells.length; j < jLength; ++j) {
36254
36307
  cell = cells[j];
36255
36308
  cell.isVisible = false;
@@ -36269,6 +36322,10 @@ define('sap/viz/chart/components/util/BuildLayerUtil',[
36269
36322
  if(config.isFlexibleLayers && (isVertical || layer.rotated)) {
36270
36323
  layer.reCalculateLayerContext = true;
36271
36324
  }
36325
+
36326
+ if(isAccEnable && isInteractive){
36327
+ layer.reCalculateLayerContext = false;
36328
+ }
36272
36329
  } else {
36273
36330
  maxMinLayerBand = 0;
36274
36331
  var pSizeCache = [];
@@ -36302,7 +36359,13 @@ define('sap/viz/chart/components/util/BuildLayerUtil',[
36302
36359
  if (maxRefSize < psize[cellRefSizeField]) {
36303
36360
  maxRefSize = psize[cellRefSizeField];
36304
36361
  }
36305
- if (!noAutoHide && psize[cellSizeField] > cell[cellSizeField]) {
36362
+ var reCalcSize;
36363
+ if(isAccEnable && isInteractive){
36364
+ reCalcSize = MIN_ELEMENT_SIZE;
36365
+ }else{
36366
+ reCalcSize = psize[cellSizeField];
36367
+ }
36368
+ if (!noAutoHide && reCalcSize > cell[cellSizeField]) {
36306
36369
  if(config.isFlexibleLayers) {
36307
36370
  layer.reCalculateLayerContext = true;
36308
36371
  }
@@ -36314,6 +36377,9 @@ define('sap/viz/chart/components/util/BuildLayerUtil',[
36314
36377
  }
36315
36378
  }
36316
36379
  refSize = NumberUtils.preciseSimple(maxRefSize + offset);
36380
+ if(isAccEnable && isInteractive && refSize < MIN_ELEMENT_SIZE){
36381
+ refSize = MIN_ELEMENT_SIZE;
36382
+ }
36317
36383
 
36318
36384
  var visibleLabelNum = 0;
36319
36385
  for (j = 0, jLength = cells.length; j < jLength; ++j) {
@@ -36329,6 +36395,17 @@ define('sap/viz/chart/components/util/BuildLayerUtil',[
36329
36395
  if(visibleLabelNum <= 0) {
36330
36396
  layer.isVisible = false;
36331
36397
  }
36398
+ var realSize;
36399
+ if(axisBody._isVertical()){
36400
+ realSize = axisBody._realSize.height;
36401
+ }else{
36402
+ realSize = axisBody._realSize.width;
36403
+ }
36404
+ var eachLabelSpace = realSize / layer.cells.length;
36405
+ if(isAccEnable && isInteractive && eachLabelSpace < MIN_ELEMENT_SIZE){
36406
+ layer.isVisible = false;
36407
+ continue;
36408
+ }
36332
36409
  }
36333
36410
 
36334
36411
  if(layer.reCalculateLayerContext) {
@@ -36441,7 +36518,7 @@ define('sap/viz/chart/components/util/BuildLayerUtil',[
36441
36518
  var hideOverlappedLabels = function(allCells, layers, layerIndex, isVertical, cellsToShow,
36442
36519
  cellsToMeasure, isAllowEmptySegement) {
36443
36520
  //detect text height
36444
- var labelBand;
36521
+ var labelBand;
36445
36522
  for(var i = 0; i < allCells.length; i++) {
36446
36523
  if(isVertical) {
36447
36524
  if(allCells[i].contentHeight) {
@@ -37136,18 +37213,28 @@ define('sap/viz/chart/components/util/BuildLayerUtil',[
37136
37213
  }
37137
37214
  };
37138
37215
 
37139
- _misc.getStep = function(cells, startIdx, getPreferredSizeFn) {
37216
+ _misc.getStep = function(axisBody, cells, startIdx, getPreferredSizeFn) {
37217
+ var isAccEnable = axisBody._properties.origin.get('interaction.enableAccUpdates');
37218
+ var isInteractive = !axisBody._properties.origin.get('interaction.noninteractiveMode');
37140
37219
  if (cells.length <= 1) {
37141
37220
  return 1;
37142
37221
  }
37143
37222
  var step;
37144
37223
  var cell0 = cells[startIdx];
37224
+ var start0 = cell0.cellStart;
37145
37225
  var end0 = cell0.end - 0.001; //fix javascript precision issue
37146
37226
  var len = cells.length;
37147
37227
  var cell;
37148
37228
  for (var j = startIdx + 1; j < len; j++) {
37149
37229
  cell = cells[j];
37150
- if (cell.cellStart >= end0) { //TODO: use cell.start to compare for better space usage
37230
+ var isSkip;
37231
+ if (isAccEnable && isInteractive){
37232
+ isSkip = cell.cellStart - start0 >= MIN_ELEMENT_SIZE;
37233
+ }else{
37234
+ isSkip = cell.cellStart >= end0;
37235
+ }
37236
+ //TODO: use cell.start to compare for better space usage
37237
+ if (isSkip){
37151
37238
  for (var k = j; k < len; k++) {
37152
37239
  getPreferredSizeFn(cells[k]);
37153
37240
  if (cells[k].start >= end0) {
@@ -39373,6 +39460,7 @@ define('sap/viz/chart/components/axis/renderer/OrdinalCommonBodyRenderer',[
39373
39460
  var TICK_SIZE = 5;
39374
39461
  var LABEL_OFFSET = 6;
39375
39462
  var VERTICAL_ANGLE = 90;
39463
+ var MIN_ELEMENT_SIZE = Constants.MIN_INTERACTIVE_ELEMENT_SIZE;
39376
39464
 
39377
39465
  var LONG_TICK_STROKE = "#B3B3B3";
39378
39466
  var TICK_LABEL_SPACING = TICK_SIZE + LABEL_OFFSET - 1;
@@ -39616,7 +39704,7 @@ define('sap/viz/chart/components/axis/renderer/OrdinalCommonBodyRenderer',[
39616
39704
  };
39617
39705
 
39618
39706
  rendererFunc.prototype.drawLabels = function(selection, layers, bound, position, props, effectManager,
39619
- needRowAxisOffset, labelOffset, additionalWidth, rebuildUI) {
39707
+ needRowAxisOffset, labelOffset, additionalWidth, rebuildUI, isAccEnable, lineSize) {
39620
39708
  var layersReversed = layers.slice().reverse();
39621
39709
  var layersLength = layersReversed.length;
39622
39710
  var baseline = 0;
@@ -39626,7 +39714,8 @@ define('sap/viz/chart/components/axis/renderer/OrdinalCommonBodyRenderer',[
39626
39714
  baseline = getLayersBand(layersReversed, i);
39627
39715
  this.drawSingleLayerLabels(selection, layersReversed[i], bound,
39628
39716
  position, props, baseline, i, layersReversed, effectManager,
39629
- needRowAxisOffset, labelOffset, additionalWidth, rebuildUI);
39717
+ needRowAxisOffset, labelOffset, additionalWidth, rebuildUI,
39718
+ isAccEnable, lineSize);
39630
39719
  }
39631
39720
  //remove labels out of layer limitation
39632
39721
  while(selection.select(".index_"+i).node()){
@@ -39668,10 +39757,18 @@ define('sap/viz/chart/components/axis/renderer/OrdinalCommonBodyRenderer',[
39668
39757
  return "translate(" + realXOffset + "," + realYOffset + ")";
39669
39758
  };
39670
39759
 
39671
- rendererFunc.prototype._setLabelRectSize = function(rectNode, labelSize, textSize) {
39760
+ rendererFunc.prototype._setLabelRectSize = function(rectNode, labelSize, textSize, isAccEnable, isVertical) {
39672
39761
  if(rectNode && labelSize){
39673
- rectNode.setAttribute("width", labelSize.width);
39674
- rectNode.setAttribute("height", labelSize.height);
39762
+ if(isAccEnable && isVertical){
39763
+ rectNode.setAttribute("width", Math.max(labelSize.width, MIN_ELEMENT_SIZE));
39764
+ rectNode.setAttribute("height", labelSize.height);
39765
+ }else if(isAccEnable && !isVertical){
39766
+ rectNode.setAttribute("width", labelSize.width);
39767
+ rectNode.setAttribute("height", Math.max(labelSize.height, MIN_ELEMENT_SIZE));
39768
+ }else{
39769
+ rectNode.setAttribute("width", labelSize.width);
39770
+ rectNode.setAttribute("height", labelSize.height);
39771
+ }
39675
39772
  }
39676
39773
  };
39677
39774
 
@@ -39755,7 +39852,8 @@ define('sap/viz/chart/components/axis/renderer/OrdinalCommonBodyRenderer',[
39755
39852
  var MIN_SPACING = 24;
39756
39853
 
39757
39854
  rendererFunc.prototype.drawSingleLayerLabels = function(selection, layer, bound, position, props,
39758
- baseline, index, layers, effectManager, needRowAxisOffset, labelOffset, additionalWidth, rebuildUI) {
39855
+ baseline, index, layers, effectManager, needRowAxisOffset, labelOffset, additionalWidth, rebuildUI,
39856
+ isAccEnable, lineSize) {
39759
39857
  var clid = CATEGORY_LABEL_ID;
39760
39858
  var width = bound.width;
39761
39859
  var realWidth = bound.realSize && bound.realSize.width;
@@ -39798,7 +39896,8 @@ define('sap/viz/chart/components/axis/renderer/OrdinalCommonBodyRenderer',[
39798
39896
  }
39799
39897
  }
39800
39898
  offset = layers.length === 1 ? LABEL_OFFSET : TICK_SIZE;
39801
- this._setLabelParameters(labels, position, baseline, width, height, offset, layer);
39899
+ this._setLabelParameters(labels, position, baseline, width, height, offset, layer,
39900
+ isAccEnable);
39802
39901
 
39803
39902
  var sizeLimitForFirstLabel = false;
39804
39903
  if(keepFirstAndLastLabel){
@@ -39905,11 +40004,22 @@ define('sap/viz/chart/components/axis/renderer/OrdinalCommonBodyRenderer',[
39905
40004
  var fontWeight = propStyle.fontWeight;
39906
40005
  var fontFamily = propStyle.fontFamily;
39907
40006
  var fontStyle = propStyle.fontStyle;
39908
-
40007
+ var lineSizeOffset = lineSize / 2;
40008
+
39909
40009
  config.styles = propStyle;
39910
40010
 
39911
40011
  this.setAttribute(clid, d.id);
39912
- this.setAttribute("transform", "translate(" + d.x + "," + d.y + ")");
40012
+ if(isAccEnable){
40013
+ if(isVertical){
40014
+ var labelX = d.x - lineSizeOffset;
40015
+ this.setAttribute("transform", "translate(" + labelX + "," + d.y + ")");
40016
+ }else{
40017
+ var labelY = d.y + lineSizeOffset;
40018
+ this.setAttribute("transform", "translate(" + d.x + "," + labelY + ")");
40019
+ }
40020
+ }else{
40021
+ this.setAttribute("transform", "translate(" + d.x + "," + d.y + ")");
40022
+ }
39913
40023
  var psize = d._preferredSize;
39914
40024
  var refSize = Math.max(d[cellSizeField], psize[cellSizeField]);
39915
40025
 
@@ -39973,7 +40083,6 @@ define('sap/viz/chart/components/axis/renderer/OrdinalCommonBodyRenderer',[
39973
40083
  }else if(keepFirstAndLastLabel){
39974
40084
  rect.setAttribute("fill", "transparent");
39975
40085
  }
39976
-
39977
40086
  rect.setAttribute("x", d.rectX);
39978
40087
  rect.setAttribute("y", d.rectY);
39979
40088
  }
@@ -40043,7 +40152,7 @@ define('sap/viz/chart/components/axis/renderer/OrdinalCommonBodyRenderer',[
40043
40152
  width: forceLabelRotation && rotated ? d.rectHeight :d.rectWidth,
40044
40153
  height: forceLabelRotation && rotated ? d.rectWidth: d.rectHeight
40045
40154
  };
40046
- me._setLabelRectSize(rect, labelSize, textNodeSize);
40155
+ me._setLabelRectSize(rect, labelSize, textNodeSize, isAccEnable, isVertical);
40047
40156
  var textSize, textHeight, textWidth;
40048
40157
 
40049
40158
  if(layer.rotated && layer.rotationAngle !== VERTICAL_ANGLE && layer.rotationAngle !== 0) {
@@ -40123,7 +40232,7 @@ define('sap/viz/chart/components/axis/renderer/OrdinalCommonBodyRenderer',[
40123
40232
  }
40124
40233
 
40125
40234
  rendererFunc.prototype._setLabelParameters = function(labels, position, baseline, width, height, textOffset,
40126
- layer) {
40235
+ layer, isAccEnable) {
40127
40236
  var i = 0,
40128
40237
  length = labels.length,
40129
40238
  label;
@@ -40515,10 +40624,13 @@ define('sap/viz/chart/components/axis/sub/OrdinalCommonAxisBody',[
40515
40624
  properties.textAnchor = envManager.textAnchor();
40516
40625
  properties.reverseDots = envManager.reverseDots();
40517
40626
  }
40518
-
40627
+ var isAccEnable = this._properties.origin.get('interaction.enableAccUpdates');
40628
+ var isInteractive = !this._properties.origin.get('interaction.nonInteractiveMode');
40629
+ var lineSize = this._properties.get('axisLine.size');
40519
40630
  this._bodyRenderer.drawLabels(this._labelGroupNode, layers, bound, position,
40520
40631
  properties, this.runtime().effectManager(), this._needRowAxisOffset(), this._labelOffset,
40521
- this._needExtened() ? this.getAdditionalWidth(): 0, rebuildUI);
40632
+ this._needExtened() ? this.getAdditionalWidth(): 0, rebuildUI, isAccEnable && isInteractive,
40633
+ lineSize);
40522
40634
 
40523
40635
  if(this._bodyRenderer && this._bodyRenderer.applyLabelStyle){
40524
40636
  this._bodyRenderer.applyLabelStyle(this._labelGroupNode);
@@ -40691,6 +40803,9 @@ define('sap/viz/chart/components/axis/sub/OrdinalCommonAxisBody',[
40691
40803
  };
40692
40804
 
40693
40805
  OrdinalCommonAxisBody.prototype._getMaxLayersSize = function(spacings, sizeLimit) {
40806
+ var lineSize = this._properties.get('axisLine.size');
40807
+ var isAccEnable = this._properties.origin.get('interaction.enableAccUpdates');
40808
+ var isInteractive = !this._properties.origin.get('interaction.noninteractiveMode');
40694
40809
  var sum = 0;
40695
40810
  for (var i = 0, length = spacings.length; i < length; ++i) {
40696
40811
  if (typeof sizeLimit !== 'number' || sum + spacings[i].interval <= sizeLimit) {
@@ -40703,6 +40818,9 @@ define('sap/viz/chart/components/axis/sub/OrdinalCommonAxisBody',[
40703
40818
  break;
40704
40819
  }
40705
40820
  }
40821
+ if(isAccEnable && isInteractive){
40822
+ sum += lineSize / 2;
40823
+ }
40706
40824
  return sum;
40707
40825
  };
40708
40826
 
@@ -42681,7 +42799,7 @@ define('sap/viz/chart/components/datalabels/DataLabels',[
42681
42799
  step = Math.ceil((isDistributeByHeight ? labelBBox.height : labelBBox.width)/dPLength);
42682
42800
  if (step === 0) {
42683
42801
  break;
42684
- }
42802
+ }
42685
42803
  }
42686
42804
  }
42687
42805
  }
@@ -48662,7 +48780,7 @@ define('sap/viz/chart/components/plots/BasePlot',[
48662
48780
  var wrapper = SVG.create("g", selection);
48663
48781
  var mainNode = SVG.create("g", wrapper);
48664
48782
  mainNode.setAttribute("class", "v-plot-main");
48665
- mainNode.setAttribute('role', 'list');
48783
+ mainNode.setAttribute('role', 'listbox');
48666
48784
  if (enableClipPath && !this._notNeedClippath) {
48667
48785
  wrapper.setAttribute("clip-path", "url(#" + clipPathId + ")");
48668
48786
  }
@@ -61333,6 +61451,7 @@ define('sap/viz/chart/components/axis/renderer/TimeBodyRenderer',[
61333
61451
  var LABEL_OFFSET = 11;
61334
61452
  var AXIS_CLASS_NAMES = Constants.CSS.CLASS.AXIS;
61335
61453
  var AXIS_INTERACTION_CLASS_NAMES = 'v-label-interaction';
61454
+ var MIN_ELEMENT_SIZE = Constants.MIN_INTERACTIVE_ELEMENT_SIZE;
61336
61455
 
61337
61456
  var TICK_SIZE = 5;
61338
61457
  var LONG_TICK_SIZE = 10;
@@ -61427,6 +61546,8 @@ define('sap/viz/chart/components/axis/renderer/TimeBodyRenderer',[
61427
61546
  var labelClass = AXIS_CLASS_NAMES.LABEL + " " + AXIS_CLASS_NAMES.MORPHABLE_LABEL + " " +
61428
61547
  AXIS_CLASS_NAMES.LABEL_BACKWORD;
61429
61548
  var styles = props.get('label.style');
61549
+ var isInteractive = !props.origin.get('interaction.noninteractiveMode');
61550
+ var isAccEnable = props.origin.get('interaction.enableAccUpdates');
61430
61551
  var offset = TextUtils.getTextBaselineOffset(styles);
61431
61552
  var fill = effectManager.register({
61432
61553
  fillColor: styles.color
@@ -61501,7 +61622,13 @@ define('sap/viz/chart/components/axis/renderer/TimeBodyRenderer',[
61501
61622
  LABEL_OFFSET + layer.height - offset;
61502
61623
  fillText(text, layer, fillUpperLevel);
61503
61624
  text.setAttribute("x", layer.left - scrollOffset);
61504
- text.setAttribute("y", baseLayerTop);
61625
+ var isMinimumSize = layer.height + 2 * HOVERSHADOW_PADDING < MIN_ELEMENT_SIZE;
61626
+ var textPosInRect = (MIN_ELEMENT_SIZE - layer.height / 1.2) / 2;
61627
+ if(isAccEnable && isInteractive && isMinimumSize){
61628
+ text.setAttribute("y", textPosInRect + baseLayerTop);
61629
+ }else{
61630
+ text.setAttribute("y", baseLayerTop);
61631
+ }
61505
61632
  text.setAttribute("timelabel-id", layer.id);
61506
61633
 
61507
61634
  var x, rectWidth;
@@ -61513,14 +61640,26 @@ define('sap/viz/chart/components/axis/renderer/TimeBodyRenderer',[
61513
61640
  rectWidth = layer.width + 2 * HOVERSHADOW_PADDING;
61514
61641
  var textSize = TextUtils.fastMeasure(layer.text, fontSize, fontWeight, fontFamily);
61515
61642
  rect.setAttribute("x", x);
61516
- rect.setAttribute("y", baseLayerTop + textSize.y - HOVERSHADOW_PADDING);
61643
+ if(isAccEnable && isInteractive && isMinimumSize){
61644
+ rect.setAttribute("y", LABEL_OFFSET);
61645
+ rect.setAttribute("height", MIN_ELEMENT_SIZE);
61646
+ }else{
61647
+ rect.setAttribute("y", baseLayerTop + textSize.y - HOVERSHADOW_PADDING);
61648
+ rect.setAttribute("height", layer.height + 2 * HOVERSHADOW_PADDING);
61649
+ }
61517
61650
  rect.setAttribute("width", rectWidth);
61518
- rect.setAttribute("height", layer.height + 2 * HOVERSHADOW_PADDING);
61519
61651
  }
61520
61652
  else if(layer.hasOwnProperty('rectX')){
61521
61653
  x = layer.rectX - scrollOffset;
61522
61654
  rect.setAttribute("x", x);
61523
- rect.setAttribute("y", 1);
61655
+
61656
+ if(isAccEnable && isInteractive && isMinimumSize){
61657
+ rect.setAttribute("y", LABEL_OFFSET);
61658
+ rect.setAttribute("height", MIN_ELEMENT_SIZE);
61659
+ }else{
61660
+ rect.setAttribute("y", 1);
61661
+ rect.setAttribute("height", baseLayerTop + HOVERSHADOW_PADDING);
61662
+ }
61524
61663
  rectWidth = layer.rectWidth;
61525
61664
  if(x > width) {
61526
61665
  rectWidth = 0;
@@ -61529,7 +61668,6 @@ define('sap/viz/chart/components/axis/renderer/TimeBodyRenderer',[
61529
61668
  rectWidth = width - x;
61530
61669
  }
61531
61670
  rect.setAttribute("width", rectWidth);
61532
- rect.setAttribute("height", baseLayerTop + HOVERSHADOW_PADDING);
61533
61671
  }
61534
61672
  }
61535
61673
 
@@ -61557,6 +61695,8 @@ define('sap/viz/chart/components/axis/renderer/TimeBodyRenderer',[
61557
61695
  baseLayerTop = isTop ? height - LABEL_OFFSET - offset :
61558
61696
  LABEL_OFFSET + d.height - offset;
61559
61697
  var heightOffset = d.height * (i + 1) * (isTop ? -1 : 1);
61698
+ var isMinimumSize = d.height < MIN_ELEMENT_SIZE;
61699
+ var textPosInRect = (MIN_ELEMENT_SIZE - layer.height / 1.2) / 2;
61560
61700
  var upperLevelRect = this.querySelector("." + AXIS_CLASS_NAMES.BACKGROUND_RECT);
61561
61701
  if(layer.hasOwnProperty('rectX')) {
61562
61702
  upperLevelRect = SVG.create("rect");
@@ -61576,9 +61716,14 @@ define('sap/viz/chart/components/axis/renderer/TimeBodyRenderer',[
61576
61716
  rectWidth = width - x;
61577
61717
  }
61578
61718
  upperLevelRect.setAttribute("x", x);
61579
- upperLevelRect.setAttribute("y", (baseLayerTop + d.height * i * (isTop ? -1 : 1)) + 3);
61719
+ if(isAccEnable && isInteractive && isMinimumSize){
61720
+ upperLevelRect.setAttribute("y", (i + 1) * MIN_ELEMENT_SIZE + LABEL_OFFSET);
61721
+ upperLevelRect.setAttribute("height", MIN_ELEMENT_SIZE);
61722
+ }else{
61723
+ upperLevelRect.setAttribute("y", (baseLayerTop + d.height * i * (isTop ? -1 : 1)) + 3);
61724
+ upperLevelRect.setAttribute("height", d.height);
61725
+ }
61580
61726
  upperLevelRect.setAttribute("width", rectWidth);
61581
- upperLevelRect.setAttribute("height", d.height);
61582
61727
  }
61583
61728
 
61584
61729
  var upperLevelText = that.querySelector(".v-label-upperLevel:nth-child(" + (i + 2) + ")");
@@ -61591,7 +61736,11 @@ define('sap/viz/chart/components/axis/renderer/TimeBodyRenderer',[
61591
61736
  upperLevelText.setAttribute("timelabel-id", layer.id);
61592
61737
  upperLevelText.setAttribute("fill", fillUpperLevel);
61593
61738
  upperLevelText.setAttribute("x", d.left - scrollOffset);
61594
- upperLevelText.setAttribute("y", baseLayerTop + heightOffset);
61739
+ if(isAccEnable && isInteractive && isMinimumSize){
61740
+ upperLevelText.setAttribute("y", textPosInRect + baseLayerTop + (i + 1) * MIN_ELEMENT_SIZE);
61741
+ }else{
61742
+ upperLevelText.setAttribute("y", baseLayerTop + heightOffset);
61743
+ }
61595
61744
  });
61596
61745
 
61597
61746
  } else {
@@ -64717,6 +64866,7 @@ define('sap/viz/chart/components/axis/sub/TimeAxisBody',[
64717
64866
 
64718
64867
  var AXIS_CLASS_NAMES = Constants.CSS.CLASS.AXIS;
64719
64868
  var TIME_LEVEL = Constants.TIME_LEVEL;
64869
+ var MIN_ELEMENT_SIZE = Constants.MIN_INTERACTIVE_ELEMENT_SIZE;
64720
64870
 
64721
64871
  var EASTERN_LANGUAGE = ["ja", "zh_CN", "zh_TW", "ko"];
64722
64872
 
@@ -65609,6 +65759,8 @@ define('sap/viz/chart/components/axis/sub/TimeAxisBody',[
65609
65759
  var scale = this._data;
65610
65760
  var range = scale.getRange();
65611
65761
  var rangeLong = Math.abs(range[0] - range[1]);
65762
+ var isAccEnable = props.origin.get('interaction.enableAccUpdates');
65763
+ var isInteractive = !props.origin.get('interaction.noninteractiveMode');
65612
65764
  var spacing = LABEL_OFFSET;
65613
65765
  var viewportWidth = refSize ? refSize.width : (this._size.width || rangeLong);
65614
65766
  var result = this._getTicksAndLabels(rangeLong, viewportWidth);
@@ -65617,7 +65769,13 @@ define('sap/viz/chart/components/axis/sub/TimeAxisBody',[
65617
65769
 
65618
65770
  if (props.get('label.visible')) {
65619
65771
  var labelStyle = this._properties.get('label.style');
65620
- var labelHeight = this._measureTextSize('1', labelStyle).height;
65772
+ var labelHeight;
65773
+ var isMinimumSize = this._measureTextSize('1', labelStyle).height < MIN_ELEMENT_SIZE;
65774
+ if(isAccEnable && isInteractive && isMinimumSize){
65775
+ labelHeight = MIN_ELEMENT_SIZE;
65776
+ }else{
65777
+ labelHeight = this._measureTextSize('1', labelStyle).height;
65778
+ }
65621
65779
  spacing += labelHeight * Math.max(result.labels.layerCount, 2);
65622
65780
  }
65623
65781
  }