From 32320018ab875ca79442c25193a6cf36fd6aeb3f Mon Sep 17 00:00:00 2001 From: barisusakli Date: Fri, 12 Aug 2016 15:29:41 +0300 Subject: [PATCH] closes #4911 --- public/src/app.js | 20 +++++++++++--------- public/src/client/topic/fork.js | 18 +++++++++--------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/public/src/app.js b/public/src/app.js index 390bde2f04..a913517363 100644 --- a/public/src/app.js +++ b/public/src/app.js @@ -511,20 +511,22 @@ app.cacheBuster = null; app.parseAndTranslate = function(template, blockName, data, callback) { require(['translator'], function(translator) { + function translate(html, callback) { + translator.translate(html, function(translatedHTML) { + translatedHTML = translator.unescape(translatedHTML); + callback($(translatedHTML)); + }); + } + if (typeof blockName === 'string') { templates.parse(template, blockName, data, function(html) { - translator.translate(html, function(translatedHTML) { - translatedHTML = translator.unescape(translatedHTML); - callback($(translatedHTML)); - }); + translate(html, callback); }); } else { - callback = data, data = blockName; + callback = data; + data = blockName; templates.parse(template, data, function(html) { - translator.translate(html, function(translatedHTML) { - translatedHTML = translator.unescape(translatedHTML); - callback($(translatedHTML)); - }); + translate(html, callback); }); } }); diff --git a/public/src/client/topic/fork.js b/public/src/client/topic/fork.js index feb02a9f78..2083a4867e 100644 --- a/public/src/client/topic/fork.js +++ b/public/src/client/topic/fork.js @@ -1,6 +1,6 @@ 'use strict'; -/* globals define, app, ajaxify, socket, templates, translator */ +/* globals define, app, ajaxify, socket */ define('forum/topic/fork', ['components', 'postSelect'], function(components, postSelect) { @@ -10,11 +10,17 @@ define('forum/topic/fork', ['components', 'postSelect'], function(components, po Fork.init = function() { $('.topic').on('click', '[component="topic/fork"]', onForkThreadClicked); + $(window).on('action:ajaxify.start', onAjaxifyStart); }; + function onAjaxifyStart() { + closeForkModal(); + $(window).off('action:ajaxify.start', onAjaxifyStart); + } + function onForkThreadClicked() { - parseModal(function(html) { - forkModal = $(html); + app.parseAndTranslate('partials/fork_thread_modal', {}, function(html) { + forkModal = html; forkCommit = forkModal.find('#fork_thread_commit'); @@ -33,12 +39,6 @@ define('forum/topic/fork', ['components', 'postSelect'], function(components, po }); } - function parseModal(callback) { - templates.parse('partials/fork_thread_modal', {}, function(html) { - translator.translate(html, callback); - }); - } - function createTopicFromPosts() { forkCommit.attr('disabled', true); socket.emit('topics.createTopicFromPosts', {