UNPKG

kepler.gl

Version:

kepler.gl is a webgl based application to visualize large scale location data in the browser

78 lines (76 loc) 16 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireWildcard(require("/Users/ihordykhta/Desktop/unfolded/kepler.gl/node_modules/react")); var _styledComponents = require("../../common/styled-components"); var _filterPanelHeader = _interopRequireDefault(require("../../side-panel/filter-panel/filter-panel-header")); var _panelHeaderAction = _interopRequireDefault(require("../../side-panel/panel-header-action")); var _sourceDataSelector = _interopRequireDefault(require("../../side-panel/common/source-data-selector")); var _fieldSelector = _interopRequireDefault(require("../../common/field-selector")); var _newFilterPanel = require("./new-filter-panel"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; } // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project FieldPanelWithFieldSelectFactory.deps = [_filterPanelHeader["default"], _sourceDataSelector["default"], _fieldSelector["default"], _panelHeaderAction["default"]]; function FieldPanelWithFieldSelectFactory(FilterPanelHeader, SourceDataSelector, FieldSelector, PanelHeaderAction) { var FilterPanelWithFieldSelect = _react["default"].memo(function (_ref) { var children = _ref.children, allAvailableFields = _ref.allAvailableFields, datasets = _ref.datasets, filter = _ref.filter, idx = _ref.idx, removeFilter = _ref.removeFilter, setFilter = _ref.setFilter, _ref$panelActions = _ref.panelActions, panelActions = _ref$panelActions === void 0 ? [] : _ref$panelActions; var onFieldSelector = (0, _react.useCallback)(function (field) { return setFilter(idx, 'name', field.name); }, [idx, setFilter]); var onSourceDataSelector = (0, _react.useCallback)(function (value) { return setFilter(idx, 'dataId', value, 0); }, [idx, setFilter]); var fieldValue = (0, _react.useMemo)(function () { return Array.isArray(filter.name) ? filter.name[0] : filter.name; }, [filter.name]); var dataset = datasets[filter.dataId[0]]; var supportedFields = (0, _react.useMemo)(function () { return (0, _newFilterPanel.getSupportedFilterFields)(dataset.supportedFilterTypes, allAvailableFields); }, [dataset.supportedFilterTypes, allAvailableFields]); return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(FilterPanelHeader, { datasets: [dataset], filter: filter, removeFilter: removeFilter }, /*#__PURE__*/_react["default"].createElement(FieldSelector, { inputTheme: "secondary", fields: supportedFields, value: fieldValue, erasable: false, onSelect: onFieldSelector }), panelActions.map(function (panelAction) { return /*#__PURE__*/_react["default"].createElement(PanelHeaderAction, { id: panelAction.id, key: panelAction.id, onClick: panelAction.onClick, tooltip: panelAction.tooltip, IconComponent: panelAction.iconComponent, active: panelAction.active }); })), /*#__PURE__*/_react["default"].createElement(_styledComponents.StyledFilterContent, { className: "filter-panel__content" }, Object.keys(datasets).length > 1 && /*#__PURE__*/_react["default"].createElement(SourceDataSelector, { inputTheme: "secondary", datasets: datasets, dataId: filter.dataId, onSelect: onSourceDataSelector }), children)); }); FilterPanelWithFieldSelect.displayName = 'FilterPanelWithFieldSelect'; return FilterPanelWithFieldSelect; } var _default = exports["default"] = FieldPanelWithFieldSelectFactory; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9maWx0ZXJQYW5lbEhlYWRlciIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfcGFuZWxIZWFkZXJBY3Rpb24iLCJfc291cmNlRGF0YVNlbGVjdG9yIiwiX2ZpZWxkU2VsZWN0b3IiLCJfbmV3RmlsdGVyUGFuZWwiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJGaWVsZFBhbmVsV2l0aEZpZWxkU2VsZWN0RmFjdG9yeSIsImRlcHMiLCJGaWx0ZXJQYW5lbEhlYWRlckZhY3RvcnkiLCJTb3VyY2VEYXRhU2VsZWN0b3JGYWN0b3J5IiwiRmllbGRTZWxlY3RvckZhY3RvcnkiLCJQYW5lbEhlYWRlckFjdGlvbkZhY3RvcnkiLCJGaWx0ZXJQYW5lbEhlYWRlciIsIlNvdXJjZURhdGFTZWxlY3RvciIsIkZpZWxkU2VsZWN0b3IiLCJQYW5lbEhlYWRlckFjdGlvbiIsIkZpbHRlclBhbmVsV2l0aEZpZWxkU2VsZWN0IiwiUmVhY3QiLCJtZW1vIiwiX3JlZiIsImNoaWxkcmVuIiwiYWxsQXZhaWxhYmxlRmllbGRzIiwiZGF0YXNldHMiLCJmaWx0ZXIiLCJpZHgiLCJyZW1vdmVGaWx0ZXIiLCJzZXRGaWx0ZXIiLCJfcmVmJHBhbmVsQWN0aW9ucyIsInBhbmVsQWN0aW9ucyIsIm9uRmllbGRTZWxlY3RvciIsInVzZUNhbGxiYWNrIiwiZmllbGQiLCJuYW1lIiwib25Tb3VyY2VEYXRhU2VsZWN0b3IiLCJ2YWx1ZSIsImZpZWxkVmFsdWUiLCJ1c2VNZW1vIiwiQXJyYXkiLCJpc0FycmF5IiwiZGF0YXNldCIsImRhdGFJZCIsInN1cHBvcnRlZEZpZWxkcyIsImdldFN1cHBvcnRlZEZpbHRlckZpZWxkcyIsInN1cHBvcnRlZEZpbHRlclR5cGVzIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiaW5wdXRUaGVtZSIsImZpZWxkcyIsImVyYXNhYmxlIiwib25TZWxlY3QiLCJtYXAiLCJwYW5lbEFjdGlvbiIsImlkIiwia2V5Iiwib25DbGljayIsInRvb2x0aXAiLCJJY29uQ29tcG9uZW50IiwiaWNvbkNvbXBvbmVudCIsImFjdGl2ZSIsIlN0eWxlZEZpbHRlckNvbnRlbnQiLCJjbGFzc05hbWUiLCJrZXlzIiwibGVuZ3RoIiwiZGlzcGxheU5hbWUiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9zcmMvZmlsdGVycy9maWx0ZXItcGFuZWxzL2ZpbHRlci1wYW5lbC13aXRoLWZpZWxkLXNlbGVjdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IFJlYWN0LCB7dXNlQ2FsbGJhY2ssIHVzZU1lbW99IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7U3R5bGVkRmlsdGVyQ29udGVudH0gZnJvbSAnLi4vLi4vY29tbW9uL3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBGaWx0ZXJQYW5lbEhlYWRlckZhY3RvcnkgZnJvbSAnLi4vLi4vc2lkZS1wYW5lbC9maWx0ZXItcGFuZWwvZmlsdGVyLXBhbmVsLWhlYWRlcic7XG5pbXBvcnQgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5IGZyb20gJy4uLy4uL3NpZGUtcGFuZWwvcGFuZWwtaGVhZGVyLWFjdGlvbic7XG5pbXBvcnQgU291cmNlRGF0YVNlbGVjdG9yRmFjdG9yeSBmcm9tICcuLi8uLi9zaWRlLXBhbmVsL2NvbW1vbi9zb3VyY2UtZGF0YS1zZWxlY3Rvcic7XG5pbXBvcnQgRmllbGRTZWxlY3RvckZhY3RvcnkgZnJvbSAnLi4vLi4vY29tbW9uL2ZpZWxkLXNlbGVjdG9yJztcbmltcG9ydCB7Z2V0U3VwcG9ydGVkRmlsdGVyRmllbGRzfSBmcm9tICcuL25ldy1maWx0ZXItcGFuZWwnO1xuaW1wb3J0IHtGaWx0ZXJQYW5lbFdpdGhGaWVsZFNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge0tlcGxlclRhYmxlfSBmcm9tICdAa2VwbGVyLmdsL3RhYmxlJztcblxuRmllbGRQYW5lbFdpdGhGaWVsZFNlbGVjdEZhY3RvcnkuZGVwcyA9IFtcbiAgRmlsdGVyUGFuZWxIZWFkZXJGYWN0b3J5LFxuICBTb3VyY2VEYXRhU2VsZWN0b3JGYWN0b3J5LFxuICBGaWVsZFNlbGVjdG9yRmFjdG9yeSxcbiAgUGFuZWxIZWFkZXJBY3Rpb25GYWN0b3J5XG5dO1xuXG5mdW5jdGlvbiBGaWVsZFBhbmVsV2l0aEZpZWxkU2VsZWN0RmFjdG9yeShcbiAgRmlsdGVyUGFuZWxIZWFkZXI6IFJldHVyblR5cGU8dHlwZW9mIEZpbHRlclBhbmVsSGVhZGVyRmFjdG9yeT4sXG4gIFNvdXJjZURhdGFTZWxlY3RvcjogUmV0dXJuVHlwZTx0eXBlb2YgU291cmNlRGF0YVNlbGVjdG9yRmFjdG9yeT4sXG4gIEZpZWxkU2VsZWN0b3I6IFJldHVyblR5cGU8dHlwZW9mIEZpZWxkU2VsZWN0b3JGYWN0b3J5PixcbiAgUGFuZWxIZWFkZXJBY3Rpb246IFJldHVyblR5cGU8dHlwZW9mIFBhbmVsSGVhZGVyQWN0aW9uRmFjdG9yeT5cbikge1xuICBjb25zdCBGaWx0ZXJQYW5lbFdpdGhGaWVsZFNlbGVjdDogRmlsdGVyUGFuZWxXaXRoRmllbGRTZWxlY3RDb21wb25lbnQgPSBSZWFjdC5tZW1vKFxuICAgICh7XG4gICAgICBjaGlsZHJlbixcbiAgICAgIGFsbEF2YWlsYWJsZUZpZWxkcyxcbiAgICAgIGRhdGFzZXRzLFxuICAgICAgZmlsdGVyLFxuICAgICAgaWR4LFxuICAgICAgcmVtb3ZlRmlsdGVyLFxuICAgICAgc2V0RmlsdGVyLFxuICAgICAgcGFuZWxBY3Rpb25zID0gW11cbiAgICB9KSA9PiB7XG4gICAgICBjb25zdCBvbkZpZWxkU2VsZWN0b3IgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgZmllbGQgPT4gc2V0RmlsdGVyKGlkeCwgJ25hbWUnLCBmaWVsZC5uYW1lKSxcbiAgICAgICAgW2lkeCwgc2V0RmlsdGVyXVxuICAgICAgKTtcblxuICAgICAgY29uc3Qgb25Tb3VyY2VEYXRhU2VsZWN0b3IgPSB1c2VDYWxsYmFjayhcbiAgICAgICAgdmFsdWUgPT4gc2V0RmlsdGVyKGlkeCwgJ2RhdGFJZCcsIHZhbHVlLCAwKSxcbiAgICAgICAgW2lkeCwgc2V0RmlsdGVyXVxuICAgICAgKTtcblxuICAgICAgY29uc3QgZmllbGRWYWx1ZSA9IHVzZU1lbW8oXG4gICAgICAgICgpID0+IChBcnJheS5pc0FycmF5KGZpbHRlci5uYW1lKSA/IGZpbHRlci5uYW1lWzBdIDogZmlsdGVyLm5hbWUpLFxuICAgICAgICBbZmlsdGVyLm5hbWVdXG4gICAgICApO1xuXG4gICAgICBjb25zdCBkYXRhc2V0OiBLZXBsZXJUYWJsZSA9IGRhdGFzZXRzW2ZpbHRlci5kYXRhSWRbMF1dO1xuICAgICAgY29uc3Qgc3VwcG9ydGVkRmllbGRzID0gdXNlTWVtbyhcbiAgICAgICAgKCkgPT4gZ2V0U3VwcG9ydGVkRmlsdGVyRmllbGRzKGRhdGFzZXQuc3VwcG9ydGVkRmlsdGVyVHlwZXMsIGFsbEF2YWlsYWJsZUZpZWxkcyksXG4gICAgICAgIFtkYXRhc2V0LnN1cHBvcnRlZEZpbHRlclR5cGVzLCBhbGxBdmFpbGFibGVGaWVsZHNdXG4gICAgICApO1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPD5cbiAgICAgICAgICA8RmlsdGVyUGFuZWxIZWFkZXIgZGF0YXNldHM9e1tkYXRhc2V0XX0gZmlsdGVyPXtmaWx0ZXJ9IHJlbW92ZUZpbHRlcj17cmVtb3ZlRmlsdGVyfT5cbiAgICAgICAgICAgIDxGaWVsZFNlbGVjdG9yXG4gICAgICAgICAgICAgIGlucHV0VGhlbWU9XCJzZWNvbmRhcnlcIlxuICAgICAgICAgICAgICBmaWVsZHM9e3N1cHBvcnRlZEZpZWxkc31cbiAgICAgICAgICAgICAgdmFsdWU9e2ZpZWxkVmFsdWV9XG4gICAgICAgICAgICAgIGVyYXNhYmxlPXtmYWxzZX1cbiAgICAgICAgICAgICAgb25TZWxlY3Q9e29uRmllbGRTZWxlY3Rvcn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7cGFuZWxBY3Rpb25zLm1hcChwYW5lbEFjdGlvbiA9PiAoXG4gICAgICAgICAgICAgIDxQYW5lbEhlYWRlckFjdGlvblxuICAgICAgICAgICAgICAgIGlkPXtwYW5lbEFjdGlvbi5pZH1cbiAgICAgICAgICAgICAgICBrZXk9e3BhbmVsQWN0aW9uLmlkfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3BhbmVsQWN0aW9uLm9uQ2xpY2t9XG4gICAgICAgICAgICAgICAgdG9vbHRpcD17cGFuZWxBY3Rpb24udG9vbHRpcH1cbiAgICAgICAgICAgICAgICBJY29uQ29tcG9uZW50PXtwYW5lbEFjdGlvbi5pY29uQ29tcG9uZW50fVxuICAgICAgICAgICAgICAgIGFjdGl2ZT17cGFuZWxBY3Rpb24uYWN0aXZlfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKSl9XG4gICAgICAgICAgPC9GaWx0ZXJQYW5lbEhlYWRlcj5cbiAgICAgICAgICA8U3R5bGVkRmlsdGVyQ29udGVudCBjbGFzc05hbWU9XCJmaWx0ZXItcGFuZWxfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIHtPYmplY3Qua2V5cyhkYXRhc2V0cykubGVuZ3RoID4gMSAmJiAoXG4gICAgICAgICAgICAgIDxTb3VyY2VEYXRhU2VsZWN0b3JcbiAgICAgICAgICAgICAgICBpbnB1dFRoZW1lPVwic2Vjb25kYXJ5XCJcbiAgICAgICAgICAgICAgICBkYXRhc2V0cz17ZGF0YXNldHN9XG4gICAgICAgICAgICAgICAgZGF0YUlkPXtmaWx0ZXIuZGF0YUlkfVxuICAgICAgICAgICAgICAgIG9uU2VsZWN0PXtvblNvdXJjZURhdGFTZWxlY3Rvcn1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgPC9TdHlsZWRGaWx0ZXJDb250ZW50PlxuICAgICAgICA8Lz5cbiAgICAgICk7XG4gICAgfVxuICApO1xuXG4gIEZpbHRlclBhbmVsV2l0aEZpZWxkU2VsZWN0LmRpc3BsYXlOYW1lID0gJ0ZpbHRlclBhbmVsV2l0aEZpZWxkU2VsZWN0JztcblxuICByZXR1cm4gRmlsdGVyUGFuZWxXaXRoRmllbGRTZWxlY3Q7XG59XG5cbmV4cG9ydCBkZWZhdWx0IEZpZWxkUGFuZWxXaXRoRmllbGRTZWxlY3RGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGlCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxrQkFBQSxHQUFBQyxzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksa0JBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFLLG1CQUFBLEdBQUFGLHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTSxjQUFBLEdBQUFILHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBTyxlQUFBLEdBQUFQLE9BQUE7QUFBNEQsU0FBQVEseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLENBQUEsV0FBQUEsQ0FBQSxHQUFBRyxDQUFBLEdBQUFELENBQUEsS0FBQUYsQ0FBQTtBQUFBLFNBQUFWLHdCQUFBVSxDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FB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