diff --git a/packages/common/src/formatters/__tests__/iconFormatter.spec.ts b/packages/common/src/formatters/__tests__/iconFormatter.spec.ts index aef8cd42a..5464525b9 100644 --- a/packages/common/src/formatters/__tests__/iconFormatter.spec.ts +++ b/packages/common/src/formatters/__tests__/iconFormatter.spec.ts @@ -20,4 +20,12 @@ describe('the Icon Formatter', () => { const result = iconFormatter(0, 0, input, { field: 'user', params: { formatterIcon: icon } } as Column, {}, {} as any); expect((result as HTMLElement).outerHTML).toBe(``); }); + + it('should always return a with the title attribute provided in the "title" property from "params"', () => { + const input = null; + const title = 'This is a title'; + const icon = 'mdi mdi-magnify'; + const result = iconFormatter(0, 0, input, { field: 'user', params: { icon, title } } as Column, {}, {} as any); + expect((result as HTMLElement).outerHTML).toBe(``); + }); }); diff --git a/packages/common/src/formatters/iconFormatter.ts b/packages/common/src/formatters/iconFormatter.ts index 4b39f7788..aefe5ba61 100644 --- a/packages/common/src/formatters/iconFormatter.ts +++ b/packages/common/src/formatters/iconFormatter.ts @@ -9,5 +9,6 @@ export const iconFormatter: Formatter = (_row, _cell, _value, columnDef) => { if (!cssClasses) { throw new Error('[Slickgrid-Universal] When using `Formatters.icon`, you must provide the "iconCssClass" via the generic "params". (e.g.: `{ formatter: Formatters.icon, params: { iconCssClass: "mdi mdi-magnify" }}`'); } - return createDomElement('i', { className: cssClasses, ariaHidden: 'true' }); + const title = columnParams.title || null + return createDomElement('i', { className: cssClasses, ariaHidden: 'true', title}); };