commit 7e604751ad5a61f8c0e4826a0f00dd43daa42b2a
parent 8b6be6467f44a16dfdf2b6179562ab2265c1ad01
Author: MTRNord <mtrnord1@gmail.com>
Date: Fri, 6 Apr 2018 12:59:39 +0200
Fix linkifier
Diffstat:
3 files changed, 19 insertions(+), 20 deletions(-)
diff --git a/src/app/tweet-list/tweet-list.component.ts b/src/app/tweet-list/tweet-list.component.ts
@@ -12,11 +12,7 @@ import 'rxjs/add/observable/throw';
import {ToastrService} from 'ngx-toastr';
import {Meta, Title} from '@angular/platform-browser';
import {Lightbox} from '../utils/lightbox';
-/*import * as linkifyM from 'linkifyjs';
-import hashtagL from 'linkifyjs/plugins/hashtag';
-import mentionL from 'linkifyjs/plugins/mention';
-hashtagL(linkifyM);
-mentionL(linkifyM);*/
+
@Component({
@@ -116,16 +112,6 @@ export class TweetListComponent implements OnInit {
);
}
- // TODO use this
- /*private linkifyHash(text: string) {
- hashtagL.find(text);
- }*/
-
- // TODO use this
- /*private linkifyMention(text: string) {
- mentionL.find(text);
- }*/
-
private sort(arr: (TweetsEntity)[]): (TweetsEntity)[] {
const compare = (a, b): number => {
if ((a.image_urls && a.image_urls[0]) && !(b.image_urls && b.image_urls[0])) {
diff --git a/src/app/utils/linkifier.ts b/src/app/utils/linkifier.ts
@@ -1,8 +1,17 @@
-import { Pipe, PipeTransform } from '@angular/core';
-import linkifyStr from 'linkifyjs/string';
+import {Inject, Pipe, PipeTransform} from '@angular/core';
+import * as linkify from 'linkifyjs';
+import * as linkifyStr from 'linkifyjs/string';
+import * as hashtag from 'linkifyjs/plugins/hashtag';
+import * as mention from 'linkifyjs/plugins/mention';
+import {DOCUMENT} from '@angular/common';
@Pipe({name: 'linkify'})
export class LinkifyPipe implements PipeTransform {
+ constructor(
+ @Inject(DOCUMENT) dom: Document) {
+ hashtag(linkify);
+ mention(linkify);
+ }
transform(str: string): string {
return str ? linkifyStr(str, {target: '_blank', attributes: {rel: 'noopener noreferrer'}}) : str;
}
diff --git a/src/app/utils/types/linkifyjs.d.ts b/src/app/utils/types/linkifyjs.d.ts
@@ -53,11 +53,15 @@ declare module 'linkifyjs' {
declare module 'linkifyjs/html' {
- let data: LinkifyJs.linkify;
-
- export default data;
+ export default function linkifyHtml(str: string, opts = {}): Array<string>;
}
+declare module 'linkifyjs/string' {}
+
+declare module 'linkifyjs/plugins/hashtag' {}
+
+declare module 'linkifyjs/plugins/mention' {}
+
declare var linkify: LinkifyJs.linkify;
declare var linkifyHtml: LinkifyJs.linkify;