Initial Commit Rework

This commit is contained in:
Qstick 2017-09-03 22:20:56 -04:00
parent 74a4cc048c
commit 95051cbd63
2483 changed files with 101351 additions and 111396 deletions

View file

@ -0,0 +1,34 @@
import _ from 'lodash';
import getSectionState from 'Utilities/State/getSectionState';
import updateSectionState from 'Utilities/State/updateSectionState';
function applySchemaDefaults(selectedSchema, schemaDefaults) {
if (!schemaDefaults) {
return selectedSchema;
} else if (_.isFunction(schemaDefaults)) {
return schemaDefaults(selectedSchema);
}
return Object.assign(selectedSchema, schemaDefaults);
}
function selectProviderSchema(state, section, payload, schemaDefaults) {
const newState = getSectionState(state, section);
const {
implementation,
presetName
} = payload;
const selectedImplementation = _.find(newState.schema, { implementation });
const selectedSchema = presetName ?
_.find(selectedImplementation.presets, { name: presetName }) :
selectedImplementation;
newState.selectedSchema = applySchemaDefaults(_.cloneDeep(selectedSchema), schemaDefaults);
return updateSectionState(state, section, newState);
}
export default selectProviderSchema;