@saltcorn/data 0.6.2-beta.0 → 0.6.2-beta.4

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 (555) hide show
  1. package/dist/base-plugin/actions.d.ts +141 -0
  2. package/dist/base-plugin/actions.d.ts.map +1 -0
  3. package/dist/base-plugin/actions.js +551 -0
  4. package/dist/base-plugin/actions.js.map +1 -0
  5. package/dist/base-plugin/base.test.d.ts +2 -0
  6. package/dist/base-plugin/base.test.d.ts.map +1 -0
  7. package/dist/base-plugin/base.test.js +15 -0
  8. package/dist/base-plugin/base.test.js.map +1 -0
  9. package/dist/base-plugin/fieldviews.d.ts +25 -0
  10. package/dist/base-plugin/fieldviews.d.ts.map +1 -0
  11. package/dist/base-plugin/fieldviews.js +159 -0
  12. package/dist/base-plugin/fieldviews.js.map +1 -0
  13. package/dist/base-plugin/fileviews.d.ts +52 -0
  14. package/dist/base-plugin/fileviews.d.ts.map +1 -0
  15. package/dist/base-plugin/fileviews.js +59 -0
  16. package/dist/base-plugin/fileviews.js.map +1 -0
  17. package/dist/base-plugin/index.d.ts +524 -0
  18. package/dist/base-plugin/index.d.ts.map +1 -0
  19. package/{base-plugin → dist/base-plugin}/index.js +22 -24
  20. package/dist/base-plugin/index.js.map +1 -0
  21. package/dist/base-plugin/types.d.ts +383 -0
  22. package/dist/base-plugin/types.d.ts.map +1 -0
  23. package/dist/base-plugin/types.js +1080 -0
  24. package/dist/base-plugin/types.js.map +1 -0
  25. package/dist/base-plugin/viewtemplates/edit.d.ts +116 -0
  26. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -0
  27. package/dist/base-plugin/viewtemplates/edit.js +561 -0
  28. package/dist/base-plugin/viewtemplates/edit.js.map +1 -0
  29. package/dist/base-plugin/viewtemplates/feed.d.ts +73 -0
  30. package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -0
  31. package/dist/base-plugin/viewtemplates/feed.js +348 -0
  32. package/dist/base-plugin/viewtemplates/feed.js.map +1 -0
  33. package/dist/base-plugin/viewtemplates/filter.d.ts +46 -0
  34. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -0
  35. package/dist/base-plugin/viewtemplates/filter.js +267 -0
  36. package/dist/base-plugin/viewtemplates/filter.js.map +1 -0
  37. package/dist/base-plugin/viewtemplates/list.d.ts +99 -0
  38. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -0
  39. package/dist/base-plugin/viewtemplates/list.js +471 -0
  40. package/dist/base-plugin/viewtemplates/list.js.map +1 -0
  41. package/dist/base-plugin/viewtemplates/listshowlist.d.ts +41 -0
  42. package/dist/base-plugin/viewtemplates/listshowlist.d.ts.map +1 -0
  43. package/dist/base-plugin/viewtemplates/listshowlist.js +248 -0
  44. package/dist/base-plugin/viewtemplates/listshowlist.js.map +1 -0
  45. package/dist/base-plugin/viewtemplates/room.d.ts +140 -0
  46. package/dist/base-plugin/viewtemplates/room.d.ts.map +1 -0
  47. package/dist/base-plugin/viewtemplates/room.js +469 -0
  48. package/dist/base-plugin/viewtemplates/room.js.map +1 -0
  49. package/dist/base-plugin/viewtemplates/show.d.ts +101 -0
  50. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -0
  51. package/dist/base-plugin/viewtemplates/show.js +562 -0
  52. package/dist/base-plugin/viewtemplates/show.js.map +1 -0
  53. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +108 -0
  54. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -0
  55. package/dist/base-plugin/viewtemplates/viewable_fields.js +563 -0
  56. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -0
  57. package/dist/contracts.d.ts +49 -0
  58. package/dist/contracts.d.ts.map +1 -0
  59. package/dist/contracts.js +212 -0
  60. package/dist/contracts.js.map +1 -0
  61. package/dist/coverage/lcov-report/block-navigation.d.ts +2 -0
  62. package/dist/coverage/lcov-report/block-navigation.d.ts.map +1 -0
  63. package/dist/coverage/lcov-report/block-navigation.js +66 -0
  64. package/dist/coverage/lcov-report/block-navigation.js.map +1 -0
  65. package/dist/coverage/lcov-report/prettify.d.ts +1 -0
  66. package/dist/coverage/lcov-report/prettify.d.ts.map +1 -0
  67. package/dist/coverage/lcov-report/prettify.js +478 -0
  68. package/dist/coverage/lcov-report/prettify.js.map +1 -0
  69. package/dist/coverage/lcov-report/sorter.d.ts +2 -0
  70. package/dist/coverage/lcov-report/sorter.d.ts.map +1 -0
  71. package/dist/coverage/lcov-report/sorter.js +141 -0
  72. package/dist/coverage/lcov-report/sorter.js.map +1 -0
  73. package/dist/db/connect.d.ts +40 -0
  74. package/dist/db/connect.d.ts.map +1 -0
  75. package/dist/db/connect.js +150 -0
  76. package/dist/db/connect.js.map +1 -0
  77. package/dist/db/db.test.d.ts +2 -0
  78. package/dist/db/db.test.d.ts.map +1 -0
  79. package/dist/db/db.test.js +28 -0
  80. package/dist/db/db.test.js.map +1 -0
  81. package/dist/db/fixtures.d.ts +8 -0
  82. package/dist/db/fixtures.d.ts.map +1 -0
  83. package/dist/db/fixtures.js +300 -0
  84. package/dist/db/fixtures.js.map +1 -0
  85. package/dist/db/index.d.ts +3 -0
  86. package/dist/db/index.d.ts.map +1 -0
  87. package/dist/db/index.js +41 -0
  88. package/dist/db/index.js.map +1 -0
  89. package/dist/db/reset_schema.d.ts +13 -0
  90. package/dist/db/reset_schema.d.ts.map +1 -0
  91. package/{db → dist/db}/reset_schema.js +45 -55
  92. package/dist/db/reset_schema.js.map +1 -0
  93. package/dist/db/state.d.ts +56 -0
  94. package/dist/db/state.d.ts.map +1 -0
  95. package/dist/db/state.js +608 -0
  96. package/dist/db/state.js.map +1 -0
  97. package/dist/index.d.ts +2 -0
  98. package/dist/index.d.ts.map +1 -0
  99. package/{index.js → dist/index.js} +2 -1
  100. package/dist/index.js.map +1 -0
  101. package/dist/migrate.d.ts +12 -0
  102. package/dist/migrate.d.ts.map +1 -0
  103. package/dist/migrate.js +94 -0
  104. package/dist/migrate.js.map +1 -0
  105. package/dist/migrations/202005141503.d.ts +2 -0
  106. package/dist/migrations/202005141503.d.ts.map +1 -0
  107. package/{migrations → dist/migrations}/202005141503.js +2 -1
  108. package/dist/migrations/202005141503.js.map +1 -0
  109. package/dist/migrations/202005241712.d.ts +2 -0
  110. package/dist/migrations/202005241712.d.ts.map +1 -0
  111. package/{migrations → dist/migrations}/202005241712.js +2 -1
  112. package/dist/migrations/202005241712.js.map +1 -0
  113. package/dist/migrations/202005251037.d.ts +2 -0
  114. package/dist/migrations/202005251037.d.ts.map +1 -0
  115. package/{migrations → dist/migrations}/202005251037.js +2 -1
  116. package/dist/migrations/202005251037.js.map +1 -0
  117. package/dist/migrations/202005282134.d.ts +2 -0
  118. package/dist/migrations/202005282134.d.ts.map +1 -0
  119. package/{migrations → dist/migrations}/202005282134.js +2 -1
  120. package/dist/migrations/202005282134.js.map +1 -0
  121. package/dist/migrations/202006022156.d.ts +2 -0
  122. package/dist/migrations/202006022156.d.ts.map +1 -0
  123. package/{migrations → dist/migrations}/202006022156.js +2 -1
  124. package/dist/migrations/202006022156.js.map +1 -0
  125. package/dist/migrations/202006051507.d.ts +2 -0
  126. package/dist/migrations/202006051507.d.ts.map +1 -0
  127. package/{migrations → dist/migrations}/202006051507.js +2 -1
  128. package/dist/migrations/202006051507.js.map +1 -0
  129. package/dist/migrations/202006240906.d.ts +2 -0
  130. package/dist/migrations/202006240906.d.ts.map +1 -0
  131. package/{migrations → dist/migrations}/202006240906.js +2 -1
  132. package/dist/migrations/202006240906.js.map +1 -0
  133. package/dist/migrations/202007091707.d.ts +2 -0
  134. package/dist/migrations/202007091707.d.ts.map +1 -0
  135. package/{migrations → dist/migrations}/202007091707.js +2 -1
  136. package/dist/migrations/202007091707.js.map +1 -0
  137. package/dist/migrations/202007202144.d.ts +2 -0
  138. package/dist/migrations/202007202144.d.ts.map +1 -0
  139. package/{migrations → dist/migrations}/202007202144.js +2 -1
  140. package/dist/migrations/202007202144.js.map +1 -0
  141. package/dist/migrations/202008031500.d.ts +2 -0
  142. package/dist/migrations/202008031500.d.ts.map +1 -0
  143. package/dist/migrations/202008031500.js +4 -0
  144. package/dist/migrations/202008031500.js.map +1 -0
  145. package/dist/migrations/202008051415.d.ts +2 -0
  146. package/dist/migrations/202008051415.d.ts.map +1 -0
  147. package/{migrations → dist/migrations}/202008051415.js +2 -1
  148. package/dist/migrations/202008051415.js.map +1 -0
  149. package/dist/migrations/202008121149.d.ts +3 -0
  150. package/dist/migrations/202008121149.d.ts.map +1 -0
  151. package/{migrations → dist/migrations}/202008121149.js +2 -2
  152. package/dist/migrations/202008121149.js.map +1 -0
  153. package/dist/migrations/202009112140.d.ts +3 -0
  154. package/dist/migrations/202009112140.d.ts.map +1 -0
  155. package/{migrations → dist/migrations}/202009112140.js +2 -2
  156. package/dist/migrations/202009112140.js.map +1 -0
  157. package/dist/migrations/202009181655.d.ts +2 -0
  158. package/dist/migrations/202009181655.d.ts.map +1 -0
  159. package/dist/migrations/202009181655.js +7 -0
  160. package/dist/migrations/202009181655.js.map +1 -0
  161. package/dist/migrations/202009221105.d.ts +2 -0
  162. package/dist/migrations/202009221105.d.ts.map +1 -0
  163. package/dist/migrations/202009221105.js +4 -0
  164. package/dist/migrations/202009221105.js.map +1 -0
  165. package/dist/migrations/202009231331.d.ts +2 -0
  166. package/dist/migrations/202009231331.d.ts.map +1 -0
  167. package/{migrations → dist/migrations}/202009231331.js +2 -1
  168. package/dist/migrations/202009231331.js.map +1 -0
  169. package/dist/migrations/202009301531.d.ts +2 -0
  170. package/dist/migrations/202009301531.d.ts.map +1 -0
  171. package/dist/migrations/202009301531.js +8 -0
  172. package/dist/migrations/202009301531.js.map +1 -0
  173. package/dist/migrations/202010231444.d.ts +2 -0
  174. package/dist/migrations/202010231444.d.ts.map +1 -0
  175. package/dist/migrations/202010231444.js +4 -0
  176. package/dist/migrations/202010231444.js.map +1 -0
  177. package/dist/migrations/202010251412.d.ts +2 -0
  178. package/dist/migrations/202010251412.d.ts.map +1 -0
  179. package/dist/migrations/202010251412.js +10 -0
  180. package/dist/migrations/202010251412.js.map +1 -0
  181. package/dist/migrations/202011021749.d.ts +2 -0
  182. package/dist/migrations/202011021749.d.ts.map +1 -0
  183. package/{migrations → dist/migrations}/202011021749.js +2 -1
  184. package/dist/migrations/202011021749.js.map +1 -0
  185. package/dist/migrations/202011051353.d.ts +2 -0
  186. package/dist/migrations/202011051353.d.ts.map +1 -0
  187. package/{migrations → dist/migrations}/202011051353.js +2 -1
  188. package/dist/migrations/202011051353.js.map +1 -0
  189. package/dist/migrations/202011111127.d.ts +2 -0
  190. package/dist/migrations/202011111127.d.ts.map +1 -0
  191. package/{migrations → dist/migrations}/202011111127.js +2 -1
  192. package/dist/migrations/202011111127.js.map +1 -0
  193. package/dist/migrations/202012011203.d.ts +2 -0
  194. package/dist/migrations/202012011203.d.ts.map +1 -0
  195. package/{migrations → dist/migrations}/202012011203.js +2 -1
  196. package/dist/migrations/202012011203.js.map +1 -0
  197. package/dist/migrations/202012100841.d.ts +2 -0
  198. package/dist/migrations/202012100841.d.ts.map +1 -0
  199. package/{migrations → dist/migrations}/202012100841.js +2 -1
  200. package/dist/migrations/202012100841.js.map +1 -0
  201. package/dist/migrations/202012281835.d.ts +2 -0
  202. package/dist/migrations/202012281835.d.ts.map +1 -0
  203. package/{migrations → dist/migrations}/202012281835.js +2 -1
  204. package/dist/migrations/202012281835.js.map +1 -0
  205. package/dist/migrations/202101061051.d.ts +2 -0
  206. package/dist/migrations/202101061051.d.ts.map +1 -0
  207. package/{migrations → dist/migrations}/202101061051.js +2 -1
  208. package/dist/migrations/202101061051.js.map +1 -0
  209. package/dist/migrations/202101141128.d.ts +2 -0
  210. package/dist/migrations/202101141128.d.ts.map +1 -0
  211. package/dist/migrations/202101141128.js +4 -0
  212. package/dist/migrations/202101141128.js.map +1 -0
  213. package/dist/migrations/202102091312.d.ts +3 -0
  214. package/dist/migrations/202102091312.d.ts.map +1 -0
  215. package/dist/migrations/202102091312.js +19 -0
  216. package/dist/migrations/202102091312.js.map +1 -0
  217. package/dist/migrations/202102101624.d.ts +2 -0
  218. package/dist/migrations/202102101624.d.ts.map +1 -0
  219. package/dist/migrations/202102101624.js +7 -0
  220. package/dist/migrations/202102101624.js.map +1 -0
  221. package/dist/migrations/202102172148.d.ts +2 -0
  222. package/dist/migrations/202102172148.d.ts.map +1 -0
  223. package/{migrations → dist/migrations}/202102172148.js +2 -2
  224. package/dist/migrations/202102172148.js.map +1 -0
  225. package/dist/migrations/202102261650.d.ts +2 -0
  226. package/dist/migrations/202102261650.d.ts.map +1 -0
  227. package/dist/migrations/202102261650.js +7 -0
  228. package/dist/migrations/202102261650.js.map +1 -0
  229. package/dist/migrations/202106102347.d.ts +2 -0
  230. package/dist/migrations/202106102347.d.ts.map +1 -0
  231. package/{migrations → dist/migrations}/202106102347.js +2 -3
  232. package/dist/migrations/202106102347.js.map +1 -0
  233. package/dist/migrations/202106112120.d.ts +2 -0
  234. package/dist/migrations/202106112120.d.ts.map +1 -0
  235. package/{migrations → dist/migrations}/202106112120.js +2 -3
  236. package/dist/migrations/202106112120.js.map +1 -0
  237. package/dist/migrations/202106120012.d.ts +2 -0
  238. package/dist/migrations/202106120012.d.ts.map +1 -0
  239. package/{migrations → dist/migrations}/202106120012.js +2 -3
  240. package/dist/migrations/202106120012.js.map +1 -0
  241. package/dist/migrations/202106120220.d.ts +2 -0
  242. package/dist/migrations/202106120220.d.ts.map +1 -0
  243. package/{migrations → dist/migrations}/202106120220.js +2 -4
  244. package/dist/migrations/202106120220.js.map +1 -0
  245. package/dist/migrations/202106121701.d.ts +2 -0
  246. package/dist/migrations/202106121701.d.ts.map +1 -0
  247. package/{migrations → dist/migrations}/202106121701.js +2 -3
  248. package/dist/migrations/202106121701.js.map +1 -0
  249. package/dist/migrations/202106121703.d.ts +3 -0
  250. package/dist/migrations/202106121703.d.ts.map +1 -0
  251. package/{migrations → dist/migrations}/202106121703.js +2 -3
  252. package/dist/migrations/202106121703.js.map +1 -0
  253. package/dist/migrations/202106251126.d.ts +2 -0
  254. package/dist/migrations/202106251126.d.ts.map +1 -0
  255. package/dist/migrations/202106251126.js +6 -0
  256. package/dist/migrations/202106251126.js.map +1 -0
  257. package/dist/migrations/202107281619.d.ts +2 -0
  258. package/dist/migrations/202107281619.d.ts.map +1 -0
  259. package/{migrations → dist/migrations}/202107281619.js +2 -1
  260. package/dist/migrations/202107281619.js.map +1 -0
  261. package/dist/migrations/202107302158.d.ts +3 -0
  262. package/dist/migrations/202107302158.d.ts.map +1 -0
  263. package/{migrations → dist/migrations}/202107302158.js +2 -3
  264. package/dist/migrations/202107302158.js.map +1 -0
  265. package/dist/migrations/202108022257.d.ts +2 -0
  266. package/dist/migrations/202108022257.d.ts.map +1 -0
  267. package/{migrations → dist/migrations}/202108022257.js +3 -4
  268. package/dist/migrations/202108022257.js.map +1 -0
  269. package/dist/migrations/202109201624.d.ts +2 -0
  270. package/dist/migrations/202109201624.d.ts.map +1 -0
  271. package/{migrations → dist/migrations}/202109201624.js +2 -1
  272. package/dist/migrations/202109201624.js.map +1 -0
  273. package/dist/migrations/202109301031.d.ts +3 -0
  274. package/dist/migrations/202109301031.d.ts.map +1 -0
  275. package/{migrations → dist/migrations}/202109301031.js +2 -2
  276. package/dist/migrations/202109301031.js.map +1 -0
  277. package/dist/migrations/202111290253.d.ts +3 -0
  278. package/dist/migrations/202111290253.d.ts.map +1 -0
  279. package/dist/migrations/202111290253.js +5 -0
  280. package/dist/migrations/202111290253.js.map +1 -0
  281. package/dist/models/backup.d.ts +22 -0
  282. package/dist/models/backup.d.ts.map +1 -0
  283. package/{models → dist/models}/backup.js +95 -192
  284. package/dist/models/backup.js.map +1 -0
  285. package/dist/models/config.d.ts +180 -0
  286. package/dist/models/config.d.ts.map +1 -0
  287. package/dist/models/config.js +758 -0
  288. package/dist/models/config.js.map +1 -0
  289. package/dist/models/crash.d.ts +74 -0
  290. package/dist/models/crash.d.ts.map +1 -0
  291. package/dist/models/crash.js +118 -0
  292. package/dist/models/crash.js.map +1 -0
  293. package/dist/models/discovery.d.ts +28 -0
  294. package/dist/models/discovery.d.ts.map +1 -0
  295. package/dist/models/discovery.js +163 -0
  296. package/dist/models/discovery.js.map +1 -0
  297. package/dist/models/email.d.ts +16 -0
  298. package/dist/models/email.d.ts.map +1 -0
  299. package/dist/models/email.js +90 -0
  300. package/dist/models/email.js.map +1 -0
  301. package/dist/models/eventlog.d.ts +77 -0
  302. package/dist/models/eventlog.d.ts.map +1 -0
  303. package/dist/models/eventlog.js +132 -0
  304. package/dist/models/eventlog.js.map +1 -0
  305. package/dist/models/expression.d.ts +54 -0
  306. package/dist/models/expression.d.ts.map +1 -0
  307. package/dist/models/expression.js +274 -0
  308. package/dist/models/expression.js.map +1 -0
  309. package/dist/models/field.d.ts +217 -0
  310. package/dist/models/field.d.ts.map +1 -0
  311. package/dist/models/field.js +619 -0
  312. package/dist/models/field.js.map +1 -0
  313. package/dist/models/fieldrepeat.d.ts +49 -0
  314. package/dist/models/fieldrepeat.d.ts.map +1 -0
  315. package/dist/models/fieldrepeat.js +88 -0
  316. package/dist/models/fieldrepeat.js.map +1 -0
  317. package/dist/models/file.d.ts +122 -0
  318. package/dist/models/file.d.ts.map +1 -0
  319. package/dist/models/file.js +224 -0
  320. package/dist/models/file.js.map +1 -0
  321. package/dist/models/form.d.ts +82 -0
  322. package/dist/models/form.d.ts.map +1 -0
  323. package/dist/models/form.js +163 -0
  324. package/dist/models/form.js.map +1 -0
  325. package/dist/models/index.d.ts +1 -0
  326. package/dist/models/index.d.ts.map +1 -0
  327. package/{models → dist/models}/index.js +42 -42
  328. package/dist/models/index.js.map +1 -0
  329. package/dist/models/layout.d.ts +34 -0
  330. package/dist/models/layout.d.ts.map +1 -0
  331. package/dist/models/layout.js +153 -0
  332. package/dist/models/layout.js.map +1 -0
  333. package/dist/models/library.d.ts +50 -0
  334. package/dist/models/library.d.ts.map +1 -0
  335. package/dist/models/library.js +129 -0
  336. package/dist/models/library.js.map +1 -0
  337. package/dist/models/pack.d.ts +89 -0
  338. package/dist/models/pack.d.ts.map +1 -0
  339. package/dist/models/pack.js +390 -0
  340. package/dist/models/pack.js.map +1 -0
  341. package/dist/models/page.d.ts +101 -0
  342. package/dist/models/page.d.ts.map +1 -0
  343. package/dist/models/page.js +223 -0
  344. package/dist/models/page.js.map +1 -0
  345. package/dist/models/plugin.d.ts +100 -0
  346. package/dist/models/plugin.d.ts.map +1 -0
  347. package/dist/models/plugin.js +204 -0
  348. package/dist/models/plugin.js.map +1 -0
  349. package/dist/models/random.d.ts +24 -0
  350. package/dist/models/random.d.ts.map +1 -0
  351. package/dist/models/random.js +186 -0
  352. package/dist/models/random.js.map +1 -0
  353. package/dist/models/role.d.ts +42 -0
  354. package/dist/models/role.d.ts.map +1 -0
  355. package/dist/models/role.js +64 -0
  356. package/dist/models/role.js.map +1 -0
  357. package/dist/models/scheduler.d.ts +18 -0
  358. package/dist/models/scheduler.d.ts.map +1 -0
  359. package/dist/models/scheduler.js +159 -0
  360. package/dist/models/scheduler.js.map +1 -0
  361. package/dist/models/table.d.ts +326 -0
  362. package/dist/models/table.d.ts.map +1 -0
  363. package/dist/models/table.js +1006 -0
  364. package/dist/models/table.js.map +1 -0
  365. package/dist/models/table_constraints.d.ts +69 -0
  366. package/dist/models/table_constraints.d.ts.map +1 -0
  367. package/dist/models/table_constraints.js +118 -0
  368. package/dist/models/table_constraints.js.map +1 -0
  369. package/dist/models/tenant.d.ts +55 -0
  370. package/dist/models/tenant.d.ts.map +1 -0
  371. package/{models → dist/models}/tenant.js +40 -63
  372. package/dist/models/tenant.js.map +1 -0
  373. package/dist/models/trigger.d.ts +133 -0
  374. package/dist/models/trigger.d.ts.map +1 -0
  375. package/dist/models/trigger.js +292 -0
  376. package/dist/models/trigger.js.map +1 -0
  377. package/dist/models/user.d.ts +235 -0
  378. package/dist/models/user.d.ts.map +1 -0
  379. package/dist/models/user.js +434 -0
  380. package/dist/models/user.js.map +1 -0
  381. package/dist/models/view.d.ts +204 -0
  382. package/dist/models/view.d.ts.map +1 -0
  383. package/dist/models/view.js +497 -0
  384. package/dist/models/view.js.map +1 -0
  385. package/dist/models/workflow.d.ts +48 -0
  386. package/dist/models/workflow.d.ts.map +1 -0
  387. package/dist/models/workflow.js +190 -0
  388. package/dist/models/workflow.js.map +1 -0
  389. package/dist/plugin-helper.d.ts +145 -0
  390. package/dist/plugin-helper.d.ts.map +1 -0
  391. package/dist/plugin-helper.js +1158 -0
  392. package/dist/plugin-helper.js.map +1 -0
  393. package/dist/plugin-testing.d.ts +3 -0
  394. package/dist/plugin-testing.d.ts.map +1 -0
  395. package/dist/plugin-testing.js +120 -0
  396. package/dist/plugin-testing.js.map +1 -0
  397. package/dist/tests/actions.test.d.ts +2 -0
  398. package/dist/tests/actions.test.d.ts.map +1 -0
  399. package/dist/tests/actions.test.js +205 -0
  400. package/dist/tests/actions.test.js.map +1 -0
  401. package/dist/tests/auxtest.test.d.ts +2 -0
  402. package/dist/tests/auxtest.test.d.ts.map +1 -0
  403. package/dist/tests/auxtest.test.js +48 -0
  404. package/dist/tests/auxtest.test.js.map +1 -0
  405. package/dist/tests/backup.test.d.ts +2 -0
  406. package/dist/tests/backup.test.d.ts.map +1 -0
  407. package/dist/tests/backup.test.js +88 -0
  408. package/dist/tests/backup.test.js.map +1 -0
  409. package/dist/tests/calc.test.d.ts +2 -0
  410. package/dist/tests/calc.test.d.ts.map +1 -0
  411. package/dist/tests/calc.test.js +231 -0
  412. package/dist/tests/calc.test.js.map +1 -0
  413. package/dist/tests/config.test.d.ts +2 -0
  414. package/dist/tests/config.test.d.ts.map +1 -0
  415. package/dist/tests/config.test.js +83 -0
  416. package/dist/tests/config.test.js.map +1 -0
  417. package/dist/tests/discover.test.d.ts +2 -0
  418. package/dist/tests/discover.test.d.ts.map +1 -0
  419. package/dist/tests/discover.test.js +106 -0
  420. package/dist/tests/discover.test.js.map +1 -0
  421. package/dist/tests/exact_views.test.d.ts +2 -0
  422. package/dist/tests/exact_views.test.d.ts.map +1 -0
  423. package/dist/tests/exact_views.test.js +511 -0
  424. package/dist/tests/exact_views.test.js.map +1 -0
  425. package/dist/tests/field.test.d.ts +2 -0
  426. package/dist/tests/field.test.d.ts.map +1 -0
  427. package/dist/tests/field.test.js +237 -0
  428. package/dist/tests/field.test.js.map +1 -0
  429. package/dist/tests/form.test.d.ts +2 -0
  430. package/dist/tests/form.test.d.ts.map +1 -0
  431. package/dist/tests/form.test.js +191 -0
  432. package/dist/tests/form.test.js.map +1 -0
  433. package/dist/tests/mocks.d.ts +111 -0
  434. package/dist/tests/mocks.d.ts.map +1 -0
  435. package/dist/tests/mocks.js +165 -0
  436. package/dist/tests/mocks.js.map +1 -0
  437. package/dist/tests/models.test.d.ts +2 -0
  438. package/dist/tests/models.test.d.ts.map +1 -0
  439. package/dist/tests/models.test.js +210 -0
  440. package/dist/tests/models.test.js.map +1 -0
  441. package/dist/tests/pack.test.d.ts +2 -0
  442. package/dist/tests/pack.test.d.ts.map +1 -0
  443. package/dist/tests/pack.test.js +331 -0
  444. package/dist/tests/pack.test.js.map +1 -0
  445. package/dist/tests/plugin.test.d.ts +2 -0
  446. package/dist/tests/plugin.test.d.ts.map +1 -0
  447. package/dist/tests/plugin.test.js +53 -0
  448. package/dist/tests/plugin.test.js.map +1 -0
  449. package/dist/tests/random.test.d.ts +2 -0
  450. package/dist/tests/random.test.d.ts.map +1 -0
  451. package/dist/tests/random.test.js +138 -0
  452. package/dist/tests/random.test.js.map +1 -0
  453. package/dist/tests/table.test.d.ts +2 -0
  454. package/dist/tests/table.test.d.ts.map +1 -0
  455. package/dist/tests/table.test.js +1048 -0
  456. package/dist/tests/table.test.js.map +1 -0
  457. package/dist/tests/tenant.test.d.ts +2 -0
  458. package/dist/tests/tenant.test.d.ts.map +1 -0
  459. package/dist/tests/tenant.test.js +45 -0
  460. package/dist/tests/tenant.test.js.map +1 -0
  461. package/dist/tests/user.test.d.ts +2 -0
  462. package/dist/tests/user.test.d.ts.map +1 -0
  463. package/dist/tests/user.test.js +190 -0
  464. package/dist/tests/user.test.js.map +1 -0
  465. package/dist/tests/view.test.d.ts +2 -0
  466. package/dist/tests/view.test.d.ts.map +1 -0
  467. package/dist/tests/view.test.js +238 -0
  468. package/dist/tests/view.test.js.map +1 -0
  469. package/dist/tests/workflow.test.d.ts +2 -0
  470. package/dist/tests/workflow.test.d.ts.map +1 -0
  471. package/dist/tests/workflow.test.js +115 -0
  472. package/dist/tests/workflow.test.js.map +1 -0
  473. package/dist/tsconfig.ref.tsbuildinfo +1 -0
  474. package/dist/utils.d.ts +26 -0
  475. package/dist/utils.d.ts.map +1 -0
  476. package/dist/utils.js +124 -0
  477. package/dist/utils.js.map +1 -0
  478. package/package.json +32 -8
  479. package/base-plugin/actions.js +0 -629
  480. package/base-plugin/base.test.js +0 -15
  481. package/base-plugin/fieldviews.js +0 -197
  482. package/base-plugin/fileviews.js +0 -65
  483. package/base-plugin/types.js +0 -1154
  484. package/base-plugin/viewtemplates/edit.js +0 -669
  485. package/base-plugin/viewtemplates/feed.js +0 -434
  486. package/base-plugin/viewtemplates/filter.js +0 -358
  487. package/base-plugin/viewtemplates/list.js +0 -575
  488. package/base-plugin/viewtemplates/listshowlist.js +0 -292
  489. package/base-plugin/viewtemplates/room.js +0 -652
  490. package/base-plugin/viewtemplates/show.js +0 -689
  491. package/base-plugin/viewtemplates/viewable_fields.js +0 -713
  492. package/contracts.js +0 -311
  493. package/db/connect.js +0 -151
  494. package/db/db.test.js +0 -33
  495. package/db/fixtures.js +0 -303
  496. package/db/index.js +0 -63
  497. package/db/state.js +0 -674
  498. package/migrate.js +0 -99
  499. package/migrations/202008031500.js +0 -4
  500. package/migrations/202009181655.js +0 -6
  501. package/migrations/202009221105.js +0 -4
  502. package/migrations/202009301531.js +0 -7
  503. package/migrations/202010231444.js +0 -4
  504. package/migrations/202010251412.js +0 -9
  505. package/migrations/202101141128.js +0 -4
  506. package/migrations/202102091312.js +0 -19
  507. package/migrations/202102101624.js +0 -5
  508. package/migrations/202102261650.js +0 -6
  509. package/migrations/202106251126.js +0 -5
  510. package/models/config.js +0 -680
  511. package/models/crash.js +0 -126
  512. package/models/discovery.js +0 -195
  513. package/models/email.js +0 -92
  514. package/models/eventlog.js +0 -146
  515. package/models/expression.js +0 -276
  516. package/models/field.js +0 -746
  517. package/models/fieldrepeat.js +0 -96
  518. package/models/file.js +0 -234
  519. package/models/form.js +0 -169
  520. package/models/layout.js +0 -146
  521. package/models/library.js +0 -135
  522. package/models/pack.js +0 -466
  523. package/models/page.js +0 -255
  524. package/models/plugin.js +0 -219
  525. package/models/random.js +0 -206
  526. package/models/role.js +0 -94
  527. package/models/scheduler.js +0 -163
  528. package/models/table.js +0 -1211
  529. package/models/table_constraints.js +0 -133
  530. package/models/trigger.js +0 -327
  531. package/models/user.js +0 -503
  532. package/models/view.js +0 -622
  533. package/models/workflow.js +0 -205
  534. package/plugin-helper.js +0 -1311
  535. package/plugin-testing.js +0 -124
  536. package/tests/actions.test.js +0 -232
  537. package/tests/auxtest.test.js +0 -52
  538. package/tests/backup.test.js +0 -92
  539. package/tests/calc.test.js +0 -243
  540. package/tests/config.test.js +0 -91
  541. package/tests/discover.test.js +0 -114
  542. package/tests/exact_views.test.js +0 -526
  543. package/tests/field.test.js +0 -253
  544. package/tests/form.test.js +0 -198
  545. package/tests/mocks.js +0 -173
  546. package/tests/models.test.js +0 -221
  547. package/tests/pack.test.js +0 -350
  548. package/tests/plugin.test.js +0 -59
  549. package/tests/random.test.js +0 -154
  550. package/tests/table.test.js +0 -1091
  551. package/tests/tenant.test.js +0 -56
  552. package/tests/user.test.js +0 -196
  553. package/tests/view.test.js +0 -251
  554. package/tests/workflow.test.js +0 -119
  555. package/utils.js +0 -137
@@ -0,0 +1,108 @@
1
+ /**
2
+ * @function
3
+ * @param {string} viewname
4
+ * @param {Table|object} table
5
+ * @param {Fields[]} fields
6
+ * @param {object[]} columns
7
+ * @param {boolean} isShow
8
+ * @param {object} req
9
+ * @param {*} __
10
+ * @returns {object[]}
11
+ */
12
+ export const get_viewable_fields: any;
13
+ /**
14
+ * @function
15
+ * @param {string} viewname
16
+ * @param {Table|object} table
17
+ * @param {string} action_name
18
+ * @param {object} r
19
+ * @param {string} colId missing in contract
20
+ * @param {colIdNm} colIdNm missing in contract
21
+ * @returns {any}
22
+ */
23
+ export const action_url: any;
24
+ /**
25
+ * @param {string} url
26
+ * @param {object} req
27
+ * @param {object} opts
28
+ * @param {string} opts.action_name
29
+ * @param {string} opts.action_label
30
+ * @param {*} opts.confirm
31
+ * @param {*} opts.rndid
32
+ * @param {string} opts.action_style
33
+ * @param {number} opts.action_size
34
+ * @param {*} opts.action_icon
35
+ * @param {string} opts.action_bgcol
36
+ * @param {string} opts.action_bordercol
37
+ * @param {string} opts.action_textcol
38
+ * @param {*} __
39
+ * @returns {object}
40
+ */
41
+ export function action_link(url: string, req: object, { action_name, action_label, confirm, rndid, action_style, action_size, action_icon, action_bgcol, action_bordercol, action_textcol, }: {
42
+ action_name: string;
43
+ action_label: string;
44
+ confirm: any;
45
+ rndid: any;
46
+ action_style: string;
47
+ action_size: number;
48
+ action_icon: any;
49
+ action_bgcol: string;
50
+ action_bordercol: string;
51
+ action_textcol: string;
52
+ }, __?: any): object;
53
+ /**
54
+ * @function
55
+ * @param {object} opts
56
+ * @param {string} opts.view,
57
+ * @param {object} opts.view_label missing in contract
58
+ * @param {object} opts.in_modal
59
+ * @param {object} opts.view_label_formula
60
+ * @param {string} [opts.link_style = ""]
61
+ * @param {string} [opts.link_size = ""]
62
+ * @param {string} [opts.link_icon = ""]
63
+ * @param {string} [opts.textStyle = ""]
64
+ * @param {string} [opts.link_bgcol]
65
+ * @param {string} [opts.link_bordercol]
66
+ * @param {string} [opts.link_textcol]
67
+ * @param {Field[]} fields
68
+ * @returns {object}
69
+ */
70
+ export const view_linker: any;
71
+ /**
72
+ * @param {string} s
73
+ * @returns {object}
74
+ */
75
+ export function parse_view_select(s: string): object;
76
+ /**
77
+ * @function
78
+ * @param {Field[]} fields
79
+ * @param {object} state
80
+ * @param {boolean} [fuzzyStrings]
81
+ * @returns {object}
82
+ */
83
+ export const splitUniques: any;
84
+ /**
85
+ * @param {object} table
86
+ * @param {string} viewname
87
+ * @param {object[]} [columns]
88
+ * @param {object} layout0
89
+ * @param {boolean} id
90
+ * @param {object} req
91
+ * @returns {Promise<Form>}
92
+ */
93
+ export function getForm(table: object, viewname: string, columns?: object[] | undefined, layout0: object, id: boolean, req: object): Promise<Form>;
94
+ /**
95
+ * @param {object} table
96
+ * @param {object} req
97
+ * @param {object} fixed
98
+ * @returns {Promise<object>}
99
+ */
100
+ export function fill_presets(table: object, req: object, fixed: object): Promise<object>;
101
+ /**
102
+ * @function
103
+ * @param {Field[]} fields
104
+ * @returns {function}
105
+ */
106
+ export const get_view_link_query: any;
107
+ import Form = require("../../models/form");
108
+ //# sourceMappingURL=viewable_fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"viewable_fields.d.ts","sourceRoot":"","sources":["../../../base-plugin/viewtemplates/viewable_fields.js"],"names":[],"mappings":"AAwWA;;;;;;;;;;GAUG;AACH,sCAsKE;AAvgBF;;;;;;;;;GASG;AACH,6BAaE;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,iCAhBW,MAAM,OACN,MAAM;IAEO,WAAW,EAAxB,MAAM;IACO,YAAY,EAAzB,MAAM;IACE,OAAO;IACP,KAAK;IACA,YAAY,EAAzB,MAAM;IACO,WAAW,EAAxB,MAAM;IACE,WAAW;IACN,YAAY,EAAzB,MAAM;IACO,gBAAgB,EAA7B,MAAM;IACO,cAAc,EAA3B,MAAM;cAEJ,MAAM,CA+ClB;AAyGD;;;;;;;;;;;;;;;;GAgBG;AACH,8BAyHE;AAlKF;;;GAGG;AACH,qCAHW,MAAM,GACJ,MAAM,CAmBlB;AAiXD;;;;;;GAMG;AACH,+BAwBE;AAEF;;;;;;;;GAQG;AACH,+BARW,MAAM,YACN,MAAM,2CAEN,MAAM,MACN,OAAO,OACP,MAAM,GACJ,QAAQ,IAAI,CAAC,CAoEzB;AAED;;;;;GAKG;AACH,oCALW,MAAM,OACN,MAAM,SACN,MAAM,GACJ,QAAQ,MAAM,CAAC,CAsB3B;AA7lBD;;;;GAIG;AACH,sCAiBE"}
@@ -0,0 +1,563 @@
1
+ "use strict";
2
+ /**
3
+ * @category saltcorn-data
4
+ * @module base-plugin/viewtemplates/viewable_fields
5
+ * @subcategory base-plugin
6
+ */
7
+ const { post_btn, link } = require("@saltcorn/markup");
8
+ const { text, a, i } = require("@saltcorn/markup/tags");
9
+ const { getState } = require("../../db/state");
10
+ const { contract, is } = require("contractis");
11
+ const { is_column, is_tablely } = require("../../contracts");
12
+ const { link_view, strictParseInt } = require("../../plugin-helper");
13
+ const { get_expression_function } = require("../../models/expression");
14
+ const Field = require("../../models/field");
15
+ const Form = require("../../models/form");
16
+ const { traverseSync } = require("../../models/layout");
17
+ const { structuredClone } = require("../../utils");
18
+ const db = require("../../db");
19
+ /**
20
+ * @function
21
+ * @param {string} viewname
22
+ * @param {Table|object} table
23
+ * @param {string} action_name
24
+ * @param {object} r
25
+ * @param {string} colId missing in contract
26
+ * @param {colIdNm} colIdNm missing in contract
27
+ * @returns {any}
28
+ */
29
+ const action_url = contract(is.fun([is.str, is_tablely, is.str, is.obj()], is.any), (viewname, table, action_name, r, colId, colIdNm) => {
30
+ if (action_name === "Delete")
31
+ return `/delete/${table.name}/${r.id}?redirect=/view/${viewname}`;
32
+ else if (action_name.startsWith("Toggle")) {
33
+ const field_name = action_name.replace("Toggle ", "");
34
+ return `/edit/toggle/${table.name}/${r.id}/${field_name}?redirect=/view/${viewname}`;
35
+ }
36
+ return {
37
+ javascript: `view_post('${viewname}', 'run_action', {${colIdNm}:'${colId}', id:${r.id}});`,
38
+ };
39
+ });
40
+ /**
41
+ * @param {string} url
42
+ * @param {object} req
43
+ * @param {object} opts
44
+ * @param {string} opts.action_name
45
+ * @param {string} opts.action_label
46
+ * @param {*} opts.confirm
47
+ * @param {*} opts.rndid
48
+ * @param {string} opts.action_style
49
+ * @param {number} opts.action_size
50
+ * @param {*} opts.action_icon
51
+ * @param {string} opts.action_bgcol
52
+ * @param {string} opts.action_bordercol
53
+ * @param {string} opts.action_textcol
54
+ * @param {*} __
55
+ * @returns {object}
56
+ */
57
+ const action_link = (url, req, { action_name, action_label, confirm, rndid, action_style, action_size, action_icon, action_bgcol, action_bordercol, action_textcol, }, __ = (s) => s) => {
58
+ const label = __(action_label) || action_name;
59
+ let style = action_style === "btn-custom-color"
60
+ ? `background-color: ${action_bgcol || "#000000"};border-color: ${action_bordercol || "#000000"}; color: ${action_textcol || "#000000"}`
61
+ : null;
62
+ if (url.javascript)
63
+ return a({
64
+ href: "javascript:" + url.javascript,
65
+ class: action_style === "btn-link"
66
+ ? ""
67
+ : `btn ${action_style || "btn-primary"} ${action_size || ""}`,
68
+ style,
69
+ }, action_icon ? i({ class: action_icon }) + "&nbsp;" : false, label);
70
+ else
71
+ return post_btn(url, label, req.csrfToken(), {
72
+ confirm,
73
+ req,
74
+ icon: action_icon,
75
+ style,
76
+ btnClass: `${action_style || "btn-primary"} ${action_size || ""}`,
77
+ });
78
+ };
79
+ /**
80
+ * @function
81
+ * @param {Field[]} fields
82
+ * @returns {function}
83
+ */
84
+ const get_view_link_query = contract(is.fun(is.array(is.class("Field")), is.fun(is.obj(), is.str)), (fields) => {
85
+ const fUniqueString = fields.find((f) => f.is_unique && f.type.name === "String");
86
+ if (fUniqueString)
87
+ return (r) => `?${fUniqueString.name}=${encodeURIComponent(r[fUniqueString.name])}`;
88
+ const fUnique = fields.find((f) => f.is_unique);
89
+ if (fUnique)
90
+ return (r) => `?${fUnique.name}=${encodeURIComponent(r[fUnique.name])}`;
91
+ else {
92
+ const pk_name = fields.find((f) => f.primary_key).name;
93
+ return (r) => `?${pk_name}=${r[pk_name]}`;
94
+ }
95
+ });
96
+ /**
97
+ * @function
98
+ * @param {object} opts
99
+ * @param {string} opts.link_text
100
+ * @param {boolean} opts.link_text_formula missing in contract
101
+ * @param {string} [opts.link_url]
102
+ * @param {boolean} opts.link_url_formula
103
+ * @param {boolean} opts.link_target_blank
104
+ * @param {Field[]} fields
105
+ * @returns {object}
106
+ */
107
+ const make_link = contract(is.fun([is.obj({ link_text: is.str }), is.array(is.class("Field"))], is.obj({ key: is.fun(is.obj(), is.str), label: is.str })), ({ link_text, link_text_formula, link_url, link_url_formula, link_target_blank, }, fields, __ = (s) => s) => {
108
+ return {
109
+ label: "",
110
+ key: (r) => {
111
+ let txt, href;
112
+ try {
113
+ txt = link_text_formula
114
+ ? get_expression_function(link_text, fields)(r)
115
+ : link_text;
116
+ }
117
+ catch (error) {
118
+ error.message = `Error in formula ${link_text} for link text:\n${error.message}`;
119
+ throw error;
120
+ }
121
+ try {
122
+ href = link_url_formula
123
+ ? get_expression_function(link_url, fields)(r)
124
+ : link_url;
125
+ }
126
+ catch (error) {
127
+ error.message = `Error in formula ${link_url} for link URL:\n${error.message}`;
128
+ throw error;
129
+ }
130
+ const attrs = { href };
131
+ if (link_target_blank)
132
+ attrs.target = "_blank";
133
+ return a(attrs, txt);
134
+ },
135
+ };
136
+ });
137
+ /**
138
+ * @param {string} s
139
+ * @returns {object}
140
+ */
141
+ const parse_view_select = (s) => {
142
+ const colonSplit = s.split(":");
143
+ if (colonSplit.length === 1)
144
+ return { type: "Own", viewname: s };
145
+ const [type, vrest] = colonSplit;
146
+ switch (type) {
147
+ case "Own":
148
+ return { type, viewname: vrest };
149
+ case "ChildList":
150
+ case "OneToOneShow":
151
+ const [viewnm, tbl, fld] = vrest.split(".");
152
+ return { type, viewname: viewnm, table_name: tbl, field_name: fld };
153
+ case "ParentShow":
154
+ const [pviewnm, ptbl, pfld] = vrest.split(".");
155
+ return { type, viewname: pviewnm, table_name: ptbl, field_name: pfld };
156
+ case "Independent":
157
+ return { type, viewname: vrest };
158
+ }
159
+ };
160
+ //todo: use above to simplify code
161
+ /**
162
+ * @function
163
+ * @param {object} opts
164
+ * @param {string} opts.view,
165
+ * @param {object} opts.view_label missing in contract
166
+ * @param {object} opts.in_modal
167
+ * @param {object} opts.view_label_formula
168
+ * @param {string} [opts.link_style = ""]
169
+ * @param {string} [opts.link_size = ""]
170
+ * @param {string} [opts.link_icon = ""]
171
+ * @param {string} [opts.textStyle = ""]
172
+ * @param {string} [opts.link_bgcol]
173
+ * @param {string} [opts.link_bordercol]
174
+ * @param {string} [opts.link_textcol]
175
+ * @param {Field[]} fields
176
+ * @returns {object}
177
+ */
178
+ const view_linker = contract(is.fun([is.obj({ view: is.str }), is.array(is.class("Field"))], is.obj({ key: is.fun(is.obj(), is.str), label: is.str })), ({ view, view_label, in_modal, view_label_formula, link_style = "", link_size = "", link_icon = "", textStyle = "", link_bgcol, link_bordercol, link_textcol, }, fields, __ = (s) => s) => {
179
+ const get_label = (def, row) => {
180
+ if (!view_label || view_label.length === 0)
181
+ return def;
182
+ if (!view_label_formula)
183
+ return view_label;
184
+ const f = get_expression_function(view_label, fields);
185
+ return f(row);
186
+ };
187
+ const [vtype, vrest] = view.split(":");
188
+ switch (vtype) {
189
+ case "Own":
190
+ const vnm = vrest;
191
+ const get_query = get_view_link_query(fields);
192
+ return {
193
+ label: vnm,
194
+ key: (r) => link_view(`/view/${encodeURIComponent(vnm)}${get_query(r)}`, get_label(vnm, r), in_modal, link_style, link_size, link_icon, textStyle, link_bgcol, link_bordercol, link_textcol),
195
+ };
196
+ case "Independent":
197
+ const ivnm = vrest;
198
+ return {
199
+ label: ivnm,
200
+ key: (r) => link_view(`/view/${encodeURIComponent(ivnm)}`, get_label(ivnm, r), in_modal, link_style, link_size, link_icon, textStyle, link_bgcol, link_bordercol, link_textcol),
201
+ };
202
+ case "ChildList":
203
+ case "OneToOneShow":
204
+ const [viewnm, tbl, fld] = vrest.split(".");
205
+ return {
206
+ label: viewnm,
207
+ key: (r) => link_view(`/view/${encodeURIComponent(viewnm)}?${fld}=${r.id}`, get_label(viewnm, r), in_modal, link_style, link_size, link_icon, textStyle, link_bgcol, link_bordercol, link_textcol),
208
+ };
209
+ case "ParentShow":
210
+ const [pviewnm, ptbl, pfld] = vrest.split(".");
211
+ //console.log([pviewnm, ptbl, pfld])
212
+ return {
213
+ label: pviewnm,
214
+ key: (r) => {
215
+ const reffield = fields.find((f) => f.name === pfld);
216
+ const summary_field = r[`summary_field_${ptbl.toLowerCase()}`];
217
+ return r[pfld]
218
+ ? link_view(`/view/${encodeURIComponent(pviewnm)}?${reffield.refname}=${r[pfld]}`, get_label(typeof summary_field === "undefined"
219
+ ? pviewnm
220
+ : summary_field, r), in_modal, link_style, link_size, link_icon, textStyle, link_bgcol, link_bordercol, link_textcol)
221
+ : "";
222
+ },
223
+ };
224
+ default:
225
+ throw new Error(view);
226
+ }
227
+ });
228
+ /**
229
+ * @param {string} nm
230
+ * @returns {boolean}
231
+ */
232
+ const action_requires_write = (nm) => {
233
+ if (!nm)
234
+ return false;
235
+ if (nm === "Delete")
236
+ return true;
237
+ if (nm.startsWith("Toggle"))
238
+ return true;
239
+ };
240
+ /**
241
+ * @function
242
+ * @param {string} viewname
243
+ * @param {Table|object} table
244
+ * @param {Fields[]} fields
245
+ * @param {object[]} columns
246
+ * @param {boolean} isShow
247
+ * @param {object} req
248
+ * @param {*} __
249
+ * @returns {object[]}
250
+ */
251
+ const get_viewable_fields = contract(is.fun([
252
+ is.str,
253
+ is_tablely,
254
+ is.array(is.class("Field")),
255
+ is.array(is_column),
256
+ is.bool,
257
+ is.obj({ csrfToken: is.fun([], is.str) }),
258
+ ], is.array(is.obj({
259
+ key: is.or(is.fun(is.obj(), is.str), is.str, is.undefined),
260
+ label: is.str,
261
+ }))), (viewname, table, fields, columns, isShow, req, __) => columns
262
+ .map((column) => {
263
+ const role = req.user ? req.user.role_id : 10;
264
+ const user_id = req.user ? req.user.id : null;
265
+ const setWidth = column.col_width
266
+ ? { width: `${column.col_width}${column.col_width_units}` }
267
+ : {};
268
+ if (column.type === "Action")
269
+ return {
270
+ ...setWidth,
271
+ label: column.header_label ? text(__(column.header_label)) : "",
272
+ key: (r) => {
273
+ if (action_requires_write(column.action_name)) {
274
+ if (table.min_role_write < role && !table.is_owner(req.user, r))
275
+ return "";
276
+ }
277
+ const url = action_url(viewname, table, column.action_name, r, column.action_name, "action_name");
278
+ const label = column.action_label_formula
279
+ ? get_expression_function(column.action_label, fields)(r)
280
+ : __(column.action_label) || column.action_name;
281
+ if (url.javascript)
282
+ return a({
283
+ href: "javascript:" + url.javascript,
284
+ class: column.action_style === "btn-link"
285
+ ? ""
286
+ : `btn ${column.action_style || "btn-primary"} ${column.action_size || ""}`,
287
+ }, label);
288
+ else
289
+ return post_btn(url, label, req.csrfToken(), {
290
+ small: true,
291
+ ajax: true,
292
+ reload_on_done: true,
293
+ confirm: column.confirm,
294
+ btnClass: column.action_style || "btn-primary",
295
+ req,
296
+ });
297
+ },
298
+ };
299
+ else if (column.type === "ViewLink") {
300
+ if (!column.view)
301
+ return;
302
+ const r = view_linker(column, fields, __);
303
+ if (column.header_label)
304
+ r.label = text(__(column.header_label));
305
+ Object.assign(r, setWidth);
306
+ return r;
307
+ }
308
+ else if (column.type === "Link") {
309
+ const r = make_link(column, fields, __);
310
+ if (column.header_label)
311
+ r.label = text(__(column.header_label));
312
+ Object.assign(r, setWidth);
313
+ return r;
314
+ }
315
+ else if (column.type === "JoinField") {
316
+ const keypath = column.join_field.split(".");
317
+ let refNm, targetNm, through, key;
318
+ if (keypath.length === 2) {
319
+ [refNm, targetNm] = keypath;
320
+ key = `${refNm}_${targetNm}`;
321
+ }
322
+ else {
323
+ [refNm, through, targetNm] = keypath;
324
+ key = `${refNm}_${through}_${targetNm}`;
325
+ }
326
+ return {
327
+ ...setWidth,
328
+ label: column.header_label
329
+ ? text(__(column.header_label))
330
+ : text(targetNm),
331
+ key,
332
+ // sortlink: `javascript:sortby('${text(targetNm)}')`
333
+ };
334
+ }
335
+ else if (column.type === "Aggregation") {
336
+ //console.log(column)
337
+ const [table, fld] = column.agg_relation.split(".");
338
+ const targetNm = (column.stat.replace(" ", "") +
339
+ "_" +
340
+ table +
341
+ "_" +
342
+ fld +
343
+ db.sqlsanitize(column.aggwhere || "")).toLowerCase();
344
+ return {
345
+ ...setWidth,
346
+ label: column.header_label
347
+ ? text(column.header_label)
348
+ : text(column.stat + " " + table),
349
+ key: text(targetNm),
350
+ // sortlink: `javascript:sortby('${text(targetNm)}')`
351
+ };
352
+ }
353
+ else if (column.type === "Field") {
354
+ let f = fields.find((fld) => fld.name === column.field_name);
355
+ let f_with_val = f;
356
+ if (f && f.attributes && f.attributes.localized_by) {
357
+ const locale = req.getLocale();
358
+ const localized_fld_nm = f.attributes.localized_by[locale];
359
+ f_with_val =
360
+ fields.find((fld) => fld.name === localized_fld_nm) || f;
361
+ }
362
+ const isNum = f && f.type && f.type.name === "Integer";
363
+ return (f && {
364
+ ...setWidth,
365
+ align: isNum ? "right" : undefined,
366
+ label: headerLabelForName(column, f, req, __),
367
+ key: column.fieldview && f.type === "File"
368
+ ? (row) => row[f.name] &&
369
+ getState().fileviews[column.fieldview].run(row[f.name], row[`${f.name}__filename`])
370
+ : column.fieldview &&
371
+ f.type.fieldviews &&
372
+ f.type.fieldviews[column.fieldview]
373
+ ? (row) => f.type.fieldviews[column.fieldview].run(row[f_with_val.name], req, column.configuration)
374
+ : isShow
375
+ ? f.type.showAs
376
+ ? (row) => f.type.showAs(row[f_with_val.name])
377
+ : (row) => text(row[f_with_val.name])
378
+ : f.listKey,
379
+ sortlink: !f.calculated || f.stored
380
+ ? sortlinkForName(f.name, req)
381
+ : undefined,
382
+ });
383
+ }
384
+ })
385
+ .filter((v) => !!v));
386
+ /**
387
+ * @param {string} fname
388
+ * @param {object} req
389
+ * @returns {string}
390
+ */
391
+ const sortlinkForName = (fname, req) => {
392
+ const { _sortby, _sortdesc } = req.query || {};
393
+ const desc = typeof _sortdesc == "undefined"
394
+ ? _sortby === fname
395
+ : _sortdesc
396
+ ? "false"
397
+ : "true";
398
+ return `javascript:sortby('${text(fname)}', ${desc})`;
399
+ };
400
+ /**
401
+ * @param {object} column
402
+ * @param {object} f
403
+ * @param {object} req
404
+ * @param {*} __
405
+ * @returns {string}
406
+ */
407
+ const headerLabelForName = (column, f, req, __) => {
408
+ const label = column.header_label
409
+ ? text(__(column.header_label))
410
+ : text(f.label);
411
+ const { _sortby, _sortdesc } = req.query || {};
412
+ let arrow = _sortby !== f.name
413
+ ? ""
414
+ : _sortdesc
415
+ ? i({ class: "fas fa-caret-down" })
416
+ : i({ class: "fas fa-caret-up" });
417
+ return label + arrow;
418
+ };
419
+ /**
420
+ * @function
421
+ * @param {Field[]} fields
422
+ * @param {object} state
423
+ * @param {boolean} [fuzzyStrings]
424
+ * @returns {object}
425
+ */
426
+ const splitUniques = contract(is.fun([is.array(is.class("Field")), is.obj(), is.maybe(is.bool)], is.obj({ uniques: is.obj(), nonUniques: is.obj() })), (fields, state, fuzzyStrings) => {
427
+ var uniques = [];
428
+ var nonUniques = [];
429
+ Object.entries(state).forEach(([k, v]) => {
430
+ const field = fields.find((f) => f.name === k);
431
+ if (field &&
432
+ field.is_unique &&
433
+ fuzzyStrings &&
434
+ field.type &&
435
+ field.type.name === "String")
436
+ uniques[k] = { ilike: v };
437
+ else if (field && field.is_unique)
438
+ uniques[k] = field.type.read ? field.type.read(v) : v;
439
+ else
440
+ nonUniques[k] = v;
441
+ });
442
+ return { uniques, nonUniques };
443
+ });
444
+ /**
445
+ * @param {object} table
446
+ * @param {string} viewname
447
+ * @param {object[]} [columns]
448
+ * @param {object} layout0
449
+ * @param {boolean} id
450
+ * @param {object} req
451
+ * @returns {Promise<Form>}
452
+ */
453
+ const getForm = async (table, viewname, columns, layout0, id, req) => {
454
+ const fields = await table.getFields();
455
+ const tfields = (columns || [])
456
+ .map((column) => {
457
+ if (column.type === "Field") {
458
+ const f = fields.find((fld) => fld.name === column.field_name);
459
+ if (f) {
460
+ f.fieldview = column.fieldview;
461
+ if (f.type === "Key") {
462
+ if (getState().keyFieldviews[column.fieldview])
463
+ f.fieldviewObj = getState().keyFieldviews[column.fieldview];
464
+ f.input_type =
465
+ !f.fieldview ||
466
+ !f.fieldviewObj ||
467
+ (f.fieldview === "select" && !f.fieldviewObj)
468
+ ? "select"
469
+ : "fromtype";
470
+ }
471
+ if (f.calculated)
472
+ f.sourceURL = `/field/show-calculated/${table.name}/${f.name}/${f.fieldview}`;
473
+ f.attributes = { ...column.configuration, ...f.attributes };
474
+ return f;
475
+ }
476
+ else if (table.name === "users" && column.field_name === "password") {
477
+ return new Field({
478
+ name: "password",
479
+ fieldview: column.fieldview,
480
+ type: "String",
481
+ });
482
+ }
483
+ else if (table.name === "users" &&
484
+ column.field_name === "passwordRepeat") {
485
+ return new Field({
486
+ name: "passwordRepeat",
487
+ fieldview: column.fieldview,
488
+ type: "String",
489
+ });
490
+ }
491
+ else if (table.name === "users" && column.field_name === "remember") {
492
+ return new Field({
493
+ name: "remember",
494
+ fieldview: column.fieldview,
495
+ type: "Bool",
496
+ });
497
+ }
498
+ }
499
+ })
500
+ .filter((tf) => !!tf);
501
+ const path = req.baseUrl + req.path;
502
+ let action = `/view/${viewname}`;
503
+ if (path && path.startsWith("/auth/"))
504
+ action = path;
505
+ const layout = structuredClone(layout0);
506
+ traverseSync(layout, {
507
+ container(segment) {
508
+ if (segment.showIfFormula) {
509
+ segment.showIfFormulaInputs = segment.showIfFormula;
510
+ }
511
+ },
512
+ });
513
+ const form = new Form({
514
+ action,
515
+ fields: tfields,
516
+ layout,
517
+ });
518
+ if (id)
519
+ form.hidden("id");
520
+ return form;
521
+ };
522
+ /**
523
+ * @param {object} table
524
+ * @param {object} req
525
+ * @param {object} fixed
526
+ * @returns {Promise<object>}
527
+ */
528
+ const fill_presets = async (table, req, fixed) => {
529
+ const fields = await table.getFields();
530
+ Object.keys(fixed || {}).forEach((k) => {
531
+ if (k.startsWith("preset_")) {
532
+ if (fixed[k]) {
533
+ const fldnm = k.replace("preset_", "");
534
+ const fld = fields.find((f) => f.name === fldnm);
535
+ if (fld) {
536
+ if (table.name === "users" && fld.primary_key)
537
+ fixed[fldnm] = req.user ? req.user.id : null;
538
+ else
539
+ fixed[fldnm] = fld.presets[fixed[k]]({ user: req.user, req });
540
+ }
541
+ }
542
+ delete fixed[k];
543
+ }
544
+ else {
545
+ const fld = fields.find((f) => f.name === k);
546
+ if (!fld)
547
+ delete fixed[k];
548
+ }
549
+ });
550
+ return fixed;
551
+ };
552
+ module.exports = {
553
+ get_viewable_fields,
554
+ action_url,
555
+ action_link,
556
+ view_linker,
557
+ parse_view_select,
558
+ splitUniques,
559
+ getForm,
560
+ fill_presets,
561
+ get_view_link_query,
562
+ };
563
+ //# sourceMappingURL=viewable_fields.js.map