kepler.gl.geoiq
Version:
kepler.gl is a webgl based application to visualize large scale location data in the browser
109 lines (83 loc) • 11.4 kB
JavaScript
;
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 _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
var identity = function identity(state) {
return state;
};
var mergeSelectors = function mergeSelectors(parentSelector, childSelector) {
return function (state) {
return childSelector(parentSelector(state));
};
};
var computeSelector = function computeSelector(props, ctx) {
return mergeSelectors(ctx.selector ? ctx.selector : identity, props.selector ? props.selector : identity);
}; // store the parent selector in the parent context
// and return the parent component
// when a selector is passed to a container component,
// it will be stored in the context and passed down to child components,
// as well as prop to the given component
var withLocalSelector = function withLocalSelector(ParentComponent) {
var WithConnectSelector = /*#__PURE__*/function (_Component) {
(0, _inherits2["default"])(WithConnectSelector, _Component);
var _super = _createSuper(WithConnectSelector);
function WithConnectSelector(props, ctx) {
var _this;
(0, _classCallCheck2["default"])(this, WithConnectSelector);
_this = _super.call(this, props, ctx);
_this.selector = computeSelector(props, ctx);
_this.id = props.id;
return _this;
}
(0, _createClass2["default"])(WithConnectSelector, [{
key: "getChildContext",
value: function getChildContext() {
return {
selector: this.selector,
id: this.id
};
}
}, {
key: "componentWillReceiveProps",
value: function componentWillReceiveProps(nextProps, nextContext) {
this.selector = computeSelector(nextProps, nextContext);
this.id = nextProps.id;
}
}, {
key: "render",
value: function render() {
return (/*#__PURE__*/_react["default"].createElement(ParentComponent, (0, _extends2["default"])({}, this.props, {
selector: this.selector
}))
);
}
}]);
return WithConnectSelector;
}(_react.Component);
WithConnectSelector.contextTypes = {
selector: _propTypes["default"].func,
id: _propTypes["default"].string
};
WithConnectSelector.childContextTypes = {
selector: _propTypes["default"].func,
id: _propTypes["default"].string
};
return WithConnectSelector;
};
var _default = exports["default"] = withLocalSelector;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25uZWN0L3dpdGgtbG9jYWwtc2VsZWN0b3IuanMiXSwibmFtZXMiOlsiaWRlbnRpdHkiLCJzdGF0ZSIsIm1lcmdlU2VsZWN0b3JzIiwicGFyZW50U2VsZWN0b3IiLCJjaGlsZFNlbGVjdG9yIiwiY29tcHV0ZVNlbGVjdG9yIiwicHJvcHMiLCJjdHgiLCJzZWxlY3RvciIsIndpdGhMb2NhbFNlbGVjdG9yIiwiUGFyZW50Q29tcG9uZW50IiwiV2l0aENvbm5lY3RTZWxlY3RvciIsImlkIiwibmV4dFByb3BzIiwibmV4dENvbnRleHQiLCJDb21wb25lbnQiLCJjb250ZXh0VHlwZXMiLCJQcm9wVHlwZXMiLCJmdW5jIiwic3RyaW5nIiwiY2hpbGRDb250ZXh0VHlwZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBb0JBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsSUFBTUEsUUFBUSxHQUFHLFNBQVhBLFFBQVcsQ0FBQUMsS0FBSztBQUFBLFNBQUlBLEtBQUo7QUFBQSxDQUF0Qjs7QUFFQSxJQUFNQyxjQUFjLEdBQUcsU0FBakJBLGNBQWlCLENBQUNDLGNBQUQsRUFBaUJDLGFBQWpCO0FBQUEsU0FBbUMsVUFBQUgsS0FBSztBQUFBLFdBQzdERyxhQUFhLENBQUNELGNBQWMsQ0FBQ0YsS0FBRCxDQUFmLENBRGdEO0FBQUEsR0FBeEM7QUFBQSxDQUF2Qjs7QUFHQSxJQUFNSSxlQUFlLEdBQUcsU0FBbEJBLGVBQWtCLENBQUNDLEtBQUQsRUFBUUMsR0FBUjtBQUFBLFNBQ3RCTCxjQUFjLENBQ1pLLEdBQUcsQ0FBQ0MsUUFBSixHQUFlRCxHQUFHLENBQUNDLFFBQW5CLEdBQThCUixRQURsQixFQUVaTSxLQUFLLENBQUNFLFFBQU4sR0FBaUJGLEtBQUssQ0FBQ0UsUUFBdkIsR0FBa0NSLFFBRnRCLENBRFE7QUFBQSxDQUF4QixDLENBTUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsSUFBTVMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixDQUFBQyxlQUFlLEVBQUk7QUFBQSxNQUNyQ0MsbUJBRHFDO0FBQUE7O0FBQUE7O0FBRXpDLGlDQUFZTCxLQUFaLEVBQW1CQyxHQUFuQixFQUF3QjtBQUFBOztBQUFBO0FBQ3RCLGdDQUFNRCxLQUFOLEVBQWFDLEdBQWI7QUFFQSxZQUFLQyxRQUFMLEdBQWdCSCxlQUFlLENBQUNDLEtBQUQsRUFBUUMsR0FBUixDQUEvQjtBQUNBLFlBQUtLLEVBQUwsR0FBVU4sS0FBSyxDQUFDTSxFQUFoQjtBQUpzQjtBQUt2Qjs7QUFQd0M7QUFBQTtBQUFBLGFBU3pDLDJCQUFrQjtBQUNoQixlQUFPO0FBQ0xKLFVBQUFBLFFBQVEsRUFBRSxLQUFLQSxRQURWO0FBRUxJLFVBQUFBLEVBQUUsRUFBRSxLQUFLQTtBQUZKLFNBQVA7QUFJRDtBQWR3QztBQUFBO0FBQUEsYUFnQnpDLG1DQUEwQkMsU0FBMUIsRUFBcUNDLFdBQXJDLEVBQWtEO0FBQ2hELGFBQUtOLFFBQUwsR0FBZ0JILGVBQWUsQ0FBQ1EsU0FBRCxFQUFZQyxXQUFaLENBQS9CO0FBQ0EsYUFBS0YsRUFBTCxHQUFVQyxTQUFTLENBQUNELEVBQXBCO0FBQ0Q7QUFuQndDO0FBQUE7QUFBQSxhQXFCekMsa0JBQVM7QUFDUCw2QkFBTyxnQ0FBQyxlQUFELGdDQUFxQixLQUFLTixLQUExQjtBQUFpQyxZQUFBLFFBQVEsRUFBRSxLQUFLRTtBQUFoRDtBQUFQO0FBQ0Q7QUF2QndDO0FBQUE7QUFBQSxJQUNUTyxnQkFEUzs7QUEwQjNDSixFQUFBQSxtQkFBbUIsQ0FBQ0ssWUFBcEIsR0FBbUM7QUFDakNSLElBQUFBLFFBQVEsRUFBRVMsc0JBQVVDLElBRGE7QUFFakNOLElBQUFBLEVBQUUsRUFBRUssc0JBQVVFO0FBRm1CLEdBQW5DO0FBS0FSLEVBQUFBLG1CQUFtQixDQUFDUyxpQkFBcEIsR0FBd0M7QUFDdENaLElBQUFBLFFBQVEsRUFBRVMsc0JBQVVDLElBRGtCO0FBRXRDTixJQUFBQSxFQUFFLEVBQUVLLHNCQUFVRTtBQUZ3QixHQUF4QztBQUtBLFNBQU9SLG1CQUFQO0FBQ0QsQ0FyQ0Q7O29DQXVDZUYsaUIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgKGMpIDIwMjMgVWJlciBUZWNobm9sb2dpZXMsIEluYy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4vLyBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4vLyBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4vLyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4vLyBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4vL1xuLy8gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbi8vIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuLy9cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1Jcbi8vIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4vLyBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4vLyBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuLy8gVEhFIFNPRlRXQVJFLlxuXG5pbXBvcnQgUmVhY3QsIHtDb21wb25lbnR9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5cbmNvbnN0IGlkZW50aXR5ID0gc3RhdGUgPT4gc3RhdGU7XG5cbmNvbnN0IG1lcmdlU2VsZWN0b3JzID0gKHBhcmVudFNlbGVjdG9yLCBjaGlsZFNlbGVjdG9yKSA9PiBzdGF0ZSA9PlxuICBjaGlsZFNlbGVjdG9yKHBhcmVudFNlbGVjdG9yKHN0YXRlKSk7XG5cbmNvbnN0IGNvbXB1dGVTZWxlY3RvciA9IChwcm9wcywgY3R4KSA9PlxuICBtZXJnZVNlbGVjdG9ycyhcbiAgICBjdHguc2VsZWN0b3IgPyBjdHguc2VsZWN0b3IgOiBpZGVudGl0eSxcbiAgICBwcm9wcy5zZWxlY3RvciA/IHByb3BzLnNlbGVjdG9yIDogaWRlbnRpdHlcbiAgKTtcblxuLy8gc3RvcmUgdGhlIHBhcmVudCBzZWxlY3RvciBpbiB0aGUgcGFyZW50IGNvbnRleHRcbi8vIGFuZCByZXR1cm4gdGhlIHBhcmVudCBjb21wb25lbnRcbi8vIHdoZW4gYSBzZWxlY3RvciBpcyBwYXNzZWQgdG8gYSBjb250YWluZXIgY29tcG9uZW50LFxuLy8gaXQgd2lsbCBiZSBzdG9yZWQgaW4gdGhlIGNvbnRleHQgYW5kIHBhc3NlZCBkb3duIHRvIGNoaWxkIGNvbXBvbmVudHMsXG4vLyBhcyB3ZWxsIGFzIHByb3AgdG8gdGhlIGdpdmVuIGNvbXBvbmVudFxuY29uc3Qgd2l0aExvY2FsU2VsZWN0b3IgPSBQYXJlbnRDb21wb25lbnQgPT4ge1xuICBjbGFzcyBXaXRoQ29ubmVjdFNlbGVjdG9yIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcywgY3R4KSB7XG4gICAgICBzdXBlcihwcm9wcywgY3R4KTtcblxuICAgICAgdGhpcy5zZWxlY3RvciA9IGNvbXB1dGVTZWxlY3Rvcihwcm9wcywgY3R4KTtcbiAgICAgIHRoaXMuaWQgPSBwcm9wcy5pZDtcbiAgICB9XG5cbiAgICBnZXRDaGlsZENvbnRleHQoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzZWxlY3RvcjogdGhpcy5zZWxlY3RvcixcbiAgICAgICAgaWQ6IHRoaXMuaWRcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyhuZXh0UHJvcHMsIG5leHRDb250ZXh0KSB7XG4gICAgICB0aGlzLnNlbGVjdG9yID0gY29tcHV0ZVNlbGVjdG9yKG5leHRQcm9wcywgbmV4dENvbnRleHQpO1xuICAgICAgdGhpcy5pZCA9IG5leHRQcm9wcy5pZDtcbiAgICB9XG5cbiAgICByZW5kZXIoKSB7XG4gICAgICByZXR1cm4gPFBhcmVudENvbXBvbmVudCB7Li4udGhpcy5wcm9wc30gc2VsZWN0b3I9e3RoaXMuc2VsZWN0b3J9IC8+O1xuICAgIH1cbiAgfVxuXG4gIFdpdGhDb25uZWN0U2VsZWN0b3IuY29udGV4dFR5cGVzID0ge1xuICAgIHNlbGVjdG9yOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZ1xuICB9O1xuXG4gIFdpdGhDb25uZWN0U2VsZWN0b3IuY2hpbGRDb250ZXh0VHlwZXMgPSB7XG4gICAgc2VsZWN0b3I6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlkOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH07XG5cbiAgcmV0dXJuIFdpdGhDb25uZWN0U2VsZWN0b3I7XG59O1xuXG5leHBvcnQgZGVmYXVsdCB3aXRoTG9jYWxTZWxlY3RvcjtcbiJdfQ==