@saltcorn/data 0.8.0-beta.4 → 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.
Files changed (112) hide show
  1. package/dist/app-locales/public/da.json +1 -1
  2. package/dist/base-plugin/actions.d.ts.map +1 -1
  3. package/dist/base-plugin/actions.js +4 -2
  4. package/dist/base-plugin/actions.js.map +1 -1
  5. package/dist/base-plugin/fieldviews.d.ts.map +1 -1
  6. package/dist/base-plugin/fieldviews.js +10 -9
  7. package/dist/base-plugin/fieldviews.js.map +1 -1
  8. package/dist/base-plugin/fileviews.js +23 -20
  9. package/dist/base-plugin/fileviews.js.map +1 -1
  10. package/dist/base-plugin/index.d.ts +165 -162
  11. package/dist/base-plugin/index.d.ts.map +1 -1
  12. package/dist/base-plugin/types.d.ts +1 -1
  13. package/dist/base-plugin/types.d.ts.map +1 -1
  14. package/dist/base-plugin/types.js +35 -27
  15. package/dist/base-plugin/types.js.map +1 -1
  16. package/dist/base-plugin/viewtemplates/edit.d.ts +1 -4
  17. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  18. package/dist/base-plugin/viewtemplates/edit.js +17 -5
  19. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  20. package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
  21. package/dist/base-plugin/viewtemplates/feed.js +2 -3
  22. package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
  23. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
  24. package/dist/base-plugin/viewtemplates/filter.js +1 -1
  25. package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
  26. package/dist/base-plugin/viewtemplates/list.d.ts +4 -1
  27. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  28. package/dist/base-plugin/viewtemplates/list.js +14 -8
  29. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  30. package/dist/base-plugin/viewtemplates/listshowlist.d.ts.map +1 -1
  31. package/dist/base-plugin/viewtemplates/listshowlist.js.map +1 -1
  32. package/dist/base-plugin/viewtemplates/show.d.ts +4 -1
  33. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  34. package/dist/base-plugin/viewtemplates/show.js +1 -1
  35. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  36. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  37. package/dist/base-plugin/viewtemplates/viewable_fields.js +3 -3
  38. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  39. package/dist/coverage/lcov-report/block-navigation.d.ts +1 -1
  40. package/dist/coverage/lcov-report/block-navigation.js +65 -63
  41. package/dist/coverage/lcov-report/prettify.d.ts +1 -1
  42. package/dist/coverage/lcov-report/prettify.js +915 -383
  43. package/dist/coverage/lcov-report/sorter.d.ts +1 -1
  44. package/dist/coverage/lcov-report/sorter.js +164 -149
  45. package/dist/db/connect.js +4 -4
  46. package/dist/db/connect.js.map +1 -1
  47. package/dist/db/db.test.d.ts +1 -1
  48. package/dist/db/db.test.js +20 -20
  49. package/dist/db/state.d.ts +1 -0
  50. package/dist/db/state.d.ts.map +1 -1
  51. package/dist/db/state.js +1 -0
  52. package/dist/db/state.js.map +1 -1
  53. package/dist/diagram/node.d.ts +13 -13
  54. package/dist/diagram/node.js +14 -14
  55. package/dist/migrate.d.ts.map +1 -1
  56. package/dist/migrate.js +1 -0
  57. package/dist/migrate.js.map +1 -1
  58. package/dist/migrations/202210051058.d.ts.map +1 -1
  59. package/dist/migrations/202210051058.js +6 -2
  60. package/dist/migrations/202210051058.js.map +1 -1
  61. package/dist/models/config.d.ts.map +1 -1
  62. package/dist/models/config.js +5 -7
  63. package/dist/models/config.js.map +1 -1
  64. package/dist/models/discovery.d.ts.map +1 -1
  65. package/dist/models/discovery.js +4 -5
  66. package/dist/models/discovery.js.map +1 -1
  67. package/dist/models/disk_file.d.ts +118 -110
  68. package/dist/models/disk_file.js +220 -219
  69. package/dist/models/email.d.ts +3 -2
  70. package/dist/models/email.d.ts.map +1 -1
  71. package/dist/models/email.js +25 -13
  72. package/dist/models/email.js.map +1 -1
  73. package/dist/models/eventlog.d.ts.map +1 -1
  74. package/dist/models/eventlog.js +1 -1
  75. package/dist/models/eventlog.js.map +1 -1
  76. package/dist/models/field.d.ts +1 -0
  77. package/dist/models/field.d.ts.map +1 -1
  78. package/dist/models/field.js +17 -7
  79. package/dist/models/field.js.map +1 -1
  80. package/dist/models/form.d.ts +7 -0
  81. package/dist/models/form.d.ts.map +1 -1
  82. package/dist/models/form.js +23 -0
  83. package/dist/models/form.js.map +1 -1
  84. package/dist/models/index.d.ts +2 -2
  85. package/dist/models/index.d.ts.map +1 -1
  86. package/dist/models/index.js.map +1 -1
  87. package/dist/models/plugin.d.ts.map +1 -1
  88. package/dist/models/plugin.js +1 -2
  89. package/dist/models/plugin.js.map +1 -1
  90. package/dist/models/table.d.ts.map +1 -1
  91. package/dist/models/table.js +3 -1
  92. package/dist/models/table.js.map +1 -1
  93. package/dist/models/user.d.ts.map +1 -1
  94. package/dist/models/user.js +5 -4
  95. package/dist/models/user.js.map +1 -1
  96. package/dist/models/view.d.ts.map +1 -1
  97. package/dist/models/view.js +12 -9
  98. package/dist/models/view.js.map +1 -1
  99. package/dist/package.json +116 -116
  100. package/dist/plugin-helper.d.ts.map +1 -1
  101. package/dist/plugin-helper.js +30 -35
  102. package/dist/plugin-helper.js.map +1 -1
  103. package/dist/plugin-testing.d.ts +4 -1
  104. package/dist/plugin-testing.d.ts.map +1 -1
  105. package/dist/plugin-testing.js +20 -9
  106. package/dist/plugin-testing.js.map +1 -1
  107. package/dist/tests/discover.test.js +25 -6
  108. package/dist/tests/discover.test.js.map +1 -1
  109. package/dist/tests/email.test.js +25 -31
  110. package/dist/tests/email.test.js.map +1 -1
  111. package/package.json +7 -7
  112. package/webpack.config.js +1 -1
package/dist/package.json CHANGED
@@ -1,120 +1,120 @@
1
1
  {
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/**/*"
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
- "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$"
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":"AA+WA;;;;;;GAMG;AACH,8DALW,KAAK,GAAC,MAAM,GAGV,QAAQ,MAAM,EAAE,CAAC,CAgf7B;AA+FD;;;;;;;;GAQG;AACH,gDANW,MAAM,EAAE,UACR,KAAK,EAAE,gBAGL,MAAM,CA4IlB;AAhPD;;;;;;;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;AAgRD;;;;;;;;GAQG;AACH;IANyB,MAAM,EAApB,KAAK,EAAE;IACM,KAAK,EAAlB,MAAM;IACS,WAAW;IACd,KAAK,EAAjB,KAAK;IACH,MAAM,CAkJlB;AAhND;;;;;GAKG;AACH,yEAHW,MAAM,GACJ,MAAM,CAoClB;AA0KD;;;;;GAKG;AACH,iEAyGK;AA90CL;;;;;GAKG;AACH,2CAJW,KAAK,EAAE,cAEL,MAAM,CA6FlB;AA2CD;;;;;GAKG;AACH,0CAJW,KAAK,GAAC,MAAM,YACZ,MAAM;oBACqB,MAAM,EAAE;GA8F7C;AA6mCD;;;;;;GAMG;AACH,iCALW,MAAM,UACN,MAAM,EAAE,aAEN,MAAM,CA0BlB;AAED;;;;;GAKG;AACH,uCAJW,MAAM,UACN,MAAM,EAAE,GACN,OAAO,MAAE,CA4BrB;AA/6CD;;;;GAIG;AACH,gEAFa,MAAM,CAclB;AAjGD;;;;;;;;;;;;;;;;GAgBG;AACH,gCAfW,MAAM,SACN,MAAM,oUAYJ,UAAQ,CA+DpB;AAqQD;;;;;GAKG;AACH,8CAJW,MAAM,SACN,MAAM,GACJ,QAAQ,MAAM,EAAE,CAAC,CAKC;AAtJ/B;;;;;;GAMG;AACH,0CALW,KAAK,EAAE,mCAGL,QAAQ,MAAM,CAAC,CAkC3B;AAssCD;;;;GAIG;AAEH,kCAJW,MAAM,GACJ,MAAM,GAAC,SAAS,CAM5B;AAwJD;;;;;;GAMG;AACH,yDALW,MAAM,GAGJ,YAAU,CAiBtB;AA1GD;;;;;;GAMG;AACH,8EAHW,MAAM,EAAE,GACN,MAAM,CA6ElB;AA5gBD;;;;;GAKG;AACH,oGAkCC"}
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"}
@@ -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 => { table_id_to_name[t.id] = t.name; });
232
- const view_name_opts = all_views.map(v => ({
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}->` : '') + `${table.name}.${key_field.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
- ...freeVars,
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] < +(v.lt);
1484
+ return x[k] < +v.lt;
1490
1485
  else if (v?.gt)
1491
- return x[k] > +(v.gt);
1486
+ return x[k] > +v.gt;
1492
1487
  else if (v?.ilike)
1493
1488
  return (x[k] || "").includes(v.ilike);
1494
1489
  else