UNPKG

@kineticdata/react

Version:
97 lines (96 loc) 2.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AgentComponentForm = void 0; var _immutable = require("immutable"); var _Form = require("../../form/Form"); var _apis = require("../../../apis"); var dataSources = function dataSources(_ref) { var slug = _ref.slug; return { agent: { fn: _apis.fetchAgentComponent, params: slug && [{ slug: slug }], transform: function transform(result) { return result.agent; } } }; }; var handleSubmit = function handleSubmit(_ref2) { var slug = _ref2.slug; return function (values) { return (slug ? _apis.updateAgentComponent : _apis.createAgentComponent)({ slug: slug, agent: values.toJS() }).then(function (_ref3) { var agent = _ref3.agent, error = _ref3.error; if (error) { throw error.statusCode === 400 && error.message || 'There was an error saving the Agent'; } return agent; }); }; }; var fields = function fields(_ref4) { var slug = _ref4.slug; return function (_ref5) { var agent = _ref5.agent; return (!slug || agent) && [{ name: 'slug', label: 'Agent Slug', type: 'text', required: true, initialValue: (0, _immutable.get)(agent, 'slug') || '' }, { name: 'secret', label: 'Agent Secret', type: 'password', visible: function visible(_ref6) { var values = _ref6.values; return values.get('changeSecret'); }, required: function required(_ref7) { var values = _ref7.values; return values.get('changeSecret'); }, "transient": function transient(_ref8) { var values = _ref8.values; return !values.get('changeSecret'); } }, { name: 'changeSecret', label: 'Change Agent Secret', type: 'checkbox', "transient": true, // in "new" mode we do not show this toggle field and default it to true visible: !!slug, initialValue: !slug, onChange: function onChange(_ref9, _ref10) { var values = _ref9.values; var setValue = _ref10.setValue; if (values.get('secret') !== '') { setValue('secret', ''); } } }, { name: 'url', label: 'Agent Url', type: 'text', required: true, initialValue: (0, _immutable.get)(agent, 'url') || '', helpText: 'URL to the Agent' }]; }; }; var AgentComponentForm = exports.AgentComponentForm = (0, _Form.generateForm)({ formOptions: ['slug'], dataSources: dataSources, fields: fields, handleSubmit: handleSubmit }); AgentComponentForm.displayName = 'AgentComponentForm';