@saltcorn/markup 0.6.2-beta.4 → 0.6.3-beta.1

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.
Files changed (60) hide show
  1. package/dist/builder.d.ts +18 -0
  2. package/dist/builder.d.ts.map +1 -0
  3. package/dist/builder.js +57 -0
  4. package/dist/builder.js.map +1 -0
  5. package/dist/emergency_layout.d.ts +19 -0
  6. package/dist/emergency_layout.d.ts.map +1 -0
  7. package/dist/emergency_layout.js +37 -0
  8. package/dist/emergency_layout.js.map +1 -0
  9. package/dist/form.d.ts +13 -0
  10. package/dist/form.d.ts.map +1 -0
  11. package/dist/form.js +374 -0
  12. package/dist/form.js.map +1 -0
  13. package/dist/helpers.d.ts +58 -0
  14. package/dist/helpers.d.ts.map +1 -0
  15. package/dist/helpers.js +170 -0
  16. package/dist/helpers.js.map +1 -0
  17. package/dist/index.d.ts +21 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +158 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/layout.d.ts +26 -0
  22. package/dist/layout.d.ts.map +1 -0
  23. package/dist/layout.js +335 -0
  24. package/dist/layout.js.map +1 -0
  25. package/dist/layout_utils.d.ts +21 -0
  26. package/dist/layout_utils.d.ts.map +1 -0
  27. package/dist/layout_utils.js +272 -0
  28. package/dist/layout_utils.js.map +1 -0
  29. package/dist/mktag.d.ts +12 -0
  30. package/dist/mktag.d.ts.map +1 -0
  31. package/dist/mktag.js +100 -0
  32. package/dist/mktag.js.map +1 -0
  33. package/dist/table.d.ts +26 -0
  34. package/dist/table.d.ts.map +1 -0
  35. package/dist/table.js +55 -0
  36. package/dist/table.js.map +1 -0
  37. package/dist/tabs.d.ts +11 -0
  38. package/dist/tabs.d.ts.map +1 -0
  39. package/dist/tabs.js +38 -0
  40. package/dist/tabs.js.map +1 -0
  41. package/dist/tags.d.ts +17 -0
  42. package/dist/tags.d.ts.map +1 -0
  43. package/dist/tags.js +71 -0
  44. package/dist/tags.js.map +1 -0
  45. package/dist/tsconfig.ref.tsbuildinfo +1 -0
  46. package/package.json +26 -6
  47. package/builder.js +0 -106
  48. package/emergency_layout.js +0 -54
  49. package/form.js +0 -603
  50. package/form.test.js +0 -98
  51. package/helpers.js +0 -268
  52. package/index.js +0 -226
  53. package/layout.js +0 -595
  54. package/layout.test.js +0 -39
  55. package/layout_utils.js +0 -430
  56. package/markup.test.js +0 -104
  57. package/mktag.js +0 -105
  58. package/table.js +0 -115
  59. package/tabs.js +0 -54
  60. package/tags.js +0 -56
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @category saltcorn-markup
3
+ * @module builder
4
+ */
5
+ declare const _default: ({ options, context, action, stepName, layout, mode, version_tag, }: any, csrfToken: any) => string;
6
+ export = /**
7
+ * @param {object} opts
8
+ * @param {object} opts.options
9
+ * @param {object} opts.context
10
+ * @param {object} opts.action
11
+ * @param {string} opts.stepName
12
+ * @param {object} opts.layout
13
+ * @param {string} [opts.mode = "show"]
14
+ * @param {object} opts
15
+ * @param {object} csrfToken
16
+ * @returns {div}
17
+ */ _default;
18
+ //# sourceMappingURL=builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;6FAyDE,GAAG,aACK,GAAG,KACb,MAAM;AAvBT,SAAS;;;;;;;;;;;GAWN,UA8DC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ /**
3
+ * @category saltcorn-markup
4
+ * @module builder
5
+ */
6
+ const tags = require("./tags");
7
+ const { p, div, i, label, text, button, a, h4, span, script, style, input, link, form, } = tags;
8
+ /**
9
+ * @param {object} rec
10
+ * @param {object} csrf
11
+ * @returns {object}
12
+ */
13
+ const addCsrf = (rec, csrf) => {
14
+ rec.csrfToken = csrf;
15
+ return rec;
16
+ };
17
+ /**
18
+ * @param {object} x
19
+ * @returns {string}
20
+ */
21
+ const encode = (x) => encodeURIComponent(JSON.stringify(x));
22
+ module.exports = ({ options, context, action, stepName, layout, mode = "show", version_tag, }, csrfToken) => div(script({
23
+ src: version_tag
24
+ ? `/static_assets/${version_tag}/builder_bundle.js`
25
+ : "/builder_bundle.js",
26
+ }), script({
27
+ src: version_tag
28
+ ? `/static_assets/${version_tag}/ckeditor/ckeditor.js`
29
+ : "/ckeditor/ckeditor.js",
30
+ }), link({
31
+ rel: "stylesheet",
32
+ type: "text/css",
33
+ media: "screen",
34
+ href: version_tag
35
+ ? `/static_assets/${version_tag}/fonticonpicker.react.css`
36
+ : "/fonticonpicker.react.css",
37
+ }), link({
38
+ rel: "stylesheet",
39
+ type: "text/css",
40
+ media: "screen",
41
+ href: version_tag
42
+ ? `/static_assets/${version_tag}/saltcorn-builder.css`
43
+ : "/saltcorn-builder.css",
44
+ }), div({ id: "saltcorn-builder" }), form({ action, method: "post", id: "scbuildform" }, input({
45
+ type: "hidden",
46
+ name: "contextEnc",
47
+ value: encodeURIComponent(JSON.stringify(context)),
48
+ }), input({ type: "hidden", name: "stepName", value: stepName }), input({ type: "hidden", name: "columns", value: "" }), input({ type: "hidden", name: "layout", value: "" }), input({ type: "hidden", name: "_csrf", value: csrfToken })), script(`builder.renderBuilder(
49
+ "saltcorn-builder",
50
+ "${encode(addCsrf(options, csrfToken))}",
51
+ "${encode(layout || {})}",
52
+ ${JSON.stringify(mode)}
53
+ );
54
+ document.addEventListener('DOMContentLoaded',
55
+ function(){window.onerror=globalErrorCatcher},false);
56
+ ;`));
57
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","sourceRoot":"","sources":["../builder.ts"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,+BAAgC;AAChC,MAAM,EACJ,CAAC,EACD,GAAG,EACH,CAAC,EACD,KAAK,EACL,IAAI,EACJ,MAAM,EACN,CAAC,EACD,EAAE,EACF,IAAI,EACJ,MAAM,EACN,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,GACL,GAAG,IAAI,CAAC;AAET;;;;GAIG;AACH,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,IAAS,EAAO,EAAE;IAC3C,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,GAAG,CAAC,CAAM,EAAU,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzE,iBAYA,CACE,EACE,OAAO,EACP,OAAO,EACP,MAAM,EACN,QAAQ,EACR,MAAM,EACN,IAAI,GAAG,MAAM,EACb,WAAW,GACP,EACN,SAAc,EACN,EAAE,CACV,GAAG,CACD,MAAM,CAAC;IACL,GAAG,EAAE,WAAW;QACd,CAAC,CAAC,kBAAkB,WAAW,oBAAoB;QACnD,CAAC,CAAC,oBAAoB;CACzB,CAAC,EACF,MAAM,CAAC;IACL,GAAG,EAAE,WAAW;QACd,CAAC,CAAC,kBAAkB,WAAW,uBAAuB;QACtD,CAAC,CAAC,uBAAuB;CAC5B,CAAC,EACF,IAAI,CAAC;IACH,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,WAAW;QACf,CAAC,CAAC,kBAAkB,WAAW,2BAA2B;QAC1D,CAAC,CAAC,2BAA2B;CAChC,CAAC,EACF,IAAI,CAAC;IACH,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,WAAW;QACf,CAAC,CAAC,kBAAkB,WAAW,uBAAuB;QACtD,CAAC,CAAC,uBAAuB;CAC5B,CAAC,EACF,GAAG,CAAC,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,EAC/B,IAAI,CACF,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,aAAa,EAAE,EAC7C,KAAK,CAAC;IACJ,IAAI,EAAE,QAAQ;IACd,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;CACnD,CAAC,EACF,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,EAC5D,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EACrD,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EACpD,KAAK,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAC3D,EACD,MAAM,CAAC;;SAEF,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;SACnC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;;;;MAItB,CAAC,CACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @category saltcorn-markup
3
+ * @module emergency_layout
4
+ */
5
+ declare namespace EmergencyLayoutExports {
6
+ type WrapParams = {
7
+ title: string;
8
+ menu: any;
9
+ brand: any;
10
+ alerts: any[];
11
+ currentUrl: string;
12
+ body: string | any;
13
+ headers: any[];
14
+ };
15
+ }
16
+ declare type WrapParams = EmergencyLayoutExports.WrapParams;
17
+ declare const EmergencyLayoutExports: ({ title, menu, brand, alerts, currentUrl, body, headers, }: WrapParams) => string;
18
+ export = EmergencyLayoutExports;
19
+ //# sourceMappingURL=emergency_layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emergency_layout.d.ts","sourceRoot":"","sources":["../emergency_layout.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuCH,kBAAU,sBAAsB,CAAC;IAC/B,KAAY,UAAU,GAAG;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,GAAG,CAAC;QACV,KAAK,EAAE,GAAG,CAAC;QACX,MAAM,EAAE,GAAG,EAAE,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;QACnB,OAAO,EAAE,GAAG,EAAE,CAAC;KAChB,CAAC;CACH;AACD,aAAK,UAAU,GAAG,sBAAsB,CAAC,UAAU,CAAC;AAwBpD,QAAA,MAAM,sBAAsB,+DAHzB,UAAU,KAAG,MAGmB,CAAC;AACpC,SAAS,sBAAsB,CAAC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ /**
3
+ * @category saltcorn-markup
4
+ * @module emergency_layout
5
+ */
6
+ const tags = require("./tags");
7
+ const { ul, li, a, span, hr, div, text, i, h6, h1, p, header, img, footer, } = tags;
8
+ const renderLayout = require("./layout");
9
+ const { renderForm, link } = require(".");
10
+ const layoutUtils = require("./layout_utils");
11
+ const { navbar, alert } = layoutUtils;
12
+ /**
13
+ * @param {string} title
14
+ * @param {string|object} body
15
+ * @param {object[]} alerts
16
+ * @returns {string}
17
+ */
18
+ const renderBody = (title, body, alerts) => renderLayout({
19
+ blockDispatch: {},
20
+ layout: typeof body === "string" ? { type: "card", title, contents: body } : body,
21
+ alerts,
22
+ });
23
+ /**
24
+ * @param {object} opts
25
+ * @param {string} opts.title
26
+ * @param {object} opts.menu
27
+ * @param {object} opts.brand
28
+ * @param {object[]} opts.alerts
29
+ * @param {string} opts.currentUrl
30
+ * @param {string|object} opts.body
31
+ * @param {object[]} opts.headers
32
+ * @returns {string}
33
+ */
34
+ const wrap = ({ title, menu, brand, alerts, currentUrl, body, headers, }) => navbar(brand, menu, currentUrl) + renderBody(title, body, alerts);
35
+ const EmergencyLayoutExports = wrap;
36
+ module.exports = EmergencyLayoutExports;
37
+ //# sourceMappingURL=emergency_layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emergency_layout.js","sourceRoot":"","sources":["../emergency_layout.ts"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,+BAAgC;AAChC,MAAM,EACJ,EAAE,EACF,EAAE,EACF,CAAC,EACD,IAAI,EACJ,EAAE,EACF,GAAG,EACH,IAAI,EACJ,CAAC,EACD,EAAE,EACF,EAAE,EACF,CAAC,EACD,MAAM,EACN,GAAG,EACH,MAAM,GACP,GAAG,IAAI,CAAC;AACT,yCAA0C;AAC1C,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;AAC1C,8CAA+C;AAC/C,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;AAEtC;;;;;GAKG;AACH,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,IAAkB,EAAE,MAAa,EAAU,EAAE,CAC9E,YAAY,CAAC;IACX,aAAa,EAAE,EAAE;IACjB,MAAM,EACJ,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;IAC3E,MAAM;CACP,CAAC,CAAC;AAgBL;;;;;;;;;;GAUG;AACH,MAAM,IAAI,GAAG,CAAC,EACZ,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,UAAU,EACV,IAAI,EACJ,OAAO,GACI,EAAU,EAAE,CACvB,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;AAEpE,MAAM,sBAAsB,GAAG,IAAI,CAAC;AACpC,iBAAS,sBAAsB,CAAC"}
package/dist/form.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @category saltcorn-markup
3
+ * @module form
4
+ */
5
+ import type { AbstractForm as Form } from "@saltcorn/types/model-abstracts/abstract_form";
6
+ /**
7
+ * @param {string|object} form
8
+ * @param {string|false} csrfToken0
9
+ * @returns {string}
10
+ */
11
+ declare const renderForm: (form: Form | string, csrfToken0: string | boolean) => string;
12
+ export = renderForm;
13
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../form.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,KAAK,EAAE,YAAY,IAAI,IAAI,EAAE,MAAM,+CAA+C,CAAC;AAub1F;;;;GAIG;AACH,QAAA,MAAM,UAAU,SACR,IAAI,GAAG,MAAM,cACP,MAAM,GAAG,OAAO,KAC3B,MA2CF,CAAC;AA6HF,SAAS,UAAU,CAAC"}
package/dist/form.js ADDED
@@ -0,0 +1,374 @@
1
+ "use strict";
2
+ /**
3
+ * @category saltcorn-markup
4
+ * @module form
5
+ */
6
+ const tags = require("./tags");
7
+ const { p, div, i, label, text, text_attr, button, a, h5, span } = tags;
8
+ const renderLayout = require("./layout");
9
+ const helpers = require("./helpers");
10
+ const { isdef, select_options, search_bar } = helpers;
11
+ const abstract_field_1 = require("@saltcorn/types/model-abstracts/abstract_field");
12
+ /**
13
+ * @param {string} s
14
+ * @returns {string}
15
+ */
16
+ const rmInitialDot = (s) => s && s[0] === "." ? s.replace(".", "") : s;
17
+ /**
18
+ * @param {object} sIf
19
+ * @returns {string}
20
+ */
21
+ const mkShowIf = (sIf) => Object.entries(sIf)
22
+ .map(([target, value]) => typeof value === "boolean"
23
+ ? `e.closest('.form-namespace').find('[data-fieldname=${rmInitialDot(target)}]').prop('checked')===${JSON.stringify(value)}`
24
+ : Array.isArray(value)
25
+ ? `[${value
26
+ .map((v) => `'${v}'`)
27
+ .join()}].includes(e.closest('.form-namespace').find('[data-fieldname=${rmInitialDot(target)}]').val())`
28
+ : `e.closest('.form-namespace').find('[data-fieldname=${rmInitialDot(target)}]').val()==='${value}'`)
29
+ .join(" && ");
30
+ /**
31
+ * @param {string} formStyle
32
+ * @returns {boolean}
33
+ */
34
+ const isHoriz = (formStyle) => formStyle === "horiz";
35
+ /**
36
+ * @param {object} hdr
37
+ * @param {object} inner
38
+ * @param {string} [error = ""]
39
+ * @param {string} fStyle
40
+ * @param {number} labelCols
41
+ * @returns {string}
42
+ */
43
+ const formRowWrap = (hdr, inner, error = "", fStyle, labelCols) => div({
44
+ class: ["form-group", isHoriz(fStyle) && "row"],
45
+ "data-disabled": hdr.disabled ? "true" : false,
46
+ ...(hdr.showIf && {
47
+ "data-show-if": mkShowIf(hdr.showIf),
48
+ }),
49
+ }, hdr.input_type === "section_header"
50
+ ? div({ class: `col-sm-12` }, h5(text(hdr.label)), hdr.sublabel && p(i(hdr.sublabel)))
51
+ : [
52
+ div({ class: isHoriz(fStyle) && `col-sm-${labelCols}` }, label({
53
+ for: `input${text_attr(hdr.form_name)}`,
54
+ }, text(hdr.label))),
55
+ div({ class: isHoriz(fStyle) && `col-sm-${12 - labelCols}` }, inner, text(error), hdr.sublabel && i(text(hdr.sublabel))),
56
+ ]);
57
+ /**
58
+ * @param {object} v
59
+ * @param {object[]} errors
60
+ * @param {string} [nameAdd = ""]
61
+ * @returns {function}
62
+ */
63
+ const innerField = (v, errors, nameAdd = "") => (hdr) => {
64
+ const name = hdr.form_name + nameAdd;
65
+ const validClass = errors[name] ? "is-invalid" : "";
66
+ const maybe_disabled = hdr.disabled ? " disabled data-disabled" : "";
67
+ switch (hdr.input_type) {
68
+ case "fromtype":
69
+ return displayEdit(hdr, name, v && isdef(v[hdr.form_name]) ? v[hdr.form_name] : hdr.default, validClass);
70
+ case "hidden":
71
+ return `<input type="hidden" class="form-control ${validClass} ${hdr.class || ""}" name="${text_attr(name)}" ${v ? `value="${text_attr(v[hdr.form_name])}"` : ""}>`;
72
+ case "select":
73
+ const opts = select_options(v, hdr);
74
+ return `<select class="form-control ${validClass} ${hdr.class || ""}"${maybe_disabled} data-fieldname="${text_attr(hdr.form_name)}" name="${text_attr(name)}" id="input${text_attr(name)}"${hdr.attributes && hdr.attributes.explainers
75
+ ? ` data-explainers="${encodeURIComponent(JSON.stringify(hdr.attributes.explainers))}"`
76
+ : ""}>${opts}</select>`;
77
+ case "textarea":
78
+ return `<textarea class="form-control ${validClass} ${hdr.class || ""}"${maybe_disabled} data-fieldname="${text_attr(hdr.form_name)}" name="${text_attr(name)}" id="input${text_attr(name)}">${text(v[hdr.form_name] || "")}</textarea>`;
79
+ case "code":
80
+ return `<textarea mode="${(hdr.attributes || {}).mode || ""}" class="to-code form-control ${validClass} ${hdr.class || ""}"${maybe_disabled} data-fieldname="${text_attr(hdr.form_name)}" name="${text_attr(name)}" id="input${text_attr(name)}">${v[hdr.form_name] || ""}</textarea>`;
81
+ case "file":
82
+ if (hdr.attributes && hdr.attributes.select_file_where) {
83
+ hdr.input_type = "select";
84
+ return innerField(v, errors, nameAdd)(hdr);
85
+ }
86
+ else
87
+ return `${v[hdr.form_name] ? text(v[hdr.form_name]) : ""}<input type="file" class="form-control-file ${validClass} ${hdr.class || ""}"${maybe_disabled} name="${text_attr(name)}" id="input${text_attr(name)}">`;
88
+ case "search":
89
+ return search_bar(name, v && v[hdr.form_name]);
90
+ case "section_header":
91
+ return "";
92
+ case "custom_html":
93
+ return hdr.attributes.html;
94
+ default:
95
+ const the_input = `<input type="${hdr.input_type}" class="form-control ${validClass} ${hdr.class || ""}"${maybe_disabled} data-fieldname="${text_attr(hdr.form_name)}" name="${name}" id="input${text_attr(name)}"${v && isdef(v[hdr.form_name])
96
+ ? ` value="${text_attr(v[hdr.form_name])}"`
97
+ : ""}>`;
98
+ const inner = hdr.postText
99
+ ? div({ class: "input-group" }, the_input, div({ class: "input-group-append" }, span({ class: "input-group-text", id: "basic-addon2" }, hdr.postText)))
100
+ : the_input;
101
+ return inner;
102
+ }
103
+ };
104
+ /**
105
+ * @param {object[]} v
106
+ * @param {object[]} errors
107
+ * @param {string} formStyle
108
+ * @param {object[]} labelCols
109
+ * @returns {function}
110
+ */
111
+ const mkFormRow = (v, errors, formStyle, labelCols) => (hdr) => hdr.isRepeat
112
+ ? mkFormRowForRepeat(v, errors, formStyle, labelCols, hdr)
113
+ : mkFormRowForField(v, errors, formStyle, labelCols)(hdr);
114
+ /**
115
+ * @param {object[]} v
116
+ * @param {object[]} errors
117
+ * @param {string} formStyle
118
+ * @param {object[]} labelCols
119
+ * @param {object} hdr
120
+ * @returns {div}
121
+ */
122
+ const mkFormRowForRepeat = (v, errors, formStyle, labelCols, hdr) => {
123
+ const adder = a({
124
+ class: "btn btn-sm btn-outline-primary mb-3",
125
+ href: `javascript:add_repeater('${hdr.form_name}')`,
126
+ title: "Add",
127
+ }, i({ class: "fas fa-plus" }));
128
+ const icons = div({ class: "float-right" }, span({ onclick: "rep_up(this)" }, i({ class: "fa fa-arrow-up pull-right" })), "&nbsp;", span({ onclick: "rep_del(this)" }, i({ class: "fa fa-times pull-right" })), "&nbsp;", span({ onclick: "rep_down(this)" }, i({ class: "fa fa-arrow-down pull-right" })));
129
+ if (Array.isArray(v[hdr.form_name]) && v[hdr.form_name].length > 0) {
130
+ return (div({ class: `repeats-${hdr.form_name}` }, v[hdr.form_name].map((vi, ix) => {
131
+ return div({ class: `form-repeat form-namespace repeat-${hdr.form_name}` }, icons, hdr.fields.map((f) => {
132
+ return mkFormRowForField(vi, errors, formStyle, labelCols, "_" + ix)(f);
133
+ }));
134
+ })) + adder);
135
+ }
136
+ else {
137
+ return (div({ class: `repeats-${hdr.form_name}` }, div({ class: `form-repeat form-namespace repeat-${hdr.form_name}` }, icons, hdr.fields.map((f) => {
138
+ return mkFormRowForField(v, errors, formStyle, labelCols, "_0")(f);
139
+ }))) + adder);
140
+ }
141
+ };
142
+ /**
143
+ * @param {object} hdr
144
+ * @param {string} name
145
+ * @param {object} v
146
+ * @param {string} extracls
147
+ * @returns {*}
148
+ */
149
+ const displayEdit = (hdr, name, v, extracls) => {
150
+ let fieldview;
151
+ const attributes = hdr.attributes;
152
+ if (hdr.disabled)
153
+ attributes.disabled = true;
154
+ if (hdr.fieldviewObj) {
155
+ fieldview = hdr.fieldviewObj;
156
+ }
157
+ else if (hdr.fieldview && hdr.type && hdr.type.fieldviews[hdr.fieldview])
158
+ fieldview = hdr.type.fieldviews[hdr.fieldview];
159
+ else if (hdr.type && hdr.type.fieldviews) {
160
+ const found = Object.entries(hdr.type.fieldviews).find(([nm, fv]) => fv.isEdit);
161
+ if (found) {
162
+ fieldview = found[1];
163
+ }
164
+ }
165
+ if (!fieldview) {
166
+ if (!hdr.type)
167
+ throw new Error(`Unknown type ${hdr.typename} in field ${name}`);
168
+ else
169
+ throw new Error(`Cannot find fieldview for field ${name}`);
170
+ }
171
+ if (fieldview.isEdit)
172
+ return fieldview.run(name, v, attributes, extracls + " " + hdr.class, hdr.required, hdr);
173
+ else
174
+ return fieldview.run(v, undefined, attributes);
175
+ };
176
+ /**
177
+ * @param {object[]} v
178
+ * @param {object[]} errors
179
+ * @param {string} formStyle
180
+ * @param {number} labelCols
181
+ * @param {string} [nameAdd = ""]
182
+ * @returns {function}
183
+ */
184
+ const mkFormRowForField = (v, errors, formStyle, labelCols, nameAdd = "") => (hdr) => {
185
+ const name = hdr.form_name + nameAdd;
186
+ const errorFeedback = errors[name]
187
+ ? `<div class="invalid-feedback">${text(errors[name])}</div>`
188
+ : "";
189
+ if (hdr.input_type === "hidden") {
190
+ return innerField(v, errors, nameAdd)(hdr);
191
+ }
192
+ else
193
+ return formRowWrap(hdr, innerField(v, errors, nameAdd)(hdr), errorFeedback, formStyle, labelCols);
194
+ };
195
+ /**
196
+ * @param {object} form
197
+ * @returns {string}
198
+ */
199
+ const renderFormLayout = (form) => {
200
+ const blockDispatch = {
201
+ field(segment) {
202
+ const field = form.fields.find((f) => f.name === segment.field_name);
203
+ if ((0, abstract_field_1.instanceOfField)(field) && field.input_type !== "hidden") {
204
+ if (field.sourceURL)
205
+ return div({ "data-source-url": field.sourceURL });
206
+ const errorFeedback = form.errors[field.name]
207
+ ? `<div class="invalid-feedback">${text(form.errors[field.name])}</div>`
208
+ : "";
209
+ field.attributes = { ...field.attributes, ...segment.configuration };
210
+ return innerField(form.values, form.errors)(field) + errorFeedback;
211
+ }
212
+ else
213
+ return "";
214
+ },
215
+ action({ action_name, action_label, action_url, confirm, action_style, action_size, action_icon, configuration, action_bgcol, action_bordercol, action_textcol, }) {
216
+ let style = action_style === "btn-custom-color"
217
+ ? `background-color: ${action_bgcol || "#000000"};border-color: ${action_bordercol || "#000000"}; color: ${action_textcol || "#000000"}`
218
+ : null;
219
+ if (action_name && action_name.startsWith("Login with ")) {
220
+ const method_label = action_name.replace("Login with ", "");
221
+ return a({
222
+ href: `/auth/login-with/${method_label}`,
223
+ //TODO get url through form.req to reduce coupling
224
+ class: [
225
+ action_style !== "btn-link" &&
226
+ `btn ${action_style || "btn-primary"} ${action_size || ""}`,
227
+ ],
228
+ style,
229
+ }, action_icon ? i({ class: action_icon }) + "&nbsp;" : false, action_label || action_name);
230
+ }
231
+ const mkBtn = (onclick_or_type) => `<button ${onclick_or_type} class="${action_style === "btn-link"
232
+ ? ""
233
+ : `btn ${action_style || "btn-primary"} ${action_size || ""}`}"${style ? ` style="${style}"` : ""}>${action_icon ? `<i class="${action_icon}"></i>&nbsp;` : ""}${text(action_label || form.submitLabel || action_name || "Save")}</button>`;
234
+ if (action_name === "Delete") {
235
+ if (action_url) {
236
+ const dest = (configuration && configuration.after_delete_url) || "/";
237
+ return mkBtn(`onClick="ajax_post('${action_url}', {success:()=>window.location.href='${dest}'})" type="button"`);
238
+ }
239
+ else
240
+ return "";
241
+ }
242
+ const submitAttr = form.xhrSubmit
243
+ ? 'onClick="ajaxSubmitForm(this)" type="button"'
244
+ : 'type="submit"';
245
+ return mkBtn(submitAttr);
246
+ },
247
+ };
248
+ return renderLayout({ blockDispatch, layout: form.layout });
249
+ };
250
+ /**
251
+ * @param {string|object} form
252
+ * @param {string|false} csrfToken0
253
+ * @returns {string}
254
+ */
255
+ const renderForm = (form, csrfToken0) => {
256
+ if (typeof form === "string")
257
+ return form;
258
+ const csrfToken = csrfToken0 === false || csrfToken0 === ""
259
+ ? csrfToken0
260
+ : csrfToken0 || (form.req && form.req.csrfToken && form.req.csrfToken());
261
+ if (form.isStateForm) {
262
+ form.class += " px-4 py-3";
263
+ form.formStyle = "vert";
264
+ var collapsedSummary = "";
265
+ Object.entries(form.values).forEach(([k, v]) => {
266
+ if (typeof v === "undefined")
267
+ return;
268
+ if (k[0] !== "_")
269
+ collapsedSummary += ` ${text(k)}:${text_attr(v)} `;
270
+ if (k === "_fts")
271
+ collapsedSummary += ` ${text_attr(v)} `;
272
+ });
273
+ return div({ class: "dropdown" }, button({
274
+ class: "btn btn-secondary dropdown-toggle",
275
+ type: "button",
276
+ id: "dropdownMenuButton",
277
+ "data-toggle": "dropdown",
278
+ "aria-haspopup": "true",
279
+ "aria-expanded": "false",
280
+ }, collapsedSummary ||
281
+ (form.__ ? form.__("Search filter") : "Search filter")), div({
282
+ class: "dropdown-menu search-form",
283
+ "aria-labelledby": "dropdownMenuButton",
284
+ }, mkForm(form, csrfToken, form.errors)));
285
+ }
286
+ else if (form.layout)
287
+ return mkFormWithLayout(form, csrfToken);
288
+ else
289
+ return mkForm(form, csrfToken, form.errors);
290
+ };
291
+ /**
292
+ * @param {object} form
293
+ * @param {string} csrfToken
294
+ * @returns {string}
295
+ */
296
+ const mkFormWithLayout = (form, csrfToken) => {
297
+ const hasFile = form.fields.some((f) => f.input_type === "file");
298
+ const csrfField = `<input type="hidden" name="_csrf" value="${csrfToken}">`;
299
+ const top = `<form action="${form.action}"${form.onChange ? ` onchange="${form.onChange}"` : ""} class="form-namespace ${form.class || ""}" method="${form.methodGET ? "get" : "post"}"${hasFile ? ' encType="multipart/form-data"' : ""}>`;
300
+ const blurbp = form.blurb
301
+ ? Array.isArray(form.blurb)
302
+ ? form.blurb.join("")
303
+ : p(text(form.blurb))
304
+ : "";
305
+ const hiddens = form.fields
306
+ .filter((f) => f.input_type === "hidden")
307
+ .map((f) => innerField(form.values, form.errors)(f))
308
+ .join("");
309
+ const fullFormError = form.errors._form
310
+ ? `<div class="form-group row">
311
+ <div class="col-sm-12">
312
+ <p class="text-danger">${form.errors._form}
313
+ </p>
314
+ </div>
315
+ </div>`
316
+ : "";
317
+ return (blurbp +
318
+ top +
319
+ csrfField +
320
+ hiddens +
321
+ renderFormLayout(form) +
322
+ fullFormError +
323
+ "</form>");
324
+ };
325
+ /**
326
+ * @param {object[]} additionalButtons
327
+ * @returns {string}
328
+ */
329
+ const displayAdditionalButtons = (additionalButtons) => additionalButtons
330
+ .map((btn) => `<button type="button" id="${btn.id}" class="${btn.class}"${btn.onclick ? ` onclick="${btn.onclick}"` : ""}>${btn.label}</button>&nbsp;`)
331
+ .join("");
332
+ /**
333
+ * @param {object} form
334
+ * @param {string} csrfToken
335
+ * @param {object} [errors = {}]
336
+ * @returns {string}
337
+ */
338
+ const mkForm = (form, csrfToken, errors = {}) => {
339
+ const hasFile = form.fields.some((f) => f.input_type === "file");
340
+ const csrfField = csrfToken === false
341
+ ? ""
342
+ : `<input type="hidden" name="_csrf" value="${csrfToken}">`;
343
+ const top = `<form ${form.id ? `id="${form.id}" ` : ""}action="${form.action}" ${form.onChange ? ` onchange="${form.onChange}"` : ""}class="form-namespace ${form.isStateForm ? "stateForm" : ""} ${form.class || ""}" method="${form.methodGET ? "get" : "post"}"${hasFile ? ' encType="multipart/form-data"' : ""}>`;
344
+ //console.log(form.fields);
345
+ const flds = form.fields
346
+ .map(mkFormRow(form.values, errors, form.formStyle, typeof form.labelCols === "undefined" ? 2 : form.labelCols))
347
+ .join("");
348
+ const blurbp = form.blurb
349
+ ? Array.isArray(form.blurb)
350
+ ? form.blurb.join("")
351
+ : p(text(form.blurb))
352
+ : "";
353
+ const fullFormError = errors._form
354
+ ? `<div class="form-group row">
355
+ <div class="col-sm-12">
356
+ <p class="text-danger">${errors._form}
357
+ </p>
358
+ </div>
359
+ </div>`
360
+ : "";
361
+ const bot = `<div class="form-group row">
362
+ <div class="col-sm-12">
363
+ ${form.additionalButtons
364
+ ? displayAdditionalButtons(form.additionalButtons)
365
+ : ""}
366
+ ${form.noSubmitButton
367
+ ? ""
368
+ : `<button type="submit" class="btn ${form.submitButtonClass || "btn-primary"}">${text(form.submitLabel || "Save")}</button>`}
369
+ </div>
370
+ </div>`;
371
+ return blurbp + top + csrfField + flds + fullFormError + bot + "</form>";
372
+ };
373
+ module.exports = renderForm;
374
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","sourceRoot":"","sources":["../form.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @category saltcorn-markup
3
+ * @module helpers
4
+ */
5
+ declare namespace HelpersExports {
6
+ type RadioGroupOpts = {
7
+ name: string;
8
+ options: any;
9
+ value: string;
10
+ inline: any;
11
+ form_name: string;
12
+ onChange: any;
13
+ [key: string]: any;
14
+ };
15
+ }
16
+ declare type RadioGroupOpts = HelpersExports.RadioGroupOpts;
17
+ declare namespace HelpersExports {
18
+ type CheckBoxGroupOpts = {
19
+ name: string;
20
+ options: any;
21
+ value: string;
22
+ inline: boolean;
23
+ form_name: string;
24
+ onChange: any;
25
+ [key: string]: any;
26
+ };
27
+ }
28
+ declare type CheckBoxGroupOpts = HelpersExports.CheckBoxGroupOpts;
29
+ declare namespace HelpersExports {
30
+ type PaginationOpts = {
31
+ current_page: number;
32
+ pages: number;
33
+ get_page_link: (index: number) => string;
34
+ trailing_ellipsis?: boolean;
35
+ };
36
+ }
37
+ declare type PaginationOpts = HelpersExports.PaginationOpts;
38
+ declare namespace HelpersExports {
39
+ type SearchBarOpts = {
40
+ placeHolder?: string;
41
+ has_dropdown: boolean;
42
+ contents: string;
43
+ badges?: string[];
44
+ stateField: string;
45
+ onClick: any;
46
+ };
47
+ }
48
+ declare type SearchBarOpts = HelpersExports.SearchBarOpts;
49
+ declare const HelpersExports: {
50
+ isdef: (x: any) => boolean;
51
+ select_options: (v: string | any, hdr: any, force_required?: boolean | undefined, neutral_label?: string) => string;
52
+ search_bar: (name: string, v: any, { placeHolder, has_dropdown, contents, badges, stateField, onClick, }?: SearchBarOpts | any) => string;
53
+ pagination: ({ current_page, pages, get_page_link, trailing_ellipsis, }: PaginationOpts) => string;
54
+ radio_group: ({ name, options, value, inline, form_name, onChange, ...rest }: RadioGroupOpts) => string;
55
+ checkbox_group: ({ name, options, value, inline, form_name, onChange, ...rest }: CheckBoxGroupOpts) => string;
56
+ };
57
+ export = HelpersExports;
58
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmDH,kBAAU,cAAc,CAAC;IACvB,KAAY,cAAc,GAAG;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,GAAG,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,GAAG,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,GAAG,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AACD,aAAK,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;AAkDpD,kBAAU,cAAc,CAAC;IACvB,KAAY,iBAAiB,GAAG;QAC9B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,GAAG,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,OAAO,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,GAAG,CAAC;QACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;KACpB,CAAC;CACH;AACD,aAAK,iBAAiB,GAAG,cAAc,CAAC,iBAAiB,CAAC;AAyC1D,kBAAU,cAAc,CAAC;IACvB,KAAY,cAAc,GAAG;QAC3B,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;QACzC,iBAAiB,CAAC,EAAE,OAAO,CAAC;KAC7B,CAAC;CACH;AACD,aAAK,cAAc,GAAG,cAAc,CAAC,cAAc,CAAC;AAoDpD,kBAAU,cAAc,CAAC;IACvB,KAAY,aAAa,GAAG;QAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,OAAO,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,GAAG,CAAC;KACd,CAAC;CACH;AACD,aAAK,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC;AA+ElD,QAAA,MAAM,cAAc;eA/SF,GAAG,KAAG,OAAO;wBAU1B,MAAM,GAAG,GAAG,OACV,GAAG,wDAEO,MAAM,KACpB,MAAM;uBA2ND,MAAM,KACT,GAAG,0EAQH,aAAa,GAAG,GAAG,KACrB,MAAM;6EAlEN,cAAc,KAAG,MAAM;kFAxGvB,cAAc,KAAG,MAAM;qFAkDvB,iBAAiB,KAAG,MAAM;CA2L5B,CAAC;AACF,SAAS,cAAc,CAAC"}