UNPKG

@kineticdata/react

Version:
143 lines (142 loc) 4.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BridgeModelQualificationForm = void 0; var _Form = require("../../form/Form"); var _apis = require("../../../apis"); var dataSources = function dataSources(_ref) { var modelName = _ref.modelName, qualificationName = _ref.qualificationName; return { bridgeModel: { fn: _apis.fetchBridgeModel, params: [{ modelName: modelName }], transform: function transform(result) { return result.bridgeModel; } }, bridgeModelQualification: { fn: _apis.fetchBridgeModelQualification, params: qualificationName && [{ modelName: modelName, qualificationName: qualificationName }], transform: function transform(result) { return result.bridgeModelQualification; } }, bridgeModelQualificationMapping: { fn: _apis.fetchBridgeModelQualificationMapping, params: function params(_ref2) { var bridgeModel = _ref2.bridgeModel; return qualificationName && bridgeModel && [{ modelName: modelName, mappingName: bridgeModel.get('activeMappingName'), qualificationName: qualificationName }]; }, transform: function transform(result) { return result.bridgeModelQualificationMapping; } } }; }; var handleSubmit = function handleSubmit(_ref3) { var modelName = _ref3.modelName, qualificationName = _ref3.qualificationName; return function (values, _ref4) { var bridgeModel = _ref4.bridgeModel; var mappingName = bridgeModel.get('activeMappingName'); var name = values.get('name'); var resultType = values.get('resultType'); var query = values.get('query'); return (qualificationName ? _apis.updateBridgeModelQualification : _apis.createBridgeModelQualification)({ modelName: modelName, qualificationName: qualificationName, bridgeModelQualification: { name: name, resultType: resultType } }).then(function (result) { return result.error ? result : (qualificationName ? _apis.updateBridgeModelQualificationMapping : _apis.createBridgeModelQualificationMapping)({ modelName: modelName, mappingName: mappingName, qualificationName: name, bridgeModelQualificationMapping: { name: name, query: query } }).then(function (result) { if (result.error && !qualificationName) { return (0, _apis.deleteBridgeModelQualification)({ modelName: modelName, qualificationName: name }).then(function () { return { error: result.error }; }); } return result; }); }).then(function (_ref5) { var bridgeModelQualificationMapping = _ref5.bridgeModelQualificationMapping, error = _ref5.error; if (error) { throw error.statusCode === 400 && error.message || 'There was an error saving the qualification'; } return bridgeModelQualificationMapping; }); }; }; var fields = function fields(_ref6) { var modelName = _ref6.modelName, qualificationName = _ref6.qualificationName; return function (_ref7) { var bridgeModelQualification = _ref7.bridgeModelQualification, bridgeModelQualificationMapping = _ref7.bridgeModelQualificationMapping; return (!qualificationName || bridgeModelQualification && bridgeModelQualificationMapping) && [{ name: 'name', label: 'Name', type: 'text', required: true, initialValue: bridgeModelQualification ? bridgeModelQualification.get('name') : '' }, { name: 'resultType', label: 'Result Type', type: 'select', required: true, initialValue: bridgeModelQualification ? bridgeModelQualification.get('resultType') : '', options: [{ label: 'Single', value: 'Single' }, { label: 'Multiple', value: 'Multiple' }] }, { name: 'query', label: 'Query', type: 'code', language: 'text', required: false, initialValue: bridgeModelQualificationMapping && bridgeModelQualificationMapping.get('query') || '', options: [{ label: 'parameters', type: 'function', quoteType: 'double', detail: 'Add Parameter' }] }]; }; }; var BridgeModelQualificationForm = exports.BridgeModelQualificationForm = (0, _Form.generateForm)({ formOptions: ['modelName', 'qualificationName'], dataSources: dataSources, fields: fields, handleSubmit: handleSubmit }); BridgeModelQualificationForm.displayName = 'BridgeModelQualificationForm';