@saltcorn/server 0.8.1-beta.0 → 0.8.1-beta.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/locales/en.json CHANGED
@@ -1067,5 +1067,11 @@
1067
1067
  "Maximum upload file size in kilobytes": "Maximum upload file size in kilobytes",
1068
1068
  "File upload timeout": "File upload timeout",
1069
1069
  "Defines how long to wait for data before aborting file upload. Set to 0 if you want to turn off timeout checks. ": "Defines how long to wait for data before aborting file upload. Set to 0 if you want to turn off timeout checks. ",
1070
- "Files settings": "Files settings"
1070
+ "Files settings": "Files settings",
1071
+ "NPM packages in code": "NPM packages in code",
1072
+ "Comma-separated list of packages which will be available in JavaScript actions": "Comma-separated list of packages which will be available in JavaScript actions",
1073
+ "Become user": "Become user",
1074
+ "Your are now logged in as %s. Logout and login again to assume your usual identity": "Your are now logged in as %s. Logout and login again to assume your usual identity",
1075
+ "Done": "Done",
1076
+ "Configure trigger %s": "Configure trigger %s"
1071
1077
  }
package/locales/it.json CHANGED
@@ -484,5 +484,6 @@
484
484
  "Table access": "Table access",
485
485
  "HTTP": "HTTP",
486
486
  "Rights": "Rights",
487
- "Permissions": "Permissions"
487
+ "Permissions": "Permissions",
488
+ "Become user": "Become user"
488
489
  }
package/package.json CHANGED
@@ -1,18 +1,18 @@
1
1
  {
2
2
  "name": "@saltcorn/server",
3
- "version": "0.8.1-beta.0",
3
+ "version": "0.8.1-beta.1",
4
4
  "description": "Server app for Saltcorn, open-source no-code platform",
5
5
  "homepage": "https://saltcorn.com",
6
6
  "main": "index.js",
7
7
  "license": "MIT",
8
8
  "dependencies": {
9
- "@saltcorn/base-plugin": "0.8.1-beta.0",
10
- "@saltcorn/builder": "0.8.1-beta.0",
11
- "@saltcorn/data": "0.8.1-beta.0",
12
- "@saltcorn/admin-models": "0.8.1-beta.0",
13
- "@saltcorn/filemanager": "0.8.1-beta.0",
14
- "@saltcorn/markup": "0.8.1-beta.0",
15
- "@saltcorn/sbadmin2": "0.8.1-beta.0",
9
+ "@saltcorn/base-plugin": "0.8.1-beta.1",
10
+ "@saltcorn/builder": "0.8.1-beta.1",
11
+ "@saltcorn/data": "0.8.1-beta.1",
12
+ "@saltcorn/admin-models": "0.8.1-beta.1",
13
+ "@saltcorn/filemanager": "0.8.1-beta.1",
14
+ "@saltcorn/markup": "0.8.1-beta.1",
15
+ "@saltcorn/sbadmin2": "0.8.1-beta.1",
16
16
  "@socket.io/cluster-adapter": "^0.1.0",
17
17
  "@socket.io/sticky": "^1.0.1",
18
18
  "aws-sdk": "^2.1037.0",
@@ -444,10 +444,19 @@ function initialize_page() {
444
444
  setTimeout(() => {
445
445
  codes.forEach((el) => {
446
446
  //console.log($(el).attr("mode"), el);
447
- CodeMirror.fromTextArea(el, {
447
+ const cm = CodeMirror.fromTextArea(el, {
448
448
  lineNumbers: true,
449
449
  mode: $(el).attr("mode"),
450
450
  });
451
+ cm.on(
452
+ "change",
453
+ $.debounce(() => {
454
+ $(el).closest("form").trigger("change");
455
+ }),
456
+ 500,
457
+ null,
458
+ true
459
+ );
451
460
  });
452
461
  }, 100);
453
462
  });
@@ -97,7 +97,7 @@ function invalidate_pagings(href) {
97
97
  return newhref;
98
98
  }
99
99
 
100
- function set_state_fields(kvs) {
100
+ function set_state_fields(kvs, disable_pjax) {
101
101
  let newhref = get_current_state_url();
102
102
  if (Object.keys(kvs).some((k) => !is_paging_param(k))) {
103
103
  newhref = invalidate_pagings(newhref);
@@ -107,7 +107,8 @@ function set_state_fields(kvs) {
107
107
  newhref = removeQueryStringParameter(newhref, kv[0]);
108
108
  else newhref = updateQueryStringParameter(newhref, kv[0], kv[1]);
109
109
  });
110
- pjax_to(newhref.replace("&&", "&").replace("?&", "?"));
110
+ if (disable_pjax) href_to(newhref.replace("&&", "&").replace("?&", "?"));
111
+ else pjax_to(newhref.replace("&&", "&").replace("?&", "?"));
111
112
  }
112
113
  function unset_state_field(key) {
113
114
  pjax_to(removeQueryStringParameter(get_current_state_url(), key));
package/routes/actions.js CHANGED
@@ -401,7 +401,7 @@ router.get(
401
401
  sub2_page: "Configure",
402
402
  contents: {
403
403
  type: "card",
404
- title: req.__("Configure trigger"),
404
+ title: req.__("Configure trigger %s", trigger.name),
405
405
  contents: {
406
406
  widths: [8, 4],
407
407
  besides: [
@@ -456,6 +456,8 @@ router.get(
456
456
  // create form
457
457
  const form = new Form({
458
458
  action: addOnDoneRedirect(`/actions/configure/${id}`, req),
459
+ onChange: "saveAndContinue(this)",
460
+ submitLabel: req.__("Done"),
459
461
  fields: cfgFields,
460
462
  });
461
463
  // populate form values
@@ -468,7 +470,7 @@ router.get(
468
470
  sub2_page: "Configure",
469
471
  contents: {
470
472
  type: "card",
471
- title: req.__("Configure trigger"),
473
+ title: req.__("Configure trigger %s", trigger.name),
472
474
  contents: renderForm(form, req.csrfToken()),
473
475
  },
474
476
  });
@@ -512,6 +514,10 @@ router.post(
512
514
  });
513
515
  } else {
514
516
  await Trigger.update(trigger.id, { configuration: form.values });
517
+ if (req.xhr) {
518
+ res.json({ success: "ok" });
519
+ return;
520
+ }
515
521
  req.flash("success", "Action configuration saved");
516
522
  res.redirect(
517
523
  req.query.on_done_redirect
package/routes/admin.js CHANGED
@@ -59,6 +59,7 @@ const {
59
59
  getState,
60
60
  restart_tenant,
61
61
  getTenant,
62
+ getRootState,
62
63
  //get_other_domain_tenant,
63
64
  get_process_init_time,
64
65
  } = require("@saltcorn/data/db/state");
@@ -1820,6 +1821,11 @@ router.post(
1820
1821
  * @returns {Promise<Form>} form
1821
1822
  */
1822
1823
  const dev_form = async (req) => {
1824
+ const role_to_create_tenant = +getRootState().getConfig(
1825
+ "role_to_create_tenant"
1826
+ );
1827
+ const isRoot = db.getTenantSchema() === db.connectObj.default_schema;
1828
+
1823
1829
  return await config_fields_form({
1824
1830
  req,
1825
1831
  field_names: [
@@ -1827,6 +1833,9 @@ const dev_form = async (req) => {
1827
1833
  "log_sql",
1828
1834
  "log_client_errors",
1829
1835
  "log_level",
1836
+ ...(isRoot || role_to_create_tenant < 10
1837
+ ? ["npm_available_js_code"]
1838
+ : []),
1830
1839
  ],
1831
1840
  action: "/admin/dev",
1832
1841
  });
package/routes/tenant.js CHANGED
@@ -385,7 +385,7 @@ router.get(
385
385
  },
386
386
  {
387
387
  label: req.__("Created"),
388
- key: (r) => localeDateTime(r.created),
388
+ key: (r) => (r.created ? localeDateTime(r.created) : ""),
389
389
  },
390
390
  {
391
391
  label: req.__("Information"),