/**
* Функции для изменения текущего состояния config
* @module StateConfigAction
* @author Ihor Bielchenko
*/
/**
* Обновление текущего состояния
* @param {Object} config
* @param {Function} callback
* @return {Function}
*/
export function update(config, callback = () => {}) {
return (dispatch) => {
dispatch({
type: 'UPDATE_CONFIG',
payload: config
});
callback();
}
}
/**
* Показ попапов или выпадающих списков
* @param {Object} config
* @param {String} element Какой элемент нужно показать
* @param {Function} callback
* @return {Function}
*/
export function showElement(config, element, callback = () => {}) {
return (dispatch) => {
var i;
if(config[element] === 1) {
for(i in config) {
config[i] = 0;
}
}
else {
for(i in config) {
config[i] = 0;
}
config[element] = 1;
}
dispatch({
type: 'CURRENT_ELEMENT_SHOW',
payload: config
});
callback();
}
}
/**
* Показать лоадер для аватара
* @param {Object} config
* @param {Function} callback
* @return {Function}
*/
export function avatarLoader(config, callback = () => {}) {
return (dispatch) => {
if(config['show_avatar_loader'] === 1) {
config['show_avatar_loader'] = 0;
}
else config['show_avatar_loader'] = 1;
dispatch({
type: 'AVATAR_LOADER',
payload: config
});
callback();
}
}