UNPKG

@kineticdata/react

Version:
114 lines (113 loc) 2.74 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports.IndexJobTable = void 0; var _react = _interopRequireDefault(require("react")); var _apis = require("../../../apis"); var _Table = require("../../table/Table"); var _helpers = require("../../../helpers"); var clientSide = (0, _helpers.defineFilter)(true).equals('status', 'status').between('startedAt', 'minStartedAt', 'maxStartedAt').end(); var indexJobStatuses = ['Running', 'Paused']; var dataSource = function dataSource(_ref) { var formSlug = _ref.formSlug, kappSlug = _ref.kappSlug, _ref$completed = _ref.completed, completed = _ref$completed === void 0 ? false : _ref$completed; return { fn: function fn() { return (0, _apis.fetchBackgroundJobs)({ formSlug: formSlug, kappSlug: kappSlug, completed: completed }); }, clientSide: clientSide, params: function params() { return []; }, transform: function transform(result) { return { data: result.backgroundJobs }; } }; }; var filters = function filters() { return function () { return [{ name: 'status', label: 'Status', type: 'select', options: indexJobStatuses.map(function (el) { return { value: el, label: el }; }) }, { name: 'minStartedAt', label: 'Start', type: 'date' }, { name: 'maxStartedAt', label: 'End', type: 'date' }]; }; }; var columns = [{ value: 'content', title: 'Content', components: { BodyCell: function BodyCell(props) { return /*#__PURE__*/_react["default"].createElement("td", null, JSON.stringify(props.value)); } }, sortable: false, filterable: false }, { value: 'hung', title: 'Hung?' }, { value: 'id', title: 'Job ID' }, { value: 'message', title: 'Message' }, { value: 'parent', title: 'Parent' }, { value: 'parentType', title: 'Parent Type' }, { value: 'progress', title: 'Progress', components: { BodyCell: function BodyCell(props) { return /*#__PURE__*/_react["default"].createElement("td", null, "".concat(props.value)); } } }, { value: 'startedAt', title: 'Started At' }, { value: 'startedBy', title: 'Started By' }, { value: 'status', title: 'Status' }, { value: 'type', title: 'Type' }]; var IndexJobTable = exports.IndexJobTable = (0, _Table.generateTable)({ tableOptions: ['formSlug', 'kappSlug', 'completed'], dataSource: dataSource, columns: columns, filters: filters, sortable: false }); IndexJobTable.displayName = 'IndexJobTable';