vineanova-redux-artifacts 1.71.0 → 1.72.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +1 -1
- package/dist/actions/commonActions.js +78 -0
- package/dist/reducers/index.js +2 -0
- package/dist/sagas/vineaNovaApi.sagas.js +1042 -928
- package/dist/selectors/chartsByChartFiltersSelector.js +71 -0
- package/dist/selectors/chartsByPageFiltersSelector.js +71 -0
- package/dist/selectors/index.js +26 -0
- package/dist/services/apiServices.js +959 -851
- package/package.json +1 -1
- package/src/actions/commonActions.js +18 -0
- package/src/reducers/index.js +2 -0
- package/src/sagas/vineaNovaApi.sagas.js +64 -0
- package/src/selectors/chartsByChartFiltersSelector.js +64 -0
- package/src/selectors/chartsByPageFiltersSelector.js +64 -0
- package/src/selectors/index.js +2 -0
- package/src/services/apiServices.js +56 -0
package/package.json
CHANGED
|
@@ -49,6 +49,24 @@ const ducksActions = createActions({
|
|
|
49
49
|
UPDATEPARTIALENTITY:[(payload) => payload, ()=> ({ reducerName: 'charts' })],
|
|
50
50
|
},
|
|
51
51
|
},
|
|
52
|
+
chartsByChartFilters: {
|
|
53
|
+
post: {
|
|
54
|
+
REQUEST: [(payload) => payload, ()=> ({ reducerName: 'chartsByChartFilters' })],
|
|
55
|
+
RECEIVE: [(payload) => payload, ()=> ({ reducerName: 'chartsByChartFilters' })],
|
|
56
|
+
ERROR: [(payload) => payload, ()=> ({ reducerName: 'chartsByChartFilters' })],
|
|
57
|
+
CLEARDATA: [(payload) => payload, ()=> ({ reducerName: 'chartsByChartFilters' })],
|
|
58
|
+
UPDATEPARTIALENTITY:[(payload) => payload, ()=> ({ reducerName: 'chartsByChartFilters' })],
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
chartsByPageFilters: {
|
|
62
|
+
post: {
|
|
63
|
+
REQUEST: [(payload) => payload, ()=> ({ reducerName: 'chartsByPageFilters' })],
|
|
64
|
+
RECEIVE: [(payload) => payload, ()=> ({ reducerName: 'chartsByPageFilters' })],
|
|
65
|
+
ERROR: [(payload) => payload, ()=> ({ reducerName: 'chartsByPageFilters' })],
|
|
66
|
+
CLEARDATA: [(payload) => payload, ()=> ({ reducerName: 'chartsByPageFilters' })],
|
|
67
|
+
UPDATEPARTIALENTITY:[(payload) => payload, ()=> ({ reducerName: 'chartsByPageFilters' })],
|
|
68
|
+
},
|
|
69
|
+
},
|
|
52
70
|
chartFilters: {
|
|
53
71
|
get: {
|
|
54
72
|
REQUEST: [(payload) => payload, ()=> ({ reducerName: 'chartFilters' })],
|
package/src/reducers/index.js
CHANGED
|
@@ -5,6 +5,8 @@ const rootReducer = {
|
|
|
5
5
|
entities: combineReducers({
|
|
6
6
|
blockVintage: createNamedReducer('blockVintage'),
|
|
7
7
|
charts: createNamedReducer('charts'),
|
|
8
|
+
chartsByChartFilters: createNamedReducer('chartsByChartFilters'),
|
|
9
|
+
chartsByPageFilters: createNamedReducer('chartsByPageFilters'),
|
|
8
10
|
chartFilters: createNamedReducer('chartFilters'),
|
|
9
11
|
dashboardPages: createNamedReducer('dashboardPages'),
|
|
10
12
|
dashboardPageFilters: createNamedReducer('dashboardPageFilters'),
|
|
@@ -194,6 +194,68 @@ import { VineaNovaActions } from '../actions'
|
|
|
194
194
|
}
|
|
195
195
|
|
|
196
196
|
|
|
197
|
+
export function* postChartsByChartFiltersSagas(action) {
|
|
198
|
+
const {
|
|
199
|
+
payload = {},
|
|
200
|
+
meta: { reducerName },
|
|
201
|
+
} = action;
|
|
202
|
+
try {
|
|
203
|
+
yield put({
|
|
204
|
+
type: "FETCHING",
|
|
205
|
+
name: reducerName,
|
|
206
|
+
});
|
|
207
|
+
|
|
208
|
+
const response = yield call(APIServices.postChartsByChartFilters, payload);
|
|
209
|
+
yield put({
|
|
210
|
+
type: "SUCCESS",
|
|
211
|
+
payload: response,
|
|
212
|
+
name: reducerName,
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
|
|
216
|
+
} catch (err) {
|
|
217
|
+
logger.error(err);
|
|
218
|
+
/* istanbul ignore next */
|
|
219
|
+
yield put({
|
|
220
|
+
type: "ERROR",
|
|
221
|
+
payload: err,
|
|
222
|
+
name: reducerName,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
export function* postChartsByPageFiltersSagas(action) {
|
|
229
|
+
const {
|
|
230
|
+
payload = {},
|
|
231
|
+
meta: { reducerName },
|
|
232
|
+
} = action;
|
|
233
|
+
try {
|
|
234
|
+
yield put({
|
|
235
|
+
type: "FETCHING",
|
|
236
|
+
name: reducerName,
|
|
237
|
+
});
|
|
238
|
+
|
|
239
|
+
const response = yield call(APIServices.postChartsByPageFilters, payload);
|
|
240
|
+
yield put({
|
|
241
|
+
type: "SUCCESS",
|
|
242
|
+
payload: response,
|
|
243
|
+
name: reducerName,
|
|
244
|
+
});
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
} catch (err) {
|
|
248
|
+
logger.error(err);
|
|
249
|
+
/* istanbul ignore next */
|
|
250
|
+
yield put({
|
|
251
|
+
type: "ERROR",
|
|
252
|
+
payload: err,
|
|
253
|
+
name: reducerName,
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
|
|
197
259
|
export function* getChartFiltersSagas(action) {
|
|
198
260
|
const {
|
|
199
261
|
payload = {},
|
|
@@ -6135,6 +6197,8 @@ export default function* root() {
|
|
|
6135
6197
|
takeLatest(VineaNovaActions.api.v1.blockVintage.delete.request().type, deleteBlockVintageSagas),
|
|
6136
6198
|
takeLatest(VineaNovaActions.api.v1.charts.get.request().type, getChartsSagas),
|
|
6137
6199
|
takeLatest(VineaNovaActions.api.v1.charts.post.request().type, postChartsSagas),
|
|
6200
|
+
takeLatest(VineaNovaActions.api.v1.chartsByChartFilters.post.request().type, postChartsByChartFiltersSagas),
|
|
6201
|
+
takeLatest(VineaNovaActions.api.v1.chartsByPageFilters.post.request().type, postChartsByPageFiltersSagas),
|
|
6138
6202
|
takeLatest(VineaNovaActions.api.v1.chartFilters.get.request().type, getChartFiltersSagas),
|
|
6139
6203
|
takeLatest(VineaNovaActions.api.v1.dashboardPages.get.request().type, getDashboardPagesSagas),
|
|
6140
6204
|
takeLatest(VineaNovaActions.api.v1.dashboardPageFilters.get.request().type, getDashboardPageFiltersSagas),
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { createSelector } from 'reselect';
|
|
2
|
+
import isEmpty from 'lodash/isEmpty';
|
|
3
|
+
import {isValid, format} from 'date-fns';
|
|
4
|
+
import isNil from 'lodash/isNil';
|
|
5
|
+
import has from 'lodash/has';
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
export const getChartsByChartFiltersEntity = state => state.entities.chartsByChartFilters;
|
|
9
|
+
|
|
10
|
+
export const getChartsByChartFiltersEntityMeta = createSelector(
|
|
11
|
+
[getChartsByChartFiltersEntity],
|
|
12
|
+
reference => {
|
|
13
|
+
const { isLoading, isLoaded, hasError, error } = reference;
|
|
14
|
+
return {
|
|
15
|
+
isLoading,
|
|
16
|
+
isLoaded,
|
|
17
|
+
hasError,
|
|
18
|
+
error,
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
export const getChartsByChartFiltersEntityData = createSelector(
|
|
24
|
+
[getChartsByChartFiltersEntity],
|
|
25
|
+
reference => {
|
|
26
|
+
const { data = [] } = reference;
|
|
27
|
+
const refData = isEmpty(data) ? [] : data;
|
|
28
|
+
if (!Array.isArray(refData) || isNil(refData)) return [];
|
|
29
|
+
|
|
30
|
+
const formattedData = refData.map(d => {
|
|
31
|
+
let hasDates = false;
|
|
32
|
+
let fromDate = '';
|
|
33
|
+
let toDate = '';
|
|
34
|
+
let fromTo = '';
|
|
35
|
+
|
|
36
|
+
if(has(d, 'effectiveToDate') && has(d, 'effectiveFromDate')){
|
|
37
|
+
hasDates = true;
|
|
38
|
+
toDate =
|
|
39
|
+
!isEmpty(d.effectiveToDate) && isValid(new Date(d.effectiveToDate))
|
|
40
|
+
? format(new Date(d.effectiveToDate), viewDateFormat)
|
|
41
|
+
: '';
|
|
42
|
+
fromDate =
|
|
43
|
+
!isEmpty(d.effectiveFromDate) &&
|
|
44
|
+
isValid(new Date(d.effectiveFromDate))
|
|
45
|
+
? format(new Date(d.effectiveFromDate), viewDateFormat)
|
|
46
|
+
: '';
|
|
47
|
+
const seperator = toDate ? '-' : '';
|
|
48
|
+
fromToDate = `${fromDate} ${seperator} ${toDate}`;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return {
|
|
52
|
+
...d,
|
|
53
|
+
...(hasDates && {
|
|
54
|
+
fromDate,
|
|
55
|
+
toDate,
|
|
56
|
+
fromTo,
|
|
57
|
+
})
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
return formattedData;
|
|
62
|
+
},
|
|
63
|
+
);
|
|
64
|
+
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { createSelector } from 'reselect';
|
|
2
|
+
import isEmpty from 'lodash/isEmpty';
|
|
3
|
+
import {isValid, format} from 'date-fns';
|
|
4
|
+
import isNil from 'lodash/isNil';
|
|
5
|
+
import has from 'lodash/has';
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
export const getChartsByPageFiltersEntity = state => state.entities.chartsByPageFilters;
|
|
9
|
+
|
|
10
|
+
export const getChartsByPageFiltersEntityMeta = createSelector(
|
|
11
|
+
[getChartsByPageFiltersEntity],
|
|
12
|
+
reference => {
|
|
13
|
+
const { isLoading, isLoaded, hasError, error } = reference;
|
|
14
|
+
return {
|
|
15
|
+
isLoading,
|
|
16
|
+
isLoaded,
|
|
17
|
+
hasError,
|
|
18
|
+
error,
|
|
19
|
+
};
|
|
20
|
+
},
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
export const getChartsByPageFiltersEntityData = createSelector(
|
|
24
|
+
[getChartsByPageFiltersEntity],
|
|
25
|
+
reference => {
|
|
26
|
+
const { data = [] } = reference;
|
|
27
|
+
const refData = isEmpty(data) ? [] : data;
|
|
28
|
+
if (!Array.isArray(refData) || isNil(refData)) return [];
|
|
29
|
+
|
|
30
|
+
const formattedData = refData.map(d => {
|
|
31
|
+
let hasDates = false;
|
|
32
|
+
let fromDate = '';
|
|
33
|
+
let toDate = '';
|
|
34
|
+
let fromTo = '';
|
|
35
|
+
|
|
36
|
+
if(has(d, 'effectiveToDate') && has(d, 'effectiveFromDate')){
|
|
37
|
+
hasDates = true;
|
|
38
|
+
toDate =
|
|
39
|
+
!isEmpty(d.effectiveToDate) && isValid(new Date(d.effectiveToDate))
|
|
40
|
+
? format(new Date(d.effectiveToDate), viewDateFormat)
|
|
41
|
+
: '';
|
|
42
|
+
fromDate =
|
|
43
|
+
!isEmpty(d.effectiveFromDate) &&
|
|
44
|
+
isValid(new Date(d.effectiveFromDate))
|
|
45
|
+
? format(new Date(d.effectiveFromDate), viewDateFormat)
|
|
46
|
+
: '';
|
|
47
|
+
const seperator = toDate ? '-' : '';
|
|
48
|
+
fromToDate = `${fromDate} ${seperator} ${toDate}`;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
return {
|
|
52
|
+
...d,
|
|
53
|
+
...(hasDates && {
|
|
54
|
+
fromDate,
|
|
55
|
+
toDate,
|
|
56
|
+
fromTo,
|
|
57
|
+
})
|
|
58
|
+
};
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
return formattedData;
|
|
62
|
+
},
|
|
63
|
+
);
|
|
64
|
+
|
package/src/selectors/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
export * from "./blockVintageSelector";
|
|
3
3
|
export * from "./chartsSelector";
|
|
4
|
+
export * from "./chartsByChartFiltersSelector";
|
|
5
|
+
export * from "./chartsByPageFiltersSelector";
|
|
4
6
|
export * from "./chartFiltersSelector";
|
|
5
7
|
export * from "./dashboardPagesSelector";
|
|
6
8
|
export * from "./dashboardPageFiltersSelector";
|
|
@@ -163,6 +163,62 @@ import serviceConfig from "./config/serviceConfig";
|
|
|
163
163
|
};
|
|
164
164
|
|
|
165
165
|
|
|
166
|
+
export const postChartsByChartFilters = async (payload) => {
|
|
167
|
+
try {
|
|
168
|
+
const { queryParams, postBody, options } = payload || {};
|
|
169
|
+
const { code = '' } = queryParams || {};
|
|
170
|
+
const API_FUNCTION_CODE = process.env.REACT_APP_FUNCTION_CODE || code;
|
|
171
|
+
let apiUrl = '/ChartsByChartFilters';
|
|
172
|
+
const response = await serviceConfig.request({
|
|
173
|
+
url: apiUrl,
|
|
174
|
+
method: "post",
|
|
175
|
+
params: {
|
|
176
|
+
...queryParams,
|
|
177
|
+
code: API_FUNCTION_CODE,
|
|
178
|
+
},
|
|
179
|
+
data: JSON.stringify(postBody),
|
|
180
|
+
headers: {
|
|
181
|
+
"Content-Type": "application/json",
|
|
182
|
+
Accept: "application/json",
|
|
183
|
+
},
|
|
184
|
+
...options,
|
|
185
|
+
});
|
|
186
|
+
return response;
|
|
187
|
+
} catch (err) {
|
|
188
|
+
logger.error(err);
|
|
189
|
+
throw err;
|
|
190
|
+
}
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
export const postChartsByPageFilters = async (payload) => {
|
|
195
|
+
try {
|
|
196
|
+
const { queryParams, postBody, options } = payload || {};
|
|
197
|
+
const { code = '' } = queryParams || {};
|
|
198
|
+
const API_FUNCTION_CODE = process.env.REACT_APP_FUNCTION_CODE || code;
|
|
199
|
+
let apiUrl = '/ChartsByPageFilters';
|
|
200
|
+
const response = await serviceConfig.request({
|
|
201
|
+
url: apiUrl,
|
|
202
|
+
method: "post",
|
|
203
|
+
params: {
|
|
204
|
+
...queryParams,
|
|
205
|
+
code: API_FUNCTION_CODE,
|
|
206
|
+
},
|
|
207
|
+
data: JSON.stringify(postBody),
|
|
208
|
+
headers: {
|
|
209
|
+
"Content-Type": "application/json",
|
|
210
|
+
Accept: "application/json",
|
|
211
|
+
},
|
|
212
|
+
...options,
|
|
213
|
+
});
|
|
214
|
+
return response;
|
|
215
|
+
} catch (err) {
|
|
216
|
+
logger.error(err);
|
|
217
|
+
throw err;
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
|
|
221
|
+
|
|
166
222
|
export const getChartFilters = async (payload) => {
|
|
167
223
|
try {
|
|
168
224
|
const { queryParams, postBody, options } = payload || {};
|