Compare commits
5 Commits
93f0ac2955
...
80728af574
Author | SHA1 | Date | |
---|---|---|---|
80728af574 | |||
|
a1641193b5 | ||
|
0dc2afb826 | ||
|
e31bf6646b | ||
|
56a74aa392 |
1
changelog.d/mention-twice.fix
Normal file
1
changelog.d/mention-twice.fix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Fix a bug where mentioning a user twice will not fill the mention into the textarea
|
1
changelog.d/mentionsline-shouldbreak.fix
Normal file
1
changelog.d/mentionsline-shouldbreak.fix
Normal file
@ -0,0 +1 @@
|
|||||||
|
Make MentionsLine aware of line breaking by non-br elements
|
@ -44,6 +44,10 @@ const PostStatusModal = {
|
|||||||
methods: {
|
methods: {
|
||||||
closeModal () {
|
closeModal () {
|
||||||
this.$store.dispatch('closePostStatusModal')
|
this.$store.dispatch('closePostStatusModal')
|
||||||
|
},
|
||||||
|
resetAndClose () {
|
||||||
|
this.$store.dispatch('resetPostStatusModal')
|
||||||
|
this.$store.dispatch('closePostStatusModal')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
<PostStatusForm
|
<PostStatusForm
|
||||||
class="panel-body"
|
class="panel-body"
|
||||||
v-bind="params"
|
v-bind="params"
|
||||||
@posted="closeModal"
|
@posted="resetAndClose"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
@ -8,6 +8,27 @@ import HashtagLink from 'src/components/hashtag_link/hashtag_link.vue'
|
|||||||
|
|
||||||
import './rich_content.scss'
|
import './rich_content.scss'
|
||||||
|
|
||||||
|
const MAYBE_LINE_BREAKING_ELEMENTS = [
|
||||||
|
'blockquote',
|
||||||
|
'br',
|
||||||
|
'hr',
|
||||||
|
'ul',
|
||||||
|
'ol',
|
||||||
|
'li',
|
||||||
|
'p',
|
||||||
|
'table',
|
||||||
|
'tbody',
|
||||||
|
'td',
|
||||||
|
'th',
|
||||||
|
'thead',
|
||||||
|
'tr',
|
||||||
|
'h1',
|
||||||
|
'h2',
|
||||||
|
'h3',
|
||||||
|
'h4',
|
||||||
|
'h5'
|
||||||
|
]
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RichContent, The Über-powered component for rendering Post HTML.
|
* RichContent, The Über-powered component for rendering Post HTML.
|
||||||
*
|
*
|
||||||
@ -166,25 +187,22 @@ export default {
|
|||||||
!(children && typeof children[0] === 'string' && children[0].match(/^\s/))
|
!(children && typeof children[0] === 'string' && children[0].match(/^\s/))
|
||||||
? lastSpacing
|
? lastSpacing
|
||||||
: ''
|
: ''
|
||||||
switch (Tag) {
|
if (MAYBE_LINE_BREAKING_ELEMENTS.includes(Tag)) {
|
||||||
case 'br':
|
// all the elements that can cause a line change
|
||||||
|
currentMentions = null
|
||||||
|
} else if (Tag === 'img') { // replace images with StillImage
|
||||||
|
return ['', [mentionsLinePadding, renderImage(opener)], '']
|
||||||
|
} else if (Tag === 'a' && this.handleLinks) { // replace mentions with MentionLink
|
||||||
|
if (fullAttrs.class && fullAttrs.class.includes('mention')) {
|
||||||
|
// Handling mentions here
|
||||||
|
return renderMention(attrs, children)
|
||||||
|
} else {
|
||||||
currentMentions = null
|
currentMentions = null
|
||||||
break
|
}
|
||||||
case 'img': // replace images with StillImage
|
} else if (Tag === 'span') {
|
||||||
return ['', [mentionsLinePadding, renderImage(opener)], '']
|
if (this.handleLinks && fullAttrs.class && fullAttrs.class.includes('h-card')) {
|
||||||
case 'a': // replace mentions with MentionLink
|
return ['', children.map(processItem), '']
|
||||||
if (!this.handleLinks) break
|
}
|
||||||
if (fullAttrs.class && fullAttrs.class.includes('mention')) {
|
|
||||||
// Handling mentions here
|
|
||||||
return renderMention(attrs, children)
|
|
||||||
} else {
|
|
||||||
currentMentions = null
|
|
||||||
break
|
|
||||||
}
|
|
||||||
case 'span':
|
|
||||||
if (this.handleLinks && fullAttrs.class && fullAttrs.class.includes('h-card')) {
|
|
||||||
return ['', children.map(processItem), '']
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (children !== undefined) {
|
if (children !== undefined) {
|
||||||
|
@ -10,6 +10,9 @@ const postStatus = {
|
|||||||
},
|
},
|
||||||
closePostStatusModal (state) {
|
closePostStatusModal (state) {
|
||||||
state.modalActivated = false
|
state.modalActivated = false
|
||||||
|
},
|
||||||
|
resetPostStatusModal (state) {
|
||||||
|
state.params = null
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
actions: {
|
actions: {
|
||||||
@ -18,6 +21,9 @@ const postStatus = {
|
|||||||
},
|
},
|
||||||
closePostStatusModal ({ commit }) {
|
closePostStatusModal ({ commit }) {
|
||||||
commit('closePostStatusModal')
|
commit('closePostStatusModal')
|
||||||
|
},
|
||||||
|
resetPostStatusModal ({ commit }) {
|
||||||
|
commit('resetPostStatusModal')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user