UNPKG

kepler.gl

Version:

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

82 lines (81 loc) 15.7 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 _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray")); var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral")); var _react = _interopRequireWildcard(require("react")); var _reactJsonPretty = _interopRequireDefault(require("react-json-pretty")); var _constants = require("@kepler.gl/constants"); var _styledComponents = _interopRequireDefault(require("styled-components")); var _styledComponents2 = require("../../common/styled-components"); var _components = require("./components"); var _localization = require("@kepler.gl/localization"); var _reactCopyToClipboard = require("react-copy-to-clipboard"); var _templateObject; // SPDX-License-Identifier: MIT // Copyright contributors to the kepler.gl project 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; } var StyledJsonExportSection = (0, _styledComponents["default"])(_styledComponents2.StyledExportSection)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n .note {\n color: ", ";\n font-size: 11px;\n }\n\n .viewer {\n position: relative;\n border: 1px solid ", ";\n background-color: white;\n border-radius: 2px;\n display: inline-block;\n font: inherit;\n line-height: 1.5em;\n padding: 0.5em 3.5em 0.5em 1em;\n margin: 0;\n box-sizing: border-box;\n height: 180px;\n width: 100%;\n overflow-y: scroll;\n overflow-x: auto;\n white-space: pre-wrap;\n word-wrap: break-word;\n max-width: 600px;\n }\n\n .copy-button {\n margin: 1em 1em 0 0;\n position: absolute;\n top: 0;\n right: 0;\n }\n"])), function (props) { return props.theme.errorColor; }, function (props) { return props.theme.selectBorderColorLT; }); var ExportJsonMapUnmemoized = function ExportJsonMapUnmemoized(_ref) { var _ref$config = _ref.config, config = _ref$config === void 0 ? {} : _ref$config; var _useState = (0, _react.useState)(false), _useState2 = (0, _slicedToArray2["default"])(_useState, 2), copied = _useState2[0], setCopy = _useState2[1]; return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_components.StyledExportMapSection, null, /*#__PURE__*/_react["default"].createElement("div", { className: "description" }), /*#__PURE__*/_react["default"].createElement("div", { className: "selection" }, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, { id: 'modal.exportMap.json.selection' }))), /*#__PURE__*/_react["default"].createElement(StyledJsonExportSection, { className: "export-map-modal__json-options" }, /*#__PURE__*/_react["default"].createElement("div", { className: "description" }, /*#__PURE__*/_react["default"].createElement("div", { className: "title" }, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, { id: 'modal.exportMap.json.configTitle' })), /*#__PURE__*/_react["default"].createElement("div", { className: "subtitle" }, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, { id: 'modal.exportMap.json.configDisclaimer' }), /*#__PURE__*/_react["default"].createElement(_components.ExportMapLink, { href: _constants.ADD_DATA_TO_MAP_DOC }, "addDataToMap"), ".")), /*#__PURE__*/_react["default"].createElement("div", { className: "selection" }, /*#__PURE__*/_react["default"].createElement("div", { className: "viewer" }, /*#__PURE__*/_react["default"].createElement(_reactJsonPretty["default"], { id: "json-pretty", json: config }), /*#__PURE__*/_react["default"].createElement(_reactCopyToClipboard.CopyToClipboard, { text: JSON.stringify(config), onCopy: function onCopy() { return setCopy(true); } }, /*#__PURE__*/_react["default"].createElement(_styledComponents2.Button, { width: "80px", className: "copy-button" }, copied ? 'Copied!' : 'Copy'))), /*#__PURE__*/_react["default"].createElement("div", { className: "disclaimer" }, /*#__PURE__*/_react["default"].createElement(_components.StyledWarning, null, /*#__PURE__*/_react["default"].createElement(_localization.FormattedMessage, { id: 'modal.exportMap.json.disclaimer' })))))); }; ExportJsonMapUnmemoized.displayName = 'ExportJsonMap'; var ExportJsonMap = /*#__PURE__*/_react["default"].memo(ExportJsonMapUnmemoized); var ExportJsonMapFactory = function ExportJsonMapFactory() { return ExportJsonMap; }; var _default = exports["default"] = ExportJsonMapFactory; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3RKc29uUHJldHR5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9jb25zdGFudHMiLCJfc3R5bGVkQ29tcG9uZW50cyIsIl9zdHlsZWRDb21wb25lbnRzMiIsIl9jb21wb25lbnRzIiwiX2xvY2FsaXphdGlvbiIsIl9yZWFjdENvcHlUb0NsaXBib2FyZCIsIl90ZW1wbGF0ZU9iamVjdCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsIlN0eWxlZEpzb25FeHBvcnRTZWN0aW9uIiwic3R5bGVkIiwiU3R5bGVkRXhwb3J0U2VjdGlvbiIsIl90YWdnZWRUZW1wbGF0ZUxpdGVyYWwyIiwicHJvcHMiLCJ0aGVtZSIsImVycm9yQ29sb3IiLCJzZWxlY3RCb3JkZXJDb2xvckxUIiwiRXhwb3J0SnNvbk1hcFVubWVtb2l6ZWQiLCJfcmVmIiwiX3JlZiRjb25maWciLCJjb25maWciLCJfdXNlU3RhdGUiLCJ1c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheTIiLCJjb3BpZWQiLCJzZXRDb3B5IiwiY3JlYXRlRWxlbWVudCIsIlN0eWxlZEV4cG9ydE1hcFNlY3Rpb24iLCJjbGFzc05hbWUiLCJGb3JtYXR0ZWRNZXNzYWdlIiwiaWQiLCJFeHBvcnRNYXBMaW5rIiwiaHJlZiIsIkFERF9EQVRBX1RPX01BUF9ET0MiLCJqc29uIiwiQ29weVRvQ2xpcGJvYXJkIiwidGV4dCIsIkpTT04iLCJzdHJpbmdpZnkiLCJvbkNvcHkiLCJCdXR0b24iLCJ3aWR0aCIsIlN0eWxlZFdhcm5pbmciLCJkaXNwbGF5TmFtZSIsIkV4cG9ydEpzb25NYXAiLCJSZWFjdCIsIm1lbW8iLCJFeHBvcnRKc29uTWFwRmFjdG9yeSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tb2RhbHMvZXhwb3J0LW1hcC1tb2RhbC9leHBvcnQtanNvbi1tYXAudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCwge3VzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgSlNPTlByZXR0eSBmcm9tICdyZWFjdC1qc29uLXByZXR0eSc7XG5pbXBvcnQge0FERF9EQVRBX1RPX01BUF9ET0N9IGZyb20gJ0BrZXBsZXIuZ2wvY29uc3RhbnRzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnO1xuaW1wb3J0IHtTdHlsZWRFeHBvcnRTZWN0aW9uLCBCdXR0b259IGZyb20gJy4uLy4uL2NvbW1vbi9zdHlsZWQtY29tcG9uZW50cyc7XG5pbXBvcnQge1N0eWxlZEV4cG9ydE1hcFNlY3Rpb24sIFN0eWxlZFdhcm5pbmcsIEV4cG9ydE1hcExpbmt9IGZyb20gJy4vY29tcG9uZW50cyc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbmltcG9ydCB7Q29weVRvQ2xpcGJvYXJkfSBmcm9tICdyZWFjdC1jb3B5LXRvLWNsaXBib2FyZCc7XG5cbmNvbnN0IFN0eWxlZEpzb25FeHBvcnRTZWN0aW9uID0gc3R5bGVkKFN0eWxlZEV4cG9ydFNlY3Rpb24pYFxuICAubm90ZSB7XG4gICAgY29sb3I6ICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuZXJyb3JDb2xvcn07XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICB9XG5cbiAgLnZpZXdlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR7cHJvcHMgPT4gcHJvcHMudGhlbWUuc2VsZWN0Qm9yZGVyQ29sb3JMVH07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcbiAgICBwYWRkaW5nOiAwLjVlbSAzLjVlbSAwLjVlbSAxZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiAxODBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gIH1cblxuICAuY29weS1idXR0b24ge1xuICAgIG1hcmdpbjogMWVtIDFlbSAwIDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgfVxuYDtcblxudHlwZSBFeHBvcnRKc29uUHJvcFR5cGVzID0ge1xuICBjb25maWc6IGFueTtcbn07XG5cbmNvbnN0IEV4cG9ydEpzb25NYXBVbm1lbW9pemVkID0gKHtjb25maWcgPSB7fX06IEV4cG9ydEpzb25Qcm9wVHlwZXMpID0+IHtcbiAgY29uc3QgW2NvcGllZCwgc2V0Q29weV0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxTdHlsZWRFeHBvcnRNYXBTZWN0aW9uPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2NyaXB0aW9uXCIgLz5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZWxlY3Rpb25cIj5cbiAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmV4cG9ydE1hcC5qc29uLnNlbGVjdGlvbid9IC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9TdHlsZWRFeHBvcnRNYXBTZWN0aW9uPlxuICAgICAgPFN0eWxlZEpzb25FeHBvcnRTZWN0aW9uIGNsYXNzTmFtZT1cImV4cG9ydC1tYXAtbW9kYWxfX2pzb24tb3B0aW9uc1wiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRlc2NyaXB0aW9uXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5leHBvcnRNYXAuanNvbi5jb25maWdUaXRsZSd9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzdWJ0aXRsZVwiPlxuICAgICAgICAgICAgPEZvcm1hdHRlZE1lc3NhZ2UgaWQ9eydtb2RhbC5leHBvcnRNYXAuanNvbi5jb25maWdEaXNjbGFpbWVyJ30gLz5cbiAgICAgICAgICAgIDxFeHBvcnRNYXBMaW5rIGhyZWY9e0FERF9EQVRBX1RPX01BUF9ET0N9PmFkZERhdGFUb01hcDwvRXhwb3J0TWFwTGluaz4uXG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNlbGVjdGlvblwiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidmlld2VyXCI+XG4gICAgICAgICAgICA8SlNPTlByZXR0eSBpZD1cImpzb24tcHJldHR5XCIganNvbj17Y29uZmlnfSAvPlxuICAgICAgICAgICAgPENvcHlUb0NsaXBib2FyZCB0ZXh0PXtKU09OLnN0cmluZ2lmeShjb25maWcpfSBvbkNvcHk9eygpID0+IHNldENvcHkodHJ1ZSl9PlxuICAgICAgICAgICAgICA8QnV0dG9uIHdpZHRoPVwiODBweFwiIGNsYXNzTmFtZT1cImNvcHktYnV0dG9uXCI+XG4gICAgICAgICAgICAgICAge2NvcGllZCA/ICdDb3BpZWQhJyA6ICdDb3B5J31cbiAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8L0NvcHlUb0NsaXBib2FyZD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRpc2NsYWltZXJcIj5cbiAgICAgICAgICAgIDxTdHlsZWRXYXJuaW5nPlxuICAgICAgICAgICAgICA8Rm9ybWF0dGVkTWVzc2FnZSBpZD17J21vZGFsLmV4cG9ydE1hcC5qc29uLmRpc2NsYWltZXInfSAvPlxuICAgICAgICAgICAgPC9TdHlsZWRXYXJuaW5nPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvU3R5bGVkSnNvbkV4cG9ydFNlY3Rpb24+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5FeHBvcnRKc29uTWFwVW5tZW1vaXplZC5kaXNwbGF5TmFtZSA9ICdFeHBvcnRKc29uTWFwJztcblxuY29uc3QgRXhwb3J0SnNvbk1hcCA9IFJlYWN0Lm1lbW8oRXhwb3J0SnNvbk1hcFVubWVtb2l6ZWQpO1xuXG5jb25zdCBFeHBvcnRKc29uTWFwRmFjdG9yeSA9ICgpID0+IEV4cG9ydEpzb25NYXA7XG5cbmV4cG9ydCBkZWZhdWx0IEV4cG9ydEpzb25NYXBGYWN0b3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBR0EsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsZ0JBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFVBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLGlCQUFBLEdBQUFGLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBSyxrQkFBQSxHQUFBTCxPQUFBO0FBQ0EsSUFBQU0sV0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sYUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEscUJBQUEsR0FBQVIsT0FBQTtBQUF3RCxJQUFBUyxlQUFBLEVBVnhE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