@saltcorn/data 0.7.1-beta.1 → 0.7.1

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 (85) hide show
  1. package/dist/base-plugin/fieldviews.d.ts +5 -0
  2. package/dist/base-plugin/fieldviews.d.ts.map +1 -1
  3. package/dist/base-plugin/fieldviews.js +3 -0
  4. package/dist/base-plugin/fieldviews.js.map +1 -1
  5. package/dist/base-plugin/index.d.ts +19 -4
  6. package/dist/base-plugin/index.d.ts.map +1 -1
  7. package/dist/base-plugin/types.d.ts +21 -0
  8. package/dist/base-plugin/types.d.ts.map +1 -1
  9. package/dist/base-plugin/types.js +12 -0
  10. package/dist/base-plugin/types.js.map +1 -1
  11. package/dist/base-plugin/viewtemplates/edit.d.ts +3 -2
  12. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
  13. package/dist/base-plugin/viewtemplates/edit.js +63 -23
  14. package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
  15. package/dist/base-plugin/viewtemplates/list.d.ts +1 -0
  16. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
  17. package/dist/base-plugin/viewtemplates/list.js +5 -0
  18. package/dist/base-plugin/viewtemplates/list.js.map +1 -1
  19. package/dist/base-plugin/viewtemplates/show.d.ts +1 -0
  20. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
  21. package/dist/base-plugin/viewtemplates/show.js +16 -4
  22. package/dist/base-plugin/viewtemplates/show.js.map +1 -1
  23. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
  24. package/dist/base-plugin/viewtemplates/viewable_fields.js +32 -13
  25. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
  26. package/dist/db/fixtures.d.ts.map +1 -1
  27. package/dist/db/fixtures.js +4 -0
  28. package/dist/db/fixtures.js.map +1 -1
  29. package/dist/db/state.d.ts +1 -0
  30. package/dist/db/state.d.ts.map +1 -1
  31. package/dist/db/state.js +1 -0
  32. package/dist/db/state.js.map +1 -1
  33. package/dist/models/config.d.ts +1 -0
  34. package/dist/models/config.d.ts.map +1 -1
  35. package/dist/models/config.js +1 -0
  36. package/dist/models/config.js.map +1 -1
  37. package/dist/models/email.d.ts +3 -0
  38. package/dist/models/email.d.ts.map +1 -1
  39. package/dist/models/expression.d.ts +2 -0
  40. package/dist/models/expression.d.ts.map +1 -1
  41. package/dist/models/expression.js +8 -0
  42. package/dist/models/expression.js.map +1 -1
  43. package/dist/models/field.d.ts +1 -0
  44. package/dist/models/field.d.ts.map +1 -1
  45. package/dist/models/field.js +33 -7
  46. package/dist/models/field.js.map +1 -1
  47. package/dist/models/fieldrepeat.d.ts +2 -0
  48. package/dist/models/fieldrepeat.d.ts.map +1 -1
  49. package/dist/models/fieldrepeat.js +1 -0
  50. package/dist/models/fieldrepeat.js.map +1 -1
  51. package/dist/models/index.d.ts +1 -0
  52. package/dist/models/index.d.ts.map +1 -1
  53. package/dist/models/page.d.ts.map +1 -1
  54. package/dist/models/page.js +8 -1
  55. package/dist/models/page.js.map +1 -1
  56. package/dist/models/plugin.d.ts +1 -0
  57. package/dist/models/plugin.d.ts.map +1 -1
  58. package/dist/models/plugin.js +1 -0
  59. package/dist/models/plugin.js.map +1 -1
  60. package/dist/models/table.d.ts.map +1 -1
  61. package/dist/models/table.js +24 -3
  62. package/dist/models/table.js.map +1 -1
  63. package/dist/plugin-helper.d.ts +1 -1
  64. package/dist/plugin-helper.d.ts.map +1 -1
  65. package/dist/plugin-helper.js +100 -35
  66. package/dist/plugin-helper.js.map +1 -1
  67. package/dist/plugin-testing.d.ts +1 -0
  68. package/dist/plugin-testing.d.ts.map +1 -1
  69. package/dist/plugin-testing.js +84 -1
  70. package/dist/plugin-testing.js.map +1 -1
  71. package/dist/tests/exact_views.test.js +2 -2
  72. package/dist/tests/exact_views.test.js.map +1 -1
  73. package/dist/tests/field.test.js +63 -0
  74. package/dist/tests/field.test.js.map +1 -1
  75. package/dist/tests/mocks.d.ts +3 -0
  76. package/dist/tests/mocks.d.ts.map +1 -1
  77. package/dist/tests/mocks.js +3 -0
  78. package/dist/tests/mocks.js.map +1 -1
  79. package/dist/tests/table.test.js +20 -0
  80. package/dist/tests/table.test.js.map +1 -1
  81. package/dist/tsconfig.ref.tsbuildinfo +1 -1
  82. package/dist/utils.d.ts.map +1 -1
  83. package/dist/utils.js +5 -0
  84. package/dist/utils.js.map +1 -1
  85. package/package.json +6 -6
@@ -958,6 +958,7 @@ class Table {
958
958
  let joinq = "";
959
959
  let joinTables = [];
960
960
  let joinFields = opts.joinFields || {};
961
+ let aggregations = opts.aggregations || {};
961
962
  const schema = db_1.default.getTenantSchemaPrefix();
962
963
  fields
963
964
  .filter((f) => f.type === "File")
@@ -1030,7 +1031,7 @@ class Table {
1030
1031
  const whereObj = prefixFieldsInWhere(opts.where, "a");
1031
1032
  const { where, values } = (0, internal_1.mkWhere)(whereObj, db_1.default.isSQLite);
1032
1033
  let placeCounter = values.length;
1033
- Object.entries(opts.aggregations || {}).forEach(([fldnm, { table, ref, field, where, aggregate, subselect }]) => {
1034
+ Object.entries(aggregations).forEach(([fldnm, { table, ref, field, where, aggregate, subselect }]) => {
1034
1035
  let whereStr = "";
1035
1036
  if (where && !subselect) {
1036
1037
  const whereAndValues = (0, internal_1.mkWhere)(where, db_1.default.isSQLite, placeCounter);
@@ -1038,7 +1039,15 @@ class Table {
1038
1039
  values.push(...whereAndValues.values);
1039
1040
  placeCounter += whereAndValues.values.length;
1040
1041
  }
1041
- if (aggregate.startsWith("Latest ")) {
1042
+ const aggTable = Table.findOne({ name: table });
1043
+ const aggField = aggTable?.fields?.find((f) => f.name === field);
1044
+ if (aggField?.is_fkey &&
1045
+ aggField.attributes.summary_field &&
1046
+ aggregate.toLowerCase() === "array_agg") {
1047
+ const newFld = `(select array_agg(aggjoin."${(0, internal_1.sqlsanitize)(aggField.attributes.summary_field)}") from ${schema}"${(0, internal_1.sqlsanitize)(table)}" aggto join ${schema}"${(0, internal_1.sqlsanitize)(aggField.reftable_name)}" aggjoin on aggto."${(0, internal_1.sqlsanitize)(field)}" = aggjoin.id where aggto."${(0, internal_1.sqlsanitize)(ref)}"=a.id${whereStr ? ` and ${whereStr}` : ""}) ${(0, internal_1.sqlsanitize)(fldnm)}`;
1048
+ fldNms.push(newFld);
1049
+ }
1050
+ else if (aggregate.startsWith("Latest ")) {
1042
1051
  const dateField = aggregate.replace("Latest ", "");
1043
1052
  fldNms.push(`(select "${(0, internal_1.sqlsanitize)(field)}" from ${schema}"${(0, internal_1.sqlsanitize)(table)}" where ${dateField}=(select max(${dateField}) from ${schema}"${(0, internal_1.sqlsanitize)(table)}" where "${(0, internal_1.sqlsanitize)(ref)}"=a.id${whereStr ? ` and ${whereStr}` : ""}) and "${(0, internal_1.sqlsanitize)(ref)}"=a.id) ${(0, internal_1.sqlsanitize)(fldnm)}`);
1044
1053
  }
@@ -1050,7 +1059,11 @@ class Table {
1050
1059
  const selectopts = {
1051
1060
  limit: opts.limit,
1052
1061
  orderBy: opts.orderBy &&
1053
- ((0, internal_1.orderByIsObject)(opts.orderBy) ? opts.orderBy : "a." + opts.orderBy),
1062
+ ((0, internal_1.orderByIsObject)(opts.orderBy)
1063
+ ? opts.orderBy
1064
+ : joinFields[opts.orderBy] || aggregations[opts.orderBy]
1065
+ ? opts.orderBy
1066
+ : "a." + opts.orderBy),
1054
1067
  orderDesc: opts.orderDesc,
1055
1068
  offset: opts.offset,
1056
1069
  };
@@ -1065,6 +1078,8 @@ class Table {
1065
1078
  const fields = await this.getFields();
1066
1079
  const { sql, values } = await this.getJoinedQuery(opts);
1067
1080
  const res = await db_1.default.query(sql, values);
1081
+ //console.log(sql);
1082
+ //console.log(res.rows);
1068
1083
  const calcRow = apply_calculated_fields(res.rows, fields);
1069
1084
  //rename joinfields
1070
1085
  if (Object.values(opts.joinFields || {}).some((jf) => jf.rename_object)) {
@@ -1074,9 +1089,11 @@ class Table {
1074
1089
  if (v.rename_object.length === 2) {
1075
1090
  const oldf = f;
1076
1091
  f = (x) => {
1092
+ const origId = x[v.rename_object[0]];
1077
1093
  x[v.rename_object[0]] = {
1078
1094
  ...x[v.rename_object[0]],
1079
1095
  [v.rename_object[1]]: x[k],
1096
+ ...(typeof origId === "number" ? { id: origId } : {}),
1080
1097
  };
1081
1098
  return oldf(x);
1082
1099
  };
@@ -1084,12 +1101,14 @@ class Table {
1084
1101
  else if (v.rename_object.length === 3) {
1085
1102
  const oldf = f;
1086
1103
  f = (x) => {
1104
+ const origId = x[v.rename_object[0]];
1087
1105
  x[v.rename_object[0]] = {
1088
1106
  ...x[v.rename_object[0]],
1089
1107
  [v.rename_object[1]]: {
1090
1108
  ...x[v.rename_object[0]]?.[v.rename_object[1]],
1091
1109
  [v.rename_object[2]]: x[k],
1092
1110
  },
1111
+ ...(typeof origId === "number" ? { id: origId } : {}),
1093
1112
  };
1094
1113
  return oldf(x);
1095
1114
  };
@@ -1097,6 +1116,7 @@ class Table {
1097
1116
  else if (v.rename_object.length === 4) {
1098
1117
  const oldf = f;
1099
1118
  f = (x) => {
1119
+ const origId = x[v.rename_object[0]];
1100
1120
  x[v.rename_object[0]] = {
1101
1121
  ...x[v.rename_object[0]],
1102
1122
  [v.rename_object[1]]: {
@@ -1106,6 +1126,7 @@ class Table {
1106
1126
  [v.rename_object[3]]: x[k],
1107
1127
  },
1108
1128
  },
1129
+ ...(typeof origId === "number" ? { id: origId } : {}),
1109
1130
  };
1110
1131
  return oldf(x);
1111
1132
  };
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../models/table.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table.js","sourceRoot":"","sources":["../../models/table.ts"],"names":[],"mappings":"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"}
@@ -105,7 +105,7 @@ export const stateToQueryString: any;
105
105
  * @param {string} [link_textcol]
106
106
  * @returns {button|a}
107
107
  */
108
- export function link_view(url: string, label: string, popup?: boolean | undefined, link_style?: string | undefined, link_size?: string | undefined, link_icon?: string | undefined, textStyle?: string | undefined, link_bgcol?: string | undefined, link_bordercol?: string | undefined, link_textcol?: string | undefined, extraClass: any): button | a;
108
+ export function link_view(url0: any, label: string, popup?: boolean | undefined, link_style?: string | undefined, link_size?: string | undefined, link_icon?: string | undefined, textStyle?: string | undefined, link_bgcol?: string | undefined, link_bordercol?: string | undefined, link_textcol?: string | undefined, extraClass: any, extraState: any): button | a;
109
109
  /**
110
110
  * Get Action configuration fields
111
111
  * @param {object} action
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-helper.d.ts","sourceRoot":"","sources":["../plugin-helper.js"],"names":[],"mappings":"AA+TA;;;;;;GAMG;AACH,sCA4aE;AAwHF;;;;;;;GAOG;AACH,yCAqIE;AAnQF;;;;;;GAMG;AACH,kCA2BE;AAEF;;;;;;GAMG;AACH,mCAiCE;AAyOF;;;;;;;GAOG;AACH,qCAsEE;AA9HF;;;;;;GAMG;AACH,qCA2BE;AA8FF;;;;;GAKG;AACH,4CA6GE;AA/nCF;;;;;GAKG;AACH,qCAwFE;AAuCF;;;;;;GAMG;AACH,qCAyDE;;AAs8BF;;;;;GAKG;AACH,iCAJW,MAAM,UACN,MAAM,EAAE,aACN,MAAM,CAwBlB;AAED;;;;;GAKG;AACH,uCAJW,MAAM,UACN,MAAM,EAAE,GACN,OAAO,MAAE,CA4BrB;AAjuCD;;;;GAIG;AACH,qCAiBE;AApFF;;;;;;;;;;;;;GAaG;AACH,+BAZW,MAAM,SACN,MAAM,2RASJ,UAAQ,CAgDpB;AAiOD;;;;;GAKG;AACH,8CAJW,MAAM,SACN,MAAM,GACJ,QAAQ,MAAM,EAAE,CAAC,CAKC;AAhH/B;;;;;GAKG;AACH,oCA6BE;AA8/BF;;;;GAIG;AACH,kCAHW,MAAM,GACJ,MAAM,GAAC,SAAS,CAK5B;AA0ID;;;;;;GAMG;AACH,yDALW,MAAM,GAGJ,YAAU,CAiBtB;AA/FD;;;;;GAKG;AACH,8EAHW,MAAM,EAAE,GACN,MAAM,CAmElB"}
1
+ {"version":3,"file":"plugin-helper.d.ts","sourceRoot":"","sources":["../plugin-helper.js"],"names":[],"mappings":"AA6VA;;;;;;GAMG;AACH,sCAqbE;AA0IF;;;;;;;GAOG;AACH,yCAqJE;AArSF;;;;;;GAMG;AACH,kCA6CE;AAEF;;;;;;GAMG;AACH,mCAiCE;AAyPF;;;;;;;GAOG;AACH,qCAsEE;AA9HF;;;;;;GAMG;AACH,qCA2BE;AA8FF;;;;;GAKG;AACH,4CA6GE;AAjsCF;;;;;GAKG;AACH,qCA4FE;AA8CF;;;;;;GAMG;AACH,qCAqEE;;AAi/BF;;;;;GAKG;AACH,iCAJW,MAAM,UACN,MAAM,EAAE,aACN,MAAM,CAwBlB;AAED;;;;;GAKG;AACH,uCAJW,MAAM,UACN,MAAM,EAAE,GACN,OAAO,MAAE,CA4BrB;AAnyCD;;;;GAIG;AACH,qCAiBE;AA1FF;;;;;;;;;;;;;GAaG;AACH,4CAXW,MAAM,4SASJ,UAAQ,CAsDpB;AAwPD;;;;;GAKG;AACH,8CAJW,MAAM,SACN,MAAM,GACJ,QAAQ,MAAM,EAAE,CAAC,CAKC;AAnI/B;;;;;GAKG;AACH,oCAoCE;AAqjCF;;;;GAIG;AACH,kCAHW,MAAM,GACJ,MAAM,GAAC,SAAS,CAK5B;AA0ID;;;;;;GAMG;AACH,yDALW,MAAM,GAGJ,YAAU,CAiBtB;AA/FD;;;;;GAKG;AACH,8EAHW,MAAM,EAAE,GACN,MAAM,CAmElB"}
@@ -16,6 +16,7 @@ const { link } = require("@saltcorn/markup");
16
16
  const { button, a, label, text, i } = require("@saltcorn/markup/tags");
17
17
  const { applyAsync, InvalidConfiguration } = require("./utils");
18
18
  const { jsexprToWhere, freeVariables } = require("./models/expression");
19
+ const { traverse } = require("./models/layout");
19
20
  /**
20
21
  *
21
22
  * @param {string} url
@@ -30,10 +31,17 @@ const { jsexprToWhere, freeVariables } = require("./models/expression");
30
31
  * @param {string} [link_textcol]
31
32
  * @returns {button|a}
32
33
  */
33
- const link_view = (url, label, popup, link_style = "", link_size = "", link_icon = "", textStyle = "", link_bgcol, link_bordercol, link_textcol, extraClass) => {
34
+ const link_view = (url0, label, popup, link_style = "", link_size = "", link_icon = "", textStyle = "", link_bgcol, link_bordercol, link_textcol, extraClass, extraState) => {
34
35
  let style = link_style === "btn btn-custom-color"
35
36
  ? `background-color: ${link_bgcol || "#000000"};border-color: ${link_bordercol || "#000000"}; color: ${link_textcol || "#000000"}`
36
37
  : null;
38
+ let url = url0;
39
+ if (extraState) {
40
+ if (url.includes("?"))
41
+ url = `${url0}&${extraState}`;
42
+ else
43
+ url = `${url0}?${extraState}`;
44
+ }
37
45
  if (popup) {
38
46
  return button({
39
47
  class: [
@@ -82,8 +90,10 @@ const calcfldViewOptions = contract(is.fun([is.array(is.class("Field")), is.str]
82
90
  const isFilter = mode === "filter";
83
91
  let fvs = {};
84
92
  const handlesTextStyle = {};
93
+ const blockDisplay = {};
85
94
  fields.forEach((f) => {
86
95
  handlesTextStyle[f.name] = [];
96
+ blockDisplay[f.name] = [];
87
97
  if (f.type === "File") {
88
98
  if (!isEdit && !isFilter)
89
99
  fvs[f.name] = Object.keys(getState().fileviews);
@@ -128,6 +138,8 @@ const calcfldViewOptions = contract(is.fun([is.array(is.class("Field")), is.str]
128
138
  Object.entries(getState().keyFieldviews).forEach(([k, v]) => {
129
139
  if (v && v.handlesTextStyle)
130
140
  handlesTextStyle[f.name].push(k);
141
+ if (v && v.blockDisplay)
142
+ blockDisplay[f.name].push(k);
131
143
  });
132
144
  }
133
145
  else if (f.type && f.type.fieldviews) {
@@ -151,11 +163,13 @@ const calcfldViewOptions = contract(is.fun([is.array(is.class("Field")), is.str]
151
163
  fvs[f.name] = tfvs_ordered.map(([k, fv]) => {
152
164
  if (fv && fv.handlesTextStyle)
153
165
  handlesTextStyle[f.name].push(k);
166
+ if (fv && fv.blockDisplay)
167
+ blockDisplay[f.name].push(k);
154
168
  return k;
155
169
  });
156
170
  }
157
171
  });
158
- return { field_view_options: fvs, handlesTextStyle };
172
+ return { field_view_options: fvs, handlesTextStyle, blockDisplay };
159
173
  });
160
174
  /**
161
175
  * @function
@@ -163,7 +177,7 @@ const calcfldViewOptions = contract(is.fun([is.array(is.class("Field")), is.str]
163
177
  * @param {boolean}
164
178
  * @returns {Promise<object>}
165
179
  */
166
- const calcfldViewConfig = contract(is.fun([is.array(is.class("Field")), is.bool], is.promise(is.obj())), async (fields, isEdit) => {
180
+ const calcfldViewConfig = contract(is.fun([is.array(is.class("Field")), is.bool], is.promise(is.obj())), async (fields, isEdit, nrecurse = 2) => {
167
181
  const fieldViewConfigForms = {};
168
182
  for (const f of fields) {
169
183
  f.fill_table();
@@ -176,11 +190,14 @@ const calcfldViewConfig = contract(is.fun([is.array(is.class("Field")), is.bool]
176
190
  fieldViewConfigForms[f.name][nm] = await applyAsync(fv.configFields, f);
177
191
  }
178
192
  if (f.type === "Key") {
179
- if (f.reftable && f.reftable.fields) {
180
- const joinedCfg = await calcfldViewConfig(f.reftable.fields, isEdit);
181
- Object.entries(joinedCfg).forEach(([nm, o]) => {
182
- fieldViewConfigForms[`${f.name}.${nm}`] = o;
183
- });
193
+ if (f.reftable_name && nrecurse > 0) {
194
+ const reftable = Table.findOne({ name: f.reftable_name });
195
+ if (reftable && reftable.fields) {
196
+ const joinedCfg = await calcfldViewConfig(reftable.fields, isEdit, nrecurse - 1);
197
+ Object.entries(joinedCfg).forEach(([nm, o]) => {
198
+ fieldViewConfigForms[`${f.name}.${nm}`] = o;
199
+ });
200
+ }
184
201
  }
185
202
  }
186
203
  }
@@ -201,22 +218,31 @@ const get_link_view_opts = contract(is.fun([is_tablely, is.str], is.promise(is.a
201
218
  label: `${v.name} [${v.viewtemplate} ${table.name}]`,
202
219
  name: `Own:${v.name}`,
203
220
  }));
204
- const link_view_names = new Set();
221
+ const link_view_opts_push = (o) => {
222
+ if (!link_view_opts.map((v) => v.name).includes(o.name))
223
+ link_view_opts.push(o);
224
+ };
205
225
  const child_views = await get_child_views(table, viewname);
206
- for (const { relation, related_table, views } of child_views) {
226
+ for (const { relation, related_table, through, throughTable, views, } of child_views) {
207
227
  for (const view of views) {
208
- const name = `${view.name}.${related_table.name}.${relation.name}`;
209
- link_view_names.add(name);
210
- link_view_opts.push({
211
- name: `ChildList:${view.name}.${related_table.name}.${relation.name}`,
212
- label: `${view.name} [${view.viewtemplate} ${related_table.name}.${relation.label}]`,
213
- });
228
+ if (through && throughTable) {
229
+ link_view_opts_push({
230
+ name: `ChildList:${view.name}.${related_table.name}.${relation.name}.${throughTable.name}.${through.name}`,
231
+ label: `${view.name} [${view.viewtemplate} ${related_table.name}.${relation.name}.${through.name}]`,
232
+ });
233
+ }
234
+ else {
235
+ link_view_opts_push({
236
+ name: `ChildList:${view.name}.${related_table.name}.${relation.name}`,
237
+ label: `${view.name} [${view.viewtemplate} ${related_table.name}.${relation.name}]`,
238
+ });
239
+ }
214
240
  }
215
241
  }
216
242
  const parent_views = await get_parent_views(table, viewname);
217
243
  for (const { relation, related_table, views } of parent_views) {
218
244
  for (const view of views) {
219
- link_view_opts.push({
245
+ link_view_opts_push({
220
246
  name: `ParentShow:${view.name}.${related_table.name}.${relation.name}`,
221
247
  label: `${view.name} [${view.viewtemplate} ${relation.name}.${related_table.name}]`,
222
248
  });
@@ -225,17 +251,15 @@ const get_link_view_opts = contract(is.fun([is_tablely, is.str], is.promise(is.a
225
251
  const onetoone_views = await get_onetoone_views(table, viewname);
226
252
  for (const { relation, related_table, views } of onetoone_views) {
227
253
  for (const view of views) {
228
- const name = `${view.name}.${related_table.name}.${relation.name}`;
229
- if (!link_view_names.has(name))
230
- link_view_opts.push({
231
- name: `OneToOneShow:${view.name}.${related_table.name}.${relation.name}`,
232
- label: `${view.name} [${view.viewtemplate} ${related_table.name}.${relation.label}]`,
233
- });
254
+ link_view_opts_push({
255
+ name: `OneToOneShow:${view.name}.${related_table.name}.${relation.name}`,
256
+ label: `${view.name} [${view.viewtemplate} ${related_table.name}.${relation.label}]`,
257
+ });
234
258
  }
235
259
  }
236
260
  const independent_views = await View.find_all_views_where(({ state_fields }) => !state_fields.some((sf) => sf.required));
237
261
  independent_views.forEach((view) => {
238
- link_view_opts.push({
262
+ link_view_opts_push({
239
263
  label: `${view.name} [${view.viewtemplate}]`,
240
264
  name: `Independent:${view.name}`,
241
265
  });
@@ -525,13 +549,6 @@ const field_picker_fields = contract(is.fun(is.obj({ table: is_tablely, viewname
525
549
  required: false,
526
550
  showIf: { type: "ViewLink" },
527
551
  },
528
- {
529
- name: "in_modal",
530
- label: __("Open in popup modal?"),
531
- type: "Bool",
532
- required: false,
533
- showIf: { type: "ViewLink" },
534
- },
535
552
  {
536
553
  name: "link_style",
537
554
  label: __("Link Style"),
@@ -572,6 +589,13 @@ const field_picker_fields = contract(is.fun(is.obj({ table: is_tablely, viewname
572
589
  },
573
590
  showIf: { type: "ViewLink" },
574
591
  },
592
+ {
593
+ name: "extra_state_fml",
594
+ label: __("Extra state Formula"),
595
+ sublabel: "Formula for JavaScript object that will be added to state parameters",
596
+ type: "String",
597
+ showIf: { type: "ViewLink" },
598
+ },
575
599
  {
576
600
  name: "link_text",
577
601
  label: __("Link text"),
@@ -607,6 +631,13 @@ const field_picker_fields = contract(is.fun(is.obj({ table: is_tablely, viewname
607
631
  required: false,
608
632
  showIf: { type: "Link" },
609
633
  },
634
+ {
635
+ name: "in_modal",
636
+ label: __("Open in popup modal?"),
637
+ type: "Bool",
638
+ required: false,
639
+ showIf: { type: ["ViewLink", "Link"] },
640
+ },
610
641
  {
611
642
  name: "in_dropdown",
612
643
  label: __("Place in dropdown"),
@@ -678,18 +709,36 @@ const field_picker_fields = contract(is.fun(is.obj({ table: is_tablely, viewname
678
709
  * @param {string} viewname
679
710
  * @returns {Promise<object[]>}
680
711
  */
681
- const get_child_views = contract(is.fun([is_tablely, is.str], is.promise(is.array(is.obj({
712
+ const get_child_views = contract(is.fun([is_tablely, is.maybe(is.str)], is.promise(is.array(is.obj({
682
713
  relation: is.class("Field"),
683
714
  related_table: is.class("Table"),
684
715
  views: is.array(is.class("View")),
685
- })))), async (table, viewname) => {
716
+ })))), async (table, viewname, nrecurse = 2) => {
686
717
  const rels = await Field.find({ reftable_name: table.name });
718
+ const possibleThroughTables = new Set();
687
719
  var child_views = [];
688
720
  for (const relation of rels) {
689
- const related_table = await Table.findOne({ id: relation.table_id });
721
+ const related_table = Table.findOne({ id: relation.table_id });
690
722
  const views = await View.find_table_views_where(related_table.id, ({ state_fields, viewrow }) => viewrow.name !== viewname && state_fields.every((sf) => !sf.required));
691
723
  child_views.push({ relation, related_table, views });
724
+ possibleThroughTables.add(`${related_table.name}.${relation.name}`);
692
725
  }
726
+ if (nrecurse > 0)
727
+ for (const possibleThroughTable of possibleThroughTables) {
728
+ const [tableName, fieldName] = possibleThroughTable.split(".");
729
+ const reltable = Table.findOne({ name: tableName });
730
+ const relfields = await reltable.getFields();
731
+ const relfield = relfields.find((f) => f.name === fieldName);
732
+ const cviews = await get_child_views(reltable, null, nrecurse - 1);
733
+ for (const { relation, related_table, views } of cviews)
734
+ child_views.push({
735
+ relation,
736
+ related_table,
737
+ through: relfield,
738
+ throughTable: reltable,
739
+ views,
740
+ });
741
+ }
693
742
  return child_views;
694
743
  });
695
744
  /**
@@ -749,7 +798,7 @@ const get_onetoone_views = contract(is.fun([is_tablely, is.str], is.promise(is.a
749
798
  * @throws {InvalidConfiguration}
750
799
  * @returns {object}
751
800
  */
752
- const picked_fields_to_query = contract(is.fun([is.array(is_column), is.array(is.class("Field"))], is_table_query), (columns, fields) => {
801
+ const picked_fields_to_query = contract(is.fun([is.array(is_column), is.array(is.class("Field"))], is_table_query), (columns, fields, layout) => {
753
802
  var joinFields = {};
754
803
  var aggregations = {};
755
804
  let freeVars = new Set(); // for join fields
@@ -803,6 +852,11 @@ const picked_fields_to_query = contract(is.fun([is.array(is_column), is.array(is
803
852
  ...freeVars,
804
853
  ...freeVariables(column.view_label),
805
854
  ]);
855
+ if (column.extra_state_fml)
856
+ freeVars = new Set([
857
+ ...freeVars,
858
+ ...freeVariables(column.extra_state_fml),
859
+ ]);
806
860
  if (column.view && column.view.split) {
807
861
  const [vtype, vrest] = column.view.split(":");
808
862
  if (vtype === "ParentShow") {
@@ -849,6 +903,17 @@ const picked_fields_to_query = contract(is.fun([is.array(is_column), is.array(is
849
903
  ]);
850
904
  }
851
905
  });
906
+ if (layout) {
907
+ traverse(layout, {
908
+ view(v) {
909
+ if (v.extra_state_fml)
910
+ freeVars = new Set([
911
+ ...freeVars,
912
+ ...freeVariables(v.extra_state_fml),
913
+ ]);
914
+ },
915
+ });
916
+ }
852
917
  [...freeVars]
853
918
  .filter((v) => v.includes("."))
854
919
  .map((v) => {