UNPKG

@kineticdata/react

Version:
91 lines (89 loc) 2.81 kB
"use strict"; 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';