Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ class Griddle extends Component {
storeKey = Griddle.storeKey || 'store',
} = props;

const { initialState, reducers, reduxMiddleware } = init.call(this, core);
const { initialState, reducer, reduxMiddleware } = init.call(this, core);

const composeEnhancers = (typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__) || compose
this.store = createStore(
reducers,
reducer,
initialState,
composeEnhancers(
applyMiddleware(...reduxMiddleware)
Expand Down
26 changes: 13 additions & 13 deletions src/utils/__tests__/initilizerTests.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ test('init succeeds given null defaults and empty props', (assert) => {

assert.deepEqual(res.initialState, expectedDefaultInitialState);

assert.is(typeof res.reducers, 'function');
assert.deepEqual(res.reducers({}, { type: 'REDUCE' }), {});
assert.is(typeof res.reducer, 'function');
assert.deepEqual(res.reducer({}, { type: 'REDUCE' }), {});

assert.deepEqual(res.reduxMiddleware, []);

Expand All @@ -45,8 +45,8 @@ test('init succeeds given empty defaults and props', (assert) => {

assert.deepEqual(res.initialState, expectedDefaultInitialState);

assert.is(typeof res.reducers, 'function');
assert.deepEqual(res.reducers({}, { type: 'REDUCE' }), {});
assert.is(typeof res.reducer, 'function');
assert.deepEqual(res.reducer({}, { type: 'REDUCE' }), {});

assert.deepEqual(res.reduxMiddleware, []);

Expand All @@ -60,7 +60,7 @@ test('init succeeds given empty defaults and props', (assert) => {
test('init returns defaults given minimum props', (assert) => {
const ctx = { props: { data: [] } };
const defaults = {
reducers: { REDUCE: () => ({ reduced: true }) },
reducer: { REDUCE: () => ({ reduced: true }) },
components: { Layout: () => null },
settingsComponentObjects: { mySettings: { order: 10 } },
selectors: { aSelector: () => null },
Expand All @@ -81,9 +81,9 @@ test('init returns defaults given minimum props', (assert) => {
styleConfig: defaults.styleConfig,
});

assert.is(typeof res.reducers, 'function');
assert.deepEqual(Object.keys(res.reducers), Object.keys(defaults.reducers));
assert.deepEqual(res.reducers({}, { type: 'REDUCE' }), { reduced: true });
assert.is(typeof res.reducer, 'function');
assert.deepEqual(Object.keys(res.reducer), Object.keys(defaults.reducer));
assert.deepEqual(res.reducer({}, { type: 'REDUCE' }), { reduced: true });

assert.deepEqual(res.reduxMiddleware, []);

Expand Down Expand Up @@ -244,7 +244,7 @@ test('init returns composed reducer given plugins', (assert) => {
},
};
const defaults = {
reducers: {
reducer: {
DEFAULTS: () => ({ defaults: true }),
PLUGIN: () => ({ plugin: false }),
},
Expand All @@ -253,10 +253,10 @@ test('init returns composed reducer given plugins', (assert) => {
const res = init.call(ctx, defaults);
assert.truthy(res);

assert.is(typeof res.reducers, 'function');
assert.deepEqual(Object.keys(res.reducers), ['DEFAULTS', 'PLUGIN']);
assert.deepEqual(res.reducers({}, { type: 'DEFAULTS' }), { defaults: true });
assert.deepEqual(res.reducers({}, { type: 'PLUGIN' }), { plugin: 1 });
assert.is(typeof res.reducer, 'function');
assert.deepEqual(Object.keys(res.reducer), ['DEFAULTS', 'PLUGIN']);
assert.deepEqual(res.reducer({}, { type: 'DEFAULTS' }), { defaults: true });
assert.deepEqual(res.reducer({}, { type: 'PLUGIN' }), { plugin: 1 });
});

test('init returns flattened/compacted reduxMiddleware given plugins', (assert) => {
Expand Down
6 changes: 3 additions & 3 deletions src/utils/initializer.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ module.exports = function initializer(defaults) {
if (!this) throw new Error('this missing!');

const {
reducers: dataReducers,
reducer: defaultReducer,
components,
settingsComponentObjects,
selectors,
Expand All @@ -33,7 +33,7 @@ module.exports = function initializer(defaults) {
const columnProperties = getColumnProperties(rowPropertiesComponent);

// Combine / compose the reducers to make a single, unified reducer
const reducers = buildGriddleReducer([dataReducers, ...plugins.map(p => p.reducer)]);
const reducer = buildGriddleReducer([defaultReducer, ...plugins.map(p => p.reducer)]);

// Combine / Compose the components to make a single component for each component type
this.components = buildGriddleComponents([
Expand Down Expand Up @@ -82,7 +82,7 @@ module.exports = function initializer(defaults) {

return {
initialState,
reducers,
reducer,
reduxMiddleware: _.compact([
..._.flatten(plugins.map(p => p.reduxMiddleware)),
...reduxMiddleware
Expand Down