79 lines
1.3 KiB
JavaScript
Raw Normal View History

/**
*
* EditPage actions
*
*/
import { get } from 'lodash';
import { getValidationsFromForm } from 'utils/formValidations';
import {
2018-02-21 15:09:33 +01:00
CHANGE_DATA,
GET_DATA,
GET_DATA_SUCCEEDED,
INIT_MODEL_PROPS,
ON_CANCEL,
RESET_PROPS,
SET_FORM_ERRORS,
} from './constants';
2018-02-21 15:09:33 +01:00
export function changeData({ target }) {
return {
type: CHANGE_DATA,
keys: target.name.split('.'),
value: target.value,
};
}
export function getData(id, source, mainField) {
return {
type: GET_DATA,
id,
source,
mainField,
};
}
export function getDataSucceeded(id, data, pluginHeaderTitle) {
return {
type: GET_DATA_SUCCEEDED,
id,
data,
pluginHeaderTitle,
};
}
export function initModelProps(modelName, isCreating, source, attributes) {
const formValidations = getValidationsFromForm(
Object.keys(attributes).map(attr => ({ name: attr, validations: get(attributes, attr, {}) })),
[],
);
return {
type: INIT_MODEL_PROPS,
formValidations,
isCreating,
modelName,
2018-02-21 15:09:33 +01:00
source,
};
}
export function onCancel() {
return {
type: ON_CANCEL,
};
}
export function resetProps() {
return {
type: RESET_PROPS,
};
}
export function setFormErrors(formErrors) {
return {
type: SET_FORM_ERRORS,
formErrors,
};
}