UNPKG

monadic_react

Version:

A monadic library for easily composing React-based libraries.

111 lines 22.7 kB
"use strict"; var __assign = (this && this.__assign) || Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; Object.defineProperty(exports, "__esModule", { value: true }); var Immutable = require("immutable"); var core_1 = require("./core"); var primitives_1 = require("./primitives"); var html_1 = require("./html"); var combinators_1 = require("./combinators"); exports.simple_inner_form = function (mode, model_name, entries) { return function (c) { return combinators_1.repeat(model_name(c.model) + "_repeater")(function (c) { return combinators_1.any(model_name(c.model) + "_inner_form")(entries.map(function (e) { return e.kind == "string" ? combinators_1.retract(model_name(c.model) + "_" + e.field_name + "_retract")(function (c) { return e.in(c.model); }, function (c) { return function (s) { var new_c = e.out(c.model)(s); var errors = e.get_errors(new_c); return { model: new_c, errors: errors.length > 0 ? c.errors.set(e.field_name, errors) : c.errors.remove(e.field_name) }; }; }, html_1.label(e.field_name, true)(html_1.div("monadic-field " + (c.errors.has(e.field_name) ? "monadic-field-error" : ""))(primitives_1.string(mode, "text", model_name(c.model) + "_" + e.field_name)))) : e.kind == "number" ? combinators_1.retract(model_name(c.model) + "_" + e.field_name + "_retract")(function (c) { return e.in(c.model); }, function (c) { return function (s) { var new_c = e.out(c.model)(s); var errors = e.get_errors(new_c); return { model: new_c, errors: errors.length > 0 ? c.errors.set(e.field_name, errors) : c.errors.remove(e.field_name) }; }; }, html_1.label(e.field_name, true)(html_1.div("monadic-field " + (c.errors.has(e.field_name) ? "monadic-field-error" : ""))(primitives_1.number(mode, model_name(c.model) + "_" + e.field_name)))) : e.kind == "image" ? combinators_1.retract(model_name(c.model) + "_" + e.field_name + "_retract")(function (c) { return e.in(c.model); }, function (c) { return function (s) { var new_c = e.out(c.model)(s); var errors = e.get_errors(new_c); return { model: new_c, errors: errors.length > 0 ? c.errors.set(e.field_name, errors) : c.errors.remove(e.field_name) }; }; }, html_1.label(e.field_name, true)(html_1.div("monadic-field " + (c.errors.has(e.field_name) ? "monadic-field-error" : ""))(html_1.image(mode, model_name(c.model) + "_" + e.field_name)))) : e.kind == "lazy image" ? combinators_1.retract(model_name(c.model) + "_" + e.field_name + "_retract")(function (c) { return null; }, function (c) { return function (_) { return c; }; }, function (_) { return e.download(c.model).then(model_name(c.model) + "_" + e.field_name + "_downloader", function (src) { return combinators_1.repeat()(function (src) { return html_1.label(e.field_name, true)(html_1.image(mode, model_name(c.model) + "_" + e.field_name))(src).then(model_name(c.model) + "_" + e.field_name + "_uploader", function (new_src) { return e.upload(c.model)(new_src); }); })(src); }).ignore(); }) : e.kind == "file" ? combinators_1.retract(model_name(c.model) + "_" + e.field_name + "_retract")(function (c) { return e.in(c.model); }, function (c) { return function (s) { var new_c = e.out(c.model)(s); var errors = e.get_errors(new_c); return { model: new_c, errors: errors.length > 0 ? c.errors.set(e.field_name, errors) : c.errors.remove(e.field_name) }; }; }, html_1.label(e.field_name, true)(html_1.div("monadic-field " + (c.errors.has(e.field_name) ? "monadic-field-error" : ""))(function (_) { return html_1.file(mode, e.filename(c.model), e.url(c.model)).ignore_with(null); }))) : e.kind == "lazy file" ? combinators_1.retract(model_name(c.model) + "_" + e.field_name + "_retract")(function (c) { return null; }, function (c) { return function (f) { return (__assign({}, c, { model: e.out(c.model)(f) })); }; }, function (_) { return html_1.label(e.field_name, true)(function (_) { return html_1.file(mode, e.filename(c.model), e.url(c.model)).then(model_name(c.model) + "_" + e.field_name + "_uploader", function (f) { return e.upload(c.model)(f).ignore_with(f); }); })(null); }) : e.kind == "datetime" ? combinators_1.retract(model_name(c.model) + "_" + e.field_name + "_retract")(function (c) { return e.in(c.model); }, function (c) { return function (s) { var new_c = e.out(c.model)(s); var errors = e.get_errors(new_c); return { model: new_c, errors: errors.length > 0 ? c.errors.set(e.field_name, errors) : c.errors.remove(e.field_name) }; }; }, primitives_1.date_time(mode, e.field_name, function () { return "Creating date_time formfield"; })) : null; }))(c); })(c); }; }; exports.form_errors = function (model_name, entries) { return function (fd) { return combinators_1.any("form-errors")(entries.map(function (e) { return e.kind != "lazy image" && e.kind != "image" ? function (c) { return c.errors.has(e.field_name) ? primitives_1.string("view", "text", model_name(c.model) + "_" + e.field_name)("" + c.errors.get(e.field_name)).ignore(model_name(c.model) + "_" + e.field_name + "_error_ignore").never() : core_1.unit(null).never(); } : function (c) { return core_1.unit(null).never(); }; }))(fd).filter(function (_) { return false; }); }; }; exports.simple_form_with_autosave = function (mode, model_name, entries, download_M, upload_M) { return download_M.then(undefined, function (c) { return exports.simple_inner_form(mode, model_name, entries)({ model: c, errors: Immutable.Map() }) .then(model_name(c) + "_error_recap", combinators_1.any()([ function (c) { return exports.form_errors(model_name, entries)(c).ignore_with(c).filter(function (_) { return false; }); }, function (c) { return core_1.unit(c); } ])) .filter(function (c) { return c.errors.isEmpty(); }, model_name(c) + "_error_filter") .map(function (c) { return c.model; }).then(model_name(c) + "_uploader", combinators_1.delay(200, model_name(c) + "_delay")(upload_M)).ignore(); }); }; exports.simple_form_with_save_button = function (mode, model_name, entries, download_M, upload_M) { return download_M.then(undefined, function (c) { return exports.simple_inner_form(mode, model_name, entries)({ model: c, errors: Immutable.Map() }).then(model_name(c) + "_form", function (c) { return combinators_1.any()([ exports.form_errors(model_name, entries), function (c) { return html_1.button("save", !c.errors.isEmpty())(c); } ])(c); }).map(function (c) { return c.model; }).then(model_name(c) + "_uploader", combinators_1.delay(200, model_name(c) + "_delayer")(upload_M)).ignore(); }); }; exports.simple_form_with_prev_and_next_buttons = function (mode, model_name, entries, prev_enabled, next_enabled, prev_visible, next_visible, on_prev, on_next) { return function (c) { return exports.simple_inner_form(mode, model_name, entries)(c).then(model_name(c.model) + "_form", function (c) { return combinators_1.any()([ exports.form_errors(model_name, entries), function (c) { return prev_visible(c) ? html_1.button("prev", prev_enabled(c))(c).map(function (c) { return (__assign({}, c, { model: on_prev(c.model) })); }) : core_1.unit(c).filter(function (_) { return false; }); }, function (c) { return next_visible(c) ? html_1.button("next", next_enabled(c))(c).map(function (c) { return (__assign({}, c, { model: on_next(c.model) })); }) : core_1.unit(c).filter(function (_) { return false; }); } ])(c); }); }; }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcmVhY3RfbW9uYWQvZm9ybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUdBLHFDQUFzQztBQUN0QywrQkFBMEM7QUFDMUMsMkNBQXdFO0FBQ3hFLCtCQUFnRjtBQUNoRiw2Q0FBNEY7QUFpQmpGLFFBQUEsaUJBQWlCLEdBQUcsVUFBWSxJQUFTLEVBQUUsVUFBd0IsRUFBRSxPQUFzQjtJQUNwRyxPQUFPLFVBQUEsQ0FBQyxJQUFJLE9BQUEsb0JBQU0sQ0FBaUIsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBVyxDQUFDLENBQUMsVUFBQSxDQUFDO1FBQ2xFLE9BQUEsaUJBQUcsQ0FBOEIsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWEsQ0FBQyxDQUNoRSxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQUEsQ0FBQztZQUNYLE9BQUEsQ0FBQyxDQUFDLElBQUksSUFBSSxRQUFRLENBQUMsQ0FBQztnQkFDbEIscUJBQU8sQ0FBeUIsVUFBVSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsU0FBSSxDQUFDLENBQUMsVUFBVSxhQUFVLENBQUMsQ0FDNUUsVUFBQSxDQUFDLElBQUksT0FBQSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBYixDQUFhLEVBQUUsVUFBQSxDQUFDLElBQUksT0FBQSxVQUFBLENBQUM7b0JBQ3hCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUM3QixJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUNoQyxPQUFPLEVBQUUsS0FBSyxFQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxD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