@kineticdata/react
Version:
A React library for the Kinetic Platform
72 lines (71 loc) • 3.08 kB
JavaScript
"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
});
};