@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.
- package/dist/base-plugin/fieldviews.d.ts +5 -0
- package/dist/base-plugin/fieldviews.d.ts.map +1 -1
- package/dist/base-plugin/fieldviews.js +3 -0
- package/dist/base-plugin/fieldviews.js.map +1 -1
- package/dist/base-plugin/index.d.ts +19 -4
- package/dist/base-plugin/index.d.ts.map +1 -1
- package/dist/base-plugin/types.d.ts +21 -0
- package/dist/base-plugin/types.d.ts.map +1 -1
- package/dist/base-plugin/types.js +12 -0
- package/dist/base-plugin/types.js.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.d.ts +3 -2
- package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/edit.js +63 -23
- package/dist/base-plugin/viewtemplates/edit.js.map +1 -1
- package/dist/base-plugin/viewtemplates/list.d.ts +1 -0
- package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/list.js +5 -0
- package/dist/base-plugin/viewtemplates/list.js.map +1 -1
- package/dist/base-plugin/viewtemplates/show.d.ts +1 -0
- package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/show.js +16 -4
- package/dist/base-plugin/viewtemplates/show.js.map +1 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -1
- package/dist/base-plugin/viewtemplates/viewable_fields.js +32 -13
- package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -1
- package/dist/db/fixtures.d.ts.map +1 -1
- package/dist/db/fixtures.js +4 -0
- package/dist/db/fixtures.js.map +1 -1
- package/dist/db/state.d.ts +1 -0
- package/dist/db/state.d.ts.map +1 -1
- package/dist/db/state.js +1 -0
- package/dist/db/state.js.map +1 -1
- package/dist/models/config.d.ts +1 -0
- package/dist/models/config.d.ts.map +1 -1
- package/dist/models/config.js +1 -0
- package/dist/models/config.js.map +1 -1
- package/dist/models/email.d.ts +3 -0
- package/dist/models/email.d.ts.map +1 -1
- package/dist/models/expression.d.ts +2 -0
- package/dist/models/expression.d.ts.map +1 -1
- package/dist/models/expression.js +8 -0
- package/dist/models/expression.js.map +1 -1
- package/dist/models/field.d.ts +1 -0
- package/dist/models/field.d.ts.map +1 -1
- package/dist/models/field.js +33 -7
- package/dist/models/field.js.map +1 -1
- package/dist/models/fieldrepeat.d.ts +2 -0
- package/dist/models/fieldrepeat.d.ts.map +1 -1
- package/dist/models/fieldrepeat.js +1 -0
- package/dist/models/fieldrepeat.js.map +1 -1
- package/dist/models/index.d.ts +1 -0
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/page.d.ts.map +1 -1
- package/dist/models/page.js +8 -1
- package/dist/models/page.js.map +1 -1
- package/dist/models/plugin.d.ts +1 -0
- package/dist/models/plugin.d.ts.map +1 -1
- package/dist/models/plugin.js +1 -0
- package/dist/models/plugin.js.map +1 -1
- package/dist/models/table.d.ts.map +1 -1
- package/dist/models/table.js +24 -3
- package/dist/models/table.js.map +1 -1
- package/dist/plugin-helper.d.ts +1 -1
- package/dist/plugin-helper.d.ts.map +1 -1
- package/dist/plugin-helper.js +100 -35
- package/dist/plugin-helper.js.map +1 -1
- package/dist/plugin-testing.d.ts +1 -0
- package/dist/plugin-testing.d.ts.map +1 -1
- package/dist/plugin-testing.js +84 -1
- package/dist/plugin-testing.js.map +1 -1
- package/dist/tests/exact_views.test.js +2 -2
- package/dist/tests/exact_views.test.js.map +1 -1
- package/dist/tests/field.test.js +63 -0
- package/dist/tests/field.test.js.map +1 -1
- package/dist/tests/mocks.d.ts +3 -0
- package/dist/tests/mocks.d.ts.map +1 -1
- package/dist/tests/mocks.js +3 -0
- package/dist/tests/mocks.js.map +1 -1
- package/dist/tests/table.test.js +20 -0
- package/dist/tests/table.test.js.map +1 -1
- package/dist/tsconfig.ref.tsbuildinfo +1 -1
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +5 -0
- package/dist/utils.js.map +1 -1
- package/package.json +6 -6
package/dist/models/table.js
CHANGED
|
@@ -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(
|
|
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
|
-
|
|
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)
|
|
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
|
};
|
package/dist/models/table.js.map
CHANGED
|
@@ -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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"}
|
package/dist/plugin-helper.d.ts
CHANGED
|
@@ -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(
|
|
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":"
|
|
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"}
|
package/dist/plugin-helper.js
CHANGED
|
@@ -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 = (
|
|
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.
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
-
|
|
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
|
|
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
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
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
|
-
|
|
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
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
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
|
-
|
|
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 =
|
|
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) => {
|