@fibery/views 1.1.17 → 3.0.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/README.md +1 -28
- package/package.json +9 -9
- package/src/index.js +177 -0
- package/lib/views.d.ts +0 -17
- package/lib/views.js +0 -1288
package/README.md
CHANGED
|
@@ -1,30 +1,3 @@
|
|
|
1
1
|
## How to update and publish @fibery/views
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
yarn build
|
|
6
|
-
npm version patch
|
|
7
|
-
npm publish --dry-run
|
|
8
|
-
|
|
9
|
-
Check the output, it should say there are at least 2 total files:
|
|
10
|
-
|
|
11
|
-
npm notice 📦 @fibery/views@1.1.4
|
|
12
|
-
npm notice === Tarball Contents ===
|
|
13
|
-
npm notice 37.1kB lib/views.js
|
|
14
|
-
npm notice 1.1kB package.json
|
|
15
|
-
npm notice === Tarball Details ===
|
|
16
|
-
npm notice name: @fibery/views
|
|
17
|
-
npm notice version: 1.1.4
|
|
18
|
-
npm notice package size: 4.7 kB
|
|
19
|
-
npm notice unpacked size: 38.3 kB
|
|
20
|
-
npm notice shasum: 0c8f17195d49cda1a321edc9a07d443c97ed6ba5
|
|
21
|
-
npm notice integrity: sha512-XpaByuvN4YSZi[...]OFceXnL4J2VHw==
|
|
22
|
-
npm notice total files: 2
|
|
23
|
-
npm notice
|
|
24
|
-
+ @fibery/views@1.1.4
|
|
25
|
-
|
|
26
|
-
If everything looks good, do
|
|
27
|
-
|
|
28
|
-
npm publish
|
|
29
|
-
|
|
30
|
-
Don't forget to commit the updated package.json.
|
|
3
|
+
Please refer to [How to make changes to packages](../../README.md#how-to-make-changes-to-packages)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fibery/views",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Operations on view objects",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"author": "Fibery",
|
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
"jest-junit": "13.0.0",
|
|
18
18
|
"lodash": "4.17.21",
|
|
19
19
|
"microbundle": "0.15.0",
|
|
20
|
-
"@fibery/
|
|
21
|
-
"@fibery/
|
|
22
|
-
"@fibery/
|
|
23
|
-
"@fibery/
|
|
20
|
+
"@fibery/expression-utils": "3.0.0",
|
|
21
|
+
"@fibery/schema": "8.3.0",
|
|
22
|
+
"@fibery/babel-preset": "7.3.0",
|
|
23
|
+
"@fibery/eslint-config": "8.5.0"
|
|
24
24
|
},
|
|
25
25
|
"peerDependencies": {
|
|
26
|
-
"@fibery/expression-utils": "^
|
|
27
|
-
"@fibery/schema": "^8.
|
|
26
|
+
"@fibery/expression-utils": "^3.0.0",
|
|
27
|
+
"@fibery/schema": "^8.3.0",
|
|
28
28
|
"immutability-helper": "^2.4.0",
|
|
29
29
|
"lodash": "^4.17.21"
|
|
30
30
|
},
|
|
@@ -52,8 +52,8 @@
|
|
|
52
52
|
"scripts": {
|
|
53
53
|
"build": "rm -rf lib && microbundle index.js -o lib -f cjs --no-compress --target node --sourcemap false",
|
|
54
54
|
"test": "node scripts/test.js",
|
|
55
|
-
"test:ci": "
|
|
56
|
-
"test:coverage": "
|
|
55
|
+
"test:ci": "pnpm run test --reporters=default --reporters=jest-junit",
|
|
56
|
+
"test:coverage": "pnpm run test --coverage --coverageDirectory=${JEST_COVERAGE_RESULT_DIR:-$(pwd)}/coverage/view --reporters=default --reporters=jest-junit",
|
|
57
57
|
"lint": "eslint ."
|
|
58
58
|
}
|
|
59
59
|
}
|
package/src/index.js
ADDED
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
import * as board from "./private/board";
|
|
2
|
+
import * as calendar from "./private/calendar";
|
|
3
|
+
import * as feed from "./private/feed";
|
|
4
|
+
import * as form from "./private/form";
|
|
5
|
+
import * as map from "./private/map";
|
|
6
|
+
import * as smartfolder from "./private/smart-folder";
|
|
7
|
+
import * as table from "./private/table";
|
|
8
|
+
import * as timeline from "./private/timeline";
|
|
9
|
+
import {REMOVE} from "./private/utils";
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
deleteExpressionWithNotFoundFieldsOrTypesInSmartFolder,
|
|
13
|
+
replaceIdsWithNamesInSmartFolder,
|
|
14
|
+
replaceNamesWithIdsInSmartFolder,
|
|
15
|
+
} from "./private/smart-folder";
|
|
16
|
+
|
|
17
|
+
export const deleteExpressionWithNotFoundFieldsOrTypesInView = (schema, view, ensureAxisInvariant = true) => {
|
|
18
|
+
switch (view["fibery/type"]) {
|
|
19
|
+
case "board":
|
|
20
|
+
return board.deleteExpressionWithNotFoundOrInvalidFieldsOrTypesInBoardView(schema, view, ensureAxisInvariant);
|
|
21
|
+
case "list":
|
|
22
|
+
return smartfolder.deleteExpressionWithNotFoundFieldsOrTypesInSmartFolder(schema, view);
|
|
23
|
+
case "grid":
|
|
24
|
+
return smartfolder.deleteExpressionWithNotFoundFieldsOrTypesInSmartFolder(schema, view);
|
|
25
|
+
case "timeline":
|
|
26
|
+
return timeline.deleteExpressionWithNotFoundFieldsOrTypesInTimelineView(schema, view, ensureAxisInvariant);
|
|
27
|
+
case "calendar":
|
|
28
|
+
return calendar.deleteExpressionWithNotFoundFieldsOrTypesInCalendarView(schema, view);
|
|
29
|
+
case "table":
|
|
30
|
+
return table.deleteExpressionWithNotFoundFieldsOrTypesInTableView(schema, view);
|
|
31
|
+
case "feed":
|
|
32
|
+
return feed.deleteExpressionWithNotFoundFieldsOrTypesInFeedView(schema, view);
|
|
33
|
+
case "form":
|
|
34
|
+
return form.deleteExpressionWithNotFoundFieldsOrTypesInFormView(schema, view);
|
|
35
|
+
case "map":
|
|
36
|
+
return map.deleteExpressionWithNotFoundFieldsOrTypesInMapView(schema, view);
|
|
37
|
+
default:
|
|
38
|
+
return view;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const fixUserSelectedUnits = (schema, view) => {
|
|
43
|
+
switch (view["fibery/type"]) {
|
|
44
|
+
case "board":
|
|
45
|
+
return board.fixUserSelectedUnitsInBoardView(schema, view);
|
|
46
|
+
case "list":
|
|
47
|
+
return smartfolder.fixUserSelectedUnitsInSmartFolder(schema, view);
|
|
48
|
+
case "grid":
|
|
49
|
+
return smartfolder.fixUserSelectedUnitsInSmartFolder(schema, view);
|
|
50
|
+
case "table":
|
|
51
|
+
return table.fixUserSelectedUnitsInTableView(schema, view);
|
|
52
|
+
case "timeline":
|
|
53
|
+
return timeline.fixUserSelectedUnitsInTimelineView(schema, view);
|
|
54
|
+
case "calendar":
|
|
55
|
+
return calendar.fixUserSelectedUnitsInCalendarView(schema, view);
|
|
56
|
+
case "feed":
|
|
57
|
+
return feed.fixUserSelectedUnitsInFeedView(schema, view);
|
|
58
|
+
case "map":
|
|
59
|
+
return map.fixUserSelectedUnitsInMapView(schema, view);
|
|
60
|
+
default:
|
|
61
|
+
return view;
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export const fixContextExpressionWithBrokenPath = (schema, view, defaultContextExpression) => {
|
|
66
|
+
switch (view["fibery/type"]) {
|
|
67
|
+
case "board":
|
|
68
|
+
return board.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
|
|
69
|
+
case "list":
|
|
70
|
+
return smartfolder.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
|
|
71
|
+
case "grid":
|
|
72
|
+
return smartfolder.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
|
|
73
|
+
case "table":
|
|
74
|
+
return table.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
|
|
75
|
+
case "timeline":
|
|
76
|
+
return timeline.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
|
|
77
|
+
case "calendar":
|
|
78
|
+
return calendar.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
|
|
79
|
+
case "feed":
|
|
80
|
+
return feed.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
|
|
81
|
+
case "map":
|
|
82
|
+
return map.fixContextExpressionWithBrokenPath(schema, view, defaultContextExpression);
|
|
83
|
+
default:
|
|
84
|
+
return view;
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Removes garbage from view's meta to reduce the size.
|
|
90
|
+
*/
|
|
91
|
+
export const collectGarbage = (schema, view) => {
|
|
92
|
+
const deleteRemoved = (x) => {
|
|
93
|
+
if (Array.isArray(x)) {
|
|
94
|
+
return x.map(deleteRemoved).filter((y) => y !== REMOVE);
|
|
95
|
+
}
|
|
96
|
+
if (typeof x === "object" && x !== null) {
|
|
97
|
+
let tmp = Object.entries(x);
|
|
98
|
+
tmp = tmp.map((e) => [e[0], deleteRemoved(e[1])]);
|
|
99
|
+
tmp = tmp.filter((e) => e[1] !== REMOVE);
|
|
100
|
+
return Object.fromEntries(tmp);
|
|
101
|
+
}
|
|
102
|
+
return x;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
switch (view["fibery/type"]) {
|
|
106
|
+
case "board":
|
|
107
|
+
return deleteRemoved(board.collectGarbage(view));
|
|
108
|
+
case "list":
|
|
109
|
+
return deleteRemoved(smartfolder.collectGarbage(view));
|
|
110
|
+
case "grid":
|
|
111
|
+
return deleteRemoved(smartfolder.collectGarbage(view));
|
|
112
|
+
case "table":
|
|
113
|
+
return deleteRemoved(table.collectGarbage(view));
|
|
114
|
+
case "timeline":
|
|
115
|
+
return deleteRemoved(timeline.collectGarbage(view));
|
|
116
|
+
case "calendar":
|
|
117
|
+
return deleteRemoved(calendar.collectGarbage(view));
|
|
118
|
+
case "feed":
|
|
119
|
+
return deleteRemoved(feed.collectGarbage(view));
|
|
120
|
+
case "map":
|
|
121
|
+
return deleteRemoved(map.collectGarbage(view));
|
|
122
|
+
default:
|
|
123
|
+
return view;
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
export const replaceNamesWithIdsInView = (schema, view) => {
|
|
128
|
+
switch (view["fibery/type"]) {
|
|
129
|
+
case "board":
|
|
130
|
+
return board.replaceNamesWithIdsInBoardView(schema, view);
|
|
131
|
+
case "list":
|
|
132
|
+
return smartfolder.replaceNamesWithIdsInSmartFolder(schema, view);
|
|
133
|
+
case "grid":
|
|
134
|
+
return smartfolder.replaceNamesWithIdsInSmartFolder(schema, view);
|
|
135
|
+
case "table":
|
|
136
|
+
return table.replaceNamesWithIdsInTableView(schema, view);
|
|
137
|
+
case "timeline":
|
|
138
|
+
return timeline.replaceNamesWithIdsInTimelineView(schema, view);
|
|
139
|
+
case "calendar":
|
|
140
|
+
return calendar.replaceNamesWithIdsInCalendarView(schema, view);
|
|
141
|
+
case "feed":
|
|
142
|
+
return feed.replaceNamesWithIdsInFeedView(schema, view);
|
|
143
|
+
case "form":
|
|
144
|
+
return form.replaceNamesWithIdsInFormView(schema, view);
|
|
145
|
+
case "map":
|
|
146
|
+
return map.replaceNamesWithIdsInMapView(schema, view);
|
|
147
|
+
default:
|
|
148
|
+
return view;
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
|
|
152
|
+
export const replaceIdsWithNamesInView = (schema, view) => {
|
|
153
|
+
switch (view["fibery/type"]) {
|
|
154
|
+
case "board":
|
|
155
|
+
return board.replaceIdsWithNamesInBoardView(schema, view);
|
|
156
|
+
case "list":
|
|
157
|
+
return smartfolder.replaceIdsWithNamesInSmartFolder(schema, view);
|
|
158
|
+
case "grid":
|
|
159
|
+
return smartfolder.replaceIdsWithNamesInSmartFolder(schema, view);
|
|
160
|
+
case "table":
|
|
161
|
+
return table.replaceIdsWithNamesInTableView(schema, view);
|
|
162
|
+
case "timeline":
|
|
163
|
+
return timeline.replaceIdsWithNamesInTimelineView(schema, view);
|
|
164
|
+
case "calendar":
|
|
165
|
+
return calendar.replaceIdsWithNamesInCalendarView(schema, view);
|
|
166
|
+
case "feed":
|
|
167
|
+
return feed.replaceIdsWithNamesInFeedView(schema, view);
|
|
168
|
+
case "form":
|
|
169
|
+
return form.replaceIdsWithNamesInFormView(schema, view);
|
|
170
|
+
case "map":
|
|
171
|
+
return map.replaceIdsWithNamesInMapView(schema, view);
|
|
172
|
+
default:
|
|
173
|
+
return view;
|
|
174
|
+
}
|
|
175
|
+
};
|
|
176
|
+
|
|
177
|
+
export const getViewCardTypes = ({"fibery/meta": {items}}) => items.map(({query: {"q/from": type}}) => type);
|
package/lib/views.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Removes garbage from view's meta to reduce the size.
|
|
3
|
-
*/
|
|
4
|
-
export function collectGarbage(schema: any, view: any): any;
|
|
5
|
-
export function deleteExpressionWithNotFoundFieldsOrTypesInSmartFolder(schema: any, smartFolder: any): any;
|
|
6
|
-
export function deleteExpressionWithNotFoundFieldsOrTypesInView(schema: any, view: any, ensureAxisInvariant?: boolean): any;
|
|
7
|
-
export function fixContextExpressionWithBrokenPath(schema: any, view: any, defaultContextExpression: any): any;
|
|
8
|
-
export function fixUserSelectedUnits(schema: any, view: any): any;
|
|
9
|
-
export function getViewCardTypes({ "fibery/meta": { items } }: {
|
|
10
|
-
"fibery/meta": {
|
|
11
|
-
items: any;
|
|
12
|
-
};
|
|
13
|
-
}): any;
|
|
14
|
-
export function replaceIdsWithNamesInSmartFolder(schema: any, smartFolder: any): any;
|
|
15
|
-
export function replaceIdsWithNamesInView(schema: any, view: any): any;
|
|
16
|
-
export function replaceNamesWithIdsInSmartFolder(schema: any, smartFolder: any): any;
|
|
17
|
-
export function replaceNamesWithIdsInView(schema: any, view: any): any;
|