UNPKG

@kineticdata/react

Version:
169 lines (167 loc) 3.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WebhookJobTable = void 0; var _apis = require("../../../apis"); var _Table = require("../../table/Table"); var _immutable = require("immutable"); var WORKFLOW_JOB_STATUSES = [{ label: 'Failed', value: 'failed' }, { label: 'Pending', value: 'queued' }]; var dataSource = function dataSource(_ref) { var scope = _ref.scope, kappSlug = _ref.kappSlug; return { fn: _apis.fetchWebhookJobs, params: function params(paramData) { return [{ include: 'details', scope: scope, kappSlug: kappSlug, status: paramData.filters.get('status') || 'all', limit: paramData.pageSize, pageToken: paramData.nextPageToken, webhook: paramData.filters.get('name') || undefined // required by the API, can't pass empty webhook= param }]; }, transform: function transform(result) { return { data: result.webhookJobs, nextPageToken: result.nextPageToken }; } }; }; var filterDataSources = function filterDataSources(_ref2) { var kappSlug = _ref2.kappSlug; return { definitions: { fn: _apis.fetchWebhooks, params: function params() { return [{ kappSlug: kappSlug }]; }, transform: function transform(result) { return result.webhooks; } } }; }; var filters = function filters() { return function (_ref3) { var values = _ref3.values, definitions = _ref3.definitions; return definitions && [{ name: 'name', label: 'Webhook Name', type: 'select', options: function options(_ref4) { var definitions = _ref4.definitions; return definitions ? (0, _immutable.List)(definitions).map(function (definition) { return (0, _immutable.Map)({ label: definition.get('name'), value: definition.get('name') }); }) : (0, _immutable.List)(); } }, { name: 'status', label: 'Status', type: 'select', options: WORKFLOW_JOB_STATUSES }]; }; }; var columns = [{ value: 'createdAt', title: 'Created At', toggleable: true }, { value: 'createdBy', title: 'Created By', toggleable: true }, { value: 'event', title: 'Event', toggleable: true }, { value: 'id', title: 'ID', toggleable: true }, { value: 'name', title: 'Name', toggleable: true }, { value: 'parentId', title: 'Parent ID', toggleable: true }, { value: 'requestContent', title: 'Request Content', toggleable: true }, { value: 'responseContent', title: 'Response Content', toggleable: true }, { value: 'retryCount', title: 'Retry Count', toggleable: true }, { value: 'scheduledAt', title: 'Scheduled At', toggleable: false, columnOrder: 'first' }, { value: 'scopeId', title: 'Scope ID', toggleable: true }, { value: 'scopeType', title: 'Scope Type', toggleable: true }, { value: 'status', title: 'Status', toggleable: true }, { value: 'summary', title: 'Summary', toggleable: true }, { value: 'type', title: 'Type', toggleable: true }, { value: 'updatedAt', title: 'Updated At', toggleable: true }, { value: 'updatedBy', title: 'Updated By', toggleable: true }, { value: 'url', title: 'URL', toggleable: true }, { value: 'webhookId', title: 'Webhook ID', toggleable: true }]; var WebhookJobTable = exports.WebhookJobTable = (0, _Table.generateTable)({ tableOptions: ['scope', 'kappSlug'], columns: columns, filters: filters, filterDataSources: filterDataSources, dataSource: dataSource, sortable: false }); WebhookJobTable.displayName = 'WebhookJobTable';