@arun-s-aot/formio-react
Version:
React renderer for formsflow form.io forms.
85 lines (83 loc) • 3.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.resetSubmissions = exports.getSubmissions = void 0;
var _lib = require("@arun-s-aot/formiojs/lib");
var _root = require("../root");
var types = _interopRequireWildcard(require("./constants"));
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
const resetSubmissions = name => ({
type: types.SUBMISSIONS_RESET,
name
});
exports.resetSubmissions = resetSubmissions;
const requestSubmissions = (name, page, params, formId) => ({
type: types.SUBMISSIONS_REQUEST,
name,
page,
params,
formId
});
const receiveSubmissions = (name, submissions) => ({
type: types.SUBMISSIONS_SUCCESS,
name,
submissions
});
const failSubmissions = (name, error) => ({
type: types.SUBMISSIONS_FAILURE,
name,
error
});
const getSubmissions = function (name) {
let page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
let params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
let formId = arguments.length > 3 ? arguments[3] : undefined;
let done = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : () => {};
return (dispatch, getState) => {
dispatch(requestSubmissions(name, page, params, formId));
const {
limit,
query,
select,
sort
} = (0, _root.selectRoot)(name, getState());
const formio = new _lib.Formio(`${_lib.Formio.getProjectUrl()}/${formId ? `form/${formId}` : name}/submission`);
const requestParams = {
...query,
...params
};
// Ten is the default so if set to 10, don't send.
if (limit !== 10) {
requestParams.limit = limit;
} else {
delete requestParams.limit;
}
if (page !== 1) {
requestParams.skip = (page - 1) * limit;
} else {
delete requestParams.skip;
}
if (select) {
requestParams.select = select;
} else {
delete requestParams.select;
}
if (sort) {
requestParams.sort = sort;
} else {
delete requestParams.sort;
}
return formio.loadSubmissions({
params: requestParams
}).then(result => {
dispatch(receiveSubmissions(name, result));
done(null, result);
}).catch(error => {
dispatch(failSubmissions(name, error));
done(error);
});
};
};
exports.getSubmissions = getSubmissions;