Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • albert.khasanov/gitlab-ui
  • SevenOutman/gitlab-ui
  • ClemMakesApps/gitlab-ui
  • gitlab-org/gitlab-ui
  • gtsiolis/gitlab-ui
  • mark.obradley/gitlab-ui
  • piall/gitlab-ui
  • redreamer/gitlab-ui
  • runrog/gitlab-ui
  • yangchigi/gitlab-ui
  • jayalakshmij/gitlab-ui
  • sonqu/gitlab-ui
  • nnelson/gitlab-ui
  • michel.engelen/gitlab-ui
  • bsradcliffe/gitlab-ui
  • petahbyte/gitlab-ui
  • joe.wollard/gitlab-ui
  • jihye.paik/gitlab-ui
  • Kamikadze4GAME/gitlab-ui
  • Gaslan/gitlab-ui
  • inyee786/gitlab-ui
  • abuuzayr/gitlab-ui
  • NativeUser/gitlab-ui
  • _23phy/gitlab-ui
  • v_hladko/gitlab-ui
  • killbotxd/gitlab-ui
  • yeonyu/gitlab-ui
  • mnzone/gitlab-ui
  • ashishgkwd/gitlab-ui
  • Keimeno/gitlab-ui
  • dcouture/gitlab-ui
  • Rory_Chillmore/gitlab-ui
  • misha28x/gitlab-ui
  • shawchandeshwar61/gitlab-ui
  • aszs/gitlab-ui
  • leetickett/gitlab-ui
  • stalker3343/gitlab-ui
  • davepies/gitlab-ui
  • pravi/gitlab-ui
  • ChasLui/gitlab-ui
  • wangko27/gitlab-ui
  • kaangokdemir/gitlab-ui
  • rajiff/gitlab-ui
  • gitlab-org/frontend/playground/gitlab-ui
  • orozot/gitlab-ui
  • gitlab-renovate-forks/gitlab-ui
  • Meghana-12/gitlab-ui
  • tweichart/gitlab-ui
  • leipert/gitlab-ui
  • wenweicui/gitlab-ui
  • mohanraj.geniebeaver/gitlab-ui
  • imrishabh18/gitlab-ui
  • ma-lihui/gitlab-ui
  • piyushsinghania/gitlab-ui
  • NeetuJain/gitlab-ui
  • waridrox/gitlab-ui
  • ankita.singh.200020/gitlab-ui
  • sercan55344/gitlab-ui
  • pangjian/gitlab-ui
  • 2002newhritik/gitlab-ui
  • rachelvfmurphy/gitlab-ui
  • shridharbhat1998/gitlab-ui
  • paulwvnjohi/gitlab-ui
  • edith007/gitlab-ui
  • IgorPahota/gitlab-ui
  • yashmaheshwari/gitlab-ui
  • chiachenglu/gitlab-ui
  • Dhairya3124/gitlab-ui
  • preetidevsang/gitlab-ui
  • revbp/gitlab-ui
  • khout/gitlab-ui
  • Bajjouayoub/gitlab-ui
  • ali_o_kan/gitlab-ui
  • marcel.feldmann/gitlab-ui
  • serenafang/gitlab-ui
  • jamesliu-gitlab/gitlab-ui
  • wallisaleh87/gitlab-ui
  • ALypovyi/gitlab-ui
  • thutterer/gitlab-ui
  • pikepaule/gitlab-ui
  • splattael/gitlab-ui
  • rettalps/gitlab-ui
  • rajdevelopr/gitlab-ui
  • Mohamadhassan98/gitlab-ui
  • dannyelcf/gitlab-ui
  • vchan14/gitlab-ui
  • 23bytes/gitlab-ui
  • dr.shvets/gitlab-ui
  • crystal.alchemist/gitlab-ui
  • chriscordoba1948/gitlab-ui
  • markrian/gitlab-ui
  • zillemarco/gitlab-ui
  • bhatewarak/gitlab-ui
  • hamare-contrib/gitlab-ui
  • agnieszka.gancarczyk/gitlab-ui
  • khulnasoft/khulnasoft-ui
  • abitrolly/gitlab-ui
  • normatov13/gitlab-ui
  • Brwnknight20/gitlab-ui
  • chekerTlili/medmed-front-test
  • Fcogp90/gitlab-ui
  • Harith_training/gitlab-ui
  • rahulpan_altair/gitlab-ui
  • HelloZJW/gitlab-ui
  • fathead32/gitlab-ui
  • akumar1503/gitlab-ui
  • KhaledElkhoreby/gitlab-ui
  • pierrebelloy/gitlab-ui
  • lxwan/gitlab-ui
  • dpalubin/gitlab-ui
  • gitlab-community/gitlab-ui
  • ubaidisaev/gitlab-ui
  • serenafang/gitlab-ui-serena-test
  • hamzasouelmi/gitlab-ui
  • youngbeomshin/gitlab-ui
  • kimseoha1993/gitlab-ui
  • kevin.rojas/gitlab-ui
  • catinbag/gitlab-ui
  • mathieu.pillar/gitlab-ui
  • qk44077907/gitlab-ui
  • fenyuluoshang/gitlab-ui
  • QingJ/gitlab-ui
  • x--/gitlab-ui
  • nraj0408/gitlab-ui
  • victorelmov/gitlab-ui
  • sollo.nic.c.cc/gitlab-ui
  • sksardar42/gitlab-ui
  • nqdev-fork/gitlab-org/gitlab-ui
  • JeremyWuuuuu/gitlab-ui
  • kara006n/gitlab-ui
  • ndt-contribute/gitlab-ui
  • sahadat-sk/gitlab-ui
  • mdwiltfong/gitlab-ui
  • muntazacloud/gitlab-ui
  • drewcauchi/gitlab-ui
  • liummmm/gitlab-ui
  • ale3oula/gitlab-ui
  • kiran-4444/gitlab-ui
  • DUCKDUCKGODEVELOPER/gitlab-ui
  • g32james/gitlab-ui
  • Saeed178/gitlab-ui
  • nickaldwin/gitlab-ui
  • armbiant/gitlab-gui
  • satyamkale27/gitlab-ui
  • jannik_lehmann/gitlab-ui-mono-tinkering
  • zayminkhant/gitlab-ui
  • aytacyaydem/gitlab-ui
  • initdc/gitlab-ui
  • rungruang1/gitlab-ui
  • dormanshylas1/gitlab-ui
  • armbiant/gitlab-ui
  • Piyush-r-bhaskar/gitlab-ui
  • ollevche/gitlab-ui
  • joefoti178/gitlab-ui
  • william.allen1/gitlab-ui
  • anupam42/gitlab-ui
156 results
Show changes
Commits on Source (3)
## [85.4.1](https://gitlab.com/gitlab-org/gitlab-ui/compare/v85.4.0...v85.4.1) (2024-06-26)
### Bug Fixes
* **GlSparklineChart:** Prevent rendering blank or invalid tooltips ([e462352](https://gitlab.com/gitlab-org/gitlab-ui/commit/e46235217c576aaaed63ca38b30f3fdee3c54a63))
# [85.4.0](https://gitlab.com/gitlab-org/gitlab-ui/compare/v85.3.1...v85.4.0) (2024-06-26)
......
{
"name": "@gitlab/ui",
"version": "85.4.0",
"version": "85.4.1",
"description": "GitLab UI Components",
"license": "MIT",
"main": "dist/index.js",
......
......@@ -127,19 +127,36 @@ describe('sparkline chart component', () => {
expect(getTooltipContent().text()).toContain(tooltipLabel);
});
it('adds the right content to the tooltip', async () => {
const xValue = 'foo';
const yValue = 'bar';
const mockData = { seriesData: [{ data: [xValue, yValue] }] };
describe.each`
title | content | show
${'title'} | ${'3'} | ${null}
${undefined} | ${'3'} | ${false}
${null} | ${'3'} | ${false}
${''} | ${'3'} | ${false}
${' '} | ${'3'} | ${false}
${'title'} | ${undefined} | ${false}
${'title'} | ${null} | ${false}
${'title'} | ${''} | ${false}
${'title'} | ${' '} | ${false}
`('for a tooltip with title=`$title` and content=`$content`', ({ title, content, show }) => {
beforeEach(() => {
getXAxisLabelFormatter()({ seriesData: [{ data: [title, content] }] });
return waitForAnimationFrame();
});
getXAxisLabelFormatter()(mockData);
it('sets the correct value for tooltip.show', () => {
expect(getTooltip().props().show).toBe(show);
});
expect(getTooltipTitle().text()).toBe('');
expect(getTooltipContent().text()).toBe('');
if (show === null) {
it('displays the correct title', () => {
expect(getTooltipTitle().text()).toBe(title);
});
await waitForAnimationFrame();
expect(getTooltipTitle().text()).toBe(xValue);
expect(getTooltipContent().text()).toBe(yValue);
it('displays the correct content', () => {
expect(getTooltipContent().text()).toBe(content);
});
}
});
it(`shows the last entry's y-value per default`, async () => {
......
......@@ -89,6 +89,7 @@ export default {
return {
chartInstance: null,
tooltip: {
show: false,
title: '',
content: '',
position: {
......@@ -178,6 +179,8 @@ export default {
methods: {
onChartCreated(chartInstance) {
this.chartInstance = chartInstance;
this.tooltip.show = false;
/**
* Emitted when the chart is created.
* The payload contains the echarts instance.
......@@ -189,6 +192,9 @@ export default {
handleResize() {
this.chartInstance.resize();
},
isNilOrBlank(text) {
return isNil(text) || (typeof text === 'string' && text.trim() === '');
},
setTooltipPosition(data) {
const [left, top] = this.chartInstance.convertToPixel('grid', data);
this.tooltip.position = {
......@@ -200,6 +206,8 @@ export default {
// point on the line is selected). Note that it will not trigger if the axis pointer is removed,
// only when it changes from one point to another or is shown for the first time.
generateTooltip({ seriesData = [] }) {
this.tooltip.show = false;
// seriesData is an array of nearby data point coordinates
// seriesData[0] is the nearest point at which the tooltip is displayed
// https://echarts.apache.org/en/option.html#xAxis.axisPointer.label.formatter
......@@ -208,11 +216,12 @@ export default {
if (!data) return;
const [title, content] = data;
if (isNil(title) || isNil(content)) return;
if (this.isNilOrBlank(title) || this.isNilOrBlank(content)) return;
this.tooltip.title = title;
this.tooltip.content = content;
this.setTooltipPosition(data);
this.tooltip.show = null;
},
},
HEIGHT_AUTO_HORIZONTAL_LAYOUT_CLASSES,
......@@ -241,6 +250,7 @@ export default {
/>
<chart-tooltip
v-if="chartInstance"
:show="tooltip.show"
:chart="chartInstance"
:top="tooltip.position.top"
:left="tooltip.position.left"
......