@saltcorn/data 0.8.0-beta.3 → 0.8.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/dist/app-locales/public/da.json +1 -1
- package/dist/base-plugin/actions.d.ts +1 -1
- package/dist/base-plugin/actions.d.ts.map +1 -1
- package/dist/base-plugin/actions.js +16 -3
- package/dist/base-plugin/actions.js.map +1 -1
- package/dist/base-plugin/fieldviews.d.ts.map +1 -1
- package/dist/base-plugin/fieldviews.js +10 -9
- package/dist/base-plugin/fieldviews.js.map +1 -1
- package/dist/base-plugin/fileviews.js +23 -20
- package/dist/base-plugin/fileviews.js.map +1 -1
- package/dist/base-plugin/index.d.ts +91 -87
- package/dist/base-plugin/index.d.ts.map +1 -1
- package/dist/base-plugin/types.d.ts +1 -1
- package/dist/base-plugin/types.d.ts.map +1 -1
- package/dist/base-plugin/types.js +35 -27
- package/dist/base-plugin/types.js.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.d.ts +1 -4
- package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.js +17 -5
- package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
- package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/feed.js +2 -3
- package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
- package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/filter.js +1 -1
- package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
- package/dist/base-plugin/viewtemplates/list.d.ts +4 -1
- package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/list.js +14 -8
- package/dist/base-plugin/viewtemplates/list.js.map +1 -1
- package/dist/base-plugin/viewtemplates/listshowlist.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/listshowlist.js.map +1 -1
- package/dist/base-plugin/viewtemplates/show.d.ts +6 -2
- package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/show.js +2 -2
- package/dist/base-plugin/viewtemplates/show.js.map +1 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.js +3 -3
- package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
- package/dist/coverage/lcov-report/block-navigation.d.ts +1 -1
- package/dist/coverage/lcov-report/block-navigation.js +65 -63
- package/dist/coverage/lcov-report/prettify.d.ts +1 -1
- package/dist/coverage/lcov-report/prettify.js +915 -383
- package/dist/coverage/lcov-report/sorter.d.ts +1 -1
- package/dist/coverage/lcov-report/sorter.js +164 -149
- package/dist/db/connect.js +4 -4
- package/dist/db/connect.js.map +1 -1
- package/dist/db/db.test.d.ts +1 -1
- package/dist/db/db.test.js +20 -20
- package/dist/db/state.d.ts +1 -0
- package/dist/db/state.d.ts.map +1 -1
- package/dist/db/state.js +1 -0
- package/dist/db/state.js.map +1 -1
- package/dist/diagram/node.d.ts +13 -13
- package/dist/diagram/node.js +14 -14
- package/dist/migrate.d.ts.map +1 -1
- package/dist/migrate.js +1 -0
- package/dist/migrate.js.map +1 -1
- package/dist/migrations/202210051058.d.ts.map +1 -1
- package/dist/migrations/202210051058.js +6 -2
- package/dist/migrations/202210051058.js.map +1 -1
- package/dist/models/config.d.ts.map +1 -1
- package/dist/models/config.js +5 -7
- package/dist/models/config.js.map +1 -1
- package/dist/models/discovery.d.ts.map +1 -1
- package/dist/models/discovery.js +4 -5
- package/dist/models/discovery.js.map +1 -1
- package/dist/models/disk_file.d.ts +118 -110
- package/dist/models/disk_file.js +220 -219
- package/dist/models/email.d.ts +3 -2
- package/dist/models/email.d.ts.map +1 -1
- package/dist/models/email.js +25 -13
- package/dist/models/email.js.map +1 -1
- package/dist/models/eventlog.d.ts.map +1 -1
- package/dist/models/eventlog.js +1 -1
- package/dist/models/eventlog.js.map +1 -1
- package/dist/models/field.d.ts +1 -0
- package/dist/models/field.d.ts.map +1 -1
- package/dist/models/field.js +17 -7
- package/dist/models/field.js.map +1 -1
- package/dist/models/form.d.ts +7 -0
- package/dist/models/form.d.ts.map +1 -1
- package/dist/models/form.js +23 -0
- package/dist/models/form.js.map +1 -1
- package/dist/models/index.d.ts +2 -2
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js.map +1 -1
- package/dist/models/plugin.d.ts.map +1 -1
- package/dist/models/plugin.js +1 -2
- package/dist/models/plugin.js.map +1 -1
- package/dist/models/table.d.ts.map +1 -1
- package/dist/models/table.js +3 -1
- package/dist/models/table.js.map +1 -1
- package/dist/models/user.d.ts.map +1 -1
- package/dist/models/user.js +5 -4
- package/dist/models/user.js.map +1 -1
- package/dist/models/view.d.ts.map +1 -1
- package/dist/models/view.js +12 -9
- package/dist/models/view.js.map +1 -1
- package/dist/package.json +116 -116
- package/dist/plugin-helper.d.ts.map +1 -1
- package/dist/plugin-helper.js +30 -35
- package/dist/plugin-helper.js.map +1 -1
- package/dist/plugin-testing.d.ts +4 -1
- package/dist/plugin-testing.d.ts.map +1 -1
- package/dist/plugin-testing.js +20 -9
- package/dist/plugin-testing.js.map +1 -1
- package/dist/tests/discover.test.js +25 -6
- package/dist/tests/discover.test.js.map +1 -1
- package/dist/tests/email.test.js +25 -31
- package/dist/tests/email.test.js.map +1 -1
- package/package.json +7 -7
- package/webpack.config.js +1 -1
package/dist/package.json
CHANGED
|
@@ -1,120 +1,120 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
2
|
+
"name": "@saltcorn/data",
|
|
3
|
+
"version": "0.7.2-beta.0",
|
|
4
|
+
"description": "Data models for Saltcorn, open-source no-code platform",
|
|
5
|
+
"homepage": "https://saltcorn.com",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"test": "jest tests --runInBand",
|
|
8
|
+
"tsc": "echo \"Error: no TypeScript support yet\"",
|
|
9
|
+
"clean": "echo \"Error: no TypeScript support yet\"",
|
|
10
|
+
"build": "webpack --mode development"
|
|
11
|
+
},
|
|
12
|
+
"author": "Tom Nielsen",
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"main": "dist/index.js",
|
|
15
|
+
"exports": {
|
|
16
|
+
".": "./dist/index.js",
|
|
17
|
+
"./*": "./dist/*.js",
|
|
18
|
+
"./base-plugin/*": "./dist/base-plugin/*.js",
|
|
19
|
+
"./base-plugin": "./dist/base-plugin/index.js",
|
|
20
|
+
"./base-plugin/viewtemplate/*": "./dist/base-plugin/viewtemplate/*.js",
|
|
21
|
+
"./db/": "./dist/db/index.js",
|
|
22
|
+
"./db": "./dist/db/index.js",
|
|
23
|
+
"./db/*": "./dist/db/*.js",
|
|
24
|
+
"./models/*": "./dist/models/*.js"
|
|
25
|
+
},
|
|
26
|
+
"typesVersions": {
|
|
27
|
+
"*": {
|
|
28
|
+
"*": [
|
|
29
|
+
"dist/*",
|
|
30
|
+
"dist/db/*"
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"files": [
|
|
35
|
+
"dist/**/*"
|
|
36
|
+
],
|
|
37
|
+
"optionalDependencies": {
|
|
38
|
+
"@saltcorn/postgres": "0.7.2-beta.0",
|
|
39
|
+
"@saltcorn/sqlite": "0.7.2-beta.0"
|
|
40
|
+
},
|
|
41
|
+
"dependencies": {
|
|
42
|
+
"@saltcorn/types": "0.7.2-beta.0",
|
|
43
|
+
"@saltcorn/markup": "0.7.2-beta.0",
|
|
44
|
+
"@saltcorn/db-common": "0.7.2-beta.0",
|
|
45
|
+
"@saltcorn/sqlite-mobile": "0.7.2-beta.0",
|
|
46
|
+
"acorn": "^8.0.3",
|
|
47
|
+
"astring": "^1.4.3",
|
|
48
|
+
"axios": "^0.26.1",
|
|
49
|
+
"bcryptjs": "^2.4.3",
|
|
50
|
+
"blockly": "^6.20210701.0",
|
|
51
|
+
"contractis": "^0.1.0",
|
|
52
|
+
"csvtojson": "^2.0.10",
|
|
53
|
+
"dateformat": "^3.0.3",
|
|
54
|
+
"dumb-passwords": "^0.2.1",
|
|
55
|
+
"email-validator": "^2.0.4",
|
|
56
|
+
"env-paths": "^2.2.0",
|
|
57
|
+
"estraverse": "^5.2.0",
|
|
58
|
+
"i18n": "^0.14.0",
|
|
59
|
+
"latest-version": "^5.1.0",
|
|
60
|
+
"moment": "^2.27.0",
|
|
61
|
+
"moment-timezone": "^0.5.33",
|
|
62
|
+
"node-fetch": "2.6.2",
|
|
63
|
+
"pluralize": "^8.0.0",
|
|
64
|
+
"tmp-promise": "^3.0.2",
|
|
65
|
+
"uuid": "^8.2.0",
|
|
66
|
+
"vm-browserify": "^1.1.2",
|
|
67
|
+
"buffer": "6.0.3",
|
|
68
|
+
"url": "0.11.0",
|
|
69
|
+
"util": "0.12.4",
|
|
70
|
+
"os-browserify": "0.3.0",
|
|
71
|
+
"path-browserify": "1.0.1",
|
|
72
|
+
"stream-browserify": "3.0.0",
|
|
73
|
+
"stream-http": "3.2.0",
|
|
74
|
+
"cordova-sqlite-storage": "^6.0.0",
|
|
75
|
+
"crypto-browserify": "3.12.0",
|
|
76
|
+
"https-browserify": "1.0.0",
|
|
77
|
+
"browserify-zlib": "0.2.0",
|
|
78
|
+
"nodemailer": "^6.4.17",
|
|
79
|
+
"mjml": "4.12.0"
|
|
80
|
+
},
|
|
81
|
+
"repository": "github:saltcorn/saltcorn",
|
|
82
|
+
"devDependencies": {
|
|
83
|
+
"@types/i18n": "^0.13.2",
|
|
84
|
+
"@types/bcryptjs": "^2.4.2",
|
|
85
|
+
"@types/csvtojson": "^2.0.0",
|
|
86
|
+
"@types/dateformat": "^5.0.0",
|
|
87
|
+
"@types/dumb-passwords": "^0.2.1",
|
|
88
|
+
"@types/estraverse": "^5.1.1",
|
|
89
|
+
"@types/jest": "^27.0.3",
|
|
90
|
+
"@types/mjml": "4.7.0",
|
|
91
|
+
"@types/node": "^16.11.12",
|
|
92
|
+
"@types/node-fetch": "2.5.12",
|
|
93
|
+
"@types/nodemailer": "^6.4.4",
|
|
94
|
+
"@types/uuid": "^8.3.3",
|
|
95
|
+
"chaos-guinea-pig": "^0.1.0",
|
|
96
|
+
"jest": "^27.1.0",
|
|
97
|
+
"ts-jest": "^27.1.0",
|
|
98
|
+
"typescript": "^4.4.4",
|
|
99
|
+
"webpack": "5.68.0",
|
|
100
|
+
"webpack-cli": "4.9.2"
|
|
101
|
+
},
|
|
102
|
+
"jest": {
|
|
103
|
+
"preset": "ts-jest",
|
|
104
|
+
"testEnvironment": "node",
|
|
105
|
+
"modulePathIgnorePatterns": [
|
|
106
|
+
".*\\.js$"
|
|
36
107
|
],
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
"@saltcorn/db-common": "0.7.2-beta.0",
|
|
45
|
-
"@saltcorn/sqlite-mobile": "0.7.2-beta.0",
|
|
46
|
-
"acorn": "^8.0.3",
|
|
47
|
-
"astring": "^1.4.3",
|
|
48
|
-
"axios": "^0.26.1",
|
|
49
|
-
"bcryptjs": "^2.4.3",
|
|
50
|
-
"blockly": "^6.20210701.0",
|
|
51
|
-
"contractis": "^0.1.0",
|
|
52
|
-
"csvtojson": "^2.0.10",
|
|
53
|
-
"dateformat": "^3.0.3",
|
|
54
|
-
"dumb-passwords": "^0.2.1",
|
|
55
|
-
"email-validator": "^2.0.4",
|
|
56
|
-
"env-paths": "^2.2.0",
|
|
57
|
-
"estraverse": "^5.2.0",
|
|
58
|
-
"i18n": "^0.14.0",
|
|
59
|
-
"latest-version": "^5.1.0",
|
|
60
|
-
"moment": "^2.27.0",
|
|
61
|
-
"moment-timezone": "^0.5.33",
|
|
62
|
-
"node-fetch": "2.6.2",
|
|
63
|
-
"pluralize": "^8.0.0",
|
|
64
|
-
"tmp-promise": "^3.0.2",
|
|
65
|
-
"uuid": "^8.2.0",
|
|
66
|
-
"vm-browserify": "^1.1.2",
|
|
67
|
-
"buffer": "6.0.3",
|
|
68
|
-
"url": "0.11.0",
|
|
69
|
-
"util": "0.12.4",
|
|
70
|
-
"os-browserify": "0.3.0",
|
|
71
|
-
"path-browserify": "1.0.1",
|
|
72
|
-
"stream-browserify": "3.0.0",
|
|
73
|
-
"stream-http": "3.2.0",
|
|
74
|
-
"cordova-sqlite-storage": "^6.0.0",
|
|
75
|
-
"crypto-browserify": "3.12.0",
|
|
76
|
-
"https-browserify": "1.0.0",
|
|
77
|
-
"browserify-zlib": "0.2.0",
|
|
78
|
-
"nodemailer": "^6.4.17",
|
|
79
|
-
"mjml": "4.12.0"
|
|
80
|
-
},
|
|
81
|
-
"repository": "github:saltcorn/saltcorn",
|
|
82
|
-
"devDependencies": {
|
|
83
|
-
"@types/i18n": "^0.13.2",
|
|
84
|
-
"@types/bcryptjs": "^2.4.2",
|
|
85
|
-
"@types/csvtojson": "^2.0.0",
|
|
86
|
-
"@types/dateformat": "^5.0.0",
|
|
87
|
-
"@types/dumb-passwords": "^0.2.1",
|
|
88
|
-
"@types/estraverse": "^5.1.1",
|
|
89
|
-
"@types/jest": "^27.0.3",
|
|
90
|
-
"@types/mjml": "4.7.0",
|
|
91
|
-
"@types/node": "^16.11.12",
|
|
92
|
-
"@types/node-fetch": "2.5.12",
|
|
93
|
-
"@types/nodemailer": "^6.4.4",
|
|
94
|
-
"@types/uuid": "^8.3.3",
|
|
95
|
-
"chaos-guinea-pig": "^0.1.0",
|
|
96
|
-
"jest": "^27.1.0",
|
|
97
|
-
"ts-jest": "^27.1.0",
|
|
98
|
-
"typescript": "^4.4.4",
|
|
99
|
-
"webpack": "5.68.0",
|
|
100
|
-
"webpack-cli": "4.9.2"
|
|
101
|
-
},
|
|
102
|
-
"jest": {
|
|
103
|
-
"preset": "ts-jest",
|
|
104
|
-
"testEnvironment": "node",
|
|
105
|
-
"modulePathIgnorePatterns": [
|
|
106
|
-
".*\\.js$"
|
|
107
|
-
],
|
|
108
|
-
"moduleNameMapper": {
|
|
109
|
-
"@saltcorn/sqlite/(.*)": "@saltcorn/sqlite/dist/$1",
|
|
110
|
-
"@saltcorn/db-common/(.*)": "@saltcorn/db-common/dist/$1",
|
|
111
|
-
"@saltcorn/data/(.*)": "@saltcorn/data/dist/$1",
|
|
112
|
-
"@saltcorn/types/(.*)": "@saltcorn/types/dist/$1",
|
|
113
|
-
"@saltcorn/markup$": "@saltcorn/markup/dist",
|
|
114
|
-
"@saltcorn/markup/(.*)": "@saltcorn/markup/dist/$1"
|
|
115
|
-
}
|
|
116
|
-
},
|
|
117
|
-
"publishConfig": {
|
|
118
|
-
"access": "public"
|
|
108
|
+
"moduleNameMapper": {
|
|
109
|
+
"@saltcorn/sqlite/(.*)": "@saltcorn/sqlite/dist/$1",
|
|
110
|
+
"@saltcorn/db-common/(.*)": "@saltcorn/db-common/dist/$1",
|
|
111
|
+
"@saltcorn/data/(.*)": "@saltcorn/data/dist/$1",
|
|
112
|
+
"@saltcorn/types/(.*)": "@saltcorn/types/dist/$1",
|
|
113
|
+
"@saltcorn/markup$": "@saltcorn/markup/dist",
|
|
114
|
+
"@saltcorn/markup/(.*)": "@saltcorn/markup/dist/$1"
|
|
119
115
|
}
|
|
116
|
+
},
|
|
117
|
+
"publishConfig": {
|
|
118
|
+
"access": "public"
|
|
119
|
+
}
|
|
120
120
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-helper.d.ts","sourceRoot":"","sources":["../plugin-helper.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-helper.d.ts","sourceRoot":"","sources":["../plugin-helper.js"],"names":[],"mappings":"AAuXA;;;;;;GAMG;AACH,8DALW,KAAK,GAAC,MAAM,GAGV,QAAQ,MAAM,EAAE,CAAC,CAgf7B;AA+FD;;;;;;;;GAQG;AACH,gDANW,MAAM,EAAE,UACR,KAAK,EAAE,gBAGL,MAAM,CAqIlB;AAzOD;;;;;;;GAOG;AACH,uCALW,KAAK,GAAC,MAAM,YACZ,MAAM,sBAEJ,QAAQ,MAAM,EAAE,CAAC,CAiC7B;AAED;;;;;;GAMG;AACH,wCAJW,KAAK,GAAC,MAAM,YACZ,MAAM,GACJ,QAAQ,MAAM,EAAE,CAAC,CAoB7B;AA2QD;;;;;;;;GAQG;AACH;IANyB,MAAM,EAApB,KAAK,EAAE;IACM,KAAK,EAAlB,MAAM;IACS,WAAW;IACd,KAAK,EAAjB,KAAK;IACH,MAAM,CAkJlB;AAlND;;;;;GAKG;AACH,yEAHW,MAAM,GACJ,MAAM,CAsClB;AA0KD;;;;;GAKG;AACH,iEAyGG;AA30CH;;;;;GAKG;AACH,2CAJW,KAAK,EAAE,cAEL,MAAM,CA6FlB;AA2CD;;;;;GAKG;AACH,0CAJW,KAAK,GAAC,MAAM,YACZ,MAAM;oBACqB,MAAM,EAAE;GAgG7C;AAwmCD;;;;;;GAMG;AACH,iCALW,MAAM,UACN,MAAM,EAAE,aAEN,MAAM,CAyBlB;AAED;;;;;GAKG;AACH,uCAJW,MAAM,UACN,MAAM,EAAE,GACN,OAAO,MAAE,CA4BrB;AA36CD;;;;GAIG;AACH,gEAFa,MAAM,CAclB;AAvGD;;;;;;;;;;;;;;;;GAgBG;AACH,gCAfW,MAAM,SACN,MAAM,oUAYJ,UAAQ,CAqEpB;AAuQD;;;;;GAKG;AACH,8CAJW,MAAM,SACN,MAAM,GACJ,QAAQ,MAAM,EAAE,CAAC,CAKC;AAxJ/B;;;;;;GAMG;AACH,0CALW,KAAK,EAAE,mCAGL,QAAQ,MAAM,CAAC,CAkC3B;AAmsCD;;;;GAIG;AAEH,kCAJW,MAAM,GACJ,MAAM,GAAC,SAAS,CAM5B;AAsJD;;;;;;GAMG;AACH,yDALW,MAAM,GAGJ,YAAU,CAiBtB;AAzGD;;;;;;GAMG;AACH,8EAHW,MAAM,EAAE,GACN,MAAM,CA4ElB;AA5gBD;;;;;GAKG;AACH,oGAkCC"}
|
package/dist/plugin-helper.js
CHANGED
|
@@ -228,10 +228,12 @@ const get_link_view_opts = async (table, viewname) => {
|
|
|
228
228
|
const all_views = await View.find({});
|
|
229
229
|
const all_tables = await Table.find({});
|
|
230
230
|
const table_id_to_name = {};
|
|
231
|
-
all_tables.forEach(t => {
|
|
232
|
-
|
|
231
|
+
all_tables.forEach((t) => {
|
|
232
|
+
table_id_to_name[t.id] = t.name;
|
|
233
|
+
});
|
|
234
|
+
const view_name_opts = all_views.map((v) => ({
|
|
233
235
|
label: `${v.name} [${v.viewtemplate} ${table_id_to_name[v.table_id] || ""}]`,
|
|
234
|
-
name: v.name
|
|
236
|
+
name: v.name,
|
|
235
237
|
}));
|
|
236
238
|
const view_relation_opts = {};
|
|
237
239
|
const link_view_opts = [];
|
|
@@ -241,14 +243,12 @@ const get_link_view_opts = async (table, viewname) => {
|
|
|
241
243
|
view_relation_opts[view] = [];
|
|
242
244
|
view_relation_opts[view].push({ value: name, label: relation });
|
|
243
245
|
};
|
|
244
|
-
own_link_views
|
|
245
|
-
.filter((v) => v.name !== viewname)
|
|
246
|
-
.forEach((v) => {
|
|
246
|
+
own_link_views.forEach((v) => {
|
|
247
247
|
push_view_option({
|
|
248
248
|
view: v.name,
|
|
249
249
|
label: `${v.name} [${v.viewtemplate} ${table.name}]`,
|
|
250
250
|
name: `Own:${v.name}`,
|
|
251
|
-
relation: table.name
|
|
251
|
+
relation: table.name,
|
|
252
252
|
});
|
|
253
253
|
});
|
|
254
254
|
const link_view_opts_push = (o) => {
|
|
@@ -263,7 +263,7 @@ const get_link_view_opts = async (table, viewname) => {
|
|
|
263
263
|
view: view.name,
|
|
264
264
|
name: `ChildList:${view.name}.${throughTable.name}.${through.name}.${related_table.name}.${relation.name}`,
|
|
265
265
|
label: `${view.name} [${view.viewtemplate} ${related_table.name}.${relation.name}.${through.name}]`,
|
|
266
|
-
relation: `${related_table.name}.${relation.name}.${through.name}
|
|
266
|
+
relation: `${related_table.name}.${relation.name}.${through.name}`,
|
|
267
267
|
});
|
|
268
268
|
}
|
|
269
269
|
else {
|
|
@@ -271,7 +271,7 @@ const get_link_view_opts = async (table, viewname) => {
|
|
|
271
271
|
view: view.name,
|
|
272
272
|
name: `ChildList:${view.name}.${related_table.name}.${relation.name}`,
|
|
273
273
|
label: `${view.name} [${view.viewtemplate} ${related_table.name}.${relation.name}]`,
|
|
274
|
-
relation: `${related_table.name}.${relation.name}
|
|
274
|
+
relation: `${related_table.name}.${relation.name}`,
|
|
275
275
|
});
|
|
276
276
|
}
|
|
277
277
|
}
|
|
@@ -283,7 +283,7 @@ const get_link_view_opts = async (table, viewname) => {
|
|
|
283
283
|
view: view.name,
|
|
284
284
|
name: `ParentShow:${view.name}.${related_table.name}.${relation.name}`,
|
|
285
285
|
label: `${view.name} [${view.viewtemplate} ${relation.name}.${related_table.name}]`,
|
|
286
|
-
relation: `${relation.name}.${related_table.name}
|
|
286
|
+
relation: `${relation.name}.${related_table.name}`,
|
|
287
287
|
});
|
|
288
288
|
}
|
|
289
289
|
}
|
|
@@ -294,7 +294,7 @@ const get_link_view_opts = async (table, viewname) => {
|
|
|
294
294
|
view: view.name,
|
|
295
295
|
name: `OneToOneShow:${view.name}.${related_table.name}.${relation.name}`,
|
|
296
296
|
label: `${view.name} [${view.viewtemplate} ${related_table.name}.${relation.label}]`,
|
|
297
|
-
relation: `${related_table.name}.${relation.label}
|
|
297
|
+
relation: `${related_table.name}.${relation.label}`,
|
|
298
298
|
});
|
|
299
299
|
}
|
|
300
300
|
}
|
|
@@ -304,7 +304,7 @@ const get_link_view_opts = async (table, viewname) => {
|
|
|
304
304
|
view: view.name,
|
|
305
305
|
label: `${view.name} [${view.viewtemplate}]`,
|
|
306
306
|
name: `Independent:${view.name}`,
|
|
307
|
-
relation: "None"
|
|
307
|
+
relation: "None",
|
|
308
308
|
});
|
|
309
309
|
});
|
|
310
310
|
return { link_view_opts, view_name_opts, view_relation_opts };
|
|
@@ -403,7 +403,7 @@ const field_picker_fields = async ({ table, viewname, req }) => {
|
|
|
403
403
|
const { child_field_list, child_relations } = await table.get_child_relations(true);
|
|
404
404
|
const aggStatOptions = {};
|
|
405
405
|
const agg_fieldviews = [];
|
|
406
|
-
Object.values(getState().types).forEach(t => {
|
|
406
|
+
Object.values(getState().types).forEach((t) => {
|
|
407
407
|
const fvnames = Object.entries(t.fieldviews)
|
|
408
408
|
.filter(([k, v]) => !v.isEdit && !v.isFilter)
|
|
409
409
|
.map(([k, v]) => k);
|
|
@@ -412,7 +412,7 @@ const field_picker_fields = async ({ table, viewname, req }) => {
|
|
|
412
412
|
label: __("Field view"),
|
|
413
413
|
type: "String",
|
|
414
414
|
attributes: {
|
|
415
|
-
options: fvnames
|
|
415
|
+
options: fvnames,
|
|
416
416
|
},
|
|
417
417
|
showIf: {
|
|
418
418
|
"agg_field|_@_1": t.name,
|
|
@@ -429,12 +429,13 @@ const field_picker_fields = async ({ table, viewname, req }) => {
|
|
|
429
429
|
showIf: {
|
|
430
430
|
type: "Aggregation",
|
|
431
431
|
"agg_field|_@_1": "Date",
|
|
432
|
-
agg_fieldview: "format"
|
|
433
|
-
}
|
|
432
|
+
agg_fieldview: "format",
|
|
433
|
+
},
|
|
434
434
|
},
|
|
435
435
|
];
|
|
436
436
|
const agg_field_opts = child_relations.map(({ table, key_field, through }) => {
|
|
437
|
-
const aggKey = (through ? `${through.name}->` :
|
|
437
|
+
const aggKey = (through ? `${through.name}->` : "") +
|
|
438
|
+
`${table.name}.${key_field.name}`;
|
|
438
439
|
aggStatOptions[aggKey] = [
|
|
439
440
|
"Count",
|
|
440
441
|
"Avg",
|
|
@@ -618,7 +619,7 @@ const field_picker_fields = async ({ table, viewname, req }) => {
|
|
|
618
619
|
required: true,
|
|
619
620
|
attributes: {
|
|
620
621
|
options: view_name_opts,
|
|
621
|
-
asideNext: true
|
|
622
|
+
asideNext: true,
|
|
622
623
|
},
|
|
623
624
|
showIf: { type: "ViewLink" },
|
|
624
625
|
},
|
|
@@ -628,8 +629,8 @@ const field_picker_fields = async ({ table, viewname, req }) => {
|
|
|
628
629
|
type: "String",
|
|
629
630
|
required: true,
|
|
630
631
|
attributes: {
|
|
631
|
-
//options: link_view_opts,
|
|
632
|
-
calcOptions: ["view_name", view_relation_opts]
|
|
632
|
+
//options: link_view_opts,
|
|
633
|
+
calcOptions: ["view_name", view_relation_opts],
|
|
633
634
|
},
|
|
634
635
|
showIf: { type: "ViewLink" },
|
|
635
636
|
},
|
|
@@ -790,7 +791,7 @@ const field_picker_fields = async ({ table, viewname, req }) => {
|
|
|
790
791
|
name: "col_width",
|
|
791
792
|
label: __("Column width"),
|
|
792
793
|
type: "Integer",
|
|
793
|
-
attributes: { asideNext: true }
|
|
794
|
+
attributes: { asideNext: true },
|
|
794
795
|
},
|
|
795
796
|
{
|
|
796
797
|
name: "col_width_units",
|
|
@@ -936,10 +937,7 @@ const picked_fields_to_query = (columns, fields, layout) => {
|
|
|
936
937
|
}
|
|
937
938
|
}
|
|
938
939
|
else if (column.type === "FormulaValue") {
|
|
939
|
-
freeVars = new Set([
|
|
940
|
-
...freeVars,
|
|
941
|
-
...freeVariables(column.formula),
|
|
942
|
-
]);
|
|
940
|
+
freeVars = new Set([...freeVars, ...freeVariables(column.formula)]);
|
|
943
941
|
}
|
|
944
942
|
else if (column.type === "ViewLink") {
|
|
945
943
|
if (column.view_label_formula)
|
|
@@ -987,7 +985,7 @@ const picked_fields_to_query = (columns, fields, layout) => {
|
|
|
987
985
|
where: column.aggwhere ? jsexprToWhere(column.aggwhere) : undefined,
|
|
988
986
|
field,
|
|
989
987
|
aggregate: column.stat,
|
|
990
|
-
through
|
|
988
|
+
through,
|
|
991
989
|
};
|
|
992
990
|
}
|
|
993
991
|
}
|
|
@@ -1019,11 +1017,8 @@ const picked_fields_to_query = (columns, fields, layout) => {
|
|
|
1019
1017
|
},
|
|
1020
1018
|
container(v) {
|
|
1021
1019
|
if (v.showIfFormula)
|
|
1022
|
-
freeVars = new Set([
|
|
1023
|
-
|
|
1024
|
-
...freeVariables(v.showIfFormula),
|
|
1025
|
-
]);
|
|
1026
|
-
}
|
|
1020
|
+
freeVars = new Set([...freeVars, ...freeVariables(v.showIfFormula)]);
|
|
1021
|
+
},
|
|
1027
1022
|
});
|
|
1028
1023
|
}
|
|
1029
1024
|
add_free_variables_to_joinfields(freeVars, joinFields, fields);
|
|
@@ -1482,13 +1477,13 @@ const json_list_to_external_table = (get_json_list, fields0) => {
|
|
|
1482
1477
|
const getRows = async (where = {}, selopts = {}) => {
|
|
1483
1478
|
let data_in = await get_json_list({ where, ...selopts });
|
|
1484
1479
|
const restricts = Object.entries(where);
|
|
1485
|
-
const sat = x => ([k, v]) => {
|
|
1480
|
+
const sat = (x) => ([k, v]) => {
|
|
1486
1481
|
if (Array.isArray(v))
|
|
1487
|
-
return v.every(v1 => sat(x)([k, v1]));
|
|
1482
|
+
return v.every((v1) => sat(x)([k, v1]));
|
|
1488
1483
|
else if (v?.lt)
|
|
1489
|
-
return x[k] < +
|
|
1484
|
+
return x[k] < +v.lt;
|
|
1490
1485
|
else if (v?.gt)
|
|
1491
|
-
return x[k] > +
|
|
1486
|
+
return x[k] > +v.gt;
|
|
1492
1487
|
else if (v?.ilike)
|
|
1493
1488
|
return (x[k] || "").includes(v.ilike);
|
|
1494
1489
|
else
|