PHP Classes

File: src/store/modules/settings.js

Recommend this page to a friend!
  Classes of Maniruzzaman Akash   WP Emailer   src/store/modules/settings.js   Download  
File: src/store/modules/settings.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: WP Emailer
Allow WordPress users to configure email settings
Author: By
Last change:
Date: 1 year ago
Size: 2,519 bytes
 

Contents

Class file image Download
/** * External dependencies. */ import { getRequest, postRequest } from '../../utils/ajax'; // initial state const state = () => ({ settings : {}, isSettingsLoading: false, isSettingsSaving : false, }); // getters const getters = { settings : state => state.settings, isSettingsLoading: state => state.isSettingsLoading, isSettingsSaving : state => state.isSettingsSaving, }; // actions const actions = { async fetchSettings({ commit }) { commit('setSettingsLoading', true); await getRequest(`action=${'wp_emailer_get_settings'}`) .then(response => { if ( response.success ) { commit('storeAllSettings', response.data.data); commit('setSettingsLoading', false); } }); commit('setSettingsLoading', false); }, async storeSettings({ dispatch, commit }, input) { commit('setSettingsSaving', true); const postData = { key : input.key, value : input.value, action: 'wp_emailer_update_setting' }; await postRequest(postData) .then(response => { if ( response?.success ) { commit('storeSettingItem', input); dispatch('setAlert', { message : response?.data?.message, type : 'success' }, {root:true}); } }).catch(error => { const errorResponse = JSON.parse(error.responseText); if (errorResponse?.data?.message) { dispatch('setAlert', { message : errorResponse?.data?.message, type : 'error' }, {root:true}); } }); commit('setSettingsSaving', false); }, }; // mutations const mutations = { storeAllSettings: (state, settings) => { state.settings = settings; }, storeSettingItem: (state, input) => { state.settings = { ...state.settings, [input.key] : input?.value }; }, setSettingsLoading: (state, isSettingsLoading) => { state.isSettingsLoading = isSettingsLoading; }, setSettingsSaving: (state, isSettingsSaving) => { state.isSettingsSaving = isSettingsSaving; }, }; export default { state, getters, actions, mutations };