-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathselectors.js
More file actions
38 lines (30 loc) · 1.77 KB
/
selectors.js
File metadata and controls
38 lines (30 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
import { createSelector } from 'reselect';
import _ from 'lodash/fp';
import { operationsOnCollection } from '../../../../utils/plugin-helpers.utils';
import { valuesNames } from './forms.config';
const topThreeThingsCreateFormSelector = _.getOr({}, 'form.topThreeThingsCreateFormSelector');
const topThreeThingsPanelFormSelector = _.getOr({}, 'form.topThreeThingsPanelFormSelector');
const metaPanelFormSelector = _.getOr({}, 'form.metaPanelFormSelector')
const topThreeThingsCreateFormStateSelector = createSelector(topThreeThingsCreateFormSelector,
topThreeThingsCreateFormState => ({ topThreeThingsCreateFormState }));
const patientTopThreeThingsSelector = createSelector(
({ patientsTopThreeThings }) => patientsTopThreeThings,
(state, props) => _.getOr(null, 'match.params.userId', props),
(patientsTopThreeThings, userId) => {
const allTopThreeThings = operationsOnCollection.modificateDateForTable(patientsTopThreeThings[userId], valuesNames.DATE);
return ({ allTopThreeThings, userId });
}
);
const metaPanelFormStateSelector = createSelector(metaPanelFormSelector,
metaPanelFormState => ({ metaPanelFormState }));
const patientTopThreeThingsDetailSelector = createSelector(
({ topThreeThingsDetail }) => topThreeThingsDetail,
(state, props) => _.getOr(null, 'match.params.userId', props),
(topThreeThingsDetail, userId) => {
const topThreeThingDetail = topThreeThingsDetail[userId];
return ({ topThreeThingDetail, userId });
}
);
const topThreeThingPanelFormSelector = createSelector(topThreeThingsPanelFormSelector,
topThreeThingFormState => ({ topThreeThingFormState }));
export { patientTopThreeThingsSelector, patientTopThreeThingsDetailSelector, topThreeThingsCreateFormStateSelector, metaPanelFormStateSelector, topThreeThingPanelFormSelector }