monadic_react
Version:
A monadic library for easily composing React-based libraries.
111 lines • 22.7 kB
JavaScript
;
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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