Skip to content

Commit 84d6b86

Browse files
modify filter object for status, created and is_shared
1 parent 41ffb43 commit 84d6b86

File tree

10 files changed

+92
-75
lines changed

10 files changed

+92
-75
lines changed

src/ui/components/Filters/index.tsx

Lines changed: 42 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ export const getInitialFilterState = () => {
4141
type: 'string',
4242
},
4343
{
44-
value: 'isShared',
44+
value: 'is_shared',
4545
label: 'Shared',
4646
type: 'boolean',
4747
},
@@ -81,18 +81,28 @@ export const getInitialFilterState = () => {
8181
type: 'string',
8282
},
8383
{
84-
value: 'greater',
84+
value: 'gt',
8585
label: 'Greater than',
8686
type: 'date',
8787
},
8888
{
89-
value: 'less',
89+
value: 'lt',
9090
label: 'Less than',
9191
type: 'date',
9292
},
93+
{
94+
value: 'gte',
95+
label: 'Greater than and Equal',
96+
type: 'date',
97+
},
98+
{
99+
value: 'lte',
100+
label: 'Less than and Equal',
101+
type: 'date',
102+
},
93103
{
94104
value: 'equal_date',
95-
label: 'Equal',
105+
label: 'Equals',
96106
type: 'date',
97107
},
98108
{
@@ -185,9 +195,19 @@ export const getInitialFilterStateForPipeline = () => {
185195
label: 'Less than',
186196
type: 'date',
187197
},
198+
{
199+
value: 'gte',
200+
label: 'Greater than and Equal',
201+
type: 'date',
202+
},
203+
{
204+
value: 'lte',
205+
label: 'Less than and Equal',
206+
type: 'date',
207+
},
188208
{
189209
value: 'equal_date',
190-
label: 'equals',
210+
label: 'Equals',
191211
type: 'date',
192212
},
193213
{
@@ -330,18 +350,28 @@ export const getInitialFilterStateForRuns = () => {
330350
type: 'string',
331351
},
332352
{
333-
value: 'greater',
353+
value: 'gt',
334354
label: 'Greater than',
335355
type: 'date',
336356
},
337357
{
338-
value: 'less',
358+
value: 'lt',
339359
label: 'Less than',
340360
type: 'date',
341361
},
362+
{
363+
value: 'gte',
364+
label: 'Greater than and Equal',
365+
type: 'date',
366+
},
367+
{
368+
value: 'lte',
369+
label: 'Less than and Equal',
370+
type: 'date',
371+
},
342372
{
343373
value: 'equal_date',
344-
label: 'Equal',
374+
label: 'Equals',
345375
type: 'date',
346376
},
347377
{
@@ -490,7 +520,9 @@ const FilterComponent = ({
490520
<Box style={{ width: '146px' }}>
491521
<DatePicker
492522
selected={filter.filterValue}
493-
onChange={(value: any) => handleValueFieldChange(filter, value)}
523+
onChange={(value: any) => {
524+
handleValueFieldChange(filter, value);
525+
}}
494526
customInput={<ExampleCustomInput />}
495527
/>
496528
</Box>
@@ -662,7 +694,7 @@ const FilterComponent = ({
662694
/>
663695
</FlexBox.Row>
664696
</>
665-
) : filter?.column?.selectedValue?.value === 'isShared' ? (
697+
) : filter?.column?.selectedValue?.value === 'is_shared' ? (
666698
<>
667699
<FlexBox.Row className="mb-1">
668700
<FormTextField

src/ui/layouts/pipelines/PipelineDetail/useService.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { useDispatch } from 'react-redux';
1111
import { pipelinePagesActions } from '../../../../redux/actions';
1212
import { useEffect } from 'react';
1313
import { sign } from 'crypto';
14+
import { filterObjectForParam } from '../../../../utils';
1415

1516
interface ServiceInterface {
1617
pipeline: TPipeline;
@@ -61,14 +62,7 @@ export const callActionForPipelineRunsForPagination = () => {
6162
size: number,
6263
filters?: any[],
6364
) {
64-
let filtersParam = filters?.reduce(
65-
(obj, item) =>
66-
Object.assign(obj, {
67-
[item.column.value]: item.type.value + ':' + item.value,
68-
}),
69-
{},
70-
);
71-
65+
let filtersParam = filterObjectForParam(filters);
7266
// console.log('aaaa', filters);
7367
setFetching(true);
7468
dispatch(

src/ui/layouts/pipelines/Pipelines/useService.ts

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { projectSelectors } from '../../../../redux/selectors';
1212

1313
import { useDispatch, useSelector } from '../../../hooks';
1414

15+
import { filterObjectForParam } from '../../../../utils';
1516
interface ServiceInterface {
1617
setFetchingForPipeline: (arg: boolean) => void;
1718
setFetchingForAllRuns: (arg: boolean) => void;
@@ -62,15 +63,7 @@ export const callActionForPipelinesForPagination = () => {
6263
const selectedProject = useSelector(projectSelectors.selectedProject);
6364

6465
function dispatchPipelineData(page: number, size: number, filters?: any[]) {
65-
let filtersParam = filters?.reduce(
66-
(obj, item) =>
67-
Object.assign(obj, {
68-
[item.column.value]: item.type.value + ':' + item.value,
69-
}),
70-
{},
71-
);
72-
73-
// console.log('aaaa', filters);
66+
let filtersParam = filterObjectForParam(filters);
7467
setFetchingForPipeline(true);
7568
dispatch(
7669
pipelinesActions.getMy({
@@ -100,15 +93,8 @@ export const callActionForAllrunsForPagination = () => {
10093
const selectedProject = useSelector(projectSelectors.selectedProject);
10194

10295
function dispatchAllrunsData(page: number, size: number, filters?: any[]) {
103-
let filtersParam = filters?.reduce(
104-
(obj, item) =>
105-
Object.assign(obj, {
106-
[item.column.value]: item.type.value + ':' + item.value,
107-
}),
108-
{},
109-
);
96+
let filtersParam = filterObjectForParam(filters);
11097

111-
// console.log('aaaa', filters);
11298
setFetchingForAllRuns(true);
11399
dispatch(
114100
runsActions.allRuns({

src/ui/layouts/runs/StackDetail/useService.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@ export const useService = (): ServiceInterface => {
1616
const dispatch = useDispatch();
1717
const { id } = useParams<StackDetailRouteParams>();
1818

19-
useEffect(() => {
20-
setFetching(true);
21-
// Legacy: previously runs was in pipeline
22-
23-
dispatch(
24-
stacksActions.allRunsByStackId({
25-
stackId: id,
26-
onSuccess: () => setFetching(false),
27-
onFailure: () => setFetching(false),
28-
}),
29-
);
30-
}, [id]);
19+
// useEffect(() => {
20+
// setFetching(true);
21+
// // Legacy: previously runs was in pipeline
22+
23+
// dispatch(
24+
// stacksActions.allRunsByStackId({
25+
// stackId: id,
26+
// onSuccess: () => setFetching(false),
27+
// onFailure: () => setFetching(false),
28+
// }),
29+
// );
30+
// }, [id]);
3131

3232
const setFetching = (fetching: boolean) => {
3333
dispatch(stackPagesActions.setFetching({ fetching }));

src/ui/layouts/stackComponents/StackDetail/useService.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { useParams, useSelector } from '../../../hooks';
1414
import { useDispatch } from 'react-redux';
1515
import { stackPagesActions } from '../../../../redux/actions';
1616
import { useEffect } from 'react';
17+
import { filterObjectForParam } from '../../../../utils';
1718

1819
interface ServiceInterface {
1920
stackComponent: TStack;
@@ -65,13 +66,7 @@ export const callActionForStackComponentRunsForPagination = () => {
6566
size: number,
6667
filters?: any[],
6768
) {
68-
let filtersParam = filters?.reduce(
69-
(obj, item) =>
70-
Object.assign(obj, {
71-
[item.column.value]: item.type.value + ':' + item.value,
72-
}),
73-
{},
74-
);
69+
let filtersParam = filterObjectForParam(filters);
7570

7671
// debugger;
7772
setFetching(true);

src/ui/layouts/stackComponents/Stacks/useService.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import {
99
import { useDispatch, useLocationPath, useSelector } from '../../../hooks';
1010
import { DEFAULT_PROJECT_NAME } from '../../../../constants';
1111
import { projectSelectors } from '../../../../redux/selectors';
12+
import { filterObjectForParam } from '../../../../utils';
1213

1314
interface ServiceInterface {
1415
setFetching: (arg: boolean) => void;
@@ -56,13 +57,7 @@ export const callActionForStackComponentsForPagination = () => {
5657
size: number,
5758
filters?: any[],
5859
) {
59-
let filtersParam = filters?.reduce(
60-
(obj, item) =>
61-
Object.assign(obj, {
62-
[item.column.value]: item.type.value + ':' + item.value,
63-
}),
64-
{},
65-
);
60+
let filtersParam = filterObjectForParam(filters);
6661
setFetching(true);
6762
dispatch(
6863
stackComponentsActions.getMy({

src/ui/layouts/stacks/StackDetail/useService.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { useParams, useSelector } from '../../../hooks';
1111
import { useDispatch } from 'react-redux';
1212
import { stackPagesActions } from '../../../../redux/actions';
1313
import { useEffect } from 'react';
14+
import { filterObjectForParam } from '../../../../utils';
1415

1516
interface ServiceInterface {
1617
stack: TStack;
@@ -61,13 +62,7 @@ export const callActionForStackRunsForPagination = () => {
6162
size: number,
6263
filters?: any[],
6364
) {
64-
let filtersParam = filters?.reduce(
65-
(obj, item) =>
66-
Object.assign(obj, {
67-
[item.column.value]: item.type.value + ':' + item.value,
68-
}),
69-
{},
70-
);
65+
let filtersParam = filterObjectForParam(filters);
7166

7267
console.log('aaaa', filters);
7368
setFetching(true);

src/ui/layouts/stacks/Stacks/useService.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { useEffect } from 'react';
44
import { stackPagesActions, stacksActions } from '../../../../redux/actions';
55
import { projectSelectors } from '../../../../redux/selectors';
66
import { useDispatch, useSelector, useLocationPath } from '../../../hooks';
7+
import { filterObjectForParam } from '../../../../utils';
78

89
interface ServiceInterface {
910
setFetching: (arg: boolean) => void;
@@ -44,13 +45,7 @@ export const callActionForStacksForPagination = () => {
4445
const selectedProject = useSelector(projectSelectors.selectedProject);
4546

4647
function dispatchStackData(page: number, size: number, filters?: any[]) {
47-
let filtersParam = filters?.reduce(
48-
(obj, item) =>
49-
Object.assign(obj, {
50-
[item.column.value]: item.type.value + ':' + item.value,
51-
}),
52-
{},
53-
);
48+
let filtersParam = filterObjectForParam(filters);
5449

5550
setFetching(true);
5651
dispatch(

src/utils/filterObjectForParam.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import moment from 'moment';
2+
export const filterObjectForParam = (filters: any): object => {
3+
console.log(filters, 'filterObjectForParam');
4+
const UTCformatter = (preDate: any) => moment.utc(preDate).toDate();
5+
return filters?.reduce(
6+
(obj: any, item: any) =>
7+
Object.assign(obj, {
8+
// [item.column.value]: item.column.value === 'created' ? item.type.value + ':' + item.value,
9+
[item.column.value]:
10+
item.column.value === 'created'
11+
? item.type.value === 'equal_date'
12+
? 'equals' +
13+
':' +
14+
moment(UTCformatter(item.value)).format('YYYY-MM-DD HH:mm:ss')
15+
: item.type.value +
16+
':' +
17+
moment(UTCformatter(item.value)).format('YYYY-MM-DD HH:mm:ss')
18+
: item.type.type === 'status' || item.type.type === 'boolean'
19+
? item.type.value
20+
: item.type.value + ':' + item.value,
21+
}),
22+
{},
23+
);
24+
};

src/utils/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@ export * from './validations';
88
export * from './date';
99
export * from './runs';
1010
export * from './money';
11+
export * from './filterObjectForParam';
1112
export * from './string';

0 commit comments

Comments
 (0)