From b66776a047bf45a2f6ecb57cd70636f1ce849176 Mon Sep 17 00:00:00 2001 From: Daniel Imms Date: Thu, 9 Mar 2017 10:23:59 -0800 Subject: [PATCH] Include element in validationCallback Fixes #591 --- src/Linkifier.test.ts | 4 ++-- src/Linkifier.ts | 2 +- src/Types.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Linkifier.test.ts b/src/Linkifier.test.ts index 012b1b6..97750c9 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 a34edbc..77cd16c 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 9e8cd76..896b729 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; -- 2.39.2