diff --git a/src/Linkifier.test.ts b/src/Linkifier.test.ts index 012b1b68..97750c94 100644 --- a/src/Linkifier.test.ts +++ b/src/Linkifier.test.ts @@ -53,7 +53,7 @@ describe('Linkifier', () => { it('should enable link if true', done => { addRow('test'); linkifier.registerLinkMatcher(/test/, () => done(), { - validationCallback: (url, cb) => { + validationCallback: (url, element, cb) => { cb(true); assert.equal((rows[0].firstChild).tagName, 'A'); setTimeout(() => clickElement(rows[0].firstChild), 0); @@ -65,7 +65,7 @@ describe('Linkifier', () => { it('should disable link if false', done => { addRow('test'); linkifier.registerLinkMatcher(/test/, () => assert.fail(), { - validationCallback: (url, cb) => { + validationCallback: (url, element, cb) => { cb(false); assert.equal((rows[0].firstChild).tagName, 'A'); setTimeout(() => clickElement(rows[0].firstChild), 0); diff --git a/src/Linkifier.ts b/src/Linkifier.ts index a34edbc2..77cd16c1 100644 --- a/src/Linkifier.ts +++ b/src/Linkifier.ts @@ -160,7 +160,7 @@ export class Linkifier { const linkElement = this._doLinkifyRow(rowIndex, uri, matcher.handler, matcher.id === HYPERTEXT_LINK_MATCHER_ID); // Fire validation callback if (linkElement && matcher.validationCallback) { - matcher.validationCallback(uri, isValid => { + matcher.validationCallback(uri, linkElement, isValid => { if (!isValid) { linkElement.classList.add(INVALID_LINK_CLASS); } diff --git a/src/Types.ts b/src/Types.ts index 9e8cd762..896b729a 100644 --- a/src/Types.ts +++ b/src/Types.ts @@ -11,4 +11,4 @@ export type LinkMatcher = { priority?: number }; export type LinkMatcherHandler = (event: MouseEvent, uri: string) => boolean | void; -export type LinkMatcherValidationCallback = (uri: string, callback: (isValid: boolean) => void) => void; +export type LinkMatcherValidationCallback = (uri: string, element: HTMLElement, callback: (isValid: boolean) => void) => void;