@kineticdata/react
Version:
A React library for the Kinetic Platform
95 lines (94 loc) • 2.06 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.FieldDefinitionTable = exports.FIELD_DATA_TYPES = void 0;
var _Table = require("../../table/Table");
var _apis = require("../../../apis");
var _helpers = require("../../../helpers");
var FIELD_DATA_TYPES = exports.FIELD_DATA_TYPES = [{
value: 'checkbox',
label: 'Checkbox',
dataType: 'json'
}, {
value: 'date',
label: 'Date',
dataType: 'string'
}, {
value: 'datetime',
label: 'Date/Time',
dataType: 'string'
}, {
value: 'dropdown',
label: 'Dropdown',
dataType: 'string'
}, {
value: 'radio',
label: 'Radio',
dataType: 'string'
}, {
value: 'text',
label: 'Text',
dataType: 'string'
}, {
value: 'time',
label: 'Time',
dataType: 'string'
}];
var clientSide = (0, _helpers.defineFilter)(true).startsWith('name', 'name').end();
var dataSource = function dataSource(_ref) {
var kappSlug = _ref.kappSlug;
return {
fn: kappSlug ? _apis.fetchKapp : _apis.fetchSpace,
clientSide: clientSide,
params: function params() {
return [{
kappSlug: kappSlug,
include: 'fields'
}];
},
transform: function transform(result) {
return {
data: kappSlug ? result.kapp.fields : result.space.fields
};
}
};
};
var filters = function filters() {
return function () {
return [{
name: 'name',
label: 'Name',
type: 'text'
}];
};
};
var columns = [{
value: 'name',
title: 'Name',
toggleable: false,
columnOrder: 'first'
}, {
value: 'renderType',
title: 'Render Type',
toggleable: true
}, {
value: 'dataType',
title: 'Data Type',
toggleable: true
}, {
value: 'updatedAt',
title: 'Updated At',
toggleable: true
}, {
value: 'updatedBy',
title: 'Updated By',
toggleable: true
}];
var FieldDefinitionTable = exports.FieldDefinitionTable = (0, _Table.generateTable)({
tableOptions: ['kappSlug'],
columns: columns,
filters: filters,
dataSource: dataSource
});
FieldDefinitionTable.displayName = 'FieldDefinitionTable';