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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vineanova-redux-artifacts",
3
- "version": "1.71.0",
3
+ "version": "1.72.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "browser": "lib/index.js",
@@ -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' })],
@@ -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
+
@@ -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 || {};