PageSourceSearch

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

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

1define(['exports', 'react', 'js/config/config', 'js/components/Criteria/InvalidCriteria', 'js/components/InundationControls/InundationDepth', 'js/components/InundationControls/OffshoreAmplitude', 'stores/MapStore', 'stores/CriteriaStore', 'actions/MapActions', 'actions/CriteriaActions', 'lodash'], function (exports, _react, _jsConfigConfig, _jsComponentsCriteriaInvalidCriteria, _jsComponentsInundationControlsInundationDepth, _jsComponentsInundationControlsOffshoreAmplitude, _storesMapStore, _storesCriteriaStore, _actionsMapActions, _actionsCriteriaActions, _lodash) {
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 _config = _interopRequireDefault(_jsConfigConfig);
23
24  var _2 = _interopRequireDefault(_lodash);
25
26  var InundationControls = (function (_React$Component) {
27    _inherits(InundationControls, _React$Component);
28
29    function InundationControls(props) {
30      _classCallCheck(this, InundationControls);
31
32      _get(Object.getPrototypeOf(InundationControls.prototype), 'constructor', this).call(this, props);
33      this.state = _extends({}, _storesMapStore.mapStore.getState(), _storesCriteriaStore.criteriaStore.getState());
34    }
35
36    _createClass(InundationControls, [{
37      key: 'componentDidMount',
38      value: function componentDidMount() {
39        _storesMapStore.mapStore.listen(this.onChange.bind(this));
40        _storesCriteriaStore.criteriaStore.listen(this.onChange.bind(this));
41      }
42    }, {
43      key: 'onChange',
44      value: function onChange() {
45        this.setState(_extends({}, _storesMapStore.mapStore.getState(), _storesCriteriaStore.criteriaStore.getState()));
46      }
47    }, {
48      key: 'showProtractorToggle',
49      value: function showProtractorToggle() {
50        var map = this.state.map;
51        if (map && map.graphics) {
52          var graphic = _2['default'].find(map.graphics.graphics, function (graphic) {
53            return graphic.symbol && graphic.symbol.url && graphic.symbol.url.includes(_config['default'].symbols.location);
54          });
55          if (graphic) {
56            return true;
57          } else {
58            return false;
59          }
60        }
61        return false;
62      }
63    }, {
64      key: 'toggleProtractor',
65      value: function toggleProtractor() {
66        _actionsMapActions.mapActions.toggleProtractor();
67      }
68    }, {
69      key: 'render',
70      value: function render() {
71        var showProtractorToggle = this.showProtractorToggle();
72        var requirements = [];
73        if (!this.state.locationInInundationZone) {
74          requirements.push(_config['default'].strings.outsideTsunamiDesignZone);
75        } else {
76          switch (Number(this.state.riskLevel)) {
77            case 1:
78              requirements.push(_config['default'].strings.invalidRiskI(this.state.standardVersion));
79              break;
80            case 2:
81              requirements.push(_config['default'].strings.invalidRiskII(this.state.standardVersion));
82              break;
83            case 3:
84              requirements.push(_config['default'].strings.invalidRiskIII(this.state.standardVersion));
85              break;
86            case 4:
87              requirements.push(_config['default'].strings.invalidRiskIV(this.state.standardVersion));
88              break;
89            default:
90          }
91        }
92        var showInvalidCriteria = this.state.lockMap === true && requirements.length > 0 ? '' : 'hidden';
93        return _React['default'].createElement(
94          'div',
95          { id: 'inundation-controls-container', className: 'inundation-controls-container' },
96          _React['default'].createElement(
97            'div',
98            { className: showInvalidCriteria },
99            _React['default'].createElement(_jsComponentsCriteriaInvalidCriteria.InvalidCriteria, { texts: requirements, showWarningCriteria: this.state.showWarningCriteria })
100          ),
101          _React['default'].createElement(
102            'div',
103            null,
104            _React['default'].createElement(
105              'h3',
106              { className: 'inundation-header-title' },
107              _React['default'].createElement(
108                'span',
109                null,
110                _config['default'].strings.selectTransectTypeLabel
111              )
112            ),
113            _React['default'].createElement(
114              'div',
115              { className: 'margin--small white' },
116              _React['default'].createElement(
117                'ul',
118                { className: 'tabs' },
119                _React['default'].createElement(
120                  'li',
121                  { className: 'tab col two-tab-selector', onClick: this.setActiveTransectTab.bind(this) },
122                  _React['default'].createElement(
123                    'a',
124                    { id: 'tsunamiAmplitude', href: '', className: 'grey-text text-darken-4' },
125                    'DATA POINTS'
126                  )
127                ),
128                _React['default'].createElement(
129                  'li',
130                  { className: 'tab col two-tab-selector', onClick: this.setActiveTransectTab.bind(this) },
131                  _React['default'].createElement(
132                    'a',
133                    { id: 'inudationDepth', href: '', className: 'grey-text text-darken-4' },
134                    'TRANSECT'
135                  )
136                )
137              ),
138              _React['default'].createElement(_jsComponentsInundationControlsInundationDepth.InundationDepth, { inundationDepthTransects: this.state.inundationDepthTransects }),
139              _React['default'].createElement(_jsComponentsInundationControlsOffshoreAmplitude.OffshoreAmplitude, null)
140            ),
141            _React['default'].createElement(
142              'div',
143              { id: 'clear-map', className: 'margin--small flex flex-row flex-justify-between' },
144              _React['default'].createElement(
145                'a',
146                { className: 'waves-effect waves-light btn blue darken-1 btn-small-padding', onClick: this.clearMap.bind(this) },
147                'Clear Map'
148              ),
149              _React['default'].createElement(
150                'a',
151                { className: '' + (showProtractorToggle ? 'waves-effect waves-light btn blue darken-1 btn-small-padding' : 'hidden'), onClick: this.toggleProtractor },
152                this.state.protractorHidden ? 'DISPLAY PROTRACTOR GUIDE' : 'REMOVE PROTRACTOR GUIDE'
153              )
154            )
155          )
156        );
157      }
158    }, {
159      key: 'setActiveTransectTab',
160      value: function setActiveTransectTab(evt) {
161        _actionsMapActions.mapActions.showLegend();
162        _actionsMapActions.mapActions.setActiveTransectTab(evt.target.text);
163        _actionsMapActions.mapActions.toggleMapLock(true);
164      }
165    }, {
166      key: 'clearMap',
167      value: function clearMap() {
168        _actionsMapActions.mapActions.resetApp();
169      }
170    }]);
171
172    return InundationControls;
173  })(_React['default'].Component);
174
175  exports.InundationControls = InundationControls;
176});
177/*<img src="app/images/circle_3.svg" alt=""/>*/
178//# sourceMappingURL=InundationControls.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.