fix multiple click on publish publication

This commit is contained in:
aynsix
2021-12-03 17:52:56 +03:00
parent b59baf41d2
commit c277e5ebff
9 changed files with 33 additions and 18 deletions

View File

@@ -13,5 +13,5 @@ module.exports = {
setupDir: _root + 'tests/setup/node.js', setupDir: _root + 'tests/setup/node.js',
karmaConf: _root + 'config/karma.conf.js', karmaConf: _root + 'config/karma.conf.js',
// change this version when you change JS file for lazy loading // change this version when you change JS file for lazy loading
assetFileVersion: 30 assetFileVersion: 31
}; };

View File

@@ -96,7 +96,7 @@ return /******/ (function(modules) { // webpackBootstrap
/******/ if (__webpack_require__.nc) { /******/ if (__webpack_require__.nc) {
/******/ script.setAttribute("nonce", __webpack_require__.nc); /******/ script.setAttribute("nonce", __webpack_require__.nc);
/******/ } /******/ }
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".js?v=30"; /******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".js?v=31";
/******/ var timeout = setTimeout(onScriptComplete, 120000); /******/ var timeout = setTimeout(onScriptComplete, 120000);
/******/ script.onerror = script.onload = onScriptComplete; /******/ script.onerror = script.onload = onScriptComplete;
/******/ function onScriptComplete() { /******/ function onScriptComplete() {

View File

@@ -96,7 +96,7 @@ return /******/ (function(modules) { // webpackBootstrap
/******/ if (__webpack_require__.nc) { /******/ if (__webpack_require__.nc) {
/******/ script.setAttribute("nonce", __webpack_require__.nc); /******/ script.setAttribute("nonce", __webpack_require__.nc);
/******/ } /******/ }
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".min.js?v=30"; /******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".min.js?v=31";
/******/ var timeout = setTimeout(onScriptComplete, 120000); /******/ var timeout = setTimeout(onScriptComplete, 120000);
/******/ script.onerror = script.onload = onScriptComplete; /******/ script.onerror = script.onload = onScriptComplete;
/******/ function onScriptComplete() { /******/ function onScriptComplete() {

View File

@@ -91,7 +91,7 @@
/******/ if (__webpack_require__.nc) { /******/ if (__webpack_require__.nc) {
/******/ script.setAttribute("nonce", __webpack_require__.nc); /******/ script.setAttribute("nonce", __webpack_require__.nc);
/******/ } /******/ }
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".js?v=30"; /******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".js?v=31";
/******/ var timeout = setTimeout(onScriptComplete, 120000); /******/ var timeout = setTimeout(onScriptComplete, 120000);
/******/ script.onerror = script.onload = onScriptComplete; /******/ script.onerror = script.onload = onScriptComplete;
/******/ function onScriptComplete() { /******/ function onScriptComplete() {

View File

@@ -91,7 +91,7 @@
/******/ if (__webpack_require__.nc) { /******/ if (__webpack_require__.nc) {
/******/ script.setAttribute("nonce", __webpack_require__.nc); /******/ script.setAttribute("nonce", __webpack_require__.nc);
/******/ } /******/ }
/******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".min.js?v=30"; /******/ script.src = __webpack_require__.p + "lazy-" + ({}[chunkId]||chunkId) + ".min.js?v=31";
/******/ var timeout = setTimeout(onScriptComplete, 120000); /******/ var timeout = setTimeout(onScriptComplete, 120000);
/******/ script.onerror = script.onload = onScriptComplete; /******/ script.onerror = script.onload = onScriptComplete;
/******/ function onScriptComplete() { /******/ function onScriptComplete() {

View File

@@ -3343,6 +3343,8 @@ var publication = function publication(services) {
var onSubmitPublication = function onSubmitPublication() { var onSubmitPublication = function onSubmitPublication() {
var $dialog = _dialog2.default.get(1); var $dialog = _dialog2.default.get(1);
var error = false; var error = false;
(0, _jquery2.default)('.publish-dialog button').prop('disabled', true);
var $form = (0, _jquery2.default)('form.main_form', $dialog.getDomElement()); var $form = (0, _jquery2.default)('form.main_form', $dialog.getDomElement());
(0, _jquery2.default)('.required_text', $form).each(function (i, el) { (0, _jquery2.default)('.required_text', $form).each(function (i, el) {
@@ -3354,6 +3356,7 @@ var publication = function publication(services) {
if (error) { if (error) {
alert(localeService.t('feed_require_fields')); alert(localeService.t('feed_require_fields'));
(0, _jquery2.default)('.publish-dialog button').prop('disabled', false);
} }
if ((0, _jquery2.default)('input[name="feed_id"]', $form).val() === '') { if ((0, _jquery2.default)('input[name="feed_id"]', $form).val() === '') {
@@ -3362,6 +3365,7 @@ var publication = function publication(services) {
} }
if (error) { if (error) {
(0, _jquery2.default)('.publish-dialog button').prop('disabled', false);
return false; return false;
} }
@@ -3371,19 +3375,19 @@ var publication = function publication(services) {
data: $form.serializeArray(), data: $form.serializeArray(),
dataType: 'json', dataType: 'json',
beforeSend: function beforeSend() { beforeSend: function beforeSend() {
(0, _jquery2.default)('button', $dialog.getDomElement()).prop('disabled', true); (0, _jquery2.default)('.publish-dialog button').prop('disabled', true);
}, },
error: function error() { error: function error() {
(0, _jquery2.default)('button', $dialog.getDomElement()).prop('disabled', false); (0, _jquery2.default)('.publish-dialog button').prop('disabled', false);
}, },
timeout: function timeout() { timeout: function timeout() {
(0, _jquery2.default)('button', $dialog.getDomElement()).prop('disabled', false); (0, _jquery2.default)('.publish-dialog button').prop('disabled', false);
}, },
success: function success(data) { success: function success(data) {
(0, _jquery2.default)('.state-navigation').trigger('click'); (0, _jquery2.default)('.state-navigation').trigger('click');
(0, _jquery2.default)('button', $dialog.getDomElement()).prop('disabled', false);
if (data.error === true) { if (data.error === true) {
alert(data.message); alert(data.message);
(0, _jquery2.default)('.publish-dialog button').prop('disabled', false);
return; return;
} }
@@ -3401,6 +3405,7 @@ var publication = function publication(services) {
}); });
} }
(0, _jquery2.default)('.publish-dialog button').prop('disabled', false);
$dialog.close(1); $dialog.close(1);
} }
}); });

View File

@@ -3343,6 +3343,8 @@ var publication = function publication(services) {
var onSubmitPublication = function onSubmitPublication() { var onSubmitPublication = function onSubmitPublication() {
var $dialog = _dialog2.default.get(1); var $dialog = _dialog2.default.get(1);
var error = false; var error = false;
(0, _jquery2.default)('.publish-dialog button').prop('disabled', true);
var $form = (0, _jquery2.default)('form.main_form', $dialog.getDomElement()); var $form = (0, _jquery2.default)('form.main_form', $dialog.getDomElement());
(0, _jquery2.default)('.required_text', $form).each(function (i, el) { (0, _jquery2.default)('.required_text', $form).each(function (i, el) {
@@ -3354,6 +3356,7 @@ var publication = function publication(services) {
if (error) { if (error) {
alert(localeService.t('feed_require_fields')); alert(localeService.t('feed_require_fields'));
(0, _jquery2.default)('.publish-dialog button').prop('disabled', false);
} }
if ((0, _jquery2.default)('input[name="feed_id"]', $form).val() === '') { if ((0, _jquery2.default)('input[name="feed_id"]', $form).val() === '') {
@@ -3362,6 +3365,7 @@ var publication = function publication(services) {
} }
if (error) { if (error) {
(0, _jquery2.default)('.publish-dialog button').prop('disabled', false);
return false; return false;
} }
@@ -3371,19 +3375,19 @@ var publication = function publication(services) {
data: $form.serializeArray(), data: $form.serializeArray(),
dataType: 'json', dataType: 'json',
beforeSend: function beforeSend() { beforeSend: function beforeSend() {
(0, _jquery2.default)('button', $dialog.getDomElement()).prop('disabled', true); (0, _jquery2.default)('.publish-dialog button').prop('disabled', true);
}, },
error: function error() { error: function error() {
(0, _jquery2.default)('button', $dialog.getDomElement()).prop('disabled', false); (0, _jquery2.default)('.publish-dialog button').prop('disabled', false);
}, },
timeout: function timeout() { timeout: function timeout() {
(0, _jquery2.default)('button', $dialog.getDomElement()).prop('disabled', false); (0, _jquery2.default)('.publish-dialog button').prop('disabled', false);
}, },
success: function success(data) { success: function success(data) {
(0, _jquery2.default)('.state-navigation').trigger('click'); (0, _jquery2.default)('.state-navigation').trigger('click');
(0, _jquery2.default)('button', $dialog.getDomElement()).prop('disabled', false);
if (data.error === true) { if (data.error === true) {
alert(data.message); alert(data.message);
(0, _jquery2.default)('.publish-dialog button').prop('disabled', false);
return; return;
} }
@@ -3401,6 +3405,7 @@ var publication = function publication(services) {
}); });
} }
(0, _jquery2.default)('.publish-dialog button').prop('disabled', false);
$dialog.close(1); $dialog.close(1);
} }
}); });

View File

@@ -308,6 +308,8 @@ const publication = (services) => {
const onSubmitPublication = () => { const onSubmitPublication = () => {
var $dialog = dialog.get(1); var $dialog = dialog.get(1);
var error = false; var error = false;
$('.publish-dialog button').prop('disabled', true);
var $form = $('form.main_form', $dialog.getDomElement()); var $form = $('form.main_form', $dialog.getDomElement());
$('.required_text', $form).each(function (i, el) { $('.required_text', $form).each(function (i, el) {
@@ -319,6 +321,7 @@ const publication = (services) => {
if (error) { if (error) {
alert(localeService.t('feed_require_fields')); alert(localeService.t('feed_require_fields'));
$('.publish-dialog button').prop('disabled', false);
} }
if ($('input[name="feed_id"]', $form).val() === '') { if ($('input[name="feed_id"]', $form).val() === '') {
@@ -327,6 +330,7 @@ const publication = (services) => {
} }
if (error) { if (error) {
$('.publish-dialog button').prop('disabled', false);
return false; return false;
} }
@@ -336,19 +340,19 @@ const publication = (services) => {
data: $form.serializeArray(), data: $form.serializeArray(),
dataType: 'json', dataType: 'json',
beforeSend: function () { beforeSend: function () {
$('button', $dialog.getDomElement()).prop('disabled', true); $('.publish-dialog button').prop('disabled', true);
}, },
error: function () { error: function () {
$('button', $dialog.getDomElement()).prop('disabled', false); $('.publish-dialog button').prop('disabled', false);
}, },
timeout: function () { timeout: function () {
$('button', $dialog.getDomElement()).prop('disabled', false); $('.publish-dialog button').prop('disabled', false);
}, },
success: function (data) { success: function (data) {
$('.state-navigation').trigger('click'); $('.state-navigation').trigger('click');
$('button', $dialog.getDomElement()).prop('disabled', false);
if (data.error === true) { if (data.error === true) {
alert(data.message); alert(data.message);
$('.publish-dialog button').prop('disabled', false);
return; return;
} }
@@ -366,6 +370,7 @@ const publication = (services) => {
}); });
} }
$('.publish-dialog button').prop('disabled', false);
$dialog.close(1); $dialog.close(1);
} }
}); });

View File

@@ -59,7 +59,7 @@ class PhraseanetExtension extends \Twig_Extension
{ {
return [ return [
// change this version when you change JS file to force the navigation to reload js file // change this version when you change JS file to force the navigation to reload js file
'assetFileVersion' => 30 'assetFileVersion' => 31
]; ];
} }