mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-03-03 19:11:22 +01:00
refactor: slugify isn't heavy anymore
can just require it
This commit is contained in:
@@ -1,18 +1,9 @@
|
|||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
|
||||||
define('forum/topic/postTools', [
|
define('forum/topic/postTools', [
|
||||||
'share',
|
'share', 'navigator', 'components', 'translator', 'forum/topic/votes',
|
||||||
'navigator',
|
'api', 'bootbox', 'alerts', 'hooks', 'helpers', 'slugify',
|
||||||
'components',
|
], function (share, navigator, components, translator, votes, api, bootbox, alerts, hooks, helpers, slugify) {
|
||||||
'translator',
|
|
||||||
'forum/topic/votes',
|
|
||||||
'api',
|
|
||||||
'bootbox',
|
|
||||||
'alerts',
|
|
||||||
'hooks',
|
|
||||||
'helpers',
|
|
||||||
], function (share, navigator, components, translator, votes, api, bootbox, alerts, hooks, helpers) {
|
|
||||||
const PostTools = {};
|
const PostTools = {};
|
||||||
|
|
||||||
let staleReplyAnyway = false;
|
let staleReplyAnyway = false;
|
||||||
@@ -291,11 +282,11 @@ define('forum/topic/postTools', [
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function onReplyClicked(button, tid) {
|
function onReplyClicked(button, tid) {
|
||||||
const selectedNode = await getSelectedNode();
|
const selectedNode = getSelectedNode();
|
||||||
|
|
||||||
showStaleWarning(async function () {
|
showStaleWarning(function () {
|
||||||
let username = await getUserSlug(button);
|
let username = getUserSlug(button);
|
||||||
if (getData(button, 'data-uid') === '0' || !getData(button, 'data-userslug')) {
|
if (getData(button, 'data-uid') === '0' || !getData(button, 'data-userslug')) {
|
||||||
username = '';
|
username = '';
|
||||||
}
|
}
|
||||||
@@ -324,11 +315,11 @@ define('forum/topic/postTools', [
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function onQuoteClicked(button, tid) {
|
function onQuoteClicked(button, tid) {
|
||||||
const selectedNode = await getSelectedNode();
|
const selectedNode = getSelectedNode();
|
||||||
|
|
||||||
showStaleWarning(async function () {
|
showStaleWarning(async function () {
|
||||||
const username = await getUserSlug(button);
|
const username = getUserSlug(button);
|
||||||
const toPid = getData(button, 'data-pid');
|
const toPid = getData(button, 'data-pid');
|
||||||
|
|
||||||
function quote(text) {
|
function quote(text) {
|
||||||
@@ -350,7 +341,7 @@ define('forum/topic/postTools', [
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
async function getSelectedNode() {
|
function getSelectedNode() {
|
||||||
let selectedText = '';
|
let selectedText = '';
|
||||||
let selectedPid;
|
let selectedPid;
|
||||||
let username = '';
|
let username = '';
|
||||||
@@ -367,7 +358,7 @@ define('forum/topic/postTools', [
|
|||||||
selectedText = selection.toString();
|
selectedText = selection.toString();
|
||||||
const postEl = $(content).parents('[component="post"]');
|
const postEl = $(content).parents('[component="post"]');
|
||||||
selectedPid = postEl.attr('data-pid');
|
selectedPid = postEl.attr('data-pid');
|
||||||
username = await getUserSlug($(content));
|
username = getUserSlug($(content));
|
||||||
}
|
}
|
||||||
return { text: selectedText, pid: selectedPid, username: username };
|
return { text: selectedText, pid: selectedPid, username: username };
|
||||||
}
|
}
|
||||||
@@ -390,33 +381,26 @@ define('forum/topic/postTools', [
|
|||||||
}
|
}
|
||||||
|
|
||||||
function getUserSlug(button) {
|
function getUserSlug(button) {
|
||||||
return new Promise((resolve) => {
|
let slug = '';
|
||||||
let slug = '';
|
if (button.attr('component') === 'topic/reply') {
|
||||||
if (button.attr('component') === 'topic/reply') {
|
return slug;
|
||||||
resolve(slug);
|
}
|
||||||
return;
|
const post = button.parents('[data-pid]');
|
||||||
|
if (post.length && !post.hasClass('self-post')) {
|
||||||
|
slug = slugify(post.attr('data-username'), true);
|
||||||
|
if (!slug) {
|
||||||
|
if (post.attr('data-uid') !== '0') {
|
||||||
|
slug = '[[global:former-user]]';
|
||||||
|
} else {
|
||||||
|
slug = '[[global:guest]]';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
const post = button.parents('[data-pid]');
|
if (slug && slug !== '[[global:former-user]]' && slug !== '[[global:guest]]') {
|
||||||
if (post.length && !post.hasClass('self-post')) {
|
slug = '@' + slug;
|
||||||
require(['slugify'], function (slugify) {
|
|
||||||
slug = slugify(post.attr('data-username'), true);
|
|
||||||
if (!slug) {
|
|
||||||
if (post.attr('data-uid') !== '0') {
|
|
||||||
slug = '[[global:former-user]]';
|
|
||||||
} else {
|
|
||||||
slug = '[[global:guest]]';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (slug && slug !== '[[global:former-user]]' && slug !== '[[global:guest]]') {
|
|
||||||
slug = '@' + slug;
|
|
||||||
}
|
|
||||||
resolve(slug);
|
|
||||||
});
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
resolve(slug);
|
return slug;
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function togglePostDelete(button) {
|
function togglePostDelete(button) {
|
||||||
|
|||||||
Reference in New Issue
Block a user