@open-formulieren/formio-builder
Version:
An opinionated Formio webform builder for Open Forms
47 lines (46 loc) • 4.34 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const jsx_runtime_1 = require("react/jsx-runtime");
const react_intl_1 = require("react-intl");
const formio_1 = require("../../../components/formio");
const OperatorSelect = ({ name }) => {
const intl = (0, react_intl_1.useIntl)();
const tooltip = intl.formatMessage({ id: "mMn7K3", defaultMessage: [{ type: 0, value: "Specify whether to add or subtract a time delta to/from the variable." }] });
return ((0, jsx_runtime_1.jsx)(formio_1.Select, { name: name, label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: 'xI6md8', defaultMessage: [{ type: 0, value: "Add/subtract duration" }] }), tooltip: tooltip, options: [
{
value: 'add',
label: intl.formatMessage({ id: "W0AAhq", defaultMessage: [{ type: 0, value: "Add" }] }),
},
{
value: 'subtract',
label: intl.formatMessage({ id: "9lk1eS", defaultMessage: [{ type: 0, value: "Subtract" }] }),
},
] }));
};
// XXX: at some point we should provide all available variables in the context so that
// you can select the variable from a dropdown rather than having to type the key
// yourself.
const Variable = ({ name }) => {
const intl = (0, react_intl_1.useIntl)();
const tooltip = intl.formatMessage({ id: "bvY9oJ", defaultMessage: [{ type: 0, value: "Provide the key of a static, component, or user defined variable." }] });
return ((0, jsx_runtime_1.jsx)(formio_1.TextField, { name: name, label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: 'EkVNqG', defaultMessage: [{ type: 0, value: "Variable" }] }), tooltip: tooltip, spellCheck: false }));
};
const Years = ({ name }) => {
const intl = (0, react_intl_1.useIntl)();
const tooltip = intl.formatMessage({ id: "PhXIai", defaultMessage: [{ type: 0, value: "Number of years. Empty values are ignored." }] });
return ((0, jsx_runtime_1.jsx)(formio_1.NumberField, { name: name, label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: '7b9pD8', defaultMessage: [{ type: 0, value: "Years" }] }), tooltip: tooltip, step: 1, min: 0 }));
};
const Months = ({ name }) => {
const intl = (0, react_intl_1.useIntl)();
const tooltip = intl.formatMessage({ id: "5XOrxo", defaultMessage: [{ type: 0, value: "Number of months. Empty values are ignored." }] });
return ((0, jsx_runtime_1.jsx)(formio_1.NumberField, { name: name, label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: '0gbtNe', defaultMessage: [{ type: 0, value: "Months" }] }), tooltip: tooltip, step: 1, min: 0 }));
};
const Days = ({ name }) => {
const intl = (0, react_intl_1.useIntl)();
const tooltip = intl.formatMessage({ id: "cQvPLh", defaultMessage: [{ type: 0, value: "Number of days. Empty values are ignored." }] });
return ((0, jsx_runtime_1.jsx)(formio_1.NumberField, { name: name, label: (0, jsx_runtime_1.jsx)(react_intl_1.FormattedMessage, { id: '4DkoO5', defaultMessage: [{ type: 0, value: "Days" }] }), tooltip: tooltip, step: 1, min: 0 }));
};
const RelativeDelta = ({ constraint }) => {
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "row" }, { children: [(0, jsx_runtime_1.jsx)("div", Object.assign({ className: "col-md-6 col-xs-12" }, { children: (0, jsx_runtime_1.jsx)(OperatorSelect, { name: `openForms.${constraint}.operator` }) })), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: "col-md-6 col-xs-12" }, { children: (0, jsx_runtime_1.jsx)(Variable, { name: `openForms.${constraint}.variable` }) }))] })), (0, jsx_runtime_1.jsxs)("div", Object.assign({ className: "row" }, { children: [(0, jsx_runtime_1.jsx)("div", Object.assign({ className: "col-md-4 col-xs-12" }, { children: (0, jsx_runtime_1.jsx)(Years, { name: `openForms.${constraint}.delta.years` }) })), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: "col-md-4 col-xs-12" }, { children: (0, jsx_runtime_1.jsx)(Months, { name: `openForms.${constraint}.delta.months` }) })), (0, jsx_runtime_1.jsx)("div", Object.assign({ className: "col-md-4 col-xs-12" }, { children: (0, jsx_runtime_1.jsx)(Days, { name: `openForms.${constraint}.delta.days` }) }))] }))] }));
};
exports.default = RelativeDelta;