check for unsaved changes when pressing cancel

This commit is contained in:
negue
2023-01-07 22:51:30 +01:00
parent bef8a4cdfc
commit 6fef3d0579
13 changed files with 34 additions and 15 deletions
@@ -28,7 +28,7 @@ export const InlineSettingMixin = {
openModal () {
if (this.sharedState.inlineSettingAlreadyOpen) {
if (this.sharedState.inlineSettingUnsavedValues) {
if (window.confirm('Are you sure? You will lose your unsaved changes.')) {
if (window.confirm(this.$t('confirmCancelChanges'))) {
this._hidePrevious();
this._openIt();
} else {
@@ -53,12 +53,26 @@ export const InlineSettingMixin = {
this.sharedState.instanceOfCurrentlyOpened.resetControls();
this.sharedState.instanceOfCurrentlyOpened.closeModal();
},
/**
* This is just for the cancel buttons - so that they also ask if there are unchanged values
*/
requestCloseModal () {
if (this.sharedState.inlineSettingUnsavedValues && !window.confirm(this.$t('confirmCancelChanges'))) {
return;
}
this.resetControls();
this.closeModal();
},
/**
* This is for the save methods to call it after they are done
*/
closeModal () {
this.modalVisible = false;
this.sharedState.markAsClosed();
},
modalValuesChanged () {
this.sharedState.inlineSettingUnsavedValues = true;
modalValuesChanged (value = true) {
this.sharedState.inlineSettingUnsavedValues = value;
},
resetControls () {},
},
@@ -83,7 +83,7 @@
<save-cancel-buttons
:disable-save="previousValue === currentAudioTheme"
@saveClicked="changeAudioThemeAndClose()"
@cancelClicked="closeModal()"
@cancelClicked="requestCloseModal()"
/>
</td>
</tr>
@@ -54,7 +54,7 @@
:key="classType"
class="class-card"
:class="{[classType]: true, selected: classType === selectedClass}"
@click="selectedClass = classType"
@click="markSelectedClass(classType)"
>
<span
class="svg-icon icon-48 mb-1"
@@ -88,7 +88,7 @@
class="mb-2"
:disable-save="previousValue === selectedClass"
@saveClicked="changeClassAndClose()"
@cancelClicked="closeModal()"
@cancelClicked="requestCloseModal()"
/>
<your-balance />
@@ -269,6 +269,10 @@ export default {
this.resetControls();
},
methods: {
markSelectedClass (newValue) {
this.selectedClass = newValue;
this.modalValuesChanged(this.previousValue !== newValue);
},
async changeClassAndClose () {
if (this.user.flags.classSelected && !window.confirm(this.$t('changeClassConfirmCost'))) {
return;
@@ -51,7 +51,7 @@
<save-cancel-buttons
:disable-save="selectedFormat === currentActiveFormat"
@saveClicked="changeFormatAndClose()"
@cancelClicked="closeModal()"
@cancelClicked="requestCloseModal()"
/>
</td>
</tr>
@@ -71,7 +71,7 @@
<save-cancel-buttons
:disable-save="newDayStart === user.preferences.dayStart"
@saveClicked="saveDayStart()"
@cancelClicked="closeModal()"
@cancelClicked="requestCloseModal()"
/>
</div>
</td>
@@ -63,7 +63,7 @@
primary-button-color="btn-danger"
primary-button-label="deleteAccount"
@saveClicked="deleteAccount()"
@cancelClicked="closeModal()"
@cancelClicked="requestCloseModal()"
/>
</div>
</td>
@@ -73,7 +73,7 @@
<save-cancel-buttons
:disable-save="displayNameCannotSubmit"
@saveClicked="changeDisplayName(temporaryDisplayName)"
@cancelClicked="closeModal()"
@cancelClicked="requestCloseModal()"
/>
</div>
</td>
@@ -63,7 +63,7 @@
<save-cancel-buttons
:disable-save="selectedLanguage === currentActiveLanguage"
@saveClicked="changeLanguageAndClose()"
@cancelClicked="closeModal()"
@cancelClicked="requestCloseModal()"
/>
</td>
</tr>
@@ -55,7 +55,7 @@
<save-cancel-buttons
:disable-save="inputsInvalid"
@saveClicked="changePassword( passwordUpdates)"
@cancelClicked="closeModal()"
@cancelClicked="requestCloseModal()"
/>
</td>
</tr>
@@ -69,7 +69,7 @@
primary-button-color="btn-danger"
primary-button-label="resetAccount"
@saveClicked="reset()"
@cancelClicked="closeModal()"
@cancelClicked="requestCloseModal()"
/>
</div>
</td>
@@ -52,7 +52,7 @@
<save-cancel-buttons
:disable-save="allowedToSave"
@saveClicked="changeEmail()"
@cancelClicked="closeModal()"
@cancelClicked="requestCloseModal()"
/>
</td>
</tr>
@@ -48,7 +48,7 @@
<save-cancel-buttons
:disable-save="usernameCannotSubmit"
@saveClicked="changeUser('username', cleanedInputValue)"
@cancelClicked="closeModal()"
@cancelClicked="requestCloseModal()"
/>
</td>
</tr>
+1
View File
@@ -1,6 +1,7 @@
{
"settings": "Settings",
"generalSettings": "General Settings",
"confirmCancelChanges": "Are you sure? You will lose your unsaved changes.",
"account": "Account",
"loginMethods": "Login Methods",
"character": "Character",