@saltcorn/server 0.9.4-beta.11 → 0.9.4-beta.12
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 +2 -1
- package/markup/admin.js +22 -18
- package/package.json +9 -8
- package/routes/admin.js +1 -0
- package/routes/homepage.js +2 -1
- package/routes/tag_entries.js +6 -1
- package/routes/view.js +5 -1
- package/routes/viewedit.js +9 -0
package/locales/en.json
CHANGED
|
@@ -1365,5 +1365,6 @@
|
|
|
1365
1365
|
"Random allocation": "Random allocation",
|
|
1366
1366
|
"Serve a random page, ignoring the eligible formula. Within a session, reloads will always deliver the same page. This is a basic requirement for A/B testing.": "Serve a random page, ignoring the eligible formula. Within a session, reloads will always deliver the same page. This is a basic requirement for A/B testing.",
|
|
1367
1367
|
"Pagegroup %s not found": "Pagegroup %s not found",
|
|
1368
|
-
"Create trigger": "Create trigger"
|
|
1368
|
+
"Create trigger": "Create trigger",
|
|
1369
|
+
"Omit the menu from this view": "Omit the menu from this view"
|
|
1369
1370
|
}
|
package/markup/admin.js
CHANGED
|
@@ -95,23 +95,27 @@ const add_edit_bar = ({
|
|
|
95
95
|
const singleton = view?.viewtemplateObj?.singleton;
|
|
96
96
|
|
|
97
97
|
const bar = div(
|
|
98
|
-
{ class: "
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
98
|
+
{ class: "card p-1 mt-1 mb-3 d-print-none admin-edit-bar" },
|
|
99
|
+
div(
|
|
100
|
+
{ class: "card-body p-1" },
|
|
101
|
+
i({ class: "fas fa-user-cog me-1" }),
|
|
102
|
+
what && span({ class: "ms-1 me-2 badge bg-secondary" }, what),
|
|
103
|
+
title,
|
|
104
|
+
!singleton &&
|
|
105
|
+
a(
|
|
106
|
+
{ class: "ms-2", href: url },
|
|
107
|
+
"Edit ",
|
|
108
|
+
i({ class: "fas fa-edit" })
|
|
109
|
+
),
|
|
110
|
+
cfgUrl && !singleton
|
|
111
|
+
? a(
|
|
112
|
+
{ class: "ms-1 me-3", href: cfgUrl },
|
|
113
|
+
"Configure ",
|
|
114
|
+
i({ class: "fas fa-cog" })
|
|
115
|
+
)
|
|
116
|
+
: "",
|
|
117
|
+
!singleton && viewSpec
|
|
118
|
+
)
|
|
115
119
|
);
|
|
116
120
|
|
|
117
121
|
if (contents.above) {
|
|
@@ -232,7 +236,7 @@ const send_infoarch_page = (args) => {
|
|
|
232
236
|
{ text: "Multitenancy", href: "/tenant/settings" },
|
|
233
237
|
]
|
|
234
238
|
: []),
|
|
235
|
-
{ text: "Pagegroups", href: "/page_group/settings"},
|
|
239
|
+
{ text: "Pagegroups", href: "/page_group/settings" },
|
|
236
240
|
{ text: "Tags", href: "/tag" },
|
|
237
241
|
{ text: "Diagram", href: "/diagram" },
|
|
238
242
|
],
|
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saltcorn/server",
|
|
3
|
-
"version": "0.9.4-beta.
|
|
3
|
+
"version": "0.9.4-beta.12",
|
|
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
9
|
"@aws-sdk/client-s3": "^3.451.0",
|
|
10
|
-
"@saltcorn/base-plugin": "0.9.4-beta.
|
|
11
|
-
"@saltcorn/builder": "0.9.4-beta.
|
|
12
|
-
"@saltcorn/data": "0.9.4-beta.
|
|
13
|
-
"@saltcorn/admin-models": "0.9.4-beta.
|
|
14
|
-
"@saltcorn/filemanager": "0.9.4-beta.
|
|
15
|
-
"@saltcorn/markup": "0.9.4-beta.
|
|
16
|
-
"@saltcorn/sbadmin2": "0.9.4-beta.
|
|
10
|
+
"@saltcorn/base-plugin": "0.9.4-beta.12",
|
|
11
|
+
"@saltcorn/builder": "0.9.4-beta.12",
|
|
12
|
+
"@saltcorn/data": "0.9.4-beta.12",
|
|
13
|
+
"@saltcorn/admin-models": "0.9.4-beta.12",
|
|
14
|
+
"@saltcorn/filemanager": "0.9.4-beta.12",
|
|
15
|
+
"@saltcorn/markup": "0.9.4-beta.12",
|
|
16
|
+
"@saltcorn/sbadmin2": "0.9.4-beta.12",
|
|
17
17
|
"@socket.io/cluster-adapter": "^0.2.1",
|
|
18
18
|
"@socket.io/sticky": "^1.0.1",
|
|
19
19
|
"adm-zip": "0.5.10",
|
|
@@ -55,6 +55,7 @@
|
|
|
55
55
|
"pluralize": "^8.0.0",
|
|
56
56
|
"qrcode": "1.5.1",
|
|
57
57
|
"resize-with-sharp-or-jimp": "0.1.7",
|
|
58
|
+
"semver": "^7.6.0",
|
|
58
59
|
"socket.io": "4.6.0",
|
|
59
60
|
"systeminformation": "^5.21.7",
|
|
60
61
|
"thirty-two": "1.0.2",
|
package/routes/admin.js
CHANGED
package/routes/homepage.js
CHANGED
|
@@ -24,6 +24,7 @@ const packagejson = require("../package.json");
|
|
|
24
24
|
const Trigger = require("@saltcorn/data/models/trigger");
|
|
25
25
|
const { fileUploadForm } = require("../markup/forms");
|
|
26
26
|
const { get_base_url, sendHtmlFile, getEligiblePage } = require("./utils.js");
|
|
27
|
+
const semver = require("semver");
|
|
27
28
|
|
|
28
29
|
/**
|
|
29
30
|
* Tables List
|
|
@@ -519,8 +520,8 @@ const no_views_logged_in = async (req, res) => {
|
|
|
519
520
|
const latest =
|
|
520
521
|
isRoot && (await get_latest_npm_version("@saltcorn/cli", 500));
|
|
521
522
|
const can_update =
|
|
522
|
-
packagejson.version !== latest &&
|
|
523
523
|
latest &&
|
|
524
|
+
semver.gt(latest, packagejson.version) &&
|
|
524
525
|
!process.env.SALTCORN_DISABLE_UPGRADE;
|
|
525
526
|
if (latest && can_update && isRoot)
|
|
526
527
|
req.flash(
|
package/routes/tag_entries.js
CHANGED
|
@@ -30,7 +30,12 @@ const buildFields = (entryType, formOptions, req) => {
|
|
|
30
30
|
div(
|
|
31
31
|
{ class: "col-sm-10" },
|
|
32
32
|
select(
|
|
33
|
-
{
|
|
33
|
+
{
|
|
34
|
+
name: "ids",
|
|
35
|
+
class: "form-control form-select",
|
|
36
|
+
multiple: true,
|
|
37
|
+
size: 20,
|
|
38
|
+
},
|
|
34
39
|
list.map((entry) => {
|
|
35
40
|
return option({ value: entry.id, label: entry.name });
|
|
36
41
|
})
|
package/routes/view.js
CHANGED
|
@@ -79,6 +79,7 @@ router.get(
|
|
|
79
79
|
if ((title || "").includes("{{")) {
|
|
80
80
|
title = await view.interpolate_title_string(title, query);
|
|
81
81
|
}
|
|
82
|
+
title = { title };
|
|
82
83
|
if (isModal && view.attributes?.popup_width)
|
|
83
84
|
res.set(
|
|
84
85
|
"SaltcornModalWidth",
|
|
@@ -102,7 +103,10 @@ router.get(
|
|
|
102
103
|
if ((description || "").includes("{{")) {
|
|
103
104
|
description = await view.interpolate_title_string(description, query);
|
|
104
105
|
}
|
|
105
|
-
title =
|
|
106
|
+
title.description = description;
|
|
107
|
+
}
|
|
108
|
+
if (view.attributes?.no_menu) {
|
|
109
|
+
title.no_menu = true;
|
|
106
110
|
}
|
|
107
111
|
const tock = new Date();
|
|
108
112
|
const ms = tock.getTime() - tic.getTime();
|
package/routes/viewedit.js
CHANGED
|
@@ -217,6 +217,7 @@ const viewForm = async (req, tableOptions, roles, pages, values) => {
|
|
|
217
217
|
),
|
|
218
218
|
}),
|
|
219
219
|
new Field({
|
|
220
|
+
// legacy
|
|
220
221
|
name: "default_render_page",
|
|
221
222
|
label: req.__("Show on page"),
|
|
222
223
|
sublabel: req.__(
|
|
@@ -243,6 +244,14 @@ const viewForm = async (req, tableOptions, roles, pages, values) => {
|
|
|
243
244
|
},
|
|
244
245
|
showIf: { viewtemplate: hasTable },
|
|
245
246
|
}),
|
|
247
|
+
new Field({
|
|
248
|
+
name: "no_menu",
|
|
249
|
+
label: req.__("No menu"),
|
|
250
|
+
sublabel: req.__("Omit the menu from this view"),
|
|
251
|
+
tab: "View settings",
|
|
252
|
+
parent_field: "attributes",
|
|
253
|
+
type: "Bool",
|
|
254
|
+
}),
|
|
246
255
|
new Field({
|
|
247
256
|
name: "popup_title",
|
|
248
257
|
label: req.__("Title"),
|