UNPKG

kepler.gl.geoiq

Version:

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

97 lines (85 loc) 13.4 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _react = _interopRequireDefault(require("react")); var _styledComponents = require("../../common/styled-components"); var _singleSelectFilter = _interopRequireDefault(require("../single-select-filter")); var _filterPanelHeader = _interopRequireDefault(require("../../side-panel/filter-panel/filter-panel-header")); var _fieldSelector = _interopRequireDefault(require("../../common/field-selector")); var _sourceDataSelector = _interopRequireDefault(require("../../side-panel/common/source-data-selector")); // Copyright (c) 2023 Uber Technologies, Inc. // // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // // The above copyright notice and this permission notice shall be included in // all copies or substantial portions of the Software. // // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. SingleSelectFilterPanelFactory.deps = [_filterPanelHeader["default"], _singleSelectFilter["default"], _sourceDataSelector["default"]]; function SingleSelectFilterPanelFactory(FilterPanelHeader, SingleSelectFilter, SourceDataSelector) { var SingleSelectFilterPanel = _react["default"].memo(function (_ref) { var idx = _ref.idx, datasets = _ref.datasets, allAvailableFields = _ref.allAvailableFields, filter = _ref.filter, isAnyFilterAnimating = _ref.isAnyFilterAnimating, enlargeFilter = _ref.enlargeFilter, _setFilter = _ref.setFilter, removeFilter = _ref.removeFilter, toggleAnimation = _ref.toggleAnimation; return (/*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(FilterPanelHeader, { datasets: [datasets[filter.dataId[0]]], allAvailableFields: datasets[dataId].fields, idx: idx, filter: filter, removeFilter: removeFilter }, /*#__PURE__*/_react["default"].createElement(_fieldSelector["default"], { inputTheme: "secondary", fields: allAvailableFields, value: Array.isArray(filter.name) ? filter.name[0] : filter.name, erasable: false, onSelect: function onSelect(value) { return filterApi(idx, value, dataId, datasets, auth, project, setFilterAPI); } })), /*#__PURE__*/_react["default"].createElement(_styledComponents.StyledFilterContent, { className: "filter-panel__content" }, Object.keys(datasets).length > 1 && /*#__PURE__*/_react["default"].createElement(SourceDataSelector, { inputTheme: "secondary", datasets: datasets, disabled: filter.freeze, dataId: filter.dataId, onSelect: function onSelect(value) { return _setFilter(idx, 'dataId', value); } }), filter.type && !filter.enlarged && /*#__PURE__*/_react["default"].createElement("div", { className: "filter-panel__filter" }, /*#__PURE__*/_react["default"].createElement(SingleSelectFilter, { filter: filter, idx: idx, isAnyFilterAnimating: isAnyFilterAnimating, toggleAnimation: toggleAnimation, setFilter: function setFilter(value) { return _setFilter(idx, 'value', value, 0, mapState, auth, project); } })))) ); }); SingleSelectFilterPanel.displayName = 'SingleSelectFilterPanel'; return SingleSelectFilterPanel; } var _default = exports["default"] = SingleSelectFilterPanelFactory; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2ZpbHRlcnMvZmlsdGVyLXBhbmVscy9zaW5nbGUtc2VsZWN0LWZpbHRlci1wYW5lbC5qcyJdLCJuYW1lcyI6WyJTaW5nbGVTZWxlY3RGaWx0ZXJQYW5lbEZhY3RvcnkiLCJkZXBzIiwiRmlsdGVyUGFuZWxIZWFkZXJGYWN0b3J5IiwiU2luZ2xlU2VsZWN0RmlsdGVyRmFjdG9yeSIsIlNvdXJjZURhdGFTZWxlY3RvckZhY3RvcnkiLCJGaWx0ZXJQYW5lbEhlYWRlciIsIlNpbmdsZVNlbGVjdEZpbHRlciIsIlNvdXJjZURhdGFTZWxlY3RvciIsIlNpbmdsZVNlbGVjdEZpbHRlclBhbmVsIiwiUmVhY3QiLCJtZW1vIiwiaWR4IiwiZGF0YXNldHMiLCJhbGxBdmFpbGFibGVGaWVsZHMiLCJmaWx0ZXIiLCJpc0FueUZpbHRlckFuaW1hdGluZyIsImVubGFyZ2VGaWx0ZXIiLCJzZXRGaWx0ZXIiLCJyZW1vdmVGaWx0ZXIiLCJ0b2dnbGVBbmltYXRpb24iLCJkYXRhSWQiLCJmaWVsZHMiLCJBcnJheSIsImlzQXJyYXkiLCJuYW1lIiwidmFsdWUiLCJmaWx0ZXJBcGkiLCJhdXRoIiwicHJvamVjdCIsInNldEZpbHRlckFQSSIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJmcmVlemUiLCJ0eXBlIiwiZW5sYXJnZWQiLCJtYXBTdGF0ZSIsImRpc3BsYXlOYW1lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFvQkE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBekJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBU0FBLDhCQUE4QixDQUFDQyxJQUEvQixHQUFzQyxDQUNwQ0MsNkJBRG9DLEVBRXBDQyw4QkFGb0MsRUFHcENDLDhCQUhvQyxDQUF0Qzs7QUFNQSxTQUFTSiw4QkFBVCxDQUNF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b3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHtTdHlsZWRGaWx0ZXJDb250ZW50fSBmcm9tICdjb21wb25lbnRzL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQgU2luZ2xlU2VsZWN0RmlsdGVyRmFjdG9yeSBmcm9tICdjb21wb25lbnRzL2ZpbHRlcnMvc2luZ2xlLXNlbGVjdC1maWx0ZXInO1xuaW1wb3J0IEZpbHRlclBhbmVsSGVhZGVyRmFjdG9yeSBmcm9tICdjb21wb25lbnRzL3NpZGUtcGFuZWwvZmlsdGVyLXBhbmVsL2ZpbHRlci1wYW5lbC1oZWFkZXInO1xuaW1wb3J0IEZpZWxkU2VsZWN0b3IgZnJvbSAnY29tcG9uZW50cy9jb21tb24vZmllbGQtc2VsZWN0b3InO1xuaW1wb3J0IFNvdXJjZURhdGFTZWxlY3RvckZhY3RvcnkgZnJvbSAnY29tcG9uZW50cy9zaWRlLXBhbmVsL2NvbW1vbi9zb3VyY2UtZGF0YS1zZWxlY3Rvcic7XG5cblNpbmdsZVNlbGVjdEZpbHRlclBhbmVsRmFjdG9yeS5kZXBzID0gW1xuICBGaWx0ZXJQYW5lbEhlYWRlckZhY3RvcnksXG4gIFNpbmdsZVNlbGVjdEZpbHRlckZhY3RvcnksXG4gIFNvdXJjZURhdGFTZWxlY3RvckZhY3Rvcnlcbl07XG5cbmZ1bmN0aW9uIFNpbmdsZVNlbGVjdEZpbHRlclBhbmVsRmFjdG9yeShcbiAgRmlsdGVyUGFuZWxIZWFkZXIsXG4gIFNpbmdsZVNlbGVjdEZpbHRlcixcbiAgU291cmNlRGF0YVNlbGVjdG9yXG4pIHtcbiAgY29uc3QgU2luZ2xlU2VsZWN0RmlsdGVyUGFuZWwgPSBSZWFjdC5tZW1vKFxuICAgICh7XG4gICAgICBpZHgsXG4gICAgICBkYXRhc2V0cyxcbiAgICAgIGFsbEF2YWlsYWJsZUZpZWxkcyxcbiAgICAgIGZpbHRlcixcbiAgICAgIGlzQW55RmlsdGVyQW5pbWF0aW5nLFxuICAgICAgZW5sYXJnZUZpbHRlcixcbiAgICAgIHNldEZpbHRlcixcbiAgICAgIHJlbW92ZUZpbHRlcixcbiAgICAgIHRvZ2dsZUFuaW1hdGlvblxuICAgIH0pID0+IChcbiAgICAgIDw+XG4gICAgICAgIDxGaWx0ZXJQYW5lbEhlYWRlclxuICAgICAgICAgIGRhdGFzZXRzPXtbZGF0YXNldHNbZmlsdGVyLmRhdGFJZFswXV1dfVxuICAgICAgICAgIGFsbEF2YWlsYWJsZUZpZWxkcz17ZGF0YXNldHNbZGF0YUlkXS5maWVsZHN9XG4gICAgICAgICAgaWR4PXtpZHh9XG4gICAgICAgICAgZmlsdGVyPXtmaWx0ZXJ9XG4gICAgICAgICAgcmVtb3ZlRmlsdGVyPXtyZW1vdmVGaWx0ZXJ9XG4gICAgICAgID5cbiAgICAgICAgICA8RmllbGRTZWxlY3RvclxuICAgICAgICAgICAgaW5wdXRUaGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICBmaWVsZHM9e2FsbEF2YWlsYWJsZUZpZWxkc31cbiAgICAgICAgICAgIHZhbHVlPXtBcnJheS5pc0FycmF5KGZpbHRlci5uYW1lKSA/IGZpbHRlci5uYW1lWzBdIDogZmlsdGVyLm5hbWV9XG4gICAgICAgICAgICBlcmFzYWJsZT17ZmFsc2V9XG4gICAgICAgICAgICBvblNlbGVjdD17dmFsdWUgPT5cbiAgICAgICAgICAgICAgZmlsdGVyQXBpKFxuICAgICAgICAgICAgICAgIGlkeCxcbiAgICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgICBkYXRhSWQsXG4gICAgICAgICAgICAgICAgZGF0YXNldHMsXG4gICAgICAgICAgICAgICAgYXV0aCxcbiAgICAgICAgICAgICAgICBwcm9qZWN0LFxuICAgICAgICAgICAgICAgIHNldEZpbHRlckFQSVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9GaWx0ZXJQYW5lbEhlYWRlcj5cbiAgICAgICAgPFN0eWxlZEZpbHRlckNvbnRlbnQgY2xhc3NOYW1lPVwiZmlsdGVyLXBhbmVsX19jb250ZW50XCI+XG4gICAgICAgICAge09iamVjdC5rZXlzKGRhdGFzZXRzKS5sZW5ndGggPiAxICYmIChcbiAgICAgICAgICAgIDxTb3VyY2VEYXRhU2VsZWN0b3JcbiAgICAgICAgICAgICAgaW5wdXRUaGVtZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIGRhdGFzZXRzPXtkYXRhc2V0c31cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpbHRlci5mcmVlemV9XG4gICAgICAgICAgICAgIGRhdGFJZD17ZmlsdGVyLmRhdGFJZH1cbiAgICAgICAgICAgICAgb25TZWxlY3Q9e3ZhbHVlID0+IHNldEZpbHRlcihpZHgsICdkYXRhSWQnLCB2YWx1ZSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge2ZpbHRlci50eXBlICYmICFmaWx0ZXIuZW5sYXJnZWQgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmaWx0ZXItcGFuZWxfX2ZpbHRlclwiPlxuICAgICAgICAgICAgICA8U2luZ2xlU2VsZWN0RmlsdGVyXG4gICAgICAgICAgICAgICAgZmlsdGVyPXtmaWx0ZXJ9XG4gICAgICAgICAgICAgICAgaWR4PXtpZHh9XG4gICAgICAgICAgICAgICAgaXNBbnlGaWx0ZXJBbmltYXRpbmc9e2lzQW55RmlsdGVyQW5pbWF0aW5nfVxuICAgICAgICAgICAgICAgIHRvZ2dsZUFuaW1hdGlvbj17dG9nZ2xlQW5pbWF0aW9ufVxuICAgICAgICAgICAgICAgIHNldEZpbHRlcj17dmFsdWUgPT5cbiAgICAgICAgICAgICAgICAgIHNldEZpbHRlcihpZHgsICd2YWx1ZScsIHZhbHVlLCAwLCBtYXBTdGF0ZSwgYXV0aCwgcHJvamVjdClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L1N0eWxlZEZpbHRlckNvbnRlbnQ+XG4gICAgICA8Lz5cbiAgICApXG4gICk7XG5cbiAgU2luZ2xlU2VsZWN0RmlsdGVyUGFuZWwuZGlzcGxheU5hbWUgPSAnU2luZ2xlU2VsZWN0RmlsdGVyUGFuZWwnO1xuXG4gIHJldHVybiBTaW5nbGVTZWxlY3RGaWx0ZXJQYW5lbDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgU2luZ2xlU2VsZWN0RmlsdGVyUGFuZWxGYWN0b3J5O1xuIl19