@saltcorn/markup 1.4.3 → 1.4.5

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,6 +1,6 @@
1
1
  {
2
2
  "name": "@saltcorn/markup",
3
- "version": "1.4.3",
3
+ "version": "1.4.5",
4
4
  "description": "Markup for Saltcorn, open-source no-code platform",
5
5
  "homepage": "https://saltcorn.com",
6
6
  "main": "./dist/index.js",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  "repository": "github:saltcorn/saltcorn",
37
37
  "devDependencies": {
38
- "@saltcorn/types": "1.4.3",
38
+ "@saltcorn/types": "1.4.5",
39
39
  "@types/escape-html": "^1.0.4",
40
40
  "@types/jest": "29.5.14",
41
41
  "@types/node": "^20.14.7",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=form.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form.test.d.ts","sourceRoot":"","sources":["../form.test.ts"],"names":[],"mappings":""}
package/dist/form.test.js DELETED
@@ -1,387 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- const globals_1 = require("@jest/globals");
40
- // import tags = require("./tags");
41
- const tags = __importStar(require("./tags"));
42
- const { a, input, div, ul, text, text_attr } = tags;
43
- // import index = require("./index");
44
- const index_1 = __importDefault(require("./index"));
45
- const { renderForm, mkFormContentNoLayout, mkForm, renderFormLayout } = index_1.default;
46
- const nolines = (s) => s.split("\n").join("");
47
- (0, globals_1.describe)("form render", () => {
48
- (0, globals_1.it)("renders a simple form", () => {
49
- const form = {
50
- action: "/",
51
- fields: [
52
- {
53
- name: "name",
54
- label: "Name",
55
- input_type: "text",
56
- form_name: "name",
57
- required: false,
58
- attributes: {},
59
- is_fkey: false,
60
- },
61
- ],
62
- errors: {},
63
- values: {},
64
- viewname: "testform",
65
- formStyle: "",
66
- methodGET: false,
67
- xhrSubmit: false,
68
- req: {},
69
- };
70
- const want = `<form data-viewname="testform" action="/" class="form-namespace " method="post">
71
- <input type="hidden" name="_csrf" value=""><div class="form-group">
72
- <div><label for="inputname">Name</label></div>
73
- <div><input type="text" class="form-control " data-fieldname="name" name="name" id="inputname">
74
- </div></div><div class="form-group row">
75
- <div class="col-sm-2"></div>
76
- <div class="col-sm-10">
77
- <button onClick="sc_form_submit_in_progress()" type="submit" class="btn btn-primary">Save</button>
78
- </div>
79
- </div>
80
- </form>`;
81
- (0, globals_1.expect)(nolines(renderForm(form, ""))).toBe(nolines(want));
82
- });
83
- (0, globals_1.it)("renders a form with layout", () => {
84
- const form = {
85
- action: "/",
86
- fields: [
87
- {
88
- name: "name",
89
- label: "Name",
90
- input_type: "text",
91
- form_name: "name",
92
- required: false,
93
- attributes: {},
94
- is_fkey: false,
95
- },
96
- ],
97
- values: {},
98
- errors: {},
99
- formStyle: "",
100
- methodGET: false,
101
- xhrSubmit: false,
102
- req: {},
103
- viewname: "testform",
104
- layout: {
105
- above: [
106
- {
107
- type: "field",
108
- block: false,
109
- fieldview: "edit",
110
- textStyle: "h2",
111
- field_name: "name",
112
- },
113
- { type: "line_break" },
114
- ],
115
- },
116
- };
117
- const want = `<form data-viewname="testform" action="/" class="form-namespace " method="post">
118
- <input type="hidden" name="_csrf" value="">
119
- <h2>
120
- <input type="text" class="form-control " data-fieldname="name" name="name" id="inputname">
121
- </h2><br /></form>`;
122
- (0, globals_1.expect)(nolines(renderForm(form, ""))).toBe(nolines(want));
123
- });
124
- (0, globals_1.it)("renders a simple form with errors", () => {
125
- const form = {
126
- action: "/",
127
- errors: { name: "Not a foo" },
128
- values: { name: "Bar" },
129
- fields: [
130
- {
131
- name: "name",
132
- label: "Name",
133
- input_type: "text",
134
- form_name: "name",
135
- required: false,
136
- attributes: {},
137
- is_fkey: false,
138
- },
139
- ],
140
- formStyle: "",
141
- methodGET: false,
142
- xhrSubmit: false,
143
- viewname: "testform",
144
- req: {},
145
- };
146
- const want = `<form data-viewname="testform" action="/" class="form-namespace " method="post">
147
- <input type="hidden" name="_csrf" value=""><div class="form-group">
148
- <div><label for="inputname">Name</label></div>
149
- <div><input type="text" class="form-control is-invalid " data-fieldname="name" name="name" id="inputname" value="Bar"><div>Not a foo</div>
150
- </div></div><div class="form-group row">
151
- <div class="col-sm-2"></div>
152
- <div class="col-sm-10">
153
- <button onClick="sc_form_submit_in_progress()" type="submit" class="btn btn-primary">Save</button>
154
- </div>
155
- </div>
156
- </form>`;
157
- (0, globals_1.expect)(nolines(renderForm(form, ""))).toBe(nolines(want));
158
- });
159
- (0, globals_1.it)("renders a form with showif", () => {
160
- const form = {
161
- action: "/",
162
- fields: [
163
- {
164
- name: "category",
165
- label: "Category",
166
- input_type: "select",
167
- options: ["Cat", "Dog"],
168
- attributes: {},
169
- is_fkey: false,
170
- },
171
- {
172
- name: "name",
173
- label: "Name",
174
- input_type: "text",
175
- form_name: "name",
176
- required: false,
177
- attributes: {},
178
- is_fkey: false,
179
- showIf: { category: "Dog" },
180
- },
181
- ],
182
- errors: {},
183
- values: {},
184
- viewname: "testform",
185
- formStyle: "",
186
- methodGET: false,
187
- xhrSubmit: false,
188
- req: {},
189
- };
190
- const want = `<form data-viewname="testform" action="/" class="form-namespace " method="post">
191
- <input type="hidden" name="_csrf" value=""><div class="form-group">
192
- <div><label for="inputundefined">Category</label></div>
193
- <div><select class="form-control form-select " data-fieldname="undefined" name="undefined" id="inputundefined"><option value="Cat">Cat</option><option value="Dog">Dog</option></select></div></div><div class="form-group" style="display: none;" data-show-if="e.data(%22data-closest-form-ns%22).find('%5Bdata-fieldname%3Dcategory%5D%3Anot(%3Adisabled)').val()%3D%3D%3D'Dog'">
194
- <div><label for="inputname">Name</label></div>
195
- <div><input type="text" class="form-control " data-fieldname="name" name="name" id="inputname">
196
- </div></div><div class="form-group row">
197
- <div class="col-sm-2"></div>
198
- <div class="col-sm-10">
199
- <button onClick="sc_form_submit_in_progress()" type="submit" class="btn btn-primary">Save</button>
200
- </div>
201
- </div>
202
- </form>`;
203
- (0, globals_1.expect)(nolines(renderForm(form, ""))).toBe(nolines(want));
204
- });
205
- });
206
- (0, globals_1.describe)("mkFormContentNoLayout", () => {
207
- (0, globals_1.it)("renders form fields without layout", () => {
208
- const form = {
209
- action: "/submit",
210
- fields: [
211
- {
212
- name: "username",
213
- label: "Username",
214
- input_type: "text",
215
- form_name: "username",
216
- required: true,
217
- attributes: {},
218
- is_fkey: false,
219
- },
220
- {
221
- name: "password",
222
- label: "Password",
223
- input_type: "password",
224
- form_name: "password",
225
- required: true,
226
- attributes: {},
227
- is_fkey: false,
228
- },
229
- ],
230
- errors: {},
231
- values: {},
232
- formStyle: "vert",
233
- methodGET: false,
234
- xhrSubmit: false,
235
- req: {},
236
- };
237
- const result = mkFormContentNoLayout(form);
238
- (0, globals_1.expect)(result).toContain('<label for="inputusername">Username</label>');
239
- (0, globals_1.expect)(result).toContain('<input type="text" class="form-control');
240
- (0, globals_1.expect)(result).toContain('<label for="inputpassword">Password</label>');
241
- (0, globals_1.expect)(result).toContain('<input type="password" class="form-control');
242
- });
243
- });
244
- (0, globals_1.describe)("mkForm", () => {
245
- (0, globals_1.it)("renders a complete form with fields and submit button", () => {
246
- const form = {
247
- action: "/submit",
248
- fields: [
249
- {
250
- name: "email",
251
- label: "Email",
252
- input_type: "text",
253
- form_name: "email",
254
- required: true,
255
- attributes: {},
256
- is_fkey: false,
257
- },
258
- ],
259
- errors: {},
260
- values: {},
261
- formStyle: "vert",
262
- methodGET: false,
263
- xhrSubmit: false,
264
- req: {},
265
- submitLabel: "Submit",
266
- viewname: "test-form",
267
- };
268
- const csrfToken = "test-csrf-token";
269
- const result = mkForm(form, csrfToken);
270
- (0, globals_1.expect)(result).toContain('action="/submit"');
271
- (0, globals_1.expect)(result).toContain('method="post"');
272
- (0, globals_1.expect)(result).toContain('<input type="hidden" name="_csrf" value="test-csrf-token">');
273
- (0, globals_1.expect)(result).toContain('<label for="inputemail">Email</label>');
274
- (0, globals_1.expect)(result).toContain('type="text"');
275
- (0, globals_1.expect)(result).toContain('class="form-control');
276
- (0, globals_1.expect)(result).toContain('<button onClick="sc_form_submit_in_progress()" type="submit" class="btn btn-primary">Submit</button>');
277
- });
278
- (0, globals_1.it)("renders a form with errors", () => {
279
- const form = {
280
- action: "/submit",
281
- fields: [
282
- {
283
- name: "username",
284
- label: "Username",
285
- input_type: "text",
286
- form_name: "username",
287
- required: true,
288
- attributes: {},
289
- is_fkey: false,
290
- },
291
- ],
292
- errors: { username: "Username is required" },
293
- values: {},
294
- formStyle: "vert",
295
- methodGET: false,
296
- xhrSubmit: false,
297
- req: {},
298
- viewname: "test-form",
299
- };
300
- const csrfToken = "test-csrf-token";
301
- const result = mkForm(form, csrfToken, form.errors);
302
- (0, globals_1.expect)(result).toContain('class="form-control is-invalid');
303
- (0, globals_1.expect)(result).toContain("Username is required</div>");
304
- (0, globals_1.expect)(result).toMatch(/<div class="form-group".*?<div>Username is required<\/div>/s);
305
- });
306
- });
307
- (0, globals_1.describe)("renderFormLayout", () => {
308
- (0, globals_1.it)("renders a form layout with fields", () => {
309
- const form = {
310
- action: "/submit",
311
- fields: [
312
- {
313
- name: "first_name",
314
- label: "First Name",
315
- input_type: "text",
316
- form_name: "first_name",
317
- required: true,
318
- attributes: {},
319
- is_fkey: false,
320
- },
321
- {
322
- name: "last_name",
323
- label: "Last Name",
324
- input_type: "text",
325
- form_name: "last_name",
326
- required: true,
327
- attributes: {},
328
- is_fkey: false,
329
- },
330
- ],
331
- layout: {
332
- above: [
333
- { type: "field", field_name: "first_name" },
334
- { type: "field", field_name: "last_name" },
335
- ],
336
- },
337
- errors: {},
338
- values: {},
339
- formStyle: "vert",
340
- methodGET: false,
341
- xhrSubmit: false,
342
- req: {},
343
- };
344
- const result = renderFormLayout(form);
345
- (0, globals_1.expect)(result).toBe(`<input type=\"text\" class=\"form-control \" data-fieldname=\"first_name\" name=\"first_name\" id=\"inputfirst_name\"><input type=\"text\" class=\"form-control \" data-fieldname=\"last_name\" name=\"last_name\" id=\"inputlast_name\">`);
346
- });
347
- (0, globals_1.it)("renders a form layout with fields", () => {
348
- const form = {
349
- action: "/submit",
350
- fields: [
351
- {
352
- name: "first_name",
353
- label: "First Name",
354
- input_type: "text",
355
- form_name: "first_name",
356
- required: true,
357
- attributes: {},
358
- is_fkey: false,
359
- },
360
- {
361
- name: "last_name",
362
- label: "Last Name",
363
- input_type: "text",
364
- form_name: "last_name",
365
- required: true,
366
- attributes: {},
367
- is_fkey: false,
368
- },
369
- ],
370
- layout: {
371
- above: [
372
- { type: "field", field_name: "first_name" },
373
- { type: "field", field_name: "last_name" },
374
- ],
375
- },
376
- errors: {},
377
- values: {},
378
- formStyle: "vert",
379
- methodGET: false,
380
- xhrSubmit: false,
381
- req: {},
382
- };
383
- const result = renderFormLayout(form);
384
- (0, globals_1.expect)(result).toBe(`<input type=\"text\" class=\"form-control \" data-fieldname=\"first_name\" name=\"first_name\" id=\"inputfirst_name\"><input type=\"text\" class=\"form-control \" data-fieldname=\"last_name\" name=\"last_name\" id=\"inputlast_name\">`);
385
- });
386
- });
387
- //# sourceMappingURL=form.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form.test.js","sourceRoot":"","sources":["../form.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=helpers.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.test.d.ts","sourceRoot":"","sources":["../helpers.test.ts"],"names":[],"mappings":""}