@outliant/sunrise-utils 1.1.19 → 1.1.21
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 +14 -0
- package/helpers/projectFilter/index.js +16 -0
- package/helpers/taskFilter/index.js +26 -0
- package/index.d.ts +21 -0
- package/lib/projectPipeline.js +3 -1
- package/lib/taskPipeline.js +3 -1
- package/package.json +1 -1
- package/test/lib/projectPipeline.spec.js +20 -0
- package/test/lib/taskPipeline.spec.js +31 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,9 +4,23 @@ All notable changes to this project will be documented in this file. Dates are d
|
|
|
4
4
|
|
|
5
5
|
Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
|
|
6
6
|
|
|
7
|
+
#### [1.1.21](https://github.com/outliant/sunrise-utils/compare/1.1.20...1.1.21)
|
|
8
|
+
|
|
9
|
+
- chore: sticky filters updates #86azcbz94 [`#27`](https://github.com/outliant/sunrise-utils/pull/27)
|
|
10
|
+
|
|
11
|
+
#### [1.1.20](https://github.com/outliant/sunrise-utils/compare/1.1.19...1.1.20)
|
|
12
|
+
|
|
13
|
+
> 2 February 2024
|
|
14
|
+
|
|
15
|
+
- chore: add default project and tasks sticky filter setting #866a4ga0a [`#26`](https://github.com/outliant/sunrise-utils/pull/26)
|
|
16
|
+
- chore(release): 1.1.20 [`d55e6a4`](https://github.com/outliant/sunrise-utils/commit/d55e6a4587dc214f3d84369ad0f7676e8ca01909)
|
|
17
|
+
|
|
7
18
|
#### [1.1.19](https://github.com/outliant/sunrise-utils/compare/1.1.18...1.1.19)
|
|
8
19
|
|
|
20
|
+
> 17 January 2024
|
|
21
|
+
|
|
9
22
|
- chore: update is_paused filter #863hbxjkt [`#25`](https://github.com/outliant/sunrise-utils/pull/25)
|
|
23
|
+
- chore(release): 1.1.19 [`af592bd`](https://github.com/outliant/sunrise-utils/commit/af592bd6b762171e9b43a9adc800ba86ce970556)
|
|
10
24
|
|
|
11
25
|
#### [1.1.18](https://github.com/outliant/sunrise-utils/compare/1.1.17...1.1.18)
|
|
12
26
|
|
|
@@ -101,6 +101,22 @@ module.exports.defaultCustomColumns = [
|
|
|
101
101
|
}
|
|
102
102
|
];
|
|
103
103
|
|
|
104
|
+
module.exports.defaultFilterSetting = {
|
|
105
|
+
filters: [],
|
|
106
|
+
columns: [
|
|
107
|
+
'project_id',
|
|
108
|
+
'created_at',
|
|
109
|
+
'criticalPathStage',
|
|
110
|
+
'region',
|
|
111
|
+
'lastPulseComment'
|
|
112
|
+
],
|
|
113
|
+
queries: {
|
|
114
|
+
sort: 'desc',
|
|
115
|
+
sortBy: 'created_at',
|
|
116
|
+
text: 'Create At'
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
|
|
104
120
|
module.exports.buildProjectPipelineFilter = (filter) => {
|
|
105
121
|
switch (filter.type) {
|
|
106
122
|
case 'tags':
|
|
@@ -246,6 +246,32 @@ module.exports.defaultTaskFilter = {
|
|
|
246
246
|
}
|
|
247
247
|
};
|
|
248
248
|
|
|
249
|
+
module.exports.defaultFilterSetting = {
|
|
250
|
+
filters: [
|
|
251
|
+
{
|
|
252
|
+
condition: 'is_equal',
|
|
253
|
+
field_type: 'select',
|
|
254
|
+
field_id: '',
|
|
255
|
+
type: 'status',
|
|
256
|
+
value: 'pending'
|
|
257
|
+
}
|
|
258
|
+
],
|
|
259
|
+
columns: [
|
|
260
|
+
'project_id',
|
|
261
|
+
'981bf602-f636-49c6-8da2-d980064c88d7',
|
|
262
|
+
'owner',
|
|
263
|
+
'ready_at',
|
|
264
|
+
'region',
|
|
265
|
+
'last_comment',
|
|
266
|
+
'last_comment_date'
|
|
267
|
+
],
|
|
268
|
+
queries: {
|
|
269
|
+
sort: 'asc',
|
|
270
|
+
sortBy: 'ready_at',
|
|
271
|
+
text: 'Age'
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
|
|
249
275
|
module.exports.buildTaskPipelineFilter = (filter) => {
|
|
250
276
|
switch (filter.type) {
|
|
251
277
|
case 'status':
|
package/index.d.ts
CHANGED
|
@@ -28,6 +28,25 @@ declare namespace Utils {
|
|
|
28
28
|
sortBy?: string;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
export interface FilterSetting {
|
|
32
|
+
search: string | null;
|
|
33
|
+
queries: Record<string, never>;
|
|
34
|
+
filters: {
|
|
35
|
+
field_id: string | null;
|
|
36
|
+
condition: string;
|
|
37
|
+
second_value: string | null;
|
|
38
|
+
type: string;
|
|
39
|
+
field_type: string;
|
|
40
|
+
value: string;
|
|
41
|
+
}[];
|
|
42
|
+
sorts?: {
|
|
43
|
+
field: string;
|
|
44
|
+
direction: 'asc' | 'desc';
|
|
45
|
+
text: string;
|
|
46
|
+
}[],
|
|
47
|
+
columns?: string[];
|
|
48
|
+
}
|
|
49
|
+
|
|
31
50
|
namespace log {
|
|
32
51
|
export function info(msg: any): void;
|
|
33
52
|
export function warn(msg: any): void;
|
|
@@ -43,6 +62,7 @@ declare namespace Utils {
|
|
|
43
62
|
export const taskStatusOptions: FilterConditionOption[];
|
|
44
63
|
export const taskAgeColorOptions: FilterConditionOption[];
|
|
45
64
|
export const defaultCustomColumns: Column[];
|
|
65
|
+
export const defaultFilterSetting: FilterSetting;
|
|
46
66
|
export function buildFilter(filter: Filter): any;
|
|
47
67
|
export function buildFiltersQuery(
|
|
48
68
|
orgId: string,
|
|
@@ -59,6 +79,7 @@ declare namespace Utils {
|
|
|
59
79
|
|
|
60
80
|
namespace projectPipeline {
|
|
61
81
|
export const defaultCustomColumns: Column[];
|
|
82
|
+
export const defaultFilterSetting: FilterSetting;
|
|
62
83
|
export function buildFilter(filter: Filter): any;
|
|
63
84
|
export function buildFiltersQuery(
|
|
64
85
|
orgId: string,
|
package/lib/projectPipeline.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
const { validate: isUuid } = require('uuid');
|
|
2
2
|
const {
|
|
3
3
|
defaultCustomColumns,
|
|
4
|
-
buildProjectPipelineFilter
|
|
4
|
+
buildProjectPipelineFilter,
|
|
5
|
+
defaultFilterSetting
|
|
5
6
|
} = require('../helpers/projectFilter');
|
|
6
7
|
const searchFilter = require('../helpers/searchFilter');
|
|
7
8
|
const sortScript = require('../helpers/sortScript');
|
|
@@ -9,6 +10,7 @@ const sortScript = require('../helpers/sortScript');
|
|
|
9
10
|
class ProjectPipeline {
|
|
10
11
|
defaultCustomColumns = defaultCustomColumns;
|
|
11
12
|
buildFilter = buildProjectPipelineFilter;
|
|
13
|
+
defaultFilterSetting = defaultFilterSetting;
|
|
12
14
|
buildFiltersQuery(
|
|
13
15
|
orgId,
|
|
14
16
|
departmentId,
|
package/lib/taskPipeline.js
CHANGED
|
@@ -6,7 +6,8 @@ const {
|
|
|
6
6
|
taskAgeColorOptions,
|
|
7
7
|
defaultCustomColumns,
|
|
8
8
|
defaultTaskFilter,
|
|
9
|
-
buildTaskPipelineFilter
|
|
9
|
+
buildTaskPipelineFilter,
|
|
10
|
+
defaultFilterSetting
|
|
10
11
|
} = require('../helpers/taskFilter');
|
|
11
12
|
const searchFilter = require('../helpers/searchFilter');
|
|
12
13
|
const sortScript = require('../helpers/sortScript');
|
|
@@ -15,6 +16,7 @@ const taskHelper = require('../helpers/task');
|
|
|
15
16
|
class TaskPipeline {
|
|
16
17
|
taskStatusOptions = taskStatusOptions;
|
|
17
18
|
defaultCustomColumns = defaultCustomColumns;
|
|
19
|
+
defaultFilterSetting = defaultFilterSetting;
|
|
18
20
|
taskAgeColorOptions = taskAgeColorOptions;
|
|
19
21
|
buildFilter = buildTaskPipelineFilter;
|
|
20
22
|
|
package/package.json
CHANGED
|
@@ -191,4 +191,24 @@ describe('projectPipeline', function () {
|
|
|
191
191
|
});
|
|
192
192
|
});
|
|
193
193
|
});
|
|
194
|
+
|
|
195
|
+
describe('defaultFilterSetting', () => {
|
|
196
|
+
it('should be equal to default project filter setting', () => {
|
|
197
|
+
expect(projectPipeline.defaultFilterSetting).to.be.deep.equal({
|
|
198
|
+
filters: [],
|
|
199
|
+
columns: [
|
|
200
|
+
'project_id',
|
|
201
|
+
'created_at',
|
|
202
|
+
'criticalPathStage',
|
|
203
|
+
'region',
|
|
204
|
+
'lastPulseComment'
|
|
205
|
+
],
|
|
206
|
+
queries: {
|
|
207
|
+
sort: 'desc',
|
|
208
|
+
sortBy: 'created_at',
|
|
209
|
+
text: 'Create At'
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
});
|
|
194
214
|
});
|
|
@@ -581,4 +581,35 @@ describe('taskPipeline', function () {
|
|
|
581
581
|
done();
|
|
582
582
|
});
|
|
583
583
|
});
|
|
584
|
+
|
|
585
|
+
describe('defaultFilterSetting', () => {
|
|
586
|
+
it('should be equal to default task filter setting', () => {
|
|
587
|
+
expect(taskPipeline.defaultFilterSetting).to.be.deep.equal({
|
|
588
|
+
queries: {},
|
|
589
|
+
filters: [
|
|
590
|
+
{
|
|
591
|
+
condition: 'is_equal',
|
|
592
|
+
field_type: 'select',
|
|
593
|
+
field_id: '',
|
|
594
|
+
type: 'status',
|
|
595
|
+
value: 'pending'
|
|
596
|
+
}
|
|
597
|
+
],
|
|
598
|
+
columns: [
|
|
599
|
+
'project_id',
|
|
600
|
+
'981bf602-f636-49c6-8da2-d980064c88d7',
|
|
601
|
+
'owner',
|
|
602
|
+
'ready_at',
|
|
603
|
+
'region',
|
|
604
|
+
'last_comment',
|
|
605
|
+
'last_comment_date'
|
|
606
|
+
],
|
|
607
|
+
queries: {
|
|
608
|
+
sort: 'asc',
|
|
609
|
+
sortBy: 'ready_at',
|
|
610
|
+
text: 'Age'
|
|
611
|
+
}
|
|
612
|
+
});
|
|
613
|
+
});
|
|
614
|
+
});
|
|
584
615
|
});
|