@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 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,
@@ -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,
@@ -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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@outliant/sunrise-utils",
3
3
  "description": "Helper functions for project Sunrise",
4
- "version": "1.1.19",
4
+ "version": "1.1.21",
5
5
  "license": "ISC",
6
6
  "author": "Outliant",
7
7
  "main": "index.js",
@@ -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
  });