@gitlab/ui 49.0.1 → 49.0.2

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 (127) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/components/base/accordion/accordion.js +2 -8
  3. package/dist/components/base/accordion/accordion_item.js +0 -14
  4. package/dist/components/base/alert/alert.js +4 -22
  5. package/dist/components/base/avatar/avatar.js +0 -7
  6. package/dist/components/base/avatar_labeled/avatar_labeled.js +0 -2
  7. package/dist/components/base/avatars_inline/avatars_inline.js +2 -10
  8. package/dist/components/base/badge/badge.js +0 -8
  9. package/dist/components/base/banner/banner.js +0 -10
  10. package/dist/components/base/breadcrumb/breadcrumb.js +0 -12
  11. package/dist/components/base/breadcrumb/breadcrumb_item.js +0 -2
  12. package/dist/components/base/broadcast_message/broadcast_message.js +0 -3
  13. package/dist/components/base/button/button.js +0 -11
  14. package/dist/components/base/card/card.js +1 -2
  15. package/dist/components/base/datepicker/datepicker.js +7 -42
  16. package/dist/components/base/daterange_picker/daterange_picker.js +0 -23
  17. package/dist/components/base/drawer/drawer.js +0 -13
  18. package/dist/components/base/dropdown/dropdown.js +3 -17
  19. package/dist/components/base/dropdown/dropdown_item.js +2 -8
  20. package/dist/components/base/filtered_search/common_story_options.js +1 -2
  21. package/dist/components/base/filtered_search/filtered_search.js +9 -61
  22. package/dist/components/base/filtered_search/filtered_search_suggestion.js +0 -6
  23. package/dist/components/base/filtered_search/filtered_search_suggestion_list.js +0 -16
  24. package/dist/components/base/filtered_search/filtered_search_term.js +0 -9
  25. package/dist/components/base/filtered_search/filtered_search_token.js +10 -49
  26. package/dist/components/base/filtered_search/filtered_search_token_segment.js +3 -56
  27. package/dist/components/base/filtered_search/filtered_search_utils.js +7 -24
  28. package/dist/components/base/form/form_checkbox/form_checkbox.js +0 -2
  29. package/dist/components/base/form/form_checkbox_tree/checkbox_tree_node.js +0 -4
  30. package/dist/components/base/form/form_checkbox_tree/form_checkbox_tree.js +0 -10
  31. package/dist/components/base/form/form_checkbox_tree/models/node.js +1 -10
  32. package/dist/components/base/form/form_checkbox_tree/models/tree.js +16 -37
  33. package/dist/components/base/form/form_combobox/form_combobox.js +2 -36
  34. package/dist/components/base/form/form_group/form_group.js +2 -7
  35. package/dist/components/base/form/form_input/form_input.js +2 -8
  36. package/dist/components/base/form/form_input_group/form_input_group.js +0 -5
  37. package/dist/components/base/form/form_input_group/form_input_group_mixin.js +0 -8
  38. package/dist/components/base/form/form_radio_group/form_radio_group.js +0 -2
  39. package/dist/components/base/form/form_select/form_select.js +0 -3
  40. package/dist/components/base/form/form_textarea/form_textarea.js +2 -7
  41. package/dist/components/base/icon/icon.js +4 -14
  42. package/dist/components/base/infinite_scroll/infinite_scroll.js +7 -21
  43. package/dist/components/base/keyset_pagination/keyset_pagination.js +0 -9
  44. package/dist/components/base/label/label.js +0 -12
  45. package/dist/components/base/loading_icon/loading_icon.js +7 -10
  46. package/dist/components/base/markdown/markdown.js +1 -0
  47. package/dist/components/base/modal/modal.js +7 -27
  48. package/dist/components/base/new_dropdowns/base_dropdown/base_dropdown.js +0 -25
  49. package/dist/components/base/new_dropdowns/constants.js +4 -2
  50. package/dist/components/base/new_dropdowns/listbox/listbox.js +0 -63
  51. package/dist/components/base/new_dropdowns/listbox/listbox_group.js +0 -2
  52. package/dist/components/base/new_dropdowns/listbox/listbox_item.js +0 -5
  53. package/dist/components/base/new_dropdowns/listbox/utils.js +0 -7
  54. package/dist/components/base/paginated_list/paginated_list.js +0 -15
  55. package/dist/components/base/pagination/pagination.js +14 -72
  56. package/dist/components/base/path/path.js +0 -29
  57. package/dist/components/base/popover/popover.js +0 -5
  58. package/dist/components/base/search_box_by_click/search_box_by_click.js +1 -26
  59. package/dist/components/base/search_box_by_type/search_box_by_type.js +2 -12
  60. package/dist/components/base/segmented_control/segmented_control.js +0 -10
  61. package/dist/components/base/skeleton_loader/skeleton_loader.js +0 -19
  62. package/dist/components/base/skeleton_loading/skeleton_loading.js +0 -3
  63. package/dist/components/base/sorting/sorting.js +1 -9
  64. package/dist/components/base/sorting/sorting_item.js +4 -6
  65. package/dist/components/base/table/table.js +0 -4
  66. package/dist/components/base/tabs/tab/tab.js +2 -6
  67. package/dist/components/base/tabs/tabs/scrollable_tabs.js +0 -21
  68. package/dist/components/base/tabs/tabs/tabs.js +8 -33
  69. package/dist/components/base/toast/toast.js +3 -15
  70. package/dist/components/base/toggle/toggle.js +0 -18
  71. package/dist/components/base/token/token.js +0 -4
  72. package/dist/components/base/token_selector/token_container.js +0 -24
  73. package/dist/components/base/token_selector/token_selector.js +10 -61
  74. package/dist/components/base/token_selector/token_selector_dropdown.js +4 -32
  75. package/dist/components/charts/area/area.js +8 -32
  76. package/dist/components/charts/bar/bar.js +7 -19
  77. package/dist/components/charts/chart/chart.js +1 -22
  78. package/dist/components/charts/column/column.js +8 -18
  79. package/dist/components/charts/discrete_scatter/discrete_scatter.js +2 -13
  80. package/dist/components/charts/gauge/gauge.js +0 -15
  81. package/dist/components/charts/heatmap/heatmap.js +3 -16
  82. package/dist/components/charts/legend/legend.js +2 -24
  83. package/dist/components/charts/line/line.js +8 -34
  84. package/dist/components/charts/series_label/series_label.js +0 -12
  85. package/dist/components/charts/single_stat/single_stat.js +0 -8
  86. package/dist/components/charts/sparkline/sparkline.js +1 -16
  87. package/dist/components/charts/stacked_column/stacked_column.js +8 -26
  88. package/dist/components/charts/tooltip/tooltip.js +0 -6
  89. package/dist/components/mixins/button_mixin.js +0 -1
  90. package/dist/components/mixins/safe_link_mixin.js +0 -1
  91. package/dist/components/mixins/toolbox_mixin.js +0 -1
  92. package/dist/components/mixins/tooltip_mixin.js +1 -2
  93. package/dist/components/regions/empty_state/empty_state.js +0 -12
  94. package/dist/components/utilities/animated_number/animated_number.js +0 -16
  95. package/dist/components/utilities/friendly_wrap/friendly_wrap.js +0 -3
  96. package/dist/components/utilities/intersection_observer/intersection_observer.js +0 -7
  97. package/dist/components/utilities/intersperse/intersperse.js +3 -9
  98. package/dist/components/utilities/sprintf/sprintf.js +9 -23
  99. package/dist/components/utilities/truncate/truncate.js +0 -10
  100. package/dist/config.js +3 -4
  101. package/dist/directives/hover_load/hover_load.js +2 -8
  102. package/dist/directives/outside/get_event_like_time_stamp.js +4 -2
  103. package/dist/directives/outside/outside.js +5 -20
  104. package/dist/directives/resize_observer/resize_observer.js +0 -10
  105. package/dist/directives/safe_html/safe_html.js +5 -6
  106. package/dist/directives/safe_link/mock_data.js +1 -1
  107. package/dist/directives/safe_link/safe_link.js +0 -13
  108. package/dist/utils/breakpoints.js +0 -3
  109. package/dist/utils/charts/config.js +29 -42
  110. package/dist/utils/charts/constants.js +8 -8
  111. package/dist/utils/charts/mock_data.js +2 -2
  112. package/dist/utils/charts/story_config.js +1 -1
  113. package/dist/utils/charts/theme.js +1 -3
  114. package/dist/utils/charts/utils.js +2 -6
  115. package/dist/utils/constants.js +10 -7
  116. package/dist/utils/data_utils.js +5 -4
  117. package/dist/utils/datetime_utility.js +4 -4
  118. package/dist/utils/number_utils.js +7 -11
  119. package/dist/utils/stories_utils.js +1 -1
  120. package/dist/utils/story_decorators/container.js +0 -1
  121. package/dist/utils/string_utils.js +0 -14
  122. package/dist/utils/test_utils.js +3 -2
  123. package/dist/utils/use_fake_date.js +0 -4
  124. package/dist/utils/use_mock_intersection_observer.js +4 -19
  125. package/dist/utils/utils.js +5 -14
  126. package/package.json +3 -3
  127. package/src/components/base/pagination/pagination.vue +2 -2
@@ -49,30 +49,24 @@ var script = {
49
49
  required: true
50
50
  }
51
51
  },
52
-
53
52
  data() {
54
53
  return {
55
54
  focusedDropdownItemIndex: 0
56
55
  };
57
56
  },
58
-
59
57
  computed: {
60
58
  focusedDropdownItem() {
61
59
  return this.dropdownItems[this.focusedDropdownItemIndex];
62
60
  }
63
-
64
61
  },
65
62
  watch: {
66
63
  focusedDropdownItem(newValue, oldValue) {
67
64
  if ((newValue === null || newValue === void 0 ? void 0 : newValue.id) !== (oldValue === null || oldValue === void 0 ? void 0 : oldValue.id)) {
68
65
  this.$emit('input', newValue);
69
-
70
66
  if (!newValue) {
71
67
  return;
72
68
  }
73
-
74
69
  const dropdownItemRef = this.getDropdownItemRef(newValue);
75
-
76
70
  if (dropdownItemRef !== null && dropdownItemRef !== void 0 && dropdownItemRef.$el) {
77
71
  dropdownItemRef.$el.scrollIntoView({
78
72
  block: 'nearest',
@@ -81,9 +75,7 @@ var script = {
81
75
  }
82
76
  }
83
77
  }
84
-
85
78
  },
86
-
87
79
  created() {
88
80
  this.registerDropdownEventHandlers({
89
81
  handleUpArrow: this.handleUpArrow,
@@ -94,97 +86,77 @@ var script = {
94
86
  this.registerResetFocusedDropdownItem(this.resetFocusedDropdownItem);
95
87
  this.$emit('input', this.focusedDropdownItem);
96
88
  },
97
-
98
89
  methods: {
99
90
  handleDropdownItemClick(dropdownItem) {
100
91
  this.$emit('dropdown-item-click', dropdownItem);
101
92
  },
102
-
103
93
  handleMousedown(dropdownItem) {
104
94
  // `event.relatedTarget` returns `null` on Safari because buttons are not focused on click (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus)
105
95
  // Because of this we need to manually focus on the button. We do this in `mousedown` because it is fired before the `blur` event
106
96
  const dropdownItemRef = dropdownItem === null ? this.$refs.userDefinedTokenDropdownItem : this.getDropdownItemRef(dropdownItem);
107
-
108
97
  if (dropdownItemRef !== null && dropdownItemRef !== void 0 && dropdownItemRef.$el) {
109
98
  dropdownItemRef.$el.querySelector('button').focus();
110
99
  }
111
100
  },
112
-
113
101
  handleUpArrow() {
114
102
  if (!this.show) {
115
103
  return;
116
- } // First dropdown item has been reached
117
-
104
+ }
118
105
 
106
+ // First dropdown item has been reached
119
107
  if (this.focusedDropdownItemIndex === 0) {
120
108
  return;
121
109
  }
122
-
123
110
  this.focusPrevDropdownItem();
124
111
  },
125
-
126
112
  handleDownArrow() {
127
113
  if (!this.show) {
128
114
  this.$emit('show');
129
115
  return;
130
- } // Last dropdown item has been reached
131
-
116
+ }
132
117
 
118
+ // Last dropdown item has been reached
133
119
  if (this.focusedDropdownItemIndex === this.dropdownItems.length - 1) {
134
120
  return;
135
121
  }
136
-
137
122
  this.focusNextDropdownItem();
138
123
  },
139
-
140
124
  handleHomeKey(event) {
141
125
  event.preventDefault();
142
126
  this.focusFirstDropdownItem();
143
127
  },
144
-
145
128
  handleEndKey(event) {
146
129
  event.preventDefault();
147
130
  this.focusLastDropdownItem();
148
131
  },
149
-
150
132
  focusLastDropdownItem() {
151
133
  this.focusedDropdownItemIndex = this.dropdownItems.length - 1;
152
134
  },
153
-
154
135
  focusFirstDropdownItem() {
155
136
  this.focusedDropdownItemIndex = 0;
156
137
  },
157
-
158
138
  focusNextDropdownItem() {
159
139
  this.focusedDropdownItemIndex += 1;
160
140
  },
161
-
162
141
  focusPrevDropdownItem() {
163
142
  this.focusedDropdownItemIndex -= 1;
164
143
  },
165
-
166
144
  resetFocusedDropdownItem() {
167
145
  this.focusedDropdownItemIndex = 0;
168
146
  },
169
-
170
147
  dropdownItemIsFocused(dropdownItem) {
171
148
  if (!this.focusedDropdownItem) {
172
149
  return false;
173
150
  }
174
-
175
151
  return dropdownItem.id === this.focusedDropdownItem.id;
176
152
  },
177
-
178
153
  getDropdownItemRef(dropdownItem) {
179
154
  var _this$$refs$dropdownI;
180
-
181
155
  return (_this$$refs$dropdownI = this.$refs.dropdownItems) === null || _this$$refs$dropdownI === void 0 ? void 0 : _this$$refs$dropdownI.find(ref => ref.$attrs['data-dropdown-item-id'] === dropdownItem.id);
182
156
  },
183
-
184
157
  dropdownItemIdAttribute(dropdownItem) {
185
158
  return dropdownItem ? `${this.componentId}-dropdown-item-${dropdownItem.id}` : null;
186
159
  }
187
-
188
160
  }
189
161
  };
190
162
 
@@ -80,14 +80,11 @@ var script = {
80
80
  type: String,
81
81
  required: false,
82
82
  default: LEGEND_LAYOUT_INLINE,
83
-
84
83
  validator(layout) {
85
84
  return [LEGEND_LAYOUT_INLINE, LEGEND_LAYOUT_TABLE].indexOf(layout) !== -1;
86
85
  }
87
-
88
86
  }
89
87
  },
90
-
91
88
  data() {
92
89
  // Part of the tooltip related data can be
93
90
  // moved into the tooltip component.
@@ -113,14 +110,11 @@ var script = {
113
110
  selectedFormatTooltipText: this.formatTooltipText || this.defaultFormatTooltipText
114
111
  };
115
112
  },
116
-
117
113
  computed: {
118
114
  series() {
119
115
  const dataSeries = this.data.map((series, index) => {
120
116
  const defaultColor = colorFromDefaultPalette(index);
121
-
122
117
  const getColor = type => series[type] && series[type].color ? series[type].color : defaultColor;
123
-
124
118
  return merge({
125
119
  areaStyle: {
126
120
  opacity: defaultAreaOpacity,
@@ -134,20 +128,17 @@ var script = {
134
128
  color: getColor('itemStyle')
135
129
  }
136
130
  }, lineStyle, series, getThresholdConfig(this.thresholds));
137
- }); // if annotation series exists, append it
131
+ });
132
+ // if annotation series exists, append it
138
133
  // along with data series
139
-
140
134
  if (this.annotationSeries) {
141
135
  return [...dataSeries, this.annotationSeries];
142
136
  }
143
-
144
137
  return dataSeries;
145
138
  },
146
-
147
139
  annotationSeries() {
148
140
  return generateAnnotationSeries(this.annotations);
149
141
  },
150
-
151
142
  options() {
152
143
  const defaultAreaChartOptions = {
153
144
  xAxis: {
@@ -170,12 +161,11 @@ var script = {
170
161
  show: false
171
162
  }
172
163
  };
173
- const mergedOptions = merge({}, defaultChartOptions, defaultAreaChartOptions, this.option, dataZoomAdjustments(this.option.dataZoom), this.toolboxAdjustments); // All chart options can be merged but series
164
+ const mergedOptions = merge({}, defaultChartOptions, defaultAreaChartOptions, this.option, dataZoomAdjustments(this.option.dataZoom), this.toolboxAdjustments);
165
+ // All chart options can be merged but series
174
166
  // needs to be handled specially.
175
-
176
167
  return mergeSeriesToOptions(mergeAnnotationAxisToOptions(mergedOptions, this.hasAnnotations), this.series);
177
168
  },
178
-
179
169
  /**
180
170
  * Annotations currently are passed as series options in monitoring dashboard.
181
171
  * Once https://gitlab.com/gitlab-org/gitlab/-/issues/213390 is closed,
@@ -186,21 +176,17 @@ var script = {
186
176
  hasAnnotations() {
187
177
  return this.annotations.length !== 0 || seriesHasAnnotations(this.option.series);
188
178
  },
189
-
190
179
  shouldShowAnnotationsTooltip() {
191
180
  return this.chart && this.hasAnnotations;
192
181
  },
193
-
194
182
  compiledOptions() {
195
183
  return this.chart ? this.chart.getOption() : null;
196
184
  },
197
-
198
185
  legendStyle() {
199
186
  return {
200
187
  paddingLeft: `${grid.left}px`
201
188
  };
202
189
  },
203
-
204
190
  seriesInfo() {
205
191
  return this.compiledOptions.series.reduce((acc, series, index) => {
206
192
  if (series.type === 'line') {
@@ -211,20 +197,16 @@ var script = {
211
197
  data: this.includeLegendAvgMax ? series.data.map(data => data[1]) : undefined
212
198
  });
213
199
  }
214
-
215
200
  return acc;
216
201
  }, []);
217
202
  }
218
-
219
203
  },
220
-
221
204
  beforeDestroy() {
222
205
  this.chart.getDom().removeEventListener('mousemove', this.debouncedShowHideTooltip);
223
206
  this.chart.getDom().removeEventListener('mouseout', this.debouncedShowHideTooltip);
224
207
  this.chart.off('mouseout', this.hideAnnotationsTooltip);
225
208
  this.chart.off('mouseover', this.onChartMouseOver);
226
209
  },
227
-
228
210
  methods: {
229
211
  defaultFormatTooltipText(params) {
230
212
  const {
@@ -234,26 +216,26 @@ var script = {
234
216
  this.$set(this, 'dataTooltipContent', tooltipContent);
235
217
  this.dataTooltipTitle = xLabels.join(', ');
236
218
  },
237
-
238
219
  defaultAnnotationTooltipText(params) {
239
220
  var _params$data$tooltipD;
240
-
241
221
  return {
242
222
  title: params.data.xAxis,
243
223
  content: (_params$data$tooltipD = params.data.tooltipData) === null || _params$data$tooltipD === void 0 ? void 0 : _params$data$tooltipD.content
244
224
  };
245
225
  },
246
-
247
226
  onCreated(chart) {
248
227
  // These listeners are used to show/hide data tooltips
249
228
  // when the mouse is hovered over the parent container
250
229
  // of echarts' svg element. This works only for data points
251
230
  // and not markPoints.
252
231
  chart.getDom().addEventListener('mousemove', this.debouncedShowHideTooltip);
253
- chart.getDom().addEventListener('mouseout', this.debouncedShowHideTooltip); // eCharts inbuild mouse events
232
+ chart.getDom().addEventListener('mouseout', this.debouncedShowHideTooltip);
233
+
234
+ // eCharts inbuild mouse events
254
235
  // https://echarts.apache.org/en/api.html#events.Mouse%20events
255
236
  // is used to attach listeners to markPoints. These listeners
256
237
  // are currently used for annotation arrows at the bottom of the chart.
238
+
257
239
  // Because data points and annotations arrows are in different
258
240
  // sections of the charts with their own mouseovers and mouseouts,
259
241
  // there shouldn't be an overlapping situation where both tooltips
@@ -263,11 +245,9 @@ var script = {
263
245
  chart.on('mouseout', this.onChartDataPointMouseOut);
264
246
  chart.on('mouseover', this.onChartDataPointMouseOver);
265
247
  }
266
-
267
248
  this.chart = chart;
268
249
  this.$emit('created', chart);
269
250
  },
270
-
271
251
  showHideTooltip(mouseEvent) {
272
252
  this.showDataTooltip = this.chart.containPixel('grid', [mouseEvent.zrX, mouseEvent.zrY]);
273
253
  this.dataTooltipPosition = {
@@ -275,11 +255,9 @@ var script = {
275
255
  top: `${mouseEvent.zrY}px`
276
256
  };
277
257
  },
278
-
279
258
  onChartDataPointMouseOut() {
280
259
  this.showAnnotationsTooltip = false;
281
260
  },
282
-
283
261
  /**
284
262
  * Check if the hovered data point is an annotation
285
263
  * point to show the annotation tooltip.
@@ -303,11 +281,9 @@ var script = {
303
281
  };
304
282
  }
305
283
  },
306
-
307
284
  onLabelChange(params) {
308
285
  this.selectedFormatTooltipText(params);
309
286
  }
310
-
311
287
  }
312
288
  };
313
289
 
@@ -12,25 +12,25 @@ import ChartTooltip from '../tooltip/tooltip';
12
12
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
13
13
 
14
14
  //
15
+
15
16
  /**
16
17
  * `nameGap` in charts/config is set to 50 but it is not
17
18
  * used for bar charts as the axes are flipped. That is why
18
19
  * we're explicitly setting it here
19
20
  */
20
-
21
21
  const DEFAULT_NAME_GAP = 50;
22
+
22
23
  /**
23
24
  * This is the magic number at which the y-axis name
24
25
  * and y-axis labels don't overlap
25
26
  * @Number
26
27
  */
27
-
28
28
  const AXIS_LABEL_LENGTH = 7;
29
+
29
30
  /**
30
31
  * Because the axes are reversed in bar charts defaultChartOptions
31
32
  * xAxis and yAxis needs to be handled specifically.
32
33
  */
33
-
34
34
  const defaultOptions = {
35
35
  grid,
36
36
  xAxis: {
@@ -87,7 +87,6 @@ var script = {
87
87
  default: 'value'
88
88
  }
89
89
  },
90
-
91
90
  data() {
92
91
  return {
93
92
  chart: null,
@@ -101,7 +100,6 @@ var script = {
101
100
  debouncedMoveShowTooltip: debounceByAnimationFrame(this.moveShowTooltip)
102
101
  };
103
102
  },
104
-
105
103
  computed: {
106
104
  series() {
107
105
  return Object.keys(this.data).map((key, index) => {
@@ -125,7 +123,6 @@ var script = {
125
123
  };
126
124
  });
127
125
  },
128
-
129
126
  options() {
130
127
  const mergedOptions = merge({}, defaultOptions, {
131
128
  xAxis: {
@@ -152,21 +149,18 @@ var script = {
152
149
  legend: {
153
150
  show: false
154
151
  }
155
- }, this.option, dataZoomAdjustments(this.option.dataZoom), this.toolboxAdjustments); // All chart options can be merged but series
152
+ }, this.option, dataZoomAdjustments(this.option.dataZoom), this.toolboxAdjustments);
153
+ // All chart options can be merged but series
156
154
  // needs to be handled specially
157
-
158
155
  return mergeSeriesToOptions(mergedOptions, this.series);
159
156
  }
160
-
161
157
  },
162
-
163
158
  beforeDestroy() {
164
159
  if (this.chart) {
165
160
  this.chart.getDom().removeEventListener('mousemove', this.debouncedMoveShowTooltip);
166
161
  this.chart.getDom().removeEventListener('mouseout', this.debouncedMoveShowTooltip);
167
162
  }
168
163
  },
169
-
170
164
  methods: {
171
165
  moveShowTooltip(mouseEvent) {
172
166
  this.tooltipPosition = {
@@ -175,14 +169,12 @@ var script = {
175
169
  };
176
170
  this.showTooltip = this.chart.containPixel('grid', [mouseEvent.zrX, mouseEvent.zrY]);
177
171
  },
178
-
179
172
  onCreated(chart) {
180
173
  this.chart = chart;
181
174
  this.$emit('created', chart);
182
175
  chart.getDom().addEventListener('mousemove', this.debouncedMoveShowTooltip);
183
176
  chart.getDom().addEventListener('mouseout', this.debouncedMoveShowTooltip);
184
177
  },
185
-
186
178
  onLabelChange(params) {
187
179
  const {
188
180
  yLabels,
@@ -191,7 +183,6 @@ var script = {
191
183
  this.$set(this, 'tooltipContent', tooltipContent);
192
184
  this.tooltipTitle = yLabels.join(', ');
193
185
  },
194
-
195
186
  /**
196
187
  * The existing getDefaultTooltipContent in utils works against the y-axis value.
197
188
  * However, for bar charts, the tooltip should be against x-axis values.
@@ -208,19 +199,17 @@ var script = {
208
199
  yLabels,
209
200
  tooltipContent
210
201
  } = params.seriesData.reduce((acc, chartItem) => {
211
- const [value, title] = chartItem.value || []; // The x axis title is used instead of y axis
212
-
202
+ const [value, title] = chartItem.value || [];
203
+ // The x axis title is used instead of y axis
213
204
  const seriesName = seriesDataLength === 1 && xAxisTitle ? xAxisTitle : chartItem.seriesName;
214
205
  const color = seriesDataLength === 1 ? '' : chartItem.color;
215
206
  acc.tooltipContent[seriesName] = {
216
207
  value,
217
208
  color
218
209
  };
219
-
220
210
  if (!acc.yLabels.includes(title)) {
221
211
  acc.yLabels.push(title);
222
212
  }
223
-
224
213
  return acc;
225
214
  }, {
226
215
  yLabels: [],
@@ -231,7 +220,6 @@ var script = {
231
220
  tooltipContent
232
221
  };
233
222
  }
234
-
235
223
  }
236
224
  };
237
225
 
@@ -5,13 +5,12 @@ import { GlResizeObserverDirective } from '../../../directives/resize_observer/r
5
5
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
6
6
 
7
7
  //
8
+
8
9
  /**
9
10
  * Allowed values by eCharts
10
11
  * https://echarts.apache.org/en/api.html#echartsInstance.resize
11
12
  */
12
-
13
13
  const sizeValidator = size => Number.isFinite(size) || size === 'auto' || size == null;
14
-
15
14
  var script = {
16
15
  directives: {
17
16
  resizeObserver: GlResizeObserverDirective
@@ -21,7 +20,6 @@ var script = {
21
20
  type: Object,
22
21
  required: true
23
22
  },
24
-
25
23
  /**
26
24
  * Warning: this prop is deprecated and will soon be removed
27
25
  * Please do not utilize `disableTheme` for formatting
@@ -53,11 +51,9 @@ var script = {
53
51
  type: String,
54
52
  required: false,
55
53
  default: 'svg',
56
-
57
54
  validator(renderer) {
58
55
  return validRenderers.includes(renderer);
59
56
  }
60
-
61
57
  },
62
58
  responsive: {
63
59
  type: Boolean,
@@ -65,36 +61,29 @@ var script = {
65
61
  default: false
66
62
  }
67
63
  },
68
-
69
64
  data() {
70
65
  return {
71
66
  chart: null
72
67
  };
73
68
  },
74
-
75
69
  watch: {
76
70
  options() {
77
71
  if (this.chart) {
78
72
  this.draw();
79
73
  }
80
74
  },
81
-
82
75
  width() {
83
76
  this.setChartSize();
84
77
  },
85
-
86
78
  height() {
87
79
  this.setChartSize();
88
80
  }
89
-
90
81
  },
91
-
92
82
  created() {
93
83
  if (!this.disableTheme) {
94
84
  echarts.registerTheme(themeName, createTheme(this.options));
95
85
  }
96
86
  },
97
-
98
87
  async mounted() {
99
88
  await this.$nextTick();
100
89
  this.chart = echarts.init(this.$refs.chart, this.disableTheme ? null : themeName, {
@@ -102,43 +91,35 @@ var script = {
102
91
  width: defaultWidth,
103
92
  height: defaultHeight
104
93
  });
105
-
106
94
  if (this.groupId.length) {
107
95
  this.chart.group = this.groupId;
108
96
  echarts.connect(this.groupId);
109
97
  }
110
-
111
98
  this.chart.on('click', this.handleClick);
112
99
  /**
113
100
  * Emitted after calling `echarts.init`
114
101
  */
115
-
116
102
  this.$emit('created', this.chart);
117
103
  this.draw();
118
104
  this.setChartSize();
119
105
  },
120
-
121
106
  beforeDestroy() {
122
107
  this.chart.off('click', this.handleClick);
123
108
  },
124
-
125
109
  methods: {
126
110
  draw() {
127
111
  this.chart.setOption(this.options);
128
112
  /**
129
113
  * Emitted after calling `echarts.setOption`
130
114
  */
131
-
132
115
  this.$emit('updated', this.chart);
133
116
  },
134
-
135
117
  setChartSize() {
136
118
  this.chart.resize({
137
119
  width: this.width || 'auto',
138
120
  height: this.height || defaultHeight
139
121
  });
140
122
  },
141
-
142
123
  handleClick(params) {
143
124
  /**
144
125
  * Emitted when clicked on a data item in the chart (e.g., a bar/column).
@@ -151,11 +132,9 @@ var script = {
151
132
  params
152
133
  });
153
134
  },
154
-
155
135
  handleResize() {
156
136
  if (this.responsive) this.chart.resize();
157
137
  }
158
-
159
138
  }
160
139
  };
161
140
 
@@ -11,7 +11,8 @@ import ChartTooltip from '../tooltip/tooltip';
11
11
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
12
12
 
13
13
  //
14
- const yAxisDefaults = { ...yAxis,
14
+ const yAxisDefaults = {
15
+ ...yAxis,
15
16
  nameLocation: 'center',
16
17
  axisTick: {
17
18
  show: false
@@ -65,7 +66,6 @@ var script = {
65
66
  validator: value => ['value', 'category', 'time', 'log'].indexOf(value) !== -1
66
67
  }
67
68
  },
68
-
69
69
  data() {
70
70
  return {
71
71
  chart: null,
@@ -79,12 +79,10 @@ var script = {
79
79
  debouncedMoveShowTooltip: debounceByAnimationFrame(this.moveShowTooltip)
80
80
  };
81
81
  },
82
-
83
82
  computed: {
84
83
  hasSecondaryAxis() {
85
84
  return Boolean(this.secondaryData.length);
86
85
  },
87
-
88
86
  barSeries() {
89
87
  return this.bars.map((_ref, index) => {
90
88
  let {
@@ -99,7 +97,6 @@ var script = {
99
97
  });
100
98
  });
101
99
  },
102
-
103
100
  lineSeries() {
104
101
  const offset = this.bars.length;
105
102
  return this.lines.map((_ref2, index) => {
@@ -115,7 +112,6 @@ var script = {
115
112
  });
116
113
  });
117
114
  },
118
-
119
115
  secondarySeries() {
120
116
  const offset = this.bars.length + this.lines.length;
121
117
  return this.secondaryData.map((_ref3, index) => {
@@ -140,13 +136,12 @@ var script = {
140
136
  });
141
137
  });
142
138
  },
143
-
144
139
  series() {
145
140
  return [...this.barSeries, ...this.lineSeries, ...this.secondarySeries];
146
141
  },
147
-
148
142
  options() {
149
- const yAxisPrimary = { ...yAxisDefaults,
143
+ const yAxisPrimary = {
144
+ ...yAxisDefaults,
150
145
  name: this.yAxisTitle
151
146
  };
152
147
  const mergedOptions = merge({}, defaultChartOptions, {
@@ -170,26 +165,24 @@ var script = {
170
165
  name: this.xAxisTitle,
171
166
  type: this.xAxisType
172
167
  },
173
- yAxis: this.hasSecondaryAxis ? [yAxisPrimary, { ...yAxisDefaults,
168
+ yAxis: this.hasSecondaryAxis ? [yAxisPrimary, {
169
+ ...yAxisDefaults,
174
170
  name: this.secondaryDataTitle,
175
171
  show: this.hasSecondaryAxis
176
172
  }] : yAxisPrimary,
177
173
  legend: {
178
174
  show: false
179
175
  }
180
- }, this.option, dataZoomAdjustments(this.option.dataZoom), this.toolboxAdjustments); // All chart options can be merged but series
176
+ }, this.option, dataZoomAdjustments(this.option.dataZoom), this.toolboxAdjustments);
177
+ // All chart options can be merged but series
181
178
  // needs to be handled specially
182
-
183
179
  return mergeSeriesToOptions(mergedOptions, this.series);
184
180
  }
185
-
186
181
  },
187
-
188
182
  beforeDestroy() {
189
183
  this.chart.getDom().removeEventListener('mousemove', this.debouncedMoveShowTooltip);
190
184
  this.chart.getDom().removeEventListener('mouseout', this.debouncedMoveShowTooltip);
191
185
  },
192
-
193
186
  methods: {
194
187
  moveShowTooltip(mouseEvent) {
195
188
  this.tooltipPosition = {
@@ -198,14 +191,12 @@ var script = {
198
191
  };
199
192
  this.showTooltip = this.chart.containPixel('grid', [mouseEvent.zrX, mouseEvent.zrY]);
200
193
  },
201
-
202
194
  onCreated(chart) {
203
195
  chart.getDom().addEventListener('mousemove', this.debouncedMoveShowTooltip);
204
196
  chart.getDom().addEventListener('mouseout', this.debouncedMoveShowTooltip);
205
197
  this.chart = chart;
206
198
  this.$emit('created', chart);
207
199
  },
208
-
209
200
  onLabelChange(params) {
210
201
  const {
211
202
  xLabels,
@@ -214,7 +205,6 @@ var script = {
214
205
  this.$set(this, 'tooltipContent', tooltipContent);
215
206
  this.tooltipTitle = xLabels.join(', ');
216
207
  }
217
-
218
208
  }
219
209
  };
220
210