@kineticdata/react
Version:
A React library for the Kinetic Platform
169 lines (167 loc) • 3.73 kB
JavaScript
;
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';