@saltcorn/server 0.9.1-beta.12 → 0.9.1-beta.13
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 +8 -8
- package/routes/common_lists.js +47 -37
- package/routes/viewedit.js +7 -4
package/package.json
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saltcorn/server",
|
|
3
|
-
"version": "0.9.1-beta.
|
|
3
|
+
"version": "0.9.1-beta.13",
|
|
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.1-beta.
|
|
11
|
-
"@saltcorn/builder": "0.9.1-beta.
|
|
12
|
-
"@saltcorn/data": "0.9.1-beta.
|
|
13
|
-
"@saltcorn/admin-models": "0.9.1-beta.
|
|
14
|
-
"@saltcorn/filemanager": "0.9.1-beta.
|
|
15
|
-
"@saltcorn/markup": "0.9.1-beta.
|
|
16
|
-
"@saltcorn/sbadmin2": "0.9.1-beta.
|
|
10
|
+
"@saltcorn/base-plugin": "0.9.1-beta.13",
|
|
11
|
+
"@saltcorn/builder": "0.9.1-beta.13",
|
|
12
|
+
"@saltcorn/data": "0.9.1-beta.13",
|
|
13
|
+
"@saltcorn/admin-models": "0.9.1-beta.13",
|
|
14
|
+
"@saltcorn/filemanager": "0.9.1-beta.13",
|
|
15
|
+
"@saltcorn/markup": "0.9.1-beta.13",
|
|
16
|
+
"@saltcorn/sbadmin2": "0.9.1-beta.13",
|
|
17
17
|
"@socket.io/cluster-adapter": "^0.2.1",
|
|
18
18
|
"@socket.io/sticky": "^1.0.1",
|
|
19
19
|
"adm-zip": "0.5.10",
|
package/routes/common_lists.js
CHANGED
|
@@ -123,40 +123,46 @@ const view_dropdown = (view, req, on_done_redirect_str = "") =>
|
|
|
123
123
|
},
|
|
124
124
|
'<i class="fas fa-running"></i> ' + req.__("Run")
|
|
125
125
|
),
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
126
|
+
view.id &&
|
|
127
|
+
a(
|
|
128
|
+
{
|
|
129
|
+
class: "dropdown-item",
|
|
130
|
+
href: `/viewedit/edit/${encodeURIComponent(
|
|
131
|
+
view.name
|
|
132
|
+
)}${on_done_redirect_str}`,
|
|
133
|
+
},
|
|
134
|
+
'<i class="fas fa-edit"></i> ' + req.__("Edit")
|
|
135
|
+
),
|
|
135
136
|
post_dropdown_item(
|
|
136
|
-
`/viewedit/add-to-menu/${
|
|
137
|
+
`/viewedit/add-to-menu/${encodeURIComponent(
|
|
138
|
+
view.name
|
|
139
|
+
)}${on_done_redirect_str}`,
|
|
137
140
|
'<i class="fas fa-bars"></i> ' + req.__("Add to menu"),
|
|
138
141
|
req
|
|
139
142
|
),
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
143
|
+
view.id &&
|
|
144
|
+
post_dropdown_item(
|
|
145
|
+
`/viewedit/clone/${view.id}${on_done_redirect_str}`,
|
|
146
|
+
'<i class="far fa-copy"></i> ' + req.__("Duplicate"),
|
|
147
|
+
req
|
|
148
|
+
),
|
|
149
|
+
view.id &&
|
|
150
|
+
a(
|
|
151
|
+
{
|
|
152
|
+
class: "dropdown-item",
|
|
153
|
+
href: `javascript:ajax_modal('/admin/snapshot-restore/view/${view.name}')`,
|
|
154
|
+
},
|
|
155
|
+
'<i class="fas fa-undo-alt"></i> ' + req.__("Restore")
|
|
156
|
+
),
|
|
157
|
+
view.id && div({ class: "dropdown-divider" }),
|
|
158
|
+
view.id &&
|
|
159
|
+
post_dropdown_item(
|
|
160
|
+
`/viewedit/delete/${view.id}${on_done_redirect_str}`,
|
|
161
|
+
'<i class="far fa-trash-alt"></i> ' + req.__("Delete"),
|
|
162
|
+
req,
|
|
163
|
+
true,
|
|
164
|
+
view.name
|
|
165
|
+
),
|
|
160
166
|
]);
|
|
161
167
|
|
|
162
168
|
const setTableRefs = async (views) => {
|
|
@@ -222,17 +228,21 @@ const viewsList = async (
|
|
|
222
228
|
{
|
|
223
229
|
label: req.__("Role to access"),
|
|
224
230
|
key: (row) =>
|
|
225
|
-
|
|
231
|
+
row.id
|
|
232
|
+
? editViewRoleForm(row, roles, req, on_done_redirect_str)
|
|
233
|
+
: "admin",
|
|
226
234
|
},
|
|
227
235
|
{
|
|
228
236
|
label: "",
|
|
229
237
|
key: (r) =>
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
238
|
+
r.id && r.viewtemplateObj?.configuration_workflow
|
|
239
|
+
? link(
|
|
240
|
+
`/viewedit/config/${encodeURIComponent(
|
|
241
|
+
r.name
|
|
242
|
+
)}${on_done_redirect_str}`,
|
|
243
|
+
req.__("Configure")
|
|
244
|
+
)
|
|
245
|
+
: "",
|
|
236
246
|
},
|
|
237
247
|
!tagId
|
|
238
248
|
? {
|
package/routes/viewedit.js
CHANGED
|
@@ -118,6 +118,9 @@ const viewForm = async (req, tableOptions, roles, pages, values) => {
|
|
|
118
118
|
.filter(([k, v]) => !v.tableless)
|
|
119
119
|
.map(([k, v]) => k);
|
|
120
120
|
const slugOptions = await Table.allSlugOptions();
|
|
121
|
+
const viewpatternOptions = Object.values(getState().viewtemplates)
|
|
122
|
+
.filter((vt) => !vt.singleton)
|
|
123
|
+
.map((vt) => vt.name);
|
|
121
124
|
return new Form({
|
|
122
125
|
action: addOnDoneRedirect("/viewedit/save", req),
|
|
123
126
|
submitLabel: req.__("Configure") + " »",
|
|
@@ -151,7 +154,7 @@ const viewForm = async (req, tableOptions, roles, pages, values) => {
|
|
|
151
154
|
topic: "View patterns",
|
|
152
155
|
context: {},
|
|
153
156
|
},
|
|
154
|
-
options:
|
|
157
|
+
options: viewpatternOptions,
|
|
155
158
|
attributes: {
|
|
156
159
|
explainers: mapObjectValues(
|
|
157
160
|
getState().viewtemplates,
|
|
@@ -661,11 +664,11 @@ router.post(
|
|
|
661
664
|
* @function
|
|
662
665
|
*/
|
|
663
666
|
router.post(
|
|
664
|
-
"/add-to-menu/:
|
|
667
|
+
"/add-to-menu/:viewname",
|
|
665
668
|
isAdmin,
|
|
666
669
|
error_catcher(async (req, res) => {
|
|
667
|
-
const {
|
|
668
|
-
const view = await View.findOne({
|
|
670
|
+
const { viewname } = req.params;
|
|
671
|
+
const view = await View.findOne({ name: viewname });
|
|
669
672
|
await add_to_menu({
|
|
670
673
|
label: view.name,
|
|
671
674
|
type: "View",
|