UNPKG

@tegrus/formio-react

Version:

React renderer for form.io forms.

103 lines (84 loc) 3.18 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSubmissions = exports.resetSubmissions = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _formiojs = require('@tegrus/formiojs'); var _root = require('../root'); var _constants = require('./constants'); var types = _interopRequireWildcard(_constants); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } } var resetSubmissions = exports.resetSubmissions = function resetSubmissions(name) { return { type: types.SUBMISSIONS_RESET, name: name }; }; var requestSubmissions = function requestSubmissions(name, page, params, formId) { return { type: types.SUBMISSIONS_REQUEST, name: name, page: page, params: params, formId: formId }; }; var receiveSubmissions = function receiveSubmissions(name, submissions) { return { type: types.SUBMISSIONS_SUCCESS, name: name, submissions: submissions }; }; var failSubmissions = function failSubmissions(name, error) { return { type: types.SUBMISSIONS_FAILURE, name: name, error: error }; }; var getSubmissions = exports.getSubmissions = function getSubmissions(name) { var page = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0; var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var formId = arguments[3]; var done = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : function () {}; return function (dispatch, getState) { dispatch(requestSubmissions(name, page, params, formId)); var _selectRoot = (0, _root.selectRoot)(name, getState()), limit = _selectRoot.limit, query = _selectRoot.query, select = _selectRoot.select, sort = _selectRoot.sort; var formio = new _formiojs.Formio(_formiojs.Formio.getProjectUrl() + '/' + (formId ? 'form/' + formId : name) + '/submission'); var requestParams = _extends({}, 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(function (result) { dispatch(receiveSubmissions(name, result)); done(null, result); }).catch(function (error) { dispatch(failSubmissions(name, error)); done(error); }); }; };