@saltcorn/server 0.6.3-beta.3 → 0.6.3

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/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@saltcorn/server",
3
- "version": "0.6.3-beta.3",
3
+ "version": "0.6.3",
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.6.3-beta.3",
10
- "@saltcorn/builder": "0.6.3-beta.3",
11
- "@saltcorn/data": "0.6.3-beta.3",
9
+ "@saltcorn/base-plugin": "0.6.3",
10
+ "@saltcorn/builder": "0.6.3",
11
+ "@saltcorn/data": "0.6.3",
12
12
  "greenlock-express": "^4.0.3",
13
- "@saltcorn/markup": "0.6.3-beta.3",
14
- "@saltcorn/sbadmin2": "0.6.3-beta.3",
13
+ "@saltcorn/markup": "0.6.3",
14
+ "@saltcorn/sbadmin2": "0.6.3",
15
15
  "@socket.io/cluster-adapter": "^0.1.0",
16
16
  "@socket.io/sticky": "^1.0.1",
17
17
  "connect-flash": "^0.1.1",
@@ -30,7 +30,10 @@ function add_repeater(nm) {
30
30
  function apply_showif() {
31
31
  $("[data-show-if]").each(function (ix, element) {
32
32
  var e = $(element);
33
- var to_show = new Function("e", "return " + e.attr("data-show-if"));
33
+ var to_show = new Function(
34
+ "e",
35
+ "return " + decodeURIComponent(e.attr("data-show-if"))
36
+ );
34
37
  if (to_show(e))
35
38
  e.show()
36
39
  .find("input, textarea, button, select")
@@ -510,6 +513,33 @@ function ajax_modal(url, opts = {}) {
510
513
  },
511
514
  });
512
515
  }
516
+
517
+ function saveAndContinue(e) {
518
+ var form = $(e).closest("form");
519
+ var url = form.attr("action");
520
+ var form_data = form.serialize();
521
+ $.ajax(url, {
522
+ type: "POST",
523
+ headers: {
524
+ "CSRF-Token": _sc_globalCsrf,
525
+ },
526
+ data: form_data,
527
+ success: function (res) {
528
+ if (res.id && form.find("input[name=id")) {
529
+ form.append(
530
+ `<input type="hidden" class="form-control " name="id" value="${res.id}">`
531
+ );
532
+ }
533
+ },
534
+ error: function (request) {
535
+ $("#page-inner-content").html(request.responseText);
536
+ initialize_page();
537
+ },
538
+ });
539
+
540
+ return false;
541
+ }
542
+
513
543
  function ajaxSubmitForm(e) {
514
544
  var form = $(e).closest("form");
515
545
  var url = form.attr("action");
package/routes/list.js CHANGED
@@ -155,6 +155,10 @@ const typeToJsGridType = (t, field) => {
155
155
  jsgField.editing = false;
156
156
  jsgField.inserting = false;
157
157
  }
158
+ if (field.primary_key) {
159
+ jsgField.inserting = false;
160
+ jsgField.editing = false;
161
+ }
158
162
  return jsgField;
159
163
  };
160
164
 
@@ -157,9 +157,12 @@ const pageBuilderData = async (req, context) => {
157
157
  const images = await File.find({ mime_super: "image" });
158
158
  const roles = await User.get_roles();
159
159
  const stateActions = getState().actions;
160
- const actions = Object.entries(stateActions)
161
- .filter(([k, v]) => !v.requireRow && !v.disableInBuilder)
162
- .map(([k, v]) => k);
160
+ const actions = [
161
+ "GoBack",
162
+ ...Object.entries(stateActions)
163
+ .filter(([k, v]) => !v.requireRow && !v.disableInBuilder)
164
+ .map(([k, v]) => k),
165
+ ];
163
166
  const triggers = await Trigger.find({
164
167
  when_trigger: { or: ["API call", "Never"] },
165
168
  });