PageSourceSearch

https://asce7tsunami.online/app/js/components/Map.js?0.1.40

js asce7tsunami.online collected 2026-10-04 13:25:34 UTC 9,926 bytes, 221 lines download raw bytes

1define(['exports', 'react', 'esri/dijit/Measurement', 'clipboard', 'actions/MapActions', 'stores/MapStore', 'js/config/config', 'js/components/Modals/Modal'], function (exports, _react, _esriDijitMeasurement, _clipboard, _actionsMapActions, _storesMapStore, _jsConfigConfig, _jsComponentsModalsModal) {
2  'use strict';
3
4  Object.defineProperty(exports, '__esModule', {
5    value: true
6  });
7
8  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
9
10  var _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ('value' in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();
11
12  var _get = function get(_x, _x2, _x3) { var _again = true; _function: while (_again) { var object = _x, property = _x2, receiver = _x3; _again = false; if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { _x = parent; _x2 = property; _x3 = receiver; _again = true; desc = parent = undefined; continue _function; } } else if ('value' in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } } };
13
14  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
15
16  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError('Cannot call a class as a function'); } }
17
18  function _inherits(subClass, superClass) { if (typeof superClass !== 'function' && superClass !== null) { throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
19
20  var _React = _interopRequireDefault(_react);
21
22  var _Measurement = _interopRequireDefault(_esriDijitMeasurement);
23
24  var _Clipboard = _interopRequireDefault(_clipboard);
25
26  var _config = _interopRequireDefault(_jsConfigConfig);
27
28  var _Modal = _interopRequireDefault(_jsComponentsModalsModal);
29
30  var Map = (function (_Component) {
31    _inherits(Map, _Component);
32
33    function Map(props) {
34      _classCallCheck(this, Map);
35
36      _get(Object.getPrototypeOf(Map.prototype), 'constructor', this).call(this, props);
37      this.state = _extends({}, _storesMapStore.mapStore.getState(), {
38        showLink: false,
39        measurementInstructions: '',
40        measurementTool: {}
41      });
42
43      _storesMapStore.mapStore.listen(this.onChange.bind(this));
44    }
45
46    _createClass(Map, [{
47      key: 'onChange',
48      value: function onChange() {
49        this.setState(_extends({}, _storesMapStore.mapStore.getState(), {
50          showLink: false
51        }));
52      }
53    }, {
54      key: 'componentDidUpdate',
55      value: function componentDidUpdate() {
56        if (!this.state.showMeasureTool && typeof this.measurementTool.setTool !== 'undefined') {
57          this.measurementTool.setTool('area', false);
58          this.measurementTool.setTool('distance', false);
59          this.measurementTool.setTool('location', false);
60          if (this.measurementTool.result !== null) {
61            this.measurementTool.clearResult();
62          }
63        }
64      }
65    }, {
66      key: 'componentDidMount',
67      value: function componentDidMount() {
68        var _this = this;
69
70        _actionsMapActions.mapActions.createMap();
71        _actionsMapActions.mapActions.mapContainerLoaded();
72
73        new _Clipboard['default']('.btn');
74
75        var measurement = new _Measurement['default']({
76          map: _storesMapStore.mapStore.getState().map
77        }, 'measurementDiv');
78
79        measurement.on('tool-change', function (args) {
80          switch (args.toolName) {
81            case 'area':
82              _this.setState({ measurementInstructions: _config['default'].strings.measureArea });
83              break;
84            case 'distance':
85              _this.setState({ measurementInstructions: _config['default'].strings.measureDistance });
86              break;
87            default:
88              _this.setState({ measurementInstructions: '' });
89              break;
90          }
91        });
92
93        measurement.startup();
94
95        this.measurementTool = measurement;
96      }
97    }, {
98      key: 'openLinkShare',
99      value: function openLinkShare() {
100        this.setState({ showLink: true });
101      }
102    }, {
103      key: 'closeMeasure',
104      value: function closeMeasure() {
105        _actionsMapActions.mapActions.closeMeasure();
106      }
107    }, {
108      key: 'closeBasemap',
109      value: function closeBasemap() {
110        _actionsMapActions.mapActions.closeBasemap();
111      }
112    }, {
113      key: 'toggleLegend',
114      value: function toggleLegend() {
115        _actionsMapActions.mapActions.toggleLegend();
116      }
117    }, {
118      key: 'render',
119      value: function render() {
120        return _React['default'].createElement(
121          'div',
122          { id: 'mapContainer', className: 'map-container fill' },
123          _React['default'].createElement(_Modal['default'], { config: this.state.modal }),
124          _React['default'].createElement(
125            'div',
126            { id: 'map', className: 'map fill' },
127            _React['default'].createElement(
128              'div',
129              { className: 'basemap-container ' + (this.state.showBasemapGallery ? '' : 'hidden') },
130              _React['default'].createElement('span', { onClick: this.closeBasemap, className: 'close-measure' }),
131              _React['default'].createElement('div', { id: 'basemapGallery' })
132            ),
133            _React['default'].createElement(
134              'div',
135              { className: 'measure-tool-container ' + (this.state.showMeasureTool ? '' : 'hidden') },
136              _React['default'].createElement(
137                'div',
138                null,
139                _React['default'].createElement(
140                  'h5',
141                  { className: 'measure-tool__title' },
142                  'Measurement'
143                ),
144                _React['default'].createElement('span', { onClick: this.closeMeasure, className: 'close-measure' })
145              ),
146              _React['default'].createElement(
147                'div',
148                { className: 'measure-tool-label-container' },
149                _React['default'].createElement(
150                  'div',
151                  { className: 'measure-tool-label' },
152                  'Area'
153                ),
154                _React['default'].createElement(
155                  'div',
156                  { className: 'measure-tool-label' },
157                  'Distance'
158                ),
159                _React['default'].createElement(
160                  'div',
161                  { className: 'measure-tool-label' },
162                  'Lat/Long'
163                )
164              ),
165              _React['default'].createElement('div', { id: 'measurementDiv', className: 'calcite' }),
166              _React['default'].createElement(
167                'div',
168                { className: 'measure-instructions' },
169                this.state.measurementInstructions
170              )
171            ),
172            _React['default'].createElement(
173              'div',
174              { className: 'share-tool-container ' + (this.state.showShareLink ? '' : 'hidden') },
175              _React['default'].createElement(
176                'div',
177                { className: 'share-links' },
178                _React['default'].createElement(
179                  'h5',
180                  { className: 'share-tool__title' },
181                  'Share'
182                ),
183                _React['default'].createElement('span', {
184                  className: 'icon-link',
185                  onClick: this.openLinkShare.bind(this)
186                })
187              ),
188              _React['default'].createElement(
189                'div',
190                { className: 'link-container ' + (this.state.showLink ? '' : 'hidden') },
191                _React['default'].createElement('input', { type: 'text', value: window.location.href, readOnly: true }),
192                _React['default'].createElement(
193                  'button',
194                  { className: 'btn copy-link__button', 'data-clipboard-text': '' + window.location.href },
195                  'Copy to clipboard'
196                )
197              )
198            )
199          ),
200          _React['default'].createElement(
201            'div',
202            { className: 'legend-container ' + (this.state.showLegend ? '' : 'no-legend') },
203            _React['default'].createElement(
204              'div',
205              { id: 'legend-header', className: 'legend-header' },
206              'Legend'
207            ),
208            _React['default'].createElement('div', { className: 'legend-toggle', onClick: this.toggleLegend }),
209            _React['default'].createElement('div', { id: 'legend', className: 'legend' })
210          ),
211          _React['default'].createElement('div', { id: 'popup' })
212        );
213      }
214    }]);
215
216    return Map;
217  })(_react.Component);
218
219  exports.Map = Map;
220});
221//# sourceMappingURL=Map.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.