@saltcorn/server 0.7.4-beta.3 → 0.8.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,9 @@ const {
8
8
  settingsDropdown,
9
9
  post_dropdown_item,
10
10
  } = require("@saltcorn/markup");
11
-
11
+ const {
12
+ get_base_url,
13
+ } = require("./utils.js");
12
14
  const { h4, p, div, a, input, text } = require("@saltcorn/markup/tags");
13
15
 
14
16
  /**
@@ -46,52 +48,52 @@ const tablesList = async (tables, req, { tagId, domId, showList } = {}) => {
46
48
  const getRole = (rid) => roles.find((r) => r.id === rid).role;
47
49
  return tables.length > 0
48
50
  ? mkTable(
49
- [
50
- {
51
- label: req.__("Name"),
52
- key: (r) => link(`/table/${r.id || r.name}`, text(r.name)),
53
- },
54
- {
55
- label: "",
56
- key: (r) => tableBadges(r, req),
57
- },
58
- {
59
- label: req.__("Access Read/Write"),
60
- key: (t) =>
61
- t.external
62
- ? `${getRole(t.min_role_read)} (read only)`
63
- : `${getRole(t.min_role_read)}/${getRole(t.min_role_write)}`,
64
- },
65
- !tagId
66
- ? {
67
- label: req.__("Delete"),
68
- key: (r) =>
69
- r.name === "users" || r.external
70
- ? ""
71
- : post_delete_btn(`/table/delete/${r.id}`, req, r.name),
72
- }
73
- : {
74
- label: req.__("Remove From Tag"),
75
- key: (r) =>
76
- post_delete_btn(
77
- `/tag-entries/remove/tables/${r.id}/${tagId}`,
78
- req,
79
- `${r.name} from this tag`
80
- ),
81
- },
82
- ],
83
- tables,
51
+ [
84
52
  {
85
- hover: true,
86
- tableClass: listClass(tagId, showList),
87
- tableId: domId,
88
- }
89
- )
53
+ label: req.__("Name"),
54
+ key: (r) => link(`/table/${r.id || r.name}`, text(r.name)),
55
+ },
56
+ {
57
+ label: "",
58
+ key: (r) => tableBadges(r, req),
59
+ },
60
+ {
61
+ label: req.__("Access Read/Write"),
62
+ key: (t) =>
63
+ t.external
64
+ ? `${getRole(t.min_role_read)} (read only)`
65
+ : `${getRole(t.min_role_read)}/${getRole(t.min_role_write)}`,
66
+ },
67
+ !tagId
68
+ ? {
69
+ label: req.__("Delete"),
70
+ key: (r) =>
71
+ r.name === "users" || r.external
72
+ ? ""
73
+ : post_delete_btn(`/table/delete/${r.id}`, req, r.name),
74
+ }
75
+ : {
76
+ label: req.__("Remove From Tag"),
77
+ key: (r) =>
78
+ post_delete_btn(
79
+ `/tag-entries/remove/tables/${r.id}/${tagId}`,
80
+ req,
81
+ `${r.name} from this tag`
82
+ ),
83
+ },
84
+ ],
85
+ tables,
86
+ {
87
+ hover: true,
88
+ tableClass: listClass(tagId, showList),
89
+ tableId: domId,
90
+ }
91
+ )
90
92
  : div(
91
- { class: listClass(tagId, showList), id: domId },
92
- h4(req.__("No tables defined")),
93
- p(req.__("Tables hold collections of similar data"))
94
- );
93
+ { class: listClass(tagId, showList), id: domId },
94
+ h4(req.__("No tables defined")),
95
+ p(req.__("Tables hold collections of similar data"))
96
+ );
95
97
  };
96
98
 
97
99
  /**
@@ -173,78 +175,78 @@ const viewsList = async (views, req, { tagId, domId, showList } = {}) => {
173
175
 
174
176
  return views.length > 0
175
177
  ? mkTable(
176
- [
177
- {
178
- label: req.__("Name"),
179
- key: (r) => link(`/view/${encodeURIComponent(r.name)}`, r.name),
180
- sortlink: !tagId
181
- ? `javascript:set_state_field('_sortby', 'name')`
182
- : undefined,
183
- },
184
- // description - currently I dont want to show description in view list
185
- // because description can be long
186
- /*
187
- {
188
- label: req.__("Description"),
189
- key: "description",
190
- // this is sorting by column
191
- sortlink: `javascript:set_state_field('_sortby', 'description')`,
192
- },
193
- */
194
- // template
195
- {
196
- label: req.__("Pattern"),
197
- key: "viewtemplate",
198
- sortlink: !tagId
199
- ? `javascript:set_state_field('_sortby', 'viewtemplate')`
200
- : undefined,
201
- },
202
- {
203
- label: req.__("Table"),
204
- key: (r) => link(`/table/${r.table}`, r.table),
205
- sortlink: !tagId
206
- ? `javascript:set_state_field('_sortby', 'table')`
207
- : undefined,
208
- },
209
- {
210
- label: req.__("Role to access"),
211
- key: (row) => editViewRoleForm(row, roles, req),
212
- },
213
- {
178
+ [
179
+ {
180
+ label: req.__("Name"),
181
+ key: (r) => link(`/view/${encodeURIComponent(r.name)}`, r.name),
182
+ sortlink: !tagId
183
+ ? `javascript:set_state_field('_sortby', 'name')`
184
+ : undefined,
185
+ },
186
+ // description - currently I dont want to show description in view list
187
+ // because description can be long
188
+ /*
189
+ {
190
+ label: req.__("Description"),
191
+ key: "description",
192
+ // this is sorting by column
193
+ sortlink: `javascript:set_state_field('_sortby', 'description')`,
194
+ },
195
+ */
196
+ // template
197
+ {
198
+ label: req.__("Pattern"),
199
+ key: "viewtemplate",
200
+ sortlink: !tagId
201
+ ? `javascript:set_state_field('_sortby', 'viewtemplate')`
202
+ : undefined,
203
+ },
204
+ {
205
+ label: req.__("Table"),
206
+ key: (r) => link(`/table/${r.table}`, r.table),
207
+ sortlink: !tagId
208
+ ? `javascript:set_state_field('_sortby', 'table')`
209
+ : undefined,
210
+ },
211
+ {
212
+ label: req.__("Role to access"),
213
+ key: (row) => editViewRoleForm(row, roles, req),
214
+ },
215
+ {
216
+ label: "",
217
+ key: (r) =>
218
+ link(
219
+ `/viewedit/config/${encodeURIComponent(r.name)}`,
220
+ req.__("Configure")
221
+ ),
222
+ },
223
+ !tagId
224
+ ? {
214
225
  label: "",
226
+ key: (r) => view_dropdown(r, req),
227
+ }
228
+ : {
229
+ label: req.__("Remove From Tag"),
215
230
  key: (r) =>
216
- link(
217
- `/viewedit/config/${encodeURIComponent(r.name)}`,
218
- req.__("Configure")
231
+ post_delete_btn(
232
+ `/tag-entries/remove/views/${r.id}/${tagId}`,
233
+ req,
234
+ `${r.name} from this tag`
219
235
  ),
220
236
  },
221
- !tagId
222
- ? {
223
- label: "",
224
- key: (r) => view_dropdown(r, req),
225
- }
226
- : {
227
- label: req.__("Remove From Tag"),
228
- key: (r) =>
229
- post_delete_btn(
230
- `/tag-entries/remove/views/${r.id}/${tagId}`,
231
- req,
232
- `${r.name} from this tag`
233
- ),
234
- },
235
- ],
236
- views,
237
- {
238
- hover: true,
239
- tableClass: listClass(tagId, showList),
240
- tableId: domId,
241
- }
242
- )
237
+ ],
238
+ views,
239
+ {
240
+ hover: true,
241
+ tableClass: listClass(tagId, showList),
242
+ tableId: domId,
243
+ }
244
+ )
243
245
  : div(
244
- { class: listClass(tagId, showList), id: domId },
245
- h4(req.__("No views defined")),
246
- p(req.__("Views define how table rows are displayed to the user"))
247
- );
246
+ { class: listClass(tagId, showList), id: domId },
247
+ h4(req.__("No views defined")),
248
+ p(req.__("Views define how table rows are displayed to the user"))
249
+ );
248
250
  };
249
251
 
250
252
  /**
@@ -332,18 +334,18 @@ const getPageList = (rows, roles, req, { tagId, domId, showList } = {}) => {
332
334
  },
333
335
  !tagId
334
336
  ? {
335
- label: "",
336
- key: (r) => page_dropdown(r, req),
337
- }
337
+ label: "",
338
+ key: (r) => page_dropdown(r, req),
339
+ }
338
340
  : {
339
- label: req.__("Remove From Tag"),
340
- key: (r) =>
341
- post_delete_btn(
342
- `/tag-entries/remove/pages/${r.id}/${tagId}`,
343
- req,
344
- `${r.name} from this tag`
345
- ),
346
- },
341
+ label: req.__("Remove From Tag"),
342
+ key: (r) =>
343
+ post_delete_btn(
344
+ `/tag-entries/remove/pages/${r.id}/${tagId}`,
345
+ req,
346
+ `${r.name} from this tag`
347
+ ),
348
+ },
347
349
  ,
348
350
  ],
349
351
  rows,
@@ -356,6 +358,7 @@ const getPageList = (rows, roles, req, { tagId, domId, showList } = {}) => {
356
358
  };
357
359
 
358
360
  const getTriggerList = (triggers, req, { tagId, domId, showList } = {}) => {
361
+ const base_url = get_base_url(req);
359
362
  return mkTable(
360
363
  [
361
364
  { label: req.__("Name"), key: "name" },
@@ -388,18 +391,18 @@ const getTriggerList = (triggers, req, { tagId, domId, showList } = {}) => {
388
391
  },
389
392
  !tagId
390
393
  ? {
391
- label: req.__("Delete"),
392
- key: (r) => post_delete_btn(`/actions/delete/${r.id}`, req),
393
- }
394
+ label: req.__("Delete"),
395
+ key: (r) => post_delete_btn(`/actions/delete/${r.id}`, req),
396
+ }
394
397
  : {
395
- label: req.__("Remove From Tag"),
396
- key: (r) =>
397
- post_delete_btn(
398
- `/tag-entries/remove/trigger/${r.id}/${tagId}`,
399
- req,
400
- `${r.name} from this tag`
401
- ),
402
- },
398
+ label: req.__("Remove From Tag"),
399
+ key: (r) =>
400
+ post_delete_btn(
401
+ `/tag-entries/remove/trigger/${r.id}/${tagId}`,
402
+ req,
403
+ `${r.name} from this tag`
404
+ ),
405
+ },
403
406
  ],
404
407
  triggers,
405
408
  {