mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-13 07:45:54 +00:00
find link and replace to <a> element
This commit is contained in:
parent
8a8ffccd71
commit
ce3d9b1708
@ -23,5 +23,25 @@ export default {
|
||||
},
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
pattern:
|
||||
// eslint-disable-next-line no-useless-escape
|
||||
/(https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*))/gi,
|
||||
messageObject: this.message,
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
linkify(inputText) {
|
||||
// console.log(inputText.match(this.pattern))
|
||||
this.messageObject.message = inputText.replace(
|
||||
this.pattern,
|
||||
"<i><a href='$1' target='_blank'>$1</a></i>",
|
||||
)
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.linkify(this.messageObject.message)
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
<span class="ml-2 mr-2">{{ message.userFirstName }} {{ message.userLastName }}</span>
|
||||
<span class="ml-2">{{ $d(new Date(message.createdAt), 'short') }}</span>
|
||||
<small class="ml-4 text-success">{{ $t('moderator') }}</small>
|
||||
<div class="mt-2">{{ message.message }}</div>
|
||||
<div class="mt-2" v-html="message.message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<b-avatar :text="initialLetters" variant="info"></b-avatar>
|
||||
<span class="ml-2 mr-2">{{ message.userFirstName }} {{ message.userLastName }}</span>
|
||||
<span class="ml-2">{{ $d(new Date(message.createdAt), 'short') }}</span>
|
||||
<div class="mt-2">{{ message.message }}</div>
|
||||
<div class="mt-2" v-html="message.message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="contribution-messages-list-item">
|
||||
<is-not-moderator v-if="isNotModerator" :message="message"></is-not-moderator>
|
||||
<is-not-moderator v-if="isNotModerator" :message="messageObject"></is-not-moderator>
|
||||
<is-moderator v-else :message="message"></is-moderator>
|
||||
</div>
|
||||
</template>
|
||||
@ -25,6 +25,9 @@ export default {
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// eslint-disable-next-line no-useless-escape
|
||||
pattern: /(https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*))/gi,
|
||||
messageObject: this.message,
|
||||
storeName: `${this.$store.state.firstName} ${this.$store.state.lastName}`,
|
||||
moderationName: `${this.message.userFirstName} ${this.message.userLastName}`,
|
||||
}
|
||||
@ -34,5 +37,17 @@ export default {
|
||||
return this.storeName === this.moderationName
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
linkify(inputText) {
|
||||
// console.log(inputText.match(this.pattern))
|
||||
this.messageObject.message = inputText.replace(
|
||||
this.pattern,
|
||||
"<i><a href='$1' target='_blank'>$1</a></i>",
|
||||
)
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.linkify(this.messageObject.message)
|
||||
},
|
||||
}
|
||||
</script>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<span class="ml-2 mr-2">{{ message.userFirstName }} {{ message.userLastName }}</span>
|
||||
<span class="ml-2">{{ $d(new Date(message.createdAt), 'short') }}</span>
|
||||
<small class="ml-4 text-success">{{ $t('community.moderator') }}</small>
|
||||
<div class="mt-2">{{ message.message }}</div>
|
||||
<div class="mt-2" v-html="message.message"></div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
|
||||
@ -4,7 +4,7 @@
|
||||
<b-avatar :text="initialLetters" variant="info"></b-avatar>
|
||||
<span class="ml-2 mr-2">{{ message.userFirstName }} {{ message.userLastName }}</span>
|
||||
<span class="ml-2">{{ $d(new Date(message.createdAt), 'short') }}</span>
|
||||
<div class="mt-2">{{ message.message }}</div>
|
||||
<div class="mt-2" v-html="message.message"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user