@kineticdata/react
Version:
A React library for the Kinetic Platform
75 lines (72 loc) • 2.23 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.IndexDefinitionTable = void 0;
var _react = _interopRequireDefault(require("react"));
var _Table = require("../../table/Table");
var _apis = require("../../../apis");
var _helpers = require("../../../helpers");
var clientSide = (0, _helpers.defineFilter)(true).startsWith('name', 'name').equals('status', 'status').equals('unique', 'unique').end();
// const indexStatuses = ['New', 'Building', 'Built', 'Failed'];
var BooleanYesNoCell = function BooleanYesNoCell(props) {
return /*#__PURE__*/_react["default"].createElement("td", null, props.value ? 'Yes' : 'No');
};
var dataSource = function dataSource(_ref) {
var kappSlug = _ref.kappSlug,
formSlug = _ref.formSlug;
return {
fn: !kappSlug && !formSlug ? _apis.fetchSpace : kappSlug && !formSlug ? _apis.fetchKapp : _apis.fetchForm,
clientSide: clientSide,
params: function params() {
return [{
kappSlug: kappSlug,
formSlug: formSlug,
include: 'indexDefinitions,indexDefinitions.details,indexDefinitions.detachedForms,indexDefinitions.unpopulatedForms'
}];
},
transform: function transform(result) {
return {
data: (!kappSlug && !formSlug ? result.space : kappSlug && !formSlug ? result.kapp : result.form).indexDefinitions
};
}
};
};
var columns = [{
value: 'name',
title: 'Name',
toggleable: false,
columnOrder: 'first'
}, {
value: 'status',
title: 'Status',
toggleable: true
}, {
value: 'unique',
title: 'Unique',
toggleable: true,
components: {
BodyCell: BooleanYesNoCell
}
}, {
value: 'parts',
title: 'Parts',
toggleable: true
}, {
value: 'unpopulatedForms',
title: 'Unpopulated Forms',
toggleable: true
}, {
value: 'detatchedForms',
title: 'Detatched Forms',
toggleable: true
}];
var IndexDefinitionTable = exports.IndexDefinitionTable = (0, _Table.generateTable)({
tableOptions: ['kappSlug', 'formSlug'],
sortable: false,
columns: columns,
// filters,
dataSource: dataSource
});
IndexDefinitionTable.displayName = 'IndexDefinitionTable';