forked from AkkomaGang/akkoma-fe
Merge branch 'develop' of ssh.gitgud.io:lambadalambda/pleroma-fe into develop
This commit is contained in:
commit
76624c9e4b
3 changed files with 1 additions and 68 deletions
|
@ -22,7 +22,6 @@
|
||||||
"object-path": "^0.11.3",
|
"object-path": "^0.11.3",
|
||||||
"sanitize-html": "^1.13.0",
|
"sanitize-html": "^1.13.0",
|
||||||
"sass-loader": "^4.0.2",
|
"sass-loader": "^4.0.2",
|
||||||
"tributejs": "^2.1.0",
|
|
||||||
"vue": "^2.1.0",
|
"vue": "^2.1.0",
|
||||||
"vue-router": "^2.2.0",
|
"vue-router": "^2.2.0",
|
||||||
"vue-template-compiler": "^2.1.10",
|
"vue-template-compiler": "^2.1.10",
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
import statusPoster from '../../services/status_poster/status_poster.service.js'
|
import statusPoster from '../../services/status_poster/status_poster.service.js'
|
||||||
import MediaUpload from '../media_upload/media_upload.vue'
|
import MediaUpload from '../media_upload/media_upload.vue'
|
||||||
import fileTypeService from '../../services/file_type/file_type.service.js'
|
import fileTypeService from '../../services/file_type/file_type.service.js'
|
||||||
import Tribute from '../../../node_modules/tributejs/src/Tribute.js'
|
|
||||||
require('../../../node_modules/tributejs/scss/tribute.scss')
|
|
||||||
|
|
||||||
import { merge, reject, map, uniqBy } from 'lodash'
|
import { reject, map, uniqBy } from 'lodash'
|
||||||
|
|
||||||
const buildMentionsString = ({user, attentions}, currentUser) => {
|
const buildMentionsString = ({user, attentions}, currentUser) => {
|
||||||
let allAttentions = [...attentions]
|
let allAttentions = [...attentions]
|
||||||
|
@ -21,51 +19,6 @@ const buildMentionsString = ({user, attentions}, currentUser) => {
|
||||||
return mentions.join(' ') + ' '
|
return mentions.join(' ') + ' '
|
||||||
}
|
}
|
||||||
|
|
||||||
const defaultCollection = {
|
|
||||||
// symbol that starts the lookup
|
|
||||||
trigger: '@',
|
|
||||||
|
|
||||||
// element to target for @mentions
|
|
||||||
iframe: null,
|
|
||||||
|
|
||||||
// class added in the flyout menu for active item
|
|
||||||
selectClass: 'highlight',
|
|
||||||
|
|
||||||
// function called on select that returns the content to insert
|
|
||||||
selectTemplate: function (item) {
|
|
||||||
return '@' + item.original.screen_name
|
|
||||||
},
|
|
||||||
|
|
||||||
// template for displaying item in menu
|
|
||||||
menuItemTemplate: function (item) {
|
|
||||||
return `<img src="${item.original.profile_image_url}"></img> <div class='name'>${item.string}</div>`
|
|
||||||
},
|
|
||||||
|
|
||||||
// template for when no match is found (optional),
|
|
||||||
// If no template is provided, menu is hidden.
|
|
||||||
noMatchTemplate: null,
|
|
||||||
|
|
||||||
// specify an alternative parent container for the menu
|
|
||||||
menuContainer: document.body,
|
|
||||||
|
|
||||||
// column to search against in the object (accepts function or string)
|
|
||||||
lookup: ({name, screen_name}) => `${name} (@${screen_name})`, // eslint-disable-line camelcase
|
|
||||||
|
|
||||||
// column that contains the content to insert by default
|
|
||||||
fillAttr: 'screen_name',
|
|
||||||
|
|
||||||
// REQUIRED: array of objects to match
|
|
||||||
values: [],
|
|
||||||
|
|
||||||
// specify whether a space is required before the trigger character
|
|
||||||
requireLeadingSpace: true,
|
|
||||||
|
|
||||||
// specify whether a space is allowed in the middle of mentions
|
|
||||||
allowSpaces: false
|
|
||||||
}
|
|
||||||
|
|
||||||
const tribute = new Tribute({ collection: [] })
|
|
||||||
|
|
||||||
const PostStatusForm = {
|
const PostStatusForm = {
|
||||||
props: [
|
props: [
|
||||||
'replyTo',
|
'replyTo',
|
||||||
|
@ -95,23 +48,8 @@ const PostStatusForm = {
|
||||||
computed: {
|
computed: {
|
||||||
users () {
|
users () {
|
||||||
return this.$store.state.users.users
|
return this.$store.state.users.users
|
||||||
},
|
|
||||||
completions () {
|
|
||||||
let users = this.users
|
|
||||||
users = merge({values: users}, defaultCollection)
|
|
||||||
return [users]
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
|
||||||
completions () {
|
|
||||||
tribute.collection = this.completions
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted () {
|
|
||||||
const textarea = this.$el.querySelector('textarea')
|
|
||||||
tribute.collection = this.completions
|
|
||||||
tribute.attach(textarea)
|
|
||||||
},
|
|
||||||
methods: {
|
methods: {
|
||||||
postStatus (newStatus) {
|
postStatus (newStatus) {
|
||||||
statusPoster.postStatus({
|
statusPoster.postStatus({
|
||||||
|
|
|
@ -5500,10 +5500,6 @@ tough-cookie@~2.3.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
punycode "^1.4.1"
|
punycode "^1.4.1"
|
||||||
|
|
||||||
tributejs@^2.1.0:
|
|
||||||
version "2.3.3"
|
|
||||||
resolved "https://registry.yarnpkg.com/tributejs/-/tributejs-2.3.3.tgz#ec3b9ae3edd0f7e2bc5ca56d11ae43fdd7a8cd28"
|
|
||||||
|
|
||||||
trim-newlines@^1.0.0:
|
trim-newlines@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
|
resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
|
||||||
|
|
Loading…
Reference in a new issue