|
|
|
@ -1,31 +1,33 @@
|
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
|
|
/* globals define, app, ajaxify, socket, templates */
|
|
|
|
|
/* globals define, app, ajaxify, socket */
|
|
|
|
|
|
|
|
|
|
define('forum/topic/delete-posts', ['components', 'postSelect', 'translator'], function(components, postSelect, translator) {
|
|
|
|
|
define('forum/topic/delete-posts', ['components', 'postSelect'], function(components, postSelect) {
|
|
|
|
|
|
|
|
|
|
var DeletePosts = {},
|
|
|
|
|
modal,
|
|
|
|
|
deleteBtn,
|
|
|
|
|
purgeBtn;
|
|
|
|
|
var DeletePosts = {};
|
|
|
|
|
var modal;
|
|
|
|
|
var deleteBtn;
|
|
|
|
|
var purgeBtn;
|
|
|
|
|
|
|
|
|
|
DeletePosts.init = function() {
|
|
|
|
|
$('.topic').on('click', '[component="topic/delete/posts"]', onDeletePostsClicked);
|
|
|
|
|
$(window).on('action:ajaxify.start', onAjaxifyStart);
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
function onAjaxifyStart() {
|
|
|
|
|
closeModal();
|
|
|
|
|
$(window).off('action:ajaxify.start', onAjaxifyStart);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function onDeletePostsClicked() {
|
|
|
|
|
parseModal(function(html) {
|
|
|
|
|
modal = $(html);
|
|
|
|
|
app.parseAndTranslate('partials/delete_posts_modal', {}, function(html) {
|
|
|
|
|
modal = html;
|
|
|
|
|
|
|
|
|
|
modal.on('hidden.bs.modal', function() {
|
|
|
|
|
modal.remove();
|
|
|
|
|
});
|
|
|
|
|
$('body').append(modal);
|
|
|
|
|
|
|
|
|
|
deleteBtn = modal.find('#delete_posts_confirm');
|
|
|
|
|
purgeBtn = modal.find('#purge_posts_confirm');
|
|
|
|
|
|
|
|
|
|
showModal();
|
|
|
|
|
|
|
|
|
|
modal.find('.close,#delete_posts_cancel').on('click', closeModal);
|
|
|
|
|
|
|
|
|
|
postSelect.init(function() {
|
|
|
|
@ -43,20 +45,6 @@ define('forum/topic/delete-posts', ['components', 'postSelect', 'translator'], f
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function parseModal(callback) {
|
|
|
|
|
templates.parse('partials/delete_posts_modal', {}, function(html) {
|
|
|
|
|
translator.translate(html, callback);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function showModal() {
|
|
|
|
|
modal.modal({backdrop: false, show: true})
|
|
|
|
|
.css('position', 'fixed')
|
|
|
|
|
.css('left', Math.max(0, (($(window).width() - modal.outerWidth()) / 2) + $(window).scrollLeft()) + 'px')
|
|
|
|
|
.css('top', '0px')
|
|
|
|
|
.css('z-index', '2000');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function deletePosts(btn, command) {
|
|
|
|
|
btn.attr('disabled', true);
|
|
|
|
|
socket.emit(command, {
|
|
|
|
@ -74,7 +62,7 @@ define('forum/topic/delete-posts', ['components', 'postSelect', 'translator'], f
|
|
|
|
|
|
|
|
|
|
function showPostsSelected() {
|
|
|
|
|
if (postSelect.pids.length) {
|
|
|
|
|
modal.find('#pids').text(postSelect.pids.join(', '));
|
|
|
|
|
modal.find('#pids').translateHtml('[[topic:fork_pid_count, ' + postSelect.pids.length + ']]');
|
|
|
|
|
} else {
|
|
|
|
|
modal.find('#pids').translateHtml('[[topic:fork_no_pids]]');
|
|
|
|
|
}
|
|
|
|
@ -92,10 +80,10 @@ define('forum/topic/delete-posts', ['components', 'postSelect', 'translator'], f
|
|
|
|
|
|
|
|
|
|
function closeModal() {
|
|
|
|
|
postSelect.pids.forEach(function(pid) {
|
|
|
|
|
components.get('post', 'pid', pid).css('opacity', 1);
|
|
|
|
|
components.get('post', 'pid', pid).toggleClass('bg-success', false);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
modal.modal('hide');
|
|
|
|
|
modal.remove();
|
|
|
|
|
|
|
|
|
|
components.get('topic').off('click', '[data-pid]');
|
|
|
|
|
postSelect.enableClicksOnPosts();
|
|
|
|
|