@kineticdata/react
Version:
A React library for the Kinetic Platform
91 lines (89 loc) • 2.81 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.BridgeModelQualificationTable = void 0;
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectSpread2"));
var _Table = require("../../table/Table");
var _apis = require("../../../apis");
var _helpers = require("../../../helpers");
var clientSide = (0, _helpers.defineFilter)(true).startsWith('name', 'name').equals('resultType', 'resultType').end();
// Handles bridge model api response by checking for error and also returning
// error if active mapping is not present. If valid returns object with the
// attributes and their mappings.
var handleBridgeModel = function handleBridgeModel(_ref) {
var _ref$bridgeModel = _ref.bridgeModel,
error = _ref$bridgeModel.error,
qualifications = _ref$bridgeModel.qualifications,
activeMappingName = _ref$bridgeModel.activeMappingName,
mappings = _ref$bridgeModel.mappings;
if (error) {
return {
error: error
};
}
var mapping = mappings.find(function (_ref2) {
var name = _ref2.name;
return name === activeMappingName;
});
if (!mapping) {
return {
error: 'Invalid bridge model, active mapping not found'
};
}
return {
qualifications: qualifications,
qualificationMappings: mapping.qualifications
};
};
var transform = function transform(_ref3) {
var qualifications = _ref3.qualifications,
qualificationMappings = _ref3.qualificationMappings;
return {
data: qualifications.map(function (qualification) {
var mapping = qualificationMappings.find(function (_ref4) {
var name = _ref4.name;
return name === qualification.name;
});
return (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, qualification), {}, {
query: mapping ? mapping.query || '' : null
});
})
};
};
var dataSource = function dataSource(_ref5) {
var modelName = _ref5.modelName;
return {
fn: function fn() {
return (0, _apis.fetchBridgeModel)({
modelName: modelName
}).then(handleBridgeModel);
},
clientSide: clientSide,
params: function params() {
return [{
modelName: modelName
}];
},
transform: transform
};
};
var columns = [{
value: 'name',
title: 'Name',
sortable: true
}, {
value: 'resultType',
title: 'Result Type',
sortable: true
}, {
value: 'query',
title: 'Query'
}];
var BridgeModelQualificationTable = exports.BridgeModelQualificationTable = (0, _Table.generateTable)({
columns: columns,
dataSource: dataSource,
tableOptions: ['modelName']
});
BridgeModelQualificationTable.displayName = 'BridgeModelQualificationTable';