Files
habitica/website/client/src/pages/settings/inlineSettings/inlineSettingMixin.js
T
2022-11-22 23:14:24 +01:00

35 lines
701 B
JavaScript

import { reactive } from 'vue';
export const sharedInlineSettingStore = reactive({
inlineSettingAlreadyOpen: false,
markAsOpened () {
this.inlineSettingAlreadyOpen = true;
},
markAsClosed () {
this.inlineSettingAlreadyOpen = false;
},
});
export const InlineSettingMixin = {
data () {
return {
modalVisible: false,
sharedState: sharedInlineSettingStore,
};
},
methods: {
openModal () {
if (this.sharedState.inlineSettingAlreadyOpen) {
return;
}
this.sharedState.markAsOpened();
this.modalVisible = true;
},
closeModal () {
this.modalVisible = false;
this.sharedState.markAsClosed();
},
},
};