UNPKG

@kineticdata/react

Version:
72 lines (71 loc) 3.08 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"]; Object.defineProperty(exports, "__esModule", { value: true }); exports.ConnectionSelect = void 0; var _react = _interopRequireDefault(require("react")); var _Typeahead = require("./Typeahead"); var _apis = require("../../apis"); var _immutable = require("immutable"); var searchConnections = function searchConnections(_ref) { var _ref$search = _ref.search, search = _ref$search === void 0 ? (0, _immutable.Map)() : _ref$search; return function (field, value, callback) { return (0, _apis.fetchConnections)({ type: search.get('type') }).then(function (_ref2) { var connections = _ref2.connections, error = _ref2.error, nextPageToken = _ref2.nextPageToken; return { suggestions: connections || [], error: error, nextPageToken: nextPageToken }; }).then(callback); }; }; var connectionToValue = function connectionToValue(connection) { return connection && connection.get('id') || ''; }; var getStatusProps = function getStatusProps(_ref3) { var _ref3$search = _ref3.search, search = _ref3$search === void 0 ? (0, _immutable.Map)() : _ref3$search, _ref3$messages = _ref3.messages, _ref3$messages2 = _ref3$messages === void 0 ? {} : _ref3$messages, _ref3$messages2$short = _ref3$messages2["short"], _short = _ref3$messages2$short === void 0 ? 'Type to find a connection.' : _ref3$messages2$short, _ref3$messages2$empty = _ref3$messages2.empty, empty = _ref3$messages2$empty === void 0 ? 'No matching connections.' : _ref3$messages2$empty, _ref3$messages2$pendi = _ref3$messages2.pending, pending = _ref3$messages2$pendi === void 0 ? 'Searching...' : _ref3$messages2$pendi, _ref3$messages2$more = _ref3$messages2.more, more = _ref3$messages2$more === void 0 ? "Too many connections, first ".concat(search.get('limit') || 25, " shown. Please refine your search.") : _ref3$messages2$more, _ref3$messages2$error = _ref3$messages2.error, error = _ref3$messages2$error === void 0 ? 'There was an error fetching connections.' : _ref3$messages2$error; return function (props) { return { info: props["short"] ? _short : props.pending ? pending : null, warning: props.error || props.empty || props.more ? props.error ? error : props.more ? more : props.empty ? empty : null : null }; }; }; var ConnectionSelect = exports.ConnectionSelect = function ConnectionSelect(props) { return /*#__PURE__*/_react["default"].createElement(_Typeahead.Typeahead, { components: props.components || {}, disabled: props.disabled, multiple: props.multiple, search: searchConnections(props), minSearchLength: props.minSearchLength, getSuggestionValue: connectionToValue, getStatusProps: getStatusProps(props), value: props.value, onChange: props.onChange, onFocus: props.onFocus, onBlur: props.onBlur, placeholder: props.placeholder, id: props.id, form: props.form }); };