Enabling and disabling the commit button to prevent empty commits (web editor) (#8590)
* Enabling and disabling the commit button to prevent empty commits Signed-off-by: LukBukkit <luk.bukkit@gmail.com> * The button won't get enabled if you change the commit message Signed-off-by: LukBukkit <luk.bukkit@gmail.com> * Fixes a spelling mistake for 'silent' Signed-off-by: LukBukkit <luk.bukkit@gmail.com>
This commit is contained in:
parent
fe41f71ba1
commit
3fe9646564
1 changed files with 21 additions and 1 deletions
|
@ -1572,7 +1572,27 @@ function initEditor() {
|
||||||
});
|
});
|
||||||
}).trigger('keyup');
|
}).trigger('keyup');
|
||||||
|
|
||||||
$('#commit-button').click(function (event) {
|
// Using events from https://github.com/codedance/jquery.AreYouSure#advanced-usage
|
||||||
|
// to enable or disable the commit button
|
||||||
|
const $commitButton = $('#commit-button');
|
||||||
|
const $editForm = $('.ui.edit.form');
|
||||||
|
const dirtyFileClass = 'dirty-file';
|
||||||
|
|
||||||
|
// Disabling the button at the start
|
||||||
|
$commitButton.prop('disabled', true);
|
||||||
|
|
||||||
|
// Registering a custom listener for the file path and the file content
|
||||||
|
$editForm.areYouSure({
|
||||||
|
silent: true,
|
||||||
|
dirtyClass: dirtyFileClass,
|
||||||
|
fieldSelector: ':input:not(.commit-form-wrapper :input)',
|
||||||
|
change: function () {
|
||||||
|
const dirty = $(this).hasClass(dirtyFileClass);
|
||||||
|
$commitButton.prop('disabled', !dirty);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$commitButton.click(function (event) {
|
||||||
// A modal which asks if an empty file should be committed
|
// A modal which asks if an empty file should be committed
|
||||||
if ($editArea.val().length === 0) {
|
if ($editArea.val().length === 0) {
|
||||||
$('#edit-empty-content-modal').modal({
|
$('#edit-empty-content-modal').modal({
|
||||||
|
|
Loading…
Reference in a new issue