@saltcorn/data 1.6.0-alpha.7 → 1.6.0-alpha.9

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 (239) hide show
  1. package/dist/base-plugin/actions.d.ts +1850 -1656
  2. package/dist/base-plugin/actions.d.ts.map +1 -1
  3. package/dist/base-plugin/actions.js +122 -104
  4. package/dist/base-plugin/actions.js.map +1 -1
  5. package/dist/base-plugin/fieldviews.d.ts +284 -114
  6. package/dist/base-plugin/fieldviews.d.ts.map +1 -1
  7. package/dist/base-plugin/fieldviews.js +23 -69
  8. package/dist/base-plugin/fieldviews.js.map +1 -1
  9. package/dist/base-plugin/fileviews.d.ts +15 -14
  10. package/dist/base-plugin/fileviews.d.ts.map +1 -1
  11. package/dist/base-plugin/fileviews.js +22 -18
  12. package/dist/base-plugin/fileviews.js.map +1 -1
  13. package/dist/base-plugin/index.d.ts +3369 -1293
  14. package/dist/base-plugin/index.d.ts.map +1 -1
  15. package/dist/base-plugin/index.js +39 -25
  16. package/dist/base-plugin/index.js.map +1 -1
  17. package/dist/base-plugin/types.d.ts +1438 -1029
  18. package/dist/base-plugin/types.d.ts.map +1 -1
  19. package/dist/base-plugin/types.js +3 -2
  20. package/dist/base-plugin/types.js.map +1 -1
  21. package/dist/base-plugin/viewtemplates/edit.d.ts +133 -257
  22. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  23. package/dist/base-plugin/viewtemplates/edit.js +292 -349
  24. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  25. package/dist/base-plugin/viewtemplates/feed.d.ts +30 -81
  26. package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -1
  27. package/dist/base-plugin/viewtemplates/feed.js +37 -30
  28. package/dist/base-plugin/viewtemplates/feed.js.map +1 -1
  29. package/dist/base-plugin/viewtemplates/filter.d.ts +42 -64
  30. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -1
  31. package/dist/base-plugin/viewtemplates/filter.js +86 -82
  32. package/dist/base-plugin/viewtemplates/filter.js.map +1 -1
  33. package/dist/base-plugin/viewtemplates/list.d.ts +40 -115
  34. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  35. package/dist/base-plugin/viewtemplates/list.js +154 -168
  36. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  37. package/dist/base-plugin/viewtemplates/listshowlist.d.ts +65 -49
  38. package/dist/base-plugin/viewtemplates/listshowlist.d.ts.map +1 -1
  39. package/dist/base-plugin/viewtemplates/listshowlist.js +33 -58
  40. package/dist/base-plugin/viewtemplates/listshowlist.js.map +1 -1
  41. package/dist/base-plugin/viewtemplates/room.d.ts +102 -109
  42. package/dist/base-plugin/viewtemplates/room.d.ts.map +1 -1
  43. package/dist/base-plugin/viewtemplates/room.js +53 -50
  44. package/dist/base-plugin/viewtemplates/room.js.map +1 -1
  45. package/dist/base-plugin/viewtemplates/show.d.ts +72 -133
  46. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  47. package/dist/base-plugin/viewtemplates/show.js +72 -182
  48. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  49. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +2 -2
  50. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  51. package/dist/base-plugin/viewtemplates/viewable_fields.js +2 -1
  52. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  53. package/dist/base-plugin/viewtemplates/workflow-room.d.ts +37 -61
  54. package/dist/base-plugin/viewtemplates/workflow-room.d.ts.map +1 -1
  55. package/dist/base-plugin/viewtemplates/workflow-room.js +42 -65
  56. package/dist/base-plugin/viewtemplates/workflow-room.js.map +1 -1
  57. package/dist/contracts.d.ts +4 -48
  58. package/dist/contracts.d.ts.map +1 -1
  59. package/dist/contracts.js +18 -2
  60. package/dist/contracts.js.map +1 -1
  61. package/dist/db/connect.d.ts.map +1 -1
  62. package/dist/db/connect.js +1 -0
  63. package/dist/db/connect.js.map +1 -1
  64. package/dist/db/state.d.ts +31 -28
  65. package/dist/db/state.d.ts.map +1 -1
  66. package/dist/db/state.js +5 -2
  67. package/dist/db/state.js.map +1 -1
  68. package/dist/model-helper.d.ts +4 -16
  69. package/dist/model-helper.d.ts.map +1 -1
  70. package/dist/model-helper.js +3 -3
  71. package/dist/model-helper.js.map +1 -1
  72. package/dist/models/config.d.ts +5 -0
  73. package/dist/models/config.d.ts.map +1 -1
  74. package/dist/models/config.js +5 -0
  75. package/dist/models/config.js.map +1 -1
  76. package/dist/models/field.d.ts +1 -1
  77. package/dist/models/field.d.ts.map +1 -1
  78. package/dist/models/field.js +3 -2
  79. package/dist/models/field.js.map +1 -1
  80. package/dist/models/file.d.ts +1 -1
  81. package/dist/models/file.d.ts.map +1 -1
  82. package/dist/models/file.js.map +1 -1
  83. package/dist/models/form.js +1 -1
  84. package/dist/models/form.js.map +1 -1
  85. package/dist/models/index.d.ts +5 -0
  86. package/dist/models/index.d.ts.map +1 -1
  87. package/dist/models/layout.d.ts +1 -1
  88. package/dist/models/layout.d.ts.map +1 -1
  89. package/dist/models/layout.js +12 -0
  90. package/dist/models/layout.js.map +1 -1
  91. package/dist/models/plugin.d.ts +3 -2
  92. package/dist/models/plugin.d.ts.map +1 -1
  93. package/dist/models/plugin.js +7 -0
  94. package/dist/models/plugin.js.map +1 -1
  95. package/dist/models/table.d.ts.map +1 -1
  96. package/dist/models/table.js +6 -1
  97. package/dist/models/table.js.map +1 -1
  98. package/dist/plugin-helper.d.ts.map +1 -1
  99. package/dist/plugin-helper.js +4 -0
  100. package/dist/plugin-helper.js.map +1 -1
  101. package/dist/plugin-testing.d.ts +3 -63
  102. package/dist/plugin-testing.d.ts.map +1 -1
  103. package/dist/plugin-testing.js +34 -15
  104. package/dist/plugin-testing.js.map +1 -1
  105. package/dist/standard-menu.d.ts.map +1 -1
  106. package/dist/standard-menu.js +15 -0
  107. package/dist/standard-menu.js.map +1 -1
  108. package/dist/tests/actions.test.d.ts +2 -0
  109. package/dist/tests/actions.test.d.ts.map +1 -0
  110. package/dist/tests/actions.test.js +936 -0
  111. package/dist/tests/actions.test.js.map +1 -0
  112. package/dist/tests/auth.test.d.ts +2 -0
  113. package/dist/tests/auth.test.d.ts.map +1 -0
  114. package/dist/tests/auth.test.js +824 -0
  115. package/dist/tests/auth.test.js.map +1 -0
  116. package/dist/tests/auxtest.test.d.ts +2 -0
  117. package/dist/tests/auxtest.test.d.ts.map +1 -0
  118. package/dist/tests/auxtest.test.js +562 -0
  119. package/dist/tests/auxtest.test.js.map +1 -0
  120. package/dist/tests/base.test.d.ts +2 -0
  121. package/dist/tests/base.test.d.ts.map +1 -0
  122. package/dist/tests/base.test.js +30 -0
  123. package/dist/tests/base.test.js.map +1 -0
  124. package/dist/tests/calc.test.d.ts +2 -0
  125. package/dist/tests/calc.test.d.ts.map +1 -0
  126. package/dist/tests/calc.test.js +1081 -0
  127. package/dist/tests/calc.test.js.map +1 -0
  128. package/dist/tests/composite_pk.test.d.ts +2 -0
  129. package/dist/tests/composite_pk.test.d.ts.map +1 -0
  130. package/dist/tests/composite_pk.test.js +98 -0
  131. package/dist/tests/composite_pk.test.js.map +1 -0
  132. package/dist/tests/config.test.d.ts +2 -0
  133. package/dist/tests/config.test.d.ts.map +1 -0
  134. package/dist/tests/config.test.js +86 -0
  135. package/dist/tests/config.test.js.map +1 -0
  136. package/dist/tests/db.test.d.ts +2 -0
  137. package/dist/tests/db.test.d.ts.map +1 -0
  138. package/dist/tests/db.test.js +178 -0
  139. package/dist/tests/db.test.js.map +1 -0
  140. package/dist/tests/discover.test.d.ts +2 -0
  141. package/dist/tests/discover.test.d.ts.map +1 -0
  142. package/dist/tests/discover.test.js +245 -0
  143. package/dist/tests/discover.test.js.map +1 -0
  144. package/dist/tests/edit.test.d.ts +2 -0
  145. package/dist/tests/edit.test.d.ts.map +1 -0
  146. package/dist/tests/edit.test.js +1161 -0
  147. package/dist/tests/edit.test.js.map +1 -0
  148. package/dist/tests/email.test.d.ts +2 -0
  149. package/dist/tests/email.test.d.ts.map +1 -0
  150. package/dist/tests/email.test.js +255 -0
  151. package/dist/tests/email.test.js.map +1 -0
  152. package/dist/tests/exact_views.test.d.ts +2 -0
  153. package/dist/tests/exact_views.test.d.ts.map +1 -0
  154. package/dist/tests/exact_views.test.js +1363 -0
  155. package/dist/tests/exact_views.test.js.map +1 -0
  156. package/dist/tests/field.test.d.ts +2 -0
  157. package/dist/tests/field.test.d.ts.map +1 -0
  158. package/dist/tests/field.test.js +588 -0
  159. package/dist/tests/field.test.js.map +1 -0
  160. package/dist/tests/fieldviews.test.d.ts +2 -0
  161. package/dist/tests/fieldviews.test.d.ts.map +1 -0
  162. package/dist/tests/fieldviews.test.js +74 -0
  163. package/dist/tests/fieldviews.test.js.map +1 -0
  164. package/dist/tests/file.test.d.ts +2 -0
  165. package/dist/tests/file.test.d.ts.map +1 -0
  166. package/dist/tests/file.test.js +148 -0
  167. package/dist/tests/file.test.js.map +1 -0
  168. package/dist/tests/filter.test.d.ts +2 -0
  169. package/dist/tests/filter.test.d.ts.map +1 -0
  170. package/dist/tests/filter.test.js +496 -0
  171. package/dist/tests/filter.test.js.map +1 -0
  172. package/dist/tests/form.test.d.ts +2 -0
  173. package/dist/tests/form.test.d.ts.map +1 -0
  174. package/dist/tests/form.test.js +264 -0
  175. package/dist/tests/form.test.js.map +1 -0
  176. package/dist/tests/list.test.d.ts +2 -0
  177. package/dist/tests/list.test.d.ts.map +1 -0
  178. package/dist/tests/list.test.js +1037 -0
  179. package/dist/tests/list.test.js.map +1 -0
  180. package/dist/tests/models.test.d.ts +2 -0
  181. package/dist/tests/models.test.d.ts.map +1 -0
  182. package/dist/tests/models.test.js +417 -0
  183. package/dist/tests/models.test.js.map +1 -0
  184. package/dist/tests/page.test.d.ts +2 -0
  185. package/dist/tests/page.test.d.ts.map +1 -0
  186. package/dist/tests/page.test.js +26 -0
  187. package/dist/tests/page.test.js.map +1 -0
  188. package/dist/tests/page_group.test.d.ts +2 -0
  189. package/dist/tests/page_group.test.d.ts.map +1 -0
  190. package/dist/tests/page_group.test.js +51 -0
  191. package/dist/tests/page_group.test.js.map +1 -0
  192. package/dist/tests/plugin.test.d.ts +2 -0
  193. package/dist/tests/plugin.test.d.ts.map +1 -0
  194. package/dist/tests/plugin.test.js +60 -0
  195. package/dist/tests/plugin.test.js.map +1 -0
  196. package/dist/tests/show.test.d.ts +2 -0
  197. package/dist/tests/show.test.d.ts.map +1 -0
  198. package/dist/tests/show.test.js +561 -0
  199. package/dist/tests/show.test.js.map +1 -0
  200. package/dist/tests/state.test.d.ts +2 -0
  201. package/dist/tests/state.test.d.ts.map +1 -0
  202. package/dist/tests/state.test.js +82 -0
  203. package/dist/tests/state.test.js.map +1 -0
  204. package/dist/tests/table.test.d.ts +2 -0
  205. package/dist/tests/table.test.d.ts.map +1 -0
  206. package/dist/tests/table.test.js +2717 -0
  207. package/dist/tests/table.test.js.map +1 -0
  208. package/dist/tests/table_history.test.d.ts +2 -0
  209. package/dist/tests/table_history.test.d.ts.map +1 -0
  210. package/dist/tests/table_history.test.js +413 -0
  211. package/dist/tests/table_history.test.js.map +1 -0
  212. package/dist/tests/tag.test.d.ts +2 -0
  213. package/dist/tests/tag.test.d.ts.map +1 -0
  214. package/dist/tests/tag.test.js +97 -0
  215. package/dist/tests/tag.test.js.map +1 -0
  216. package/dist/tests/user.test.d.ts +2 -0
  217. package/dist/tests/user.test.d.ts.map +1 -0
  218. package/dist/tests/user.test.js +441 -0
  219. package/dist/tests/user.test.js.map +1 -0
  220. package/dist/tests/view.test.d.ts +2 -0
  221. package/dist/tests/view.test.d.ts.map +1 -0
  222. package/dist/tests/view.test.js +699 -0
  223. package/dist/tests/view.test.js.map +1 -0
  224. package/dist/tests/workflow.test.d.ts +2 -0
  225. package/dist/tests/workflow.test.d.ts.map +1 -0
  226. package/dist/tests/workflow.test.js +303 -0
  227. package/dist/tests/workflow.test.js.map +1 -0
  228. package/dist/tests/workflow_run.test.d.ts +2 -0
  229. package/dist/tests/workflow_run.test.d.ts.map +1 -0
  230. package/dist/tests/workflow_run.test.js +922 -0
  231. package/dist/tests/workflow_run.test.js.map +1 -0
  232. package/dist/viewable_fields.d.ts +5 -4
  233. package/dist/viewable_fields.d.ts.map +1 -1
  234. package/dist/viewable_fields.js +12 -6
  235. package/dist/viewable_fields.js.map +1 -1
  236. package/dist/web-mobile-commons.d.ts.map +1 -1
  237. package/dist/web-mobile-commons.js +1 -0
  238. package/dist/web-mobile-commons.js.map +1 -1
  239. package/package.json +8 -8
@@ -1,21 +1,24 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  /**
3
6
  * @category saltcorn-data
4
7
  * @module base-plugin/viewtemplates/filter
5
8
  * @subcategory base-plugin
6
9
  */
7
- const User = require("../../models/user");
8
- const Page = require("../../models/page");
9
- const View = require("../../models/view");
10
- const Table = require("../../models/table");
11
- const Field = require("../../models/field");
12
- const Workflow = require("../../models/workflow");
13
- const Trigger = require("../../models/trigger");
14
- const Crash = require("../../models/crash");
15
- const { div, text, span, i, option, select, button, text_attr, domReady, script, a, } = require("@saltcorn/markup/tags");
10
+ const table_1 = __importDefault(require("../../models/table"));
11
+ const view_1 = __importDefault(require("../../models/view"));
12
+ const field_1 = __importDefault(require("../../models/field"));
13
+ const workflow_1 = __importDefault(require("../../models/workflow"));
14
+ const trigger_1 = __importDefault(require("../../models/trigger"));
15
+ const user_1 = __importDefault(require("../../models/user"));
16
+ const page_1 = __importDefault(require("../../models/page"));
17
+ const crash_1 = __importDefault(require("../../models/crash"));
18
+ const tags_1 = require("@saltcorn/markup/tags");
16
19
  const renderLayout = require("@saltcorn/markup/layout");
17
- const { readState, calcfldViewOptions, calcfldViewConfig, run_action_column, stateFieldsToWhere, getActionConfigFields, picked_fields_to_query, stateFieldsToQuery, stateToQueryString, } = require("../../plugin-helper");
18
- const { action_link } = require("../../viewable_fields");
20
+ const plugin_helper_1 = require("../../plugin-helper");
21
+ const viewable_fields_1 = require("../../viewable_fields");
19
22
  const { search_bar } = require("@saltcorn/markup/helpers");
20
23
  const { eachView, translateLayout, getStringsForI18n, traverse, } = require("../../models/layout");
21
24
  const { InvalidConfiguration, objectToQueryString, removeEmptyStrings, asyncMap, getSessionId, mergeIntoWhere, isWeb, renderServerSide, } = require("../../utils");
@@ -27,12 +30,12 @@ const db = require("../../db/index");
27
30
  /**
28
31
  * @returns {Workflow}
29
32
  */
30
- const configuration_workflow = (req) => new Workflow({
33
+ const configuration_workflow = (req) => new workflow_1.default({
31
34
  steps: [
32
35
  {
33
36
  name: "Layout",
34
37
  builder: async (context) => {
35
- const table = Table.findOne(context.table_id || context.exttable_name);
38
+ const table = table_1.default.findOne(context.table_id || context.exttable_name);
36
39
  const fields = [...table.getFields()];
37
40
  const { child_field_list, child_relations } = await table.get_child_relations();
38
41
  const { parent_field_list } = await table.get_parent_relations(true);
@@ -50,7 +53,7 @@ const configuration_workflow = (req) => new Workflow({
50
53
  const jfld = fields.find((f) => f.name === jFieldNm);
51
54
  if (!jfld)
52
55
  return;
53
- const throughTable = Table.findOne({
56
+ const throughTable = table_1.default.findOne({
54
57
  name: jfld.reftable_name,
55
58
  });
56
59
  const throughFld = throughTable.fields.find((f) => f.name === throughField);
@@ -58,12 +61,12 @@ const configuration_workflow = (req) => new Workflow({
58
61
  }
59
62
  })
60
63
  .filter((f) => f);
61
- const roles = await User.get_roles();
64
+ const roles = await user_1.default.get_roles();
62
65
  for (const cr of child_relations) {
63
66
  const cfields = await cr.table.getFields();
64
67
  cfields.forEach((cf) => {
65
68
  if (cf.name !== cr.key_field.name)
66
- fields.push(new Field({
69
+ fields.push(new field_1.default({
67
70
  ...cf,
68
71
  label: `${cr.table.name}.${cr.key_field.name}→${cf.name}`,
69
72
  name: `${cr.table.name}.${cr.key_field.name}.${cf.name}`,
@@ -72,14 +75,14 @@ const configuration_workflow = (req) => new Workflow({
72
75
  }
73
76
  const stateActions = Object.entries(getState().actions).filter(([k, v]) => !v.disableInBuilder && !v.disableIf?.());
74
77
  const actions1 = ["Clear", ...stateActions.map(([k, v]) => k)];
75
- const actions = Trigger.action_options({
78
+ const actions = trigger_1.default.action_options({
76
79
  tableTriggers: table.id,
77
80
  apiNeverTriggers: true,
78
81
  forBuilder: true,
79
82
  builtInLabel: "Filter Actions",
80
83
  builtIns: ["Clear"],
81
84
  });
82
- const triggerActions = Trigger.trigger_actions({
85
+ const triggerActions = trigger_1.default.trigger_actions({
83
86
  tableTriggers: table.id,
84
87
  apiNeverTriggers: true,
85
88
  });
@@ -101,10 +104,10 @@ const configuration_workflow = (req) => new Workflow({
101
104
  };
102
105
  for (const [name, action] of stateActions) {
103
106
  if (action.configFields) {
104
- actionConfigForms[name] = await getActionConfigFields(action, table, { mode: "filter", req });
107
+ actionConfigForms[name] = await (0, plugin_helper_1.getActionConfigFields)(action, table, { mode: "filter", req });
105
108
  }
106
109
  }
107
- const workflowActions = Trigger.trigger_actions({
110
+ const workflowActions = trigger_1.default.trigger_actions({
108
111
  tableTriggers: table.id,
109
112
  apiNeverTriggers: true,
110
113
  onlyWorkflows: true,
@@ -119,7 +122,7 @@ const configuration_workflow = (req) => new Workflow({
119
122
  },
120
123
  ];
121
124
  }
122
- const own_link_views = await View.find_table_views_where(context.table_id || context.exttable_name, ({ viewrow }) => viewrow.name !== context.viewname);
125
+ const own_link_views = await view_1.default.find_table_views_where(context.table_id || context.exttable_name, ({ viewrow }) => viewrow.name !== context.viewname);
123
126
  const own_view_names = new Set();
124
127
  const views = own_link_views.map((v) => {
125
128
  own_view_names.add(v.name);
@@ -129,7 +132,7 @@ const configuration_workflow = (req) => new Workflow({
129
132
  viewtemplate: v.viewtemplate,
130
133
  };
131
134
  });
132
- const all_views = await View.find({}, { cached: true });
135
+ const all_views = await view_1.default.find({}, { cached: true });
133
136
  for (const v of all_views) {
134
137
  if (!own_view_names.has(v.name)) {
135
138
  views.push({
@@ -145,15 +148,15 @@ const configuration_workflow = (req) => new Workflow({
145
148
  }
146
149
  const library = (await Library.find({})).filter((l) => l.suitableFor("filter"));
147
150
  //const fieldViewConfigForms = await calcfldViewConfig(fields, false);
148
- const { field_view_options, handlesTextStyle } = calcfldViewOptions(fields, "filter");
149
- const pages = await Page.find();
151
+ const { field_view_options, handlesTextStyle } = (0, plugin_helper_1.calcfldViewOptions)(fields, "filter");
152
+ const pages = await page_1.default.find();
150
153
  var agg_field_opts = {};
151
154
  agg_field_opts[table.name] = table.fields
152
155
  .filter((f) => !f.calculated || f.stored)
153
156
  .map((f) => ({
154
157
  name: f.name,
155
158
  label: f.label,
156
- ftype: f.type.name || f.type,
159
+ ftype: f.type?.name || f.type,
157
160
  table_name: table.name,
158
161
  table_id: table.id,
159
162
  }));
@@ -214,9 +217,9 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
214
217
  //console.log(layout);
215
218
  if (!columns || !layout)
216
219
  return "View not yet built";
217
- const table = Table.findOne(table_id);
220
+ const table = table_1.default.findOne(table_id);
218
221
  const fields = table.getFields();
219
- readState(state, fields);
222
+ (0, plugin_helper_1.readState)(state, fields);
220
223
  const formFieldNames = (columns || [])
221
224
  .map((c) => c.field_name)
222
225
  .filter((n) => n);
@@ -233,8 +236,8 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
233
236
  showv = realv.label;
234
237
  }
235
238
  badges.push({
236
- text: `${text_attr(k)}:${text_attr(showv)}`,
237
- onclick: `unset_state_field('${text_attr(k)}', this)`,
239
+ text: `${(0, tags_1.text_attr)(k)}:${(0, tags_1.text_attr)(showv)}`,
240
+ onclick: `unset_state_field('${(0, tags_1.text_attr)(k)}', this)`,
238
241
  });
239
242
  }
240
243
  });
@@ -248,7 +251,7 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
248
251
  await traverse(layout, {
249
252
  aggregation: async (segment) => {
250
253
  const { stat, agg_field, agg_fieldview, aggwhere } = segment;
251
- const where = stateFieldsToWhere({ fields, state, table, prefix: "a." });
254
+ const where = (0, plugin_helper_1.stateFieldsToWhere)({ fields, state, table, prefix: "a." });
252
255
  if (aggwhere) {
253
256
  const ctx = {
254
257
  ...state,
@@ -271,7 +274,7 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
271
274
  const fld = table.getField(agg_field);
272
275
  segment.type = "blank";
273
276
  if (stat.toLowerCase() === "array_agg" && Array.isArray(val))
274
- segment.contents = val.map((v) => text(v.toString())).join(", ");
277
+ segment.contents = val.map((v) => (0, tags_1.text)(v.toString())).join(", ");
275
278
  else if (agg_fieldview) {
276
279
  const outcomeType = stat === "Percent true" || stat === "Percent false"
277
280
  ? "Float"
@@ -285,7 +288,7 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
285
288
  }
286
289
  }
287
290
  else
288
- segment.contents = text(val);
291
+ segment.contents = (0, tags_1.text)(val);
289
292
  },
290
293
  field: async (segment) => {
291
294
  const { field_name, fieldview, configuration } = segment;
@@ -295,7 +298,7 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
295
298
  const kpath = field_name.split(".");
296
299
  if (kpath.length === 3) {
297
300
  const [jtNm, jFieldNm, lblField] = kpath;
298
- const jtable = Table.findOne({ name: jtNm });
301
+ const jtable = table_1.default.findOne({ name: jtNm });
299
302
  if (!jtable)
300
303
  throw new InvalidConfiguration(`View ${viewname} incorrectly configured: cannot find join table ${jtNm}`);
301
304
  const jfields = jtable.fields;
@@ -362,7 +365,7 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
362
365
  if (extra?.isPreview)
363
366
  return;
364
367
  try {
365
- const actionResult = await run_action_column({
368
+ const actionResult = await (0, plugin_helper_1.run_action_column)({
366
369
  col: { ...segment },
367
370
  referrer: extra.req?.get?.("Referrer"),
368
371
  req: extra.req,
@@ -376,19 +379,19 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
376
379
  });
377
380
  }
378
381
  if (actionResult)
379
- segment.contents = script(domReady(`common_done(${JSON.stringify(actionResult)}, "${viewname}")`));
382
+ segment.contents = (0, tags_1.script)((0, tags_1.domReady)(`common_done(${JSON.stringify(actionResult)}, "${viewname}")`));
380
383
  else
381
384
  segment.contents = "";
382
385
  }
383
386
  catch (e) {
384
387
  segment.contents = "";
385
- Crash.create(e, extra.req);
388
+ crash_1.default.create(e, extra.req);
386
389
  }
387
390
  }
388
391
  },
389
392
  });
390
393
  await eachView(layout, async (segment, inLazy) => {
391
- const view = await View.findOne({ name: segment.view });
394
+ const view = await view_1.default.findOne({ name: segment.view });
392
395
  if (!view)
393
396
  throw new InvalidConfiguration(`View ${viewname} incorrectly configured: cannot find view ${segment.view}`);
394
397
  const extra_state = segment.extra_state_fml
@@ -396,8 +399,8 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
396
399
  : {};
397
400
  if (segment.state === "local") {
398
401
  const state1 = { ...extra_state };
399
- const qs = stateToQueryString(state1, true);
400
- segment.contents = div({
402
+ const qs = (0, plugin_helper_1.stateToQueryString)(state1, true);
403
+ segment.contents = (0, tags_1.div)({
401
404
  class: "d-inline",
402
405
  "data-sc-embed-viewname": view.name,
403
406
  "data-sc-local-state": `/view/${view.name}${qs}`,
@@ -410,8 +413,8 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
410
413
  }
411
414
  else {
412
415
  const state1 = { ...state, ...extra_state };
413
- const qs = stateToQueryString(state1, true);
414
- segment.contents = div({
416
+ const qs = (0, plugin_helper_1.stateToQueryString)(state1, true);
417
+ segment.contents = (0, tags_1.div)({
415
418
  class: "d-inline",
416
419
  "data-sc-embed-viewname": view.name,
417
420
  "data-sc-view-source": `/view/${view.name}${qs}`,
@@ -422,7 +425,7 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
422
425
  : await renderServerSide(view.name, state1));
423
426
  }
424
427
  }, state);
425
- await Page.renderEachEmbeddedPageInLayout(layout, state, extra);
428
+ await page_1.default.renderEachEmbeddedPageInLayout(layout, state, extra);
426
429
  translateLayout(layout, extra.req.getLocale());
427
430
  const blockDispatch = {
428
431
  field(segment) {
@@ -475,7 +478,7 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
475
478
  (b.label?.toLowerCase?.() || b.label)
476
479
  ? 1
477
480
  : -1);
478
- const options = dvs.map(({ label, value, jsvalue }, ix) => option({
481
+ const options = dvs.map(({ label, value, jsvalue }, ix) => (0, tags_1.option)({
479
482
  value,
480
483
  selected: `${state[field_name]}` === `${or_if_undef(jsvalue, value)}` ||
481
484
  (!value && !state[field_name]) ||
@@ -487,7 +490,7 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
487
490
  : label_formula
488
491
  ? eval_expression(label_formula, { [field_name]: value }, extra.req.user || { role_id: 100 }, "Dropdown label formula")
489
492
  : label));
490
- return (select({
493
+ return ((0, tags_1.select)({
491
494
  name: `ddfilter${field_name}`,
492
495
  class: "form-control form-select d-inline-maybe scfilter selectizable",
493
496
  style: full_width ? undefined : "width: unset;",
@@ -495,7 +498,7 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
495
498
  onchange: `this.value=='' ? unset_state_field('${encodeURIComponent(field_name)}', this): set_state_field('${encodeURIComponent(field_name)}', this.value, this)`,
496
499
  }, options) +
497
500
  (apply_select2
498
- ? script(domReady(`$('select[name=ddfilter${field_name}]').select2();`))
501
+ ? (0, tags_1.script)((0, tags_1.domReady)(`$('select[name=ddfilter${field_name}]').select2();`))
499
502
  : ""));
500
503
  },
501
504
  action(segment) {
@@ -508,18 +511,18 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
508
511
  : "";
509
512
  if (action_name === "Clear") {
510
513
  if (action_style === "btn-link")
511
- return a({
514
+ return (0, tags_1.a)({
512
515
  onclick: `${confirmStr}clear_state('${configuration?.omit_fields || ""}', this)`,
513
516
  href: "javascript:void(0)",
514
517
  }, action_icon
515
- ? i({ class: action_icon }) + (label ? " " : "")
518
+ ? (0, tags_1.i)({ class: action_icon }) + (label ? " " : "")
516
519
  : false, label);
517
520
  else
518
- return button({
521
+ return (0, tags_1.button)({
519
522
  onClick: `${confirmStr}clear_state('${configuration?.omit_fields || ""}', this)`,
520
523
  class: `btn ${action_style || "btn-primary"} ${action_size || ""}`,
521
524
  }, action_icon
522
- ? i({ class: action_icon }) + (label ? " " : "")
525
+ ? (0, tags_1.i)({ class: action_icon }) + (label ? " " : "")
523
526
  : false, label);
524
527
  }
525
528
  else {
@@ -529,13 +532,13 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
529
532
  javascript: `${confirmStr}view_post('${viewname}', 'run_action', {rndid:'${segment.rndid}'}, ` +
530
533
  `null, ${withState});`,
531
534
  };
532
- return action_link(url, extra.req, segment);
535
+ return (0, viewable_fields_1.action_link)(url, extra.req, segment);
533
536
  }
534
537
  },
535
538
  toggle_filter({ field_name, value, preset_value, label, size, style }) {
536
539
  const field = fields.find((f) => f.name === field_name);
537
540
  const isBool = field && field.type.name === "Bool";
538
- const use_value = preset_value && field.presets
541
+ const use_value = preset_value && field?.presets
539
542
  ? field.presets[preset_value]({
540
543
  user: extra.req.user,
541
544
  req: extra.req,
@@ -549,7 +552,7 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
549
552
  "?": state[field_name] === null,
550
553
  }[use_value]
551
554
  : eq_string(state[field_name], use_value);
552
- return button({
555
+ return (0, tags_1.button)({
553
556
  class: [
554
557
  "btn",
555
558
  active
@@ -563,7 +566,7 @@ const run = async (table_id, viewname, { columns, layout }, state, extra, { dist
563
566
  }, label || value || preset_value);
564
567
  },
565
568
  };
566
- return div({ class: "form-namespace" }, renderLayout({
569
+ return (0, tags_1.div)({ class: "form-namespace" }, renderLayout({
567
570
  blockDispatch,
568
571
  layout,
569
572
  role,
@@ -584,16 +587,16 @@ const or_if_undef = (x, y) => (typeof x === "undefined" ? y : x);
584
587
  */
585
588
  const eq_string = (x, y) => `${x}` === `${y}`;
586
589
  const run_action = async (table_id, viewname, config, body, { req, res }, { actionQuery }) => {
587
- const table = Table.findOne(table_id);
590
+ const table = table_1.default.findOne(table_id);
588
591
  if (!table)
589
592
  throw new InvalidConfiguration(`View '${viewname}:run_action' incorrectly configured: ` +
590
593
  `Unable to find table with id '${table_id}'`);
591
594
  const state = req?.query
592
- ? readState(removeEmptyStrings(req.query), table.getFields(), req)
595
+ ? (0, plugin_helper_1.readState)(removeEmptyStrings(req.query), table.getFields(), req)
593
596
  : {};
594
597
  const result = await actionQuery(state, body?.rndid);
595
598
  if (result.json.error) {
596
- Crash.create({ message: result.json.error, stack: "" }, req);
599
+ crash_1.default.create({ message: result.json.error, stack: "" }, req);
597
600
  }
598
601
  return result;
599
602
  };
@@ -619,41 +622,41 @@ const combineResults = (results) => {
619
622
  if (typeof result[memberName] === "undefined")
620
623
  result.json[memberName] = newElement;
621
624
  };
622
- for (const result of results) {
623
- if (!result)
625
+ for (const r of results) {
626
+ if (!r)
624
627
  continue;
625
- if (result.reload_page)
626
- initOnce(result.reload_page, "reload_page");
627
- if (result.goto)
628
- initOnce(result.goto, "goto");
629
- if (result.popup)
630
- initOnce(result.popup, "popup");
631
- if (result.notify) {
628
+ if (r.reload_page)
629
+ initOnce(r.reload_page, "reload_page");
630
+ if (r.goto)
631
+ initOnce(r.goto, "goto");
632
+ if (r.popup)
633
+ initOnce(r.popup, "popup");
634
+ if (r.notify) {
632
635
  if (numMsgs < messageLimit) {
633
- initOrPush(result.notify, "notify");
636
+ initOrPush(r.notify, "notify");
634
637
  ++numMsgs;
635
638
  }
636
639
  else
637
640
  ++suppressedMsgs;
638
641
  }
639
- if (result.error) {
642
+ if (r.error) {
640
643
  if (numMsgs < messageLimit) {
641
- initOrPush(result.error, "error");
644
+ initOrPush(r.error, "error");
642
645
  ++numMsgs;
643
646
  }
644
647
  else
645
648
  ++suppressedErrors;
646
649
  }
647
- if (result.download) {
650
+ if (r.download) {
648
651
  if (numDownloads < downloadLimit) {
649
- initOrPush(result.download, "download");
652
+ initOrPush(r.download, "download");
650
653
  ++numDownloads;
651
654
  }
652
655
  else
653
656
  suppressedDownloads++;
654
657
  }
655
- if (result.eval_js)
656
- initOrPush(result.eval_js, "eval_js");
658
+ if (r.eval_js)
659
+ initOrPush(r.eval_js, "eval_js");
657
660
  }
658
661
  let suppressedMsg = "";
659
662
  if (suppressedMsgs > 0)
@@ -684,24 +687,25 @@ module.exports = {
684
687
  routes: { run_action },
685
688
  queries: ({ table_id, viewname, configuration: { columns }, req, res, exttable_name, }) => ({
686
689
  async optionsQuery(reftable_name, type, attributes, whereWithExisting, user) {
687
- return await Field.select_options_query(reftable_name, type === "File" ? attributes.select_file_where : whereWithExisting, attributes, undefined, user);
690
+ return await field_1.default.select_options_query(reftable_name, type === "File" ? attributes.select_file_where : whereWithExisting, attributes, undefined, user);
688
691
  },
689
692
  async actionQuery(state, rndid) {
690
693
  const col = columns.find((c) => c.type === "Action" && c.rndid === rndid && rndid);
691
- const table = Table.findOne(table_id);
694
+ const table = table_1.default.findOne(table_id);
692
695
  try {
693
696
  return await db.withTransaction(async () => {
694
697
  if (col.action_row_variable === "each_matching_row") {
695
698
  const fields = table.getFields();
696
- const { joinFields, aggregations } = picked_fields_to_query(columns, fields, undefined, req, table);
697
- const where = stateFieldsToWhere({
699
+ const { joinFields, aggregations } = (0, plugin_helper_1.picked_fields_to_query)(columns, fields, undefined, req, table);
700
+ const where = (0, plugin_helper_1.stateFieldsToWhere)({
698
701
  fields,
699
702
  state,
700
703
  table,
701
704
  prefix: "a.",
702
705
  });
703
- const q = stateFieldsToQuery({
706
+ const q = (0, plugin_helper_1.stateFieldsToQuery)({
704
707
  state,
708
+ fields,
705
709
  prefix: "a.",
706
710
  noSortAndPaging: true,
707
711
  });
@@ -717,7 +721,7 @@ module.exports = {
717
721
  });
718
722
  const referrer = req?.get?.("Referrer");
719
723
  return combineResults(await asyncMap(rows, async (row) => {
720
- return await run_action_column({
724
+ return await (0, plugin_helper_1.run_action_column)({
721
725
  col,
722
726
  req,
723
727
  table,
@@ -729,7 +733,7 @@ module.exports = {
729
733
  }
730
734
  else {
731
735
  const row = col.action_row_variable === "state" ? { ...state } : null;
732
- const result = await run_action_column({
736
+ const result = await (0, plugin_helper_1.run_action_column)({
733
737
  col,
734
738
  req,
735
739
  table,
@@ -747,7 +751,7 @@ module.exports = {
747
751
  }
748
752
  },
749
753
  async distinctValuesQuery(state) {
750
- const table = Table.findOne(table_id || exttable_name);
754
+ const table = table_1.default.findOne(table_id || exttable_name);
751
755
  const fields = table.getFields();
752
756
  let distinct_values = {};
753
757
  const role = req.user ? req.user.role_id : 100;
@@ -779,7 +783,7 @@ module.exports = {
779
783
  else if (col.field_name.includes("->")) {
780
784
  const [jFieldNm, krest] = col.field_name.split(".");
781
785
  const [jtNm, lblField] = krest.split("->");
782
- const jtable = Table.findOne({ name: jtNm });
786
+ const jtable = table_1.default.findOne({ name: jtNm });
783
787
  if (!jtable)
784
788
  throw new InvalidConfiguration(`View ${viewname} incorrectly configured: cannot find join table ${jtNm}`);
785
789
  const jfields = await jtable.getFields();
@@ -791,7 +795,7 @@ module.exports = {
791
795
  const kpath = col.field_name.split(".");
792
796
  if (kpath.length === 3) {
793
797
  const [jtNm, jFieldNm, lblField] = kpath;
794
- const jtable = Table.findOne({ name: jtNm });
798
+ const jtable = table_1.default.findOne({ name: jtNm });
795
799
  if (!jtable)
796
800
  throw new InvalidConfiguration(`View ${viewname} incorrectly configured: cannot find join table ${jtNm}`);
797
801
  const jfields = jtable.fields;