@saltcorn/server 0.9.4-beta.9 → 0.9.5-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.
- package/app.js +16 -1
- package/auth/admin.js +19 -3
- package/auth/routes.js +16 -4
- package/auth/testhelp.js +17 -1
- package/load_plugins.js +8 -2
- package/locales/en.json +24 -2
- package/markup/admin.js +22 -18
- package/package.json +10 -9
- package/public/dayjslocales/af.js +1 -0
- package/public/dayjslocales/am.js +1 -0
- package/public/dayjslocales/ar-dz.js +1 -0
- package/public/dayjslocales/ar-iq.js +1 -0
- package/public/dayjslocales/ar-kw.js +1 -0
- package/public/dayjslocales/ar-ly.js +1 -0
- package/public/dayjslocales/ar-ma.js +1 -0
- package/public/dayjslocales/ar-sa.js +1 -0
- package/public/dayjslocales/ar-tn.js +1 -0
- package/public/dayjslocales/ar.js +1 -0
- package/public/dayjslocales/az.js +1 -0
- package/public/dayjslocales/be.js +1 -0
- package/public/dayjslocales/bg.js +1 -0
- package/public/dayjslocales/bi.js +1 -0
- package/public/dayjslocales/bm.js +1 -0
- package/public/dayjslocales/bn-bd.js +1 -0
- package/public/dayjslocales/bn.js +1 -0
- package/public/dayjslocales/bo.js +1 -0
- package/public/dayjslocales/br.js +1 -0
- package/public/dayjslocales/bs.js +1 -0
- package/public/dayjslocales/ca.js +1 -0
- package/public/dayjslocales/cs.js +1 -0
- package/public/dayjslocales/cv.js +1 -0
- package/public/dayjslocales/cy.js +1 -0
- package/public/dayjslocales/da.js +1 -0
- package/public/dayjslocales/de-at.js +1 -0
- package/public/dayjslocales/de-ch.js +1 -0
- package/public/dayjslocales/de.js +1 -0
- package/public/dayjslocales/dv.js +1 -0
- package/public/dayjslocales/el.js +1 -0
- package/public/dayjslocales/en-au.js +1 -0
- package/public/dayjslocales/en-ca.js +1 -0
- package/public/dayjslocales/en-gb.js +1 -0
- package/public/dayjslocales/en-ie.js +1 -0
- package/public/dayjslocales/en-il.js +1 -0
- package/public/dayjslocales/en-in.js +1 -0
- package/public/dayjslocales/en-nz.js +1 -0
- package/public/dayjslocales/en-sg.js +1 -0
- package/public/dayjslocales/en-tt.js +1 -0
- package/public/dayjslocales/en.js +1 -0
- package/public/dayjslocales/eo.js +1 -0
- package/public/dayjslocales/es-do.js +1 -0
- package/public/dayjslocales/es-mx.js +1 -0
- package/public/dayjslocales/es-pr.js +1 -0
- package/public/dayjslocales/es-us.js +1 -0
- package/public/dayjslocales/es.js +1 -0
- package/public/dayjslocales/et.js +1 -0
- package/public/dayjslocales/eu.js +1 -0
- package/public/dayjslocales/fa.js +1 -0
- package/public/dayjslocales/fi.js +1 -0
- package/public/dayjslocales/fo.js +1 -0
- package/public/dayjslocales/fr-ca.js +1 -0
- package/public/dayjslocales/fr-ch.js +1 -0
- package/public/dayjslocales/fr.js +1 -0
- package/public/dayjslocales/fy.js +1 -0
- package/public/dayjslocales/ga.js +1 -0
- package/public/dayjslocales/gd.js +1 -0
- package/public/dayjslocales/gl.js +1 -0
- package/public/dayjslocales/gom-latn.js +1 -0
- package/public/dayjslocales/gu.js +1 -0
- package/public/dayjslocales/he.js +1 -0
- package/public/dayjslocales/hi.js +1 -0
- package/public/dayjslocales/hr.js +1 -0
- package/public/dayjslocales/ht.js +1 -0
- package/public/dayjslocales/hu.js +1 -0
- package/public/dayjslocales/hy-am.js +1 -0
- package/public/dayjslocales/id.js +1 -0
- package/public/dayjslocales/is.js +1 -0
- package/public/dayjslocales/it-ch.js +1 -0
- package/public/dayjslocales/it.js +1 -0
- package/public/dayjslocales/ja.js +1 -0
- package/public/dayjslocales/jv.js +1 -0
- package/public/dayjslocales/ka.js +1 -0
- package/public/dayjslocales/kk.js +1 -0
- package/public/dayjslocales/km.js +1 -0
- package/public/dayjslocales/kn.js +1 -0
- package/public/dayjslocales/ko.js +1 -0
- package/public/dayjslocales/ku.js +1 -0
- package/public/dayjslocales/ky.js +1 -0
- package/public/dayjslocales/lb.js +1 -0
- package/public/dayjslocales/lo.js +1 -0
- package/public/dayjslocales/lt.js +1 -0
- package/public/dayjslocales/lv.js +1 -0
- package/public/dayjslocales/me.js +1 -0
- package/public/dayjslocales/mi.js +1 -0
- package/public/dayjslocales/mk.js +1 -0
- package/public/dayjslocales/ml.js +1 -0
- package/public/dayjslocales/mn.js +1 -0
- package/public/dayjslocales/mr.js +1 -0
- package/public/dayjslocales/ms-my.js +1 -0
- package/public/dayjslocales/ms.js +1 -0
- package/public/dayjslocales/mt.js +1 -0
- package/public/dayjslocales/my.js +1 -0
- package/public/dayjslocales/nb.js +1 -0
- package/public/dayjslocales/ne.js +1 -0
- package/public/dayjslocales/nl-be.js +1 -0
- package/public/dayjslocales/nl.js +1 -0
- package/public/dayjslocales/nn.js +1 -0
- package/public/dayjslocales/oc-lnc.js +1 -0
- package/public/dayjslocales/pa-in.js +1 -0
- package/public/dayjslocales/pl.js +1 -0
- package/public/dayjslocales/pt-br.js +1 -0
- package/public/dayjslocales/pt.js +1 -0
- package/public/dayjslocales/rn.js +1 -0
- package/public/dayjslocales/ro.js +1 -0
- package/public/dayjslocales/ru.js +1 -0
- package/public/dayjslocales/rw.js +1 -0
- package/public/dayjslocales/sd.js +1 -0
- package/public/dayjslocales/se.js +1 -0
- package/public/dayjslocales/si.js +1 -0
- package/public/dayjslocales/sk.js +1 -0
- package/public/dayjslocales/sl.js +1 -0
- package/public/dayjslocales/sq.js +1 -0
- package/public/dayjslocales/sr-cyrl.js +1 -0
- package/public/dayjslocales/sr.js +1 -0
- package/public/dayjslocales/ss.js +1 -0
- package/public/dayjslocales/sv-fi.js +1 -0
- package/public/dayjslocales/sv.js +1 -0
- package/public/dayjslocales/sw.js +1 -0
- package/public/dayjslocales/ta.js +1 -0
- package/public/dayjslocales/te.js +1 -0
- package/public/dayjslocales/tet.js +1 -0
- package/public/dayjslocales/tg.js +1 -0
- package/public/dayjslocales/th.js +1 -0
- package/public/dayjslocales/tk.js +1 -0
- package/public/dayjslocales/tl-ph.js +1 -0
- package/public/dayjslocales/tlh.js +1 -0
- package/public/dayjslocales/tr.js +1 -0
- package/public/dayjslocales/tzl.js +1 -0
- package/public/dayjslocales/tzm-latn.js +1 -0
- package/public/dayjslocales/tzm.js +1 -0
- package/public/dayjslocales/ug-cn.js +1 -0
- package/public/dayjslocales/uk.js +1 -0
- package/public/dayjslocales/ur.js +1 -0
- package/public/dayjslocales/uz-latn.js +1 -0
- package/public/dayjslocales/uz.js +1 -0
- package/public/dayjslocales/vi.js +1 -0
- package/public/dayjslocales/x-pseudo.js +1 -0
- package/public/dayjslocales/yo.js +1 -0
- package/public/dayjslocales/zh-cn.js +1 -0
- package/public/dayjslocales/zh-hk.js +1 -0
- package/public/dayjslocales/zh-tw.js +1 -0
- package/public/dayjslocales/zh.js +1 -0
- package/public/gridedit.js +2 -2
- package/public/log_viewer_utils.js +156 -0
- package/public/saltcorn-builder.css +43 -2
- package/public/saltcorn-common.js +39 -29
- package/public/saltcorn.js +27 -17
- package/public/tabulator_bootstrap5.min.css +1 -0
- package/restart_watcher.js +1 -0
- package/routes/actions.js +158 -16
- package/routes/admin.js +83 -9
- package/routes/common_lists.js +40 -17
- package/routes/fields.js +18 -3
- package/routes/homepage.js +2 -1
- package/routes/page.js +30 -13
- package/routes/page_groupedit.js +104 -83
- package/routes/pageedit.js +4 -3
- package/routes/tables.js +34 -0
- package/routes/tag_entries.js +6 -1
- package/routes/tags.js +4 -0
- package/routes/utils.js +23 -2
- package/routes/view.js +5 -1
- package/routes/viewedit.js +9 -0
- package/serve.js +177 -10
- package/tests/admin.test.js +17 -11
- package/tests/api.test.js +27 -0
- package/tests/fields.test.js +132 -5
- package/tests/help.test.js +37 -0
- package/tests/page_group.test.js +1 -0
- package/tests/plugins.test.js +0 -12
- package/tests/table.test.js +1 -5
- package/tests/view.test.js +12 -0
- package/tests/viewedit.test.js +52 -8
- package/wrapper.js +9 -1
package/tests/viewedit.test.js
CHANGED
|
@@ -78,6 +78,37 @@ describe("viewedit edit endpoint", () => {
|
|
|
78
78
|
});
|
|
79
79
|
|
|
80
80
|
describe("viewedit new List", () => {
|
|
81
|
+
const columns = [
|
|
82
|
+
{ type: "Field", field_name: "author" },
|
|
83
|
+
{ type: "Field", field_name: "pages" },
|
|
84
|
+
];
|
|
85
|
+
const layout = {
|
|
86
|
+
besides: [
|
|
87
|
+
{
|
|
88
|
+
contents: {
|
|
89
|
+
type: "field",
|
|
90
|
+
fieldview: "as_text",
|
|
91
|
+
field_name: "author",
|
|
92
|
+
configuration: {},
|
|
93
|
+
},
|
|
94
|
+
alignment: "Default",
|
|
95
|
+
header_label: "Author",
|
|
96
|
+
col_width_units: "px",
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
contents: {
|
|
100
|
+
type: "field",
|
|
101
|
+
fieldview: "show",
|
|
102
|
+
field_name: "pages",
|
|
103
|
+
configuration: {},
|
|
104
|
+
},
|
|
105
|
+
alignment: "Default",
|
|
106
|
+
header_label: "Pages",
|
|
107
|
+
col_width_units: "px",
|
|
108
|
+
},
|
|
109
|
+
],
|
|
110
|
+
list_columns: true,
|
|
111
|
+
};
|
|
81
112
|
itShouldRedirectUnauthToLogin("/viewedit/new");
|
|
82
113
|
|
|
83
114
|
it("show new view", async () => {
|
|
@@ -117,11 +148,8 @@ describe("viewedit new List", () => {
|
|
|
117
148
|
.post("/viewedit/config/mybooklist")
|
|
118
149
|
.send("contextEnc=" + ctx)
|
|
119
150
|
.send("stepName=Columns")
|
|
120
|
-
.send("
|
|
121
|
-
.send("
|
|
122
|
-
.send("type_1=Field")
|
|
123
|
-
.send("field_name_1=pages")
|
|
124
|
-
.send("create_view_display=Link")
|
|
151
|
+
.send("columns=" + encodeURIComponent(JSON.stringify(columns)))
|
|
152
|
+
.send("layout=" + encodeURIComponent(JSON.stringify(layout)))
|
|
125
153
|
.set("Cookie", loginCookie)
|
|
126
154
|
.expect(toInclude("Default state"));
|
|
127
155
|
});
|
|
@@ -205,6 +233,23 @@ describe("viewedit new List", () => {
|
|
|
205
233
|
});
|
|
206
234
|
|
|
207
235
|
describe("viewedit new List with one field", () => {
|
|
236
|
+
const columns = [{ type: "Field", field_name: "author", state_field: "on" }];
|
|
237
|
+
const layout = {
|
|
238
|
+
besides: [
|
|
239
|
+
{
|
|
240
|
+
contents: {
|
|
241
|
+
type: "field",
|
|
242
|
+
fieldview: "as_text",
|
|
243
|
+
field_name: "author",
|
|
244
|
+
configuration: {},
|
|
245
|
+
},
|
|
246
|
+
alignment: "Default",
|
|
247
|
+
header_label: "Author",
|
|
248
|
+
col_width_units: "px",
|
|
249
|
+
},
|
|
250
|
+
],
|
|
251
|
+
list_columns: true,
|
|
252
|
+
};
|
|
208
253
|
it("submit new view", async () => {
|
|
209
254
|
const loginCookie = await getAdminLoginCookie();
|
|
210
255
|
|
|
@@ -234,9 +279,8 @@ describe("viewedit new List with one field", () => {
|
|
|
234
279
|
.post("/viewedit/config/mybooklist1")
|
|
235
280
|
.send("contextEnc=" + ctx)
|
|
236
281
|
.send("stepName=Columns")
|
|
237
|
-
.send("
|
|
238
|
-
.send("
|
|
239
|
-
.send("create_view_display=Link")
|
|
282
|
+
.send("columns=" + encodeURIComponent(JSON.stringify(columns)))
|
|
283
|
+
.send("layout=" + encodeURIComponent(JSON.stringify(layout)))
|
|
240
284
|
.set("Cookie", loginCookie)
|
|
241
285
|
.expect(toInclude("Default state"));
|
|
242
286
|
});
|
package/wrapper.js
CHANGED
|
@@ -185,17 +185,25 @@ const get_headers = (req, version_tag, description, extras = []) => {
|
|
|
185
185
|
},
|
|
186
186
|
]
|
|
187
187
|
: [];
|
|
188
|
+
const locale = req.getLocale();
|
|
188
189
|
const stdHeaders = [
|
|
189
190
|
{
|
|
190
191
|
headerTag: `<script>var _sc_loglevel = ${
|
|
191
192
|
state.logLevel
|
|
192
|
-
}, _sc_globalCsrf = "${req.csrfToken()}", _sc_version_tag = "${version_tag}"
|
|
193
|
+
}, _sc_globalCsrf = "${req.csrfToken()}", _sc_version_tag = "${version_tag}"${
|
|
194
|
+
locale ? `, _sc_locale = "${locale}"` : ""
|
|
195
|
+
};</script>`,
|
|
193
196
|
},
|
|
194
197
|
{ css: `/static_assets/${version_tag}/saltcorn.css` },
|
|
195
198
|
{ script: `/static_assets/${version_tag}/saltcorn-common.js` },
|
|
196
199
|
{ script: `/static_assets/${version_tag}/saltcorn.js` },
|
|
197
200
|
{ script: `/static_assets/${version_tag}/dayjs.min.js` },
|
|
198
201
|
];
|
|
202
|
+
if (locale !== "en") {
|
|
203
|
+
stdHeaders.push({
|
|
204
|
+
script: `/static_assets/${version_tag}/dayjslocales/${locale}.js`,
|
|
205
|
+
});
|
|
206
|
+
}
|
|
199
207
|
let from_cfg = [];
|
|
200
208
|
if (state.getConfig("page_custom_css", ""))
|
|
201
209
|
from_cfg.push({ style: state.getConfig("page_custom_css", "") });
|